@bigbinary/neeto-integrations-frontend 4.0.23 → 4.0.25

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 (106) hide show
  1. package/app/javascript/src/translations/ar.json +4 -0
  2. package/app/javascript/src/translations/bg.json +4 -0
  3. package/app/javascript/src/translations/ca.json +4 -0
  4. package/app/javascript/src/translations/cs.json +4 -0
  5. package/app/javascript/src/translations/da.json +4 -0
  6. package/app/javascript/src/translations/de.json +4 -0
  7. package/app/javascript/src/translations/es-MX.json +4 -0
  8. package/app/javascript/src/translations/es.json +4 -0
  9. package/app/javascript/src/translations/et.json +4 -0
  10. package/app/javascript/src/translations/fi.json +4 -0
  11. package/app/javascript/src/translations/fil.json +4 -0
  12. package/app/javascript/src/translations/fr.json +4 -0
  13. package/app/javascript/src/translations/he.json +4 -0
  14. package/app/javascript/src/translations/hi.json +4 -0
  15. package/app/javascript/src/translations/hr.json +4 -0
  16. package/app/javascript/src/translations/hu.json +4 -0
  17. package/app/javascript/src/translations/id.json +4 -0
  18. package/app/javascript/src/translations/it.json +4 -0
  19. package/app/javascript/src/translations/ja.json +4 -0
  20. package/app/javascript/src/translations/ko.json +4 -0
  21. package/app/javascript/src/translations/nl.json +4 -0
  22. package/app/javascript/src/translations/pl.json +4 -0
  23. package/app/javascript/src/translations/pt-BR.json +4 -0
  24. package/app/javascript/src/translations/pt.json +4 -0
  25. package/app/javascript/src/translations/ro.json +4 -0
  26. package/app/javascript/src/translations/ru.json +4 -0
  27. package/app/javascript/src/translations/sk.json +4 -0
  28. package/app/javascript/src/translations/sl.json +4 -0
  29. package/app/javascript/src/translations/sv.json +4 -0
  30. package/app/javascript/src/translations/th.json +4 -0
  31. package/app/javascript/src/translations/tr.json +4 -0
  32. package/app/javascript/src/translations/uk.json +4 -0
  33. package/app/javascript/src/translations/vi.json +4 -0
  34. package/app/javascript/src/translations/zh-CN.json +4 -0
  35. package/app/javascript/src/translations/zh-TW.json +4 -0
  36. package/dist/.ready +1 -1
  37. package/dist/Form-Bm37EVs6.js +189 -0
  38. package/dist/Form-Bm37EVs6.js.map +1 -0
  39. package/dist/Form-DbbEVp56.js +166 -0
  40. package/dist/Form-DbbEVp56.js.map +1 -0
  41. package/dist/cjs/v2/Connect.js +86 -0
  42. package/dist/cjs/v2/Connect.js.map +1 -0
  43. package/dist/cjs/v2/Daily.js +144 -0
  44. package/dist/cjs/v2/Daily.js.map +1 -0
  45. package/dist/cjs/v2/DailyForm.js +29 -0
  46. package/dist/cjs/v2/DailyForm.js.map +1 -0
  47. package/dist/cjs/v2/Demo.js +76 -0
  48. package/dist/cjs/v2/Demo.js.map +1 -0
  49. package/dist/cjs/v2/DisconnectAlert.js +40 -0
  50. package/dist/cjs/v2/DisconnectAlert.js.map +1 -0
  51. package/dist/cjs/v2/DisconnectedIntegrationsRibbon.js +109 -0
  52. package/dist/cjs/v2/DisconnectedIntegrationsRibbon.js.map +1 -0
  53. package/dist/cjs/v2/Finish.js +96 -0
  54. package/dist/cjs/v2/Finish.js.map +1 -0
  55. package/dist/cjs/v2/GoogleCalendar.js +112 -0
  56. package/dist/cjs/v2/GoogleCalendar.js.map +1 -0
  57. package/dist/cjs/v2/Manage.js +170 -0
  58. package/dist/cjs/v2/Manage.js.map +1 -0
  59. package/dist/cjs/v2/Modal.js +87 -0
  60. package/dist/cjs/v2/Modal.js.map +1 -0
  61. package/dist/cjs/v2/Telnyx.js +237 -0
  62. package/dist/cjs/v2/Telnyx.js.map +1 -0
  63. package/dist/cjs/v2/Twilio.js +309 -0
  64. package/dist/cjs/v2/Twilio.js.map +1 -0
  65. package/dist/cjs/v2/WalkthroughModal.js +51 -0
  66. package/dist/cjs/v2/WalkthroughModal.js.map +1 -0
  67. package/dist/cjs/v2/ZapierForm.js +316 -0
  68. package/dist/cjs/v2/ZapierForm.js.map +1 -0
  69. package/dist/cjs/v2/Zoom.js +125 -0
  70. package/dist/cjs/v2/Zoom.js.map +1 -0
  71. package/dist/query-BADHOzBP.js +21 -0
  72. package/dist/query-BADHOzBP.js.map +1 -0
  73. package/dist/query-BijkeV_r.js +31 -0
  74. package/dist/query-BijkeV_r.js.map +1 -0
  75. package/dist/v2/Connect.js +84 -0
  76. package/dist/v2/Connect.js.map +1 -0
  77. package/dist/v2/Daily.js +142 -0
  78. package/dist/v2/Daily.js.map +1 -0
  79. package/dist/v2/DailyForm.js +23 -0
  80. package/dist/v2/DailyForm.js.map +1 -0
  81. package/dist/v2/Demo.js +74 -0
  82. package/dist/v2/Demo.js.map +1 -0
  83. package/dist/v2/DisconnectAlert.js +38 -0
  84. package/dist/v2/DisconnectAlert.js.map +1 -0
  85. package/dist/v2/DisconnectedIntegrationsRibbon.js +107 -0
  86. package/dist/v2/DisconnectedIntegrationsRibbon.js.map +1 -0
  87. package/dist/v2/Finish.js +75 -0
  88. package/dist/v2/Finish.js.map +1 -0
  89. package/dist/v2/GoogleCalendar.js +110 -0
  90. package/dist/v2/GoogleCalendar.js.map +1 -0
  91. package/dist/v2/Manage.js +168 -0
  92. package/dist/v2/Manage.js.map +1 -0
  93. package/dist/v2/Modal.js +85 -0
  94. package/dist/v2/Modal.js.map +1 -0
  95. package/dist/v2/Telnyx.js +216 -0
  96. package/dist/v2/Telnyx.js.map +1 -0
  97. package/dist/v2/Twilio.js +288 -0
  98. package/dist/v2/Twilio.js.map +1 -0
  99. package/dist/v2/WalkthroughModal.js +49 -0
  100. package/dist/v2/WalkthroughModal.js.map +1 -0
  101. package/dist/v2/ZapierForm.js +295 -0
  102. package/dist/v2/ZapierForm.js.map +1 -0
  103. package/dist/v2/Zoom.js +123 -0
  104. package/dist/v2/Zoom.js.map +1 -0
  105. package/package.json +19 -9
  106. package/typeTemplates-v2/index.d.ts +180 -0
@@ -0,0 +1,309 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var React = require('react');
5
+ var formik = require('@bigbinary/neeto-atoms/formik');
6
+ var neetoCist = require('@bigbinary/neeto-cist');
7
+ var CardLayout = require('@bigbinary/neeto-molecules/v2/CardLayout');
8
+ var ramda = require('ramda');
9
+ var reactI18next = require('react-i18next');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
12
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
13
+ var reactQuery = require('@tanstack/react-query');
14
+ var axios = require('axios');
15
+ var query = require('../../query-BijkeV_r.js');
16
+ var i18next = require('i18next');
17
+ var yup = require('yup');
18
+
19
+ function _interopNamespaceDefault(e) {
20
+ var n = Object.create(null);
21
+ if (e) {
22
+ Object.keys(e).forEach(function (k) {
23
+ if (k !== 'default') {
24
+ var d = Object.getOwnPropertyDescriptor(e, k);
25
+ Object.defineProperty(n, k, d.get ? d : {
26
+ enumerable: true,
27
+ get: function () { return e[k]; }
28
+ });
29
+ }
30
+ });
31
+ }
32
+ n.default = e;
33
+ return Object.freeze(n);
34
+ }
35
+
36
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
37
+
38
+ 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; }
39
+ 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), true).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; }
40
+ var ConfigurationForm = function ConfigurationForm(_ref) {
41
+ var _errors$twilioPhoneNu;
42
+ var phoneNumberOptions = _ref.phoneNumberOptions,
43
+ _ref$selectedPhoneNum = _ref.selectedPhoneNumber,
44
+ selectedPhoneNumber = _ref$selectedPhoneNum === void 0 ? null : _ref$selectedPhoneNum,
45
+ _ref$initialFocusRef = _ref.initialFocusRef,
46
+ initialFocusRef = _ref$initialFocusRef === void 0 ? null : _ref$initialFocusRef,
47
+ _ref$isUsingOverlay = _ref.isUsingOverlay,
48
+ isUsingOverlay = _ref$isUsingOverlay === void 0 ? false : _ref$isUsingOverlay,
49
+ _ref$formikProps = _ref.formikProps,
50
+ formikProps = _ref$formikProps === void 0 ? {} : _ref$formikProps;
51
+ var _useTranslation = reactI18next.useTranslation(),
52
+ t = _useTranslation.t;
53
+ var setFieldValue = formikProps.setFieldValue,
54
+ setValues = formikProps.setValues,
55
+ errors = formikProps.errors,
56
+ values = formikProps.values,
57
+ initialValues = formikProps.initialValues;
58
+ React.useEffect(function () {
59
+ selectedPhoneNumber && setFieldValue("twilioPhoneNumber", selectedPhoneNumber);
60
+ }, [selectedPhoneNumber, initialValues]);
61
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
62
+ className: "flex w-full flex-col gap-y-4",
63
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
64
+ className: "flex w-full",
65
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
66
+ required: true,
67
+ autoFocus: !isUsingOverlay,
68
+ "data-testid": "integrations-twilio-sid",
69
+ label: t("neetoIntegrations.twilio.sid"),
70
+ name: "twilioSid",
71
+ ref: initialFocusRef
72
+ })
73
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
74
+ className: "flex w-full",
75
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.Input, {
76
+ required: true,
77
+ "data-testid": "integrations-twilio-auth-token",
78
+ label: t("neetoIntegrations.twilio.authToken"),
79
+ name: "twilioAuthToken"
80
+ })
81
+ }), phoneNumberOptions && /*#__PURE__*/jsxRuntime.jsx("div", {
82
+ className: "flex w-full",
83
+ children: /*#__PURE__*/jsxRuntime.jsx(formik.Select, {
84
+ error: (_errors$twilioPhoneNu = errors.twilioPhoneNumber) === null || _errors$twilioPhoneNu === void 0 ? void 0 : _errors$twilioPhoneNu.value,
85
+ label: t("neetoIntegrations.common.phNo"),
86
+ name: "twilioPhoneNumber",
87
+ options: phoneNumberOptions,
88
+ size: "large",
89
+ onChange: function onChange(selected) {
90
+ return setValues(_objectSpread$2(_objectSpread$2({}, values), {}, {
91
+ twilioPhoneNumber: selected
92
+ }));
93
+ }
94
+ })
95
+ })]
96
+ });
97
+ };
98
+
99
+ 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; }
100
+ 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), true).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; }
101
+ var fetchTwilioSmsConfiguration = function fetchTwilioSmsConfiguration(integrable) {
102
+ return axios.get(query.TWILIO_CONFIGURATION_BASE_URL, {
103
+ params: integrable
104
+ });
105
+ };
106
+ var removeTwilioConfiguration = function removeTwilioConfiguration() {
107
+ return axios["delete"](query.TWILIO_CONFIGURATION_BASE_URL);
108
+ };
109
+ var getTwilioPhoneNumbers = function getTwilioPhoneNumbers(data) {
110
+ return axios.get("".concat(query.TWILIO_CONFIGURATION_BASE_URL, "/new"), {
111
+ params: data
112
+ });
113
+ };
114
+ var createTwilioConfiguration = function createTwilioConfiguration(payload, integrable) {
115
+ return axios.post(query.TWILIO_CONFIGURATION_BASE_URL, _objectSpread$1(_objectSpread$1({}, payload), integrable));
116
+ };
117
+ var twilioApi = {
118
+ fetchTwilioSmsConfiguration: fetchTwilioSmsConfiguration,
119
+ removeTwilioConfiguration: removeTwilioConfiguration,
120
+ getTwilioPhoneNumbers: getTwilioPhoneNumbers,
121
+ createTwilioConfiguration: createTwilioConfiguration
122
+ };
123
+
124
+ var useFetchTwilioSmsConfiguration = function useFetchTwilioSmsConfiguration(_ref) {
125
+ var integrable = _ref.integrable;
126
+ return reactQuery.useQuery({
127
+ queryKey: [query.QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId],
128
+ queryFn: function queryFn() {
129
+ return twilioApi.fetchTwilioSmsConfiguration(integrable);
130
+ },
131
+ select: function select(response) {
132
+ var _smsConfiguration$twi, _smsConfiguration$twi2, _smsConfiguration$twi3;
133
+ var smsConfiguration = response.smsConfiguration;
134
+ return {
135
+ twilioSid: (_smsConfiguration$twi = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioSid) !== null && _smsConfiguration$twi !== void 0 ? _smsConfiguration$twi : "",
136
+ twilioAuthToken: (_smsConfiguration$twi2 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioAuthToken) !== null && _smsConfiguration$twi2 !== void 0 ? _smsConfiguration$twi2 : "",
137
+ twilioPhoneNumber: (_smsConfiguration$twi3 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioPhoneNumber) !== null && _smsConfiguration$twi3 !== void 0 ? _smsConfiguration$twi3 : ""
138
+ };
139
+ }
140
+ });
141
+ };
142
+ var useFetchTwilioPhoneNumbers = function useFetchTwilioPhoneNumbers(_ref2) {
143
+ var _formRef$current, _formRef$current2;
144
+ var credentials = _ref2.credentials,
145
+ formRef = _ref2.formRef;
146
+ return reactQuery.useQuery({
147
+ queryKey: [query.QUERY_KEYS.TWILIO_PHONE_NUMBERS, {
148
+ credentials: credentials
149
+ }],
150
+ queryFn: function queryFn() {
151
+ return twilioApi.getTwilioPhoneNumbers(neetoCist.keysToSnakeCase(credentials));
152
+ },
153
+ 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),
154
+ select: ramda.prop("phoneNumbers"),
155
+ retry: false
156
+ });
157
+ };
158
+ var useCreateTwilioConfiguration = function useCreateTwilioConfiguration(_ref3) {
159
+ var integrable = _ref3.integrable;
160
+ return reactUtils.useMutationWithInvalidation(function (payload) {
161
+ return twilioApi.createTwilioConfiguration(payload, integrable);
162
+ }, {
163
+ keysToInvalidate: [[query.QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId]]
164
+ });
165
+ };
166
+
167
+ var useTwilio = function useTwilio(_ref) {
168
+ var _ref$onConnect = _ref.onConnect,
169
+ onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect,
170
+ _ref$formRef = _ref.formRef,
171
+ formRef = _ref$formRef === void 0 ? null : _ref$formRef,
172
+ _ref$integrable = _ref.integrable,
173
+ integrable = _ref$integrable === void 0 ? null : _ref$integrable;
174
+ var _useFetchTwilioSmsCon = useFetchTwilioSmsConfiguration({
175
+ integrable: integrable
176
+ }),
177
+ _useFetchTwilioSmsCon2 = _useFetchTwilioSmsCon.data,
178
+ configuration = _useFetchTwilioSmsCon2 === void 0 ? {} : _useFetchTwilioSmsCon2,
179
+ isConfigurationLoading = _useFetchTwilioSmsCon.isLoading;
180
+ var _useStateWithDependen = reactUtils.useStateWithDependency(configuration),
181
+ _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
182
+ credentials = _useStateWithDependen2[0],
183
+ setCredentials = _useStateWithDependen2[1];
184
+ var _useFetchTwilioPhoneN = useFetchTwilioPhoneNumbers({
185
+ credentials: credentials,
186
+ formRef: formRef
187
+ }),
188
+ phoneNumbers = _useFetchTwilioPhoneN.data,
189
+ isPhoneNumbersLoading = _useFetchTwilioPhoneN.isLoading;
190
+ var _useCreateTwilioConfi = useCreateTwilioConfiguration({
191
+ integrable: integrable
192
+ }),
193
+ saveConfiguration = _useCreateTwilioConfi.mutate,
194
+ isSubmitting = _useCreateTwilioConfi.isPending;
195
+ var handleSubmit = function handleSubmit(values) {
196
+ var _values$twilioPhoneNu;
197
+ var payload = {
198
+ twilio_sid: values.twilioSid,
199
+ twilio_auth_token: values.twilioAuthToken,
200
+ twilio_phone_number_sid: (_values$twilioPhoneNu = values.twilioPhoneNumber) === null || _values$twilioPhoneNu === void 0 ? void 0 : _values$twilioPhoneNu.value
201
+ };
202
+ if (!phoneNumbers && !(configuration !== null && configuration !== void 0 && configuration.twilioPhoneNumber)) {
203
+ setCredentials(payload);
204
+ return;
205
+ }
206
+ saveConfiguration(payload, {
207
+ onSuccess: onConnect
208
+ });
209
+ };
210
+ return {
211
+ handleSubmit: handleSubmit,
212
+ phoneNumbers: phoneNumbers,
213
+ isConfigurationLoading: isConfigurationLoading,
214
+ isPhoneNumbersLoading: isPhoneNumbersLoading,
215
+ isSubmitting: isSubmitting,
216
+ configuration: configuration
217
+ };
218
+ };
219
+
220
+ var buildTwilioConfigurationValidationSchema = function buildTwilioConfigurationValidationSchema(isTwilioPhoneRequired) {
221
+ return yup__namespace.object().shape({
222
+ twilioSid: yup__namespace.string().required(i18next.t("neetoIntegrations.twilio.validations.sidReq")),
223
+ twilioAuthToken: yup__namespace.string().required(i18next.t("neetoIntegrations.twilio.validations.authTokenReq")),
224
+ twilioPhoneNumber: isTwilioPhoneRequired ? yup__namespace.object().shape({
225
+ label: yup__namespace.string(),
226
+ value: yup__namespace.string().required(i18next.t("neetoIntegrations.twilio.validations.phNumReq"))
227
+ }) : null
228
+ });
229
+ };
230
+ var buildPhoneNumberOptions = function buildPhoneNumberOptions(phoneNumbers) {
231
+ return phoneNumbers === null || phoneNumbers === void 0 ? void 0 : phoneNumbers.map(function (_ref) {
232
+ var phoneNumber = _ref.phoneNumber,
233
+ sid = _ref.sid;
234
+ return {
235
+ label: phoneNumber,
236
+ value: sid
237
+ };
238
+ });
239
+ };
240
+
241
+ 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; }
242
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
243
+ var Twilio = function Twilio(_ref) {
244
+ var _ref$integrable = _ref.integrable,
245
+ integrable = _ref$integrable === void 0 ? null : _ref$integrable,
246
+ _ref$onClose = _ref.onClose,
247
+ onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
248
+ _ref$onConnect = _ref.onConnect,
249
+ onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect;
250
+ var _useTranslation = reactI18next.useTranslation(),
251
+ t = _useTranslation.t;
252
+ var initialFocusRef = React.useRef();
253
+ var formRef = React.useRef();
254
+ var _useTwilio = useTwilio({
255
+ onConnect: onConnect,
256
+ formRef: formRef,
257
+ integrable: integrable
258
+ }),
259
+ handleSubmit = _useTwilio.handleSubmit,
260
+ phoneNumbers = _useTwilio.phoneNumbers,
261
+ isConfigurationLoading = _useTwilio.isConfigurationLoading,
262
+ isPhoneNumbersLoading = _useTwilio.isPhoneNumbersLoading,
263
+ isSubmitting = _useTwilio.isSubmitting,
264
+ configuration = _useTwilio.configuration;
265
+ var phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);
266
+ var selectedPhoneNumber = neetoCist._findBy({
267
+ label: configuration === null || configuration === void 0 ? void 0 : configuration.twilioPhoneNumber
268
+ }, phoneNumberOptions);
269
+ var isLoading = isPhoneNumbersLoading || isConfigurationLoading;
270
+ var isSubmitDisabled = function isSubmitDisabled(values) {
271
+ return ramda.equals(_objectSpread(_objectSpread({}, configuration), {}, {
272
+ twilioPhoneNumber: selectedPhoneNumber
273
+ }), values) || isLoading;
274
+ };
275
+ return /*#__PURE__*/jsxRuntime.jsx(formik.Form, {
276
+ className: "w-full",
277
+ formikProps: {
278
+ enableReinitialize: true,
279
+ validationSchema: buildTwilioConfigurationValidationSchema(!!phoneNumbers),
280
+ initialValues: configuration,
281
+ innerRef: formRef,
282
+ onSubmit: handleSubmit
283
+ },
284
+ children: function children(formikProps) {
285
+ return /*#__PURE__*/jsxRuntime.jsx(CardLayout, {
286
+ actionBlock: /*#__PURE__*/jsxRuntime.jsx(formik.ActionBlock, {
287
+ isSubmitting: isSubmitting,
288
+ cancelButtonProps: {
289
+ onClick: onClose
290
+ },
291
+ submitButtonProps: {
292
+ label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
293
+ disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
294
+ loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
295
+ }
296
+ }),
297
+ children: /*#__PURE__*/jsxRuntime.jsx(ConfigurationForm, {
298
+ formikProps: formikProps,
299
+ initialFocusRef: initialFocusRef,
300
+ phoneNumberOptions: phoneNumberOptions,
301
+ selectedPhoneNumber: selectedPhoneNumber
302
+ })
303
+ });
304
+ }
305
+ });
306
+ };
307
+
308
+ module.exports = Twilio;
309
+ //# sourceMappingURL=Twilio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Twilio.js","sources":["../../../app/javascript/src/components/v2/Integrations/Twilio/Form.jsx","../../../app/javascript/src/components/v2/apis/twilio.js","../../../app/javascript/src/components/v2/hooks/reactQuery/useTwilioApi.js","../../../app/javascript/src/components/v2/Integrations/Twilio/hooks/useTwilio.js","../../../app/javascript/src/components/v2/Integrations/Twilio/utils.js","../../../app/javascript/src/components/v2/Integrations/Twilio/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ConfigurationForm = ({\n phoneNumberOptions,\n selectedPhoneNumber = null,\n initialFocusRef = null,\n isUsingOverlay = false,\n formikProps = {},\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, setValues, errors, values, initialValues } =\n formikProps;\n\n useEffect(() => {\n selectedPhoneNumber &&\n setFieldValue(\"twilioPhoneNumber\", selectedPhoneNumber);\n }, [selectedPhoneNumber, initialValues]);\n\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <div className=\"flex w-full\">\n <Input\n required\n autoFocus={!isUsingOverlay}\n data-testid=\"integrations-twilio-sid\"\n label={t(\"neetoIntegrations.twilio.sid\")}\n name=\"twilioSid\"\n ref={initialFocusRef}\n />\n </div>\n <div className=\"flex w-full\">\n <Input\n required\n data-testid=\"integrations-twilio-auth-token\"\n label={t(\"neetoIntegrations.twilio.authToken\")}\n name=\"twilioAuthToken\"\n />\n </div>\n {phoneNumberOptions && (\n <div className=\"flex w-full\">\n <Select\n error={errors.twilioPhoneNumber?.value}\n label={t(\"neetoIntegrations.common.phNo\")}\n name=\"twilioPhoneNumber\"\n options={phoneNumberOptions}\n size=\"large\"\n onChange={selected =>\n setValues({ ...values, twilioPhoneNumber: selected })\n }\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default ConfigurationForm;\n","// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\n\nimport { TWILIO_CONFIGURATION_BASE_URL } from \"../constants/urls\";\n\nconst fetchTwilioSmsConfiguration = integrable =>\n axios.get(TWILIO_CONFIGURATION_BASE_URL, { params: integrable });\n\nconst removeTwilioConfiguration = () =>\n axios.delete(TWILIO_CONFIGURATION_BASE_URL);\n\nconst getTwilioPhoneNumbers = data =>\n axios.get(`${TWILIO_CONFIGURATION_BASE_URL}/new`, { params: data });\n\nconst createTwilioConfiguration = (payload, integrable) =>\n axios.post(TWILIO_CONFIGURATION_BASE_URL, { ...payload, ...integrable });\n\nconst twilioApi = {\n fetchTwilioSmsConfiguration,\n removeTwilioConfiguration,\n getTwilioPhoneNumbers,\n createTwilioConfiguration,\n};\n\nexport default twilioApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { keysToSnakeCase } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport twilioApi from \"../../apis/twilio\";\nimport { QUERY_KEYS } from \"../../constants/query\";\n\nconst useFetchTwilioSmsConfiguration = ({ integrable }) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\n ],\n queryFn: () => twilioApi.fetchTwilioSmsConfiguration(integrable),\n select: response => {\n const smsConfiguration = response.smsConfiguration;\n\n return {\n twilioSid: smsConfiguration?.twilioSid ?? \"\",\n twilioAuthToken: smsConfiguration?.twilioAuthToken ?? \"\",\n twilioPhoneNumber: smsConfiguration?.twilioPhoneNumber ?? \"\",\n };\n },\n });\n\nconst useFetchTwilioPhoneNumbers = ({ credentials, formRef }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, { credentials }],\n queryFn: () =>\n twilioApi.getTwilioPhoneNumbers(keysToSnakeCase(credentials)),\n enabled:\n !!credentials?.twilio_sid ||\n !!credentials?.twilioSid ||\n !!formRef?.current?.values?.twilioSid ||\n !!formRef?.current?.values?.twilioAuthToken,\n select: prop(\"phoneNumbers\"),\n retry: false,\n });\n\nconst useCreateTwilioConfiguration = ({ integrable }) =>\n useMutationWithInvalidation(\n payload => twilioApi.createTwilioConfiguration(payload, integrable),\n {\n keysToInvalidate: [\n [\n QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\n ],\n ],\n }\n );\n\nexport {\n useCreateTwilioConfiguration,\n useFetchTwilioPhoneNumbers,\n useFetchTwilioSmsConfiguration,\n};\n","import { noop } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\n\nimport {\n useFetchTwilioPhoneNumbers,\n useCreateTwilioConfiguration,\n useFetchTwilioSmsConfiguration,\n} from \"../../../hooks/reactQuery/useTwilioApi\";\n\nconst useTwilio = ({ onConnect = noop, formRef = null, integrable = null }) => {\n const { data: configuration = {}, isLoading: isConfigurationLoading } =\n useFetchTwilioSmsConfiguration({ integrable });\n const [credentials, setCredentials] = useStateWithDependency(configuration);\n const { data: phoneNumbers, isLoading: isPhoneNumbersLoading } =\n useFetchTwilioPhoneNumbers({ credentials, formRef });\n\n const { mutate: saveConfiguration, isPending: isSubmitting } =\n useCreateTwilioConfiguration({ integrable });\n\n const handleSubmit = values => {\n const payload = {\n twilio_sid: values.twilioSid,\n twilio_auth_token: values.twilioAuthToken,\n twilio_phone_number_sid: values.twilioPhoneNumber?.value,\n };\n\n if (!phoneNumbers && !configuration?.twilioPhoneNumber) {\n setCredentials(payload);\n\n return;\n }\n\n saveConfiguration(payload, { onSuccess: onConnect });\n };\n\n return {\n handleSubmit,\n phoneNumbers,\n isConfigurationLoading,\n isPhoneNumbersLoading,\n isSubmitting,\n configuration,\n };\n};\n\nexport default useTwilio;\n","import i18next from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const buildTwilioConfigurationValidationSchema = isTwilioPhoneRequired =>\n yup.object().shape({\n twilioSid: yup\n .string()\n .required(i18next.t(\"neetoIntegrations.twilio.validations.sidReq\")),\n twilioAuthToken: yup\n .string()\n .required(i18next.t(\"neetoIntegrations.twilio.validations.authTokenReq\")),\n twilioPhoneNumber: isTwilioPhoneRequired\n ? yup.object().shape({\n label: yup.string(),\n value: yup\n .string()\n .required(\n i18next.t(\"neetoIntegrations.twilio.validations.phNumReq\")\n ),\n })\n : null,\n });\n\nexport const buildPhoneNumberOptions = phoneNumbers =>\n phoneNumbers?.map(({ phoneNumber, sid }) => ({\n label: phoneNumber,\n value: sid,\n }));\n","import { useRef } from \"react\";\n\nimport {\n ActionBlock,\n Form as FormikFormWrapper,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { noop, _findBy } from \"neetocist\";\nimport CardLayout from \"neetomolecules/v2/CardLayout\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Form from \"./Form\";\nimport useTwilio from \"./hooks/useTwilio\";\nimport {\n buildPhoneNumberOptions,\n buildTwilioConfigurationValidationSchema,\n} from \"./utils\";\n\nconst Twilio = ({ integrable = null, onClose = noop, onConnect = noop }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef();\n const formRef = useRef();\n\n const {\n handleSubmit,\n phoneNumbers,\n isConfigurationLoading,\n isPhoneNumbersLoading,\n isSubmitting,\n configuration,\n } = useTwilio({ onConnect, formRef, integrable });\n\n const phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);\n\n const selectedPhoneNumber = _findBy(\n { label: configuration?.twilioPhoneNumber },\n phoneNumberOptions\n );\n\n const isLoading = isPhoneNumbersLoading || isConfigurationLoading;\n\n const isSubmitDisabled = values =>\n equals(\n { ...configuration, twilioPhoneNumber: selectedPhoneNumber },\n values\n ) || isLoading;\n\n return (\n <FormikFormWrapper\n className=\"w-full\"\n formikProps={{\n enableReinitialize: true,\n validationSchema:\n buildTwilioConfigurationValidationSchema(!!phoneNumbers),\n initialValues: configuration,\n innerRef: formRef,\n onSubmit: handleSubmit,\n }}\n >\n {formikProps => (\n <CardLayout\n actionBlock={\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n label: phoneNumberOptions\n ? t(\"neetoIntegrations.common.saveChanges\")\n : t(\"neetoIntegrations.common.verify\"),\n disabled: isSubmitDisabled(formikProps.values) || isSubmitting,\n loading:\n isSubmitting ||\n (isPhoneNumbersLoading && !configuration?.twilioAuthToken),\n }}\n />\n }\n >\n <Form\n {...{\n formikProps,\n initialFocusRef,\n phoneNumberOptions,\n selectedPhoneNumber,\n }}\n />\n </CardLayout>\n )}\n </FormikFormWrapper>\n );\n};\n\nexport default Twilio;\n"],"names":["ConfigurationForm","_ref","_errors$twilioPhoneNu","phoneNumberOptions","_ref$selectedPhoneNum","selectedPhoneNumber","_ref$initialFocusRef","initialFocusRef","_ref$isUsingOverlay","isUsingOverlay","_ref$formikProps","formikProps","_useTranslation","useTranslation","t","setFieldValue","setValues","errors","values","initialValues","useEffect","_jsxs","className","children","_jsx","Input","required","autoFocus","label","name","ref","Select","error","twilioPhoneNumber","value","options","size","onChange","selected","_objectSpread","fetchTwilioSmsConfiguration","integrable","axios","get","TWILIO_CONFIGURATION_BASE_URL","params","removeTwilioConfiguration","getTwilioPhoneNumbers","data","concat","createTwilioConfiguration","payload","post","twilioApi","useFetchTwilioSmsConfiguration","useQuery","queryKey","QUERY_KEYS","TWILIO_SMS_CONFIGURATION","integrableType","integrableId","queryFn","select","response","_smsConfiguration$twi","_smsConfiguration$twi2","_smsConfiguration$twi3","smsConfiguration","twilioSid","twilioAuthToken","useFetchTwilioPhoneNumbers","_ref2","_formRef$current","_formRef$current2","credentials","formRef","TWILIO_PHONE_NUMBERS","keysToSnakeCase","enabled","twilio_sid","current","prop","retry","useCreateTwilioConfiguration","_ref3","useMutationWithInvalidation","keysToInvalidate","useTwilio","_ref$onConnect","onConnect","noop","_ref$formRef","_ref$integrable","_useFetchTwilioSmsCon","_useFetchTwilioSmsCon2","configuration","isConfigurationLoading","isLoading","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","setCredentials","_useFetchTwilioPhoneN","phoneNumbers","isPhoneNumbersLoading","_useCreateTwilioConfi","saveConfiguration","mutate","isSubmitting","isPending","handleSubmit","_values$twilioPhoneNu","twilio_auth_token","twilio_phone_number_sid","onSuccess","buildTwilioConfigurationValidationSchema","isTwilioPhoneRequired","yup","object","shape","string","i18next","buildPhoneNumberOptions","map","phoneNumber","sid","Twilio","_ref$onClose","onClose","useRef","_useTwilio","_findBy","isSubmitDisabled","equals","FormikFormWrapper","enableReinitialize","validationSchema","innerRef","onSubmit","CardLayout","actionBlock","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","loading","Form"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
4
+ var neetoCist = require('@bigbinary/neeto-cist');
5
+ var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var WalkthroughModal = withT(function (_ref) {
9
+ var t = _ref.t,
10
+ _ref$isOpen = _ref.isOpen,
11
+ isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
12
+ _ref$onClose = _ref.onClose,
13
+ onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
14
+ _ref$videoUrl = _ref.videoUrl,
15
+ videoUrl = _ref$videoUrl === void 0 ? "" : _ref$videoUrl,
16
+ children = _ref.children;
17
+ return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
18
+ isOpen: isOpen,
19
+ onClose: onClose,
20
+ size: "large",
21
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Header, {
22
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
23
+ variant: "h2",
24
+ weight: "semibold",
25
+ children: t("neetoIntegrations.walkthroughModal.header")
26
+ })
27
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Body, {
28
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
29
+ className: "w-full py-6",
30
+ children: [/*#__PURE__*/jsxRuntime.jsx("video", {
31
+ autoPlay: true,
32
+ controls: true,
33
+ muted: true,
34
+ className: "neeto-ui-rounded-md w-full cursor-pointer",
35
+ id: "walkthrough-video",
36
+ children: /*#__PURE__*/jsxRuntime.jsx("source", {
37
+ src: videoUrl
38
+ })
39
+ }), children]
40
+ })
41
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Footer, {
42
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
43
+ label: t("neetoIntegrations.walkthroughModal.continue"),
44
+ onClick: onClose
45
+ })
46
+ })]
47
+ });
48
+ });
49
+
50
+ module.exports = WalkthroughModal;
51
+ //# sourceMappingURL=WalkthroughModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalkthroughModal.js","sources":["../../../app/javascript/src/components/v2/WalkthroughModal/index.jsx"],"sourcesContent":["import { Dialog, Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\n\nconst WalkthroughModal = withT(\n ({ t, isOpen = false, onClose = noop, videoUrl = \"\", children }) => (\n <Dialog {...{ isOpen, onClose }} size=\"large\">\n <Dialog.Header>\n <Typography variant=\"h2\" weight=\"semibold\">\n {t(\"neetoIntegrations.walkthroughModal.header\")}\n </Typography>\n </Dialog.Header>\n <Dialog.Body>\n <div className=\"w-full py-6\">\n <video\n autoPlay\n controls\n muted\n className=\"neeto-ui-rounded-md w-full cursor-pointer\"\n id=\"walkthrough-video\"\n >\n <source src={videoUrl} />\n </video>\n {children}\n </div>\n </Dialog.Body>\n <Dialog.Footer>\n <Button\n label={t(\"neetoIntegrations.walkthroughModal.continue\")}\n onClick={onClose}\n />\n </Dialog.Footer>\n </Dialog>\n )\n);\n\nexport default WalkthroughModal;\n"],"names":["WalkthroughModal","withT","_ref","t","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_ref$videoUrl","videoUrl","children","_jsxs","Dialog","size","_jsx","Header","Typography","variant","weight","Body","className","autoPlay","controls","muted","id","src","Footer","Button","label","onClick"],"mappings":";;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,KAAK,CAC5B,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAAC,WAAA,GAAAF,IAAA,CAAEG,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAAJ,IAAA,CAAEK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,YAAA;IAAAG,aAAA,GAAAP,IAAA,CAAEQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAEE,QAAQ,GAAAT,IAAA,CAARS,QAAQ;EAAA,oBAC3DC,eAAA,CAACC,iBAAM,EAAA;AAAOR,IAAAA,MAAM,EAANA,MAAM;AAAEE,IAAAA,OAAO,EAAPA,OAAO;AAAIO,IAAAA,IAAI,EAAC,OAAO;AAAAH,IAAAA,QAAA,EAAA,cAC3CI,cAAA,CAACF,iBAAM,CAACG,MAAM,EAAA;MAAAL,QAAA,eACZI,cAAA,CAACE,qBAAU,EAAA;AAACC,QAAAA,OAAO,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;QAAAR,QAAA,EACvCR,CAAC,CAAC,2CAA2C;OACpC;AAAC,KACA,CAAC,eAChBY,cAAA,CAACF,iBAAM,CAACO,IAAI,EAAA;AAAAT,MAAAA,QAAA,eACVC,eAAA,CAAA,KAAA,EAAA;AAAKS,QAAAA,SAAS,EAAC,aAAa;AAAAV,QAAAA,QAAA,gBAC1BI,cAAA,CAAA,OAAA,EAAA;UACEO,QAAQ,EAAA,IAAA;UACRC,QAAQ,EAAA,IAAA;UACRC,KAAK,EAAA,IAAA;AACLH,UAAAA,SAAS,EAAC,2CAA2C;AACrDI,UAAAA,EAAE,EAAC,mBAAmB;AAAAd,UAAAA,QAAA,eAEtBI,cAAA,CAAA,QAAA,EAAA;AAAQW,YAAAA,GAAG,EAAEhB;WAAW;SACnB,CAAC,EACPC,QAAQ;OACN;AAAC,KACK,CAAC,eACdI,cAAA,CAACF,iBAAM,CAACc,MAAM,EAAA;MAAAhB,QAAA,eACZI,cAAA,CAACa,iBAAM,EAAA;AACLC,QAAAA,KAAK,EAAE1B,CAAC,CAAC,6CAA6C,CAAE;AACxD2B,QAAAA,OAAO,EAAEvB;OACV;AAAC,KACW,CAAC;AAAA,GACV,CAAC;AAAA,CAEb;;;;"}