@bigbinary/neeto-integrations-frontend 2.1.1 → 2.2.0-beta1
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.
- package/README.md +146 -81
- package/app/javascript/src/translations/en.json +128 -0
- package/dist/Daily.cjs.js +913 -0
- package/dist/Daily.cjs.js.map +1 -0
- package/dist/Daily.js +872 -0
- package/dist/Daily.js.map +1 -0
- package/dist/GoogleCalender.cjs.js +1080 -0
- package/dist/GoogleCalender.cjs.js.map +1 -0
- package/dist/GoogleCalender.js +1037 -0
- package/dist/GoogleCalender.js.map +1 -0
- package/dist/Twilio.cjs.js +425 -0
- package/dist/Twilio.cjs.js.map +1 -0
- package/dist/Twilio.js +395 -0
- package/dist/Twilio.js.map +1 -0
- package/dist/ZapierForm.cjs.js +222 -178
- package/dist/ZapierForm.cjs.js.map +1 -1
- package/dist/ZapierForm.js +205 -169
- package/dist/ZapierForm.js.map +1 -1
- package/dist/Zoom.cjs.js +1011 -0
- package/dist/Zoom.cjs.js.map +1 -0
- package/dist/Zoom.js +970 -0
- package/dist/Zoom.js.map +1 -0
- package/dist/index.cjs.js +1233 -387
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1195 -382
- package/dist/index.js.map +1 -1
- package/package.json +148 -104
- package/types.d.ts +41 -3
- package/src/translations/en.json +0 -50
- /package/{src → app/javascript/src}/translations/index.js +0 -0
package/dist/Twilio.js
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { keysToSnakeCase, noop, _findBy } from '@bigbinary/neeto-cist';
|
|
3
|
+
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
4
|
+
import FormikFormWrapper from '@bigbinary/neetoui/formik/Form';
|
|
5
|
+
import { prop, equals } from 'ramda';
|
|
6
|
+
import { useTranslation } from 'react-i18next';
|
|
7
|
+
import Input from '@bigbinary/neetoui/formik/Input';
|
|
8
|
+
import Select from '@bigbinary/neetoui/formik/Select';
|
|
9
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
10
|
+
import { useMutationWithInvalidation, useStateWithDependency } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
11
|
+
import { useQuery } from '@tanstack/react-query';
|
|
12
|
+
import axios from 'axios';
|
|
13
|
+
import i18next from 'i18next';
|
|
14
|
+
import * as yup from 'yup';
|
|
15
|
+
|
|
16
|
+
function _typeof(o) {
|
|
17
|
+
"@babel/helpers - typeof";
|
|
18
|
+
|
|
19
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
20
|
+
return typeof o;
|
|
21
|
+
} : function (o) {
|
|
22
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
23
|
+
}, _typeof(o);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function _toPrimitive(input, hint) {
|
|
27
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
28
|
+
var prim = input[Symbol.toPrimitive];
|
|
29
|
+
if (prim !== undefined) {
|
|
30
|
+
var res = prim.call(input, hint || "default");
|
|
31
|
+
if (_typeof(res) !== "object") return res;
|
|
32
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
33
|
+
}
|
|
34
|
+
return (hint === "string" ? String : Number)(input);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function _toPropertyKey(arg) {
|
|
38
|
+
var key = _toPrimitive(arg, "string");
|
|
39
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function _defineProperty(obj, key, value) {
|
|
43
|
+
key = _toPropertyKey(key);
|
|
44
|
+
if (key in obj) {
|
|
45
|
+
Object.defineProperty(obj, key, {
|
|
46
|
+
value: value,
|
|
47
|
+
enumerable: true,
|
|
48
|
+
configurable: true,
|
|
49
|
+
writable: true
|
|
50
|
+
});
|
|
51
|
+
} else {
|
|
52
|
+
obj[key] = value;
|
|
53
|
+
}
|
|
54
|
+
return obj;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
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; }
|
|
58
|
+
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; }
|
|
59
|
+
var ConfigurationForm = function ConfigurationForm(_ref) {
|
|
60
|
+
var _errors$twilioPhoneNu;
|
|
61
|
+
var phoneNumberOptions = _ref.phoneNumberOptions,
|
|
62
|
+
_ref$selectedPhoneNum = _ref.selectedPhoneNumber,
|
|
63
|
+
selectedPhoneNumber = _ref$selectedPhoneNum === void 0 ? null : _ref$selectedPhoneNum,
|
|
64
|
+
_ref$initialFocusRef = _ref.initialFocusRef,
|
|
65
|
+
initialFocusRef = _ref$initialFocusRef === void 0 ? null : _ref$initialFocusRef,
|
|
66
|
+
_ref$isUsingOverlay = _ref.isUsingOverlay,
|
|
67
|
+
isUsingOverlay = _ref$isUsingOverlay === void 0 ? false : _ref$isUsingOverlay,
|
|
68
|
+
_ref$formikProps = _ref.formikProps,
|
|
69
|
+
formikProps = _ref$formikProps === void 0 ? {} : _ref$formikProps;
|
|
70
|
+
var _useTranslation = useTranslation(),
|
|
71
|
+
t = _useTranslation.t;
|
|
72
|
+
var setFieldValue = formikProps.setFieldValue,
|
|
73
|
+
setValues = formikProps.setValues,
|
|
74
|
+
errors = formikProps.errors,
|
|
75
|
+
values = formikProps.values,
|
|
76
|
+
initialValues = formikProps.initialValues;
|
|
77
|
+
useEffect(function () {
|
|
78
|
+
selectedPhoneNumber && setFieldValue("twilioPhoneNumber", selectedPhoneNumber);
|
|
79
|
+
}, [selectedPhoneNumber, initialValues]);
|
|
80
|
+
return /*#__PURE__*/jsxs("div", {
|
|
81
|
+
className: "flex w-full flex-col gap-y-4",
|
|
82
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
83
|
+
className: "flex w-full",
|
|
84
|
+
children: /*#__PURE__*/jsx(Input, {
|
|
85
|
+
required: true,
|
|
86
|
+
autoFocus: !isUsingOverlay,
|
|
87
|
+
"data-testid": "integrations-twilio-sid",
|
|
88
|
+
label: t("neetoIntegrations.twilio.sid"),
|
|
89
|
+
name: "twilioSid",
|
|
90
|
+
ref: initialFocusRef
|
|
91
|
+
})
|
|
92
|
+
}), /*#__PURE__*/jsx("div", {
|
|
93
|
+
className: "flex w-full",
|
|
94
|
+
children: /*#__PURE__*/jsx(Input, {
|
|
95
|
+
required: true,
|
|
96
|
+
"data-testid": "integrations-twilio-auth-token",
|
|
97
|
+
label: t("neetoIntegrations.twilio.authToken"),
|
|
98
|
+
name: "twilioAuthToken"
|
|
99
|
+
})
|
|
100
|
+
}), phoneNumberOptions && /*#__PURE__*/jsx("div", {
|
|
101
|
+
className: "flex w-full",
|
|
102
|
+
children: /*#__PURE__*/jsx(Select, {
|
|
103
|
+
error: (_errors$twilioPhoneNu = errors.twilioPhoneNumber) === null || _errors$twilioPhoneNu === void 0 ? void 0 : _errors$twilioPhoneNu.value,
|
|
104
|
+
label: t("neetoIntegrations.common.phNo"),
|
|
105
|
+
name: "twilioPhoneNumber",
|
|
106
|
+
options: phoneNumberOptions,
|
|
107
|
+
size: "large",
|
|
108
|
+
onChange: function onChange(selected) {
|
|
109
|
+
return setValues(_objectSpread$2(_objectSpread$2({}, values), {}, {
|
|
110
|
+
twilioPhoneNumber: selected
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
})
|
|
114
|
+
})]
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
function _arrayWithHoles(arr) {
|
|
119
|
+
if (Array.isArray(arr)) return arr;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function _iterableToArrayLimit(r, l) {
|
|
123
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
124
|
+
if (null != t) {
|
|
125
|
+
var e,
|
|
126
|
+
n,
|
|
127
|
+
i,
|
|
128
|
+
u,
|
|
129
|
+
a = [],
|
|
130
|
+
f = !0,
|
|
131
|
+
o = !1;
|
|
132
|
+
try {
|
|
133
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
134
|
+
if (Object(t) !== t) return;
|
|
135
|
+
f = !1;
|
|
136
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
137
|
+
} catch (r) {
|
|
138
|
+
o = !0, n = r;
|
|
139
|
+
} finally {
|
|
140
|
+
try {
|
|
141
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
142
|
+
} finally {
|
|
143
|
+
if (o) throw n;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return a;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function _arrayLikeToArray(arr, len) {
|
|
151
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
152
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
153
|
+
return arr2;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
157
|
+
if (!o) return;
|
|
158
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
159
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
160
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
161
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
162
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function _nonIterableRest() {
|
|
166
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
function _slicedToArray(arr, i) {
|
|
170
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
var INTEGRATIONS_ENGINE_BASE_URL = "/neeto_integrations";
|
|
174
|
+
var TWILIO_CONFIGURATION_BASE_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/twilio/sms_configurations");
|
|
175
|
+
|
|
176
|
+
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; }
|
|
177
|
+
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; }
|
|
178
|
+
var fetchTwilioSmsConfiguration = function fetchTwilioSmsConfiguration(integrable) {
|
|
179
|
+
return axios.get(TWILIO_CONFIGURATION_BASE_URL, {
|
|
180
|
+
params: integrable
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
var removeTwilioConfiguration = function removeTwilioConfiguration() {
|
|
184
|
+
return axios["delete"](TWILIO_CONFIGURATION_BASE_URL);
|
|
185
|
+
};
|
|
186
|
+
var getTwilioPhoneNumbers = function getTwilioPhoneNumbers(data) {
|
|
187
|
+
return axios.get("".concat(TWILIO_CONFIGURATION_BASE_URL, "/new"), {
|
|
188
|
+
params: data
|
|
189
|
+
});
|
|
190
|
+
};
|
|
191
|
+
var createTwilioConfiguration = function createTwilioConfiguration(payload, integrable) {
|
|
192
|
+
return axios.post(TWILIO_CONFIGURATION_BASE_URL, _objectSpread$1(_objectSpread$1({}, payload), integrable));
|
|
193
|
+
};
|
|
194
|
+
var twilioApi = {
|
|
195
|
+
fetchTwilioSmsConfiguration: fetchTwilioSmsConfiguration,
|
|
196
|
+
removeTwilioConfiguration: removeTwilioConfiguration,
|
|
197
|
+
getTwilioPhoneNumbers: getTwilioPhoneNumbers,
|
|
198
|
+
createTwilioConfiguration: createTwilioConfiguration
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
var QUERY_KEYS = {
|
|
202
|
+
TWILIO_SMS_CONFIGURATION: "twilio-sms-configuration",
|
|
203
|
+
TWILIO_PHONE_NUMBERS: "twilio-phone-numbers",
|
|
204
|
+
DAILY_CO_DETAILS: "daily-co-details",
|
|
205
|
+
ZOOM_DETAILS: "zoom-details"
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
var useFetchTwilioSmsConfiguration = function useFetchTwilioSmsConfiguration(_ref) {
|
|
209
|
+
var integrable = _ref.integrable;
|
|
210
|
+
return useQuery({
|
|
211
|
+
queryKey: [QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId],
|
|
212
|
+
queryFn: function queryFn() {
|
|
213
|
+
return twilioApi.fetchTwilioSmsConfiguration(integrable);
|
|
214
|
+
},
|
|
215
|
+
select: function select(response) {
|
|
216
|
+
var _smsConfiguration$twi, _smsConfiguration$twi2, _smsConfiguration$twi3;
|
|
217
|
+
var smsConfiguration = response.smsConfiguration;
|
|
218
|
+
return {
|
|
219
|
+
twilioSid: (_smsConfiguration$twi = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioSid) !== null && _smsConfiguration$twi !== void 0 ? _smsConfiguration$twi : "",
|
|
220
|
+
twilioAuthToken: (_smsConfiguration$twi2 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioAuthToken) !== null && _smsConfiguration$twi2 !== void 0 ? _smsConfiguration$twi2 : "",
|
|
221
|
+
twilioPhoneNumber: (_smsConfiguration$twi3 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioPhoneNumber) !== null && _smsConfiguration$twi3 !== void 0 ? _smsConfiguration$twi3 : ""
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
var useFetchTwilioPhoneNumbers = function useFetchTwilioPhoneNumbers(_ref2) {
|
|
227
|
+
var _formRef$current, _formRef$current2;
|
|
228
|
+
var credentials = _ref2.credentials,
|
|
229
|
+
formRef = _ref2.formRef;
|
|
230
|
+
return useQuery({
|
|
231
|
+
queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, {
|
|
232
|
+
credentials: credentials
|
|
233
|
+
}],
|
|
234
|
+
queryFn: function queryFn() {
|
|
235
|
+
return twilioApi.getTwilioPhoneNumbers(keysToSnakeCase(credentials));
|
|
236
|
+
},
|
|
237
|
+
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),
|
|
238
|
+
select: prop("phoneNumbers"),
|
|
239
|
+
retry: false
|
|
240
|
+
});
|
|
241
|
+
};
|
|
242
|
+
var useCreateTwilioConfiguration = function useCreateTwilioConfiguration(_ref3) {
|
|
243
|
+
var integrable = _ref3.integrable;
|
|
244
|
+
return useMutationWithInvalidation(function (payload) {
|
|
245
|
+
return twilioApi.createTwilioConfiguration(payload, integrable);
|
|
246
|
+
}, {
|
|
247
|
+
keysToInvalidate: [QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId]
|
|
248
|
+
});
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
var useTwilio = function useTwilio(_ref) {
|
|
252
|
+
var _ref$onConnect = _ref.onConnect,
|
|
253
|
+
onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
|
|
254
|
+
_ref$formRef = _ref.formRef,
|
|
255
|
+
formRef = _ref$formRef === void 0 ? null : _ref$formRef,
|
|
256
|
+
_ref$integrable = _ref.integrable,
|
|
257
|
+
integrable = _ref$integrable === void 0 ? null : _ref$integrable;
|
|
258
|
+
var _useFetchTwilioSmsCon = useFetchTwilioSmsConfiguration({
|
|
259
|
+
integrable: integrable
|
|
260
|
+
}),
|
|
261
|
+
_useFetchTwilioSmsCon2 = _useFetchTwilioSmsCon.data,
|
|
262
|
+
configuration = _useFetchTwilioSmsCon2 === void 0 ? {} : _useFetchTwilioSmsCon2,
|
|
263
|
+
isConfigurationLoading = _useFetchTwilioSmsCon.isLoading;
|
|
264
|
+
var _useStateWithDependen = useStateWithDependency(configuration),
|
|
265
|
+
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
266
|
+
credentials = _useStateWithDependen2[0],
|
|
267
|
+
setCredentials = _useStateWithDependen2[1];
|
|
268
|
+
var _useFetchTwilioPhoneN = useFetchTwilioPhoneNumbers({
|
|
269
|
+
credentials: credentials,
|
|
270
|
+
formRef: formRef
|
|
271
|
+
}),
|
|
272
|
+
phoneNumbers = _useFetchTwilioPhoneN.data,
|
|
273
|
+
isPhoneNumbersLoading = _useFetchTwilioPhoneN.isLoading;
|
|
274
|
+
var _useCreateTwilioConfi = useCreateTwilioConfiguration({
|
|
275
|
+
integrable: integrable
|
|
276
|
+
}),
|
|
277
|
+
saveConfiguration = _useCreateTwilioConfi.mutate,
|
|
278
|
+
isSubmitting = _useCreateTwilioConfi.isPending;
|
|
279
|
+
var handleSubmit = function handleSubmit(values) {
|
|
280
|
+
var _values$twilioPhoneNu;
|
|
281
|
+
var payload = {
|
|
282
|
+
twilio_sid: values.twilioSid,
|
|
283
|
+
twilio_auth_token: values.twilioAuthToken,
|
|
284
|
+
twilio_phone_number_sid: (_values$twilioPhoneNu = values.twilioPhoneNumber) === null || _values$twilioPhoneNu === void 0 ? void 0 : _values$twilioPhoneNu.value
|
|
285
|
+
};
|
|
286
|
+
if (!phoneNumbers && !(configuration !== null && configuration !== void 0 && configuration.twilioPhoneNumber)) {
|
|
287
|
+
setCredentials(payload);
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
saveConfiguration(payload, {
|
|
291
|
+
onSuccess: onConnect
|
|
292
|
+
});
|
|
293
|
+
};
|
|
294
|
+
return {
|
|
295
|
+
handleSubmit: handleSubmit,
|
|
296
|
+
phoneNumbers: phoneNumbers,
|
|
297
|
+
isConfigurationLoading: isConfigurationLoading,
|
|
298
|
+
isPhoneNumbersLoading: isPhoneNumbersLoading,
|
|
299
|
+
isSubmitting: isSubmitting,
|
|
300
|
+
configuration: configuration
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
var buildTwilioConfigurationValidationSchema = function buildTwilioConfigurationValidationSchema(isTwilioPhoneRequired) {
|
|
305
|
+
return yup.object().shape({
|
|
306
|
+
twilioSid: yup.string().required(i18next.t("neetoIntegrations.twilio.validations.sidReq")),
|
|
307
|
+
twilioAuthToken: yup.string().required(i18next.t("neetoIntegrations.twilio.validations.authTokenReq")),
|
|
308
|
+
twilioPhoneNumber: isTwilioPhoneRequired ? yup.object().shape({
|
|
309
|
+
label: yup.string(),
|
|
310
|
+
value: yup.string().required(i18next.t("neetoIntegrations.twilio.validations.phNumReq"))
|
|
311
|
+
}) : null
|
|
312
|
+
});
|
|
313
|
+
};
|
|
314
|
+
var buildPhoneNumberOptions = function buildPhoneNumberOptions(phoneNumbers) {
|
|
315
|
+
return phoneNumbers === null || phoneNumbers === void 0 ? void 0 : phoneNumbers.map(function (_ref) {
|
|
316
|
+
var phoneNumber = _ref.phoneNumber,
|
|
317
|
+
sid = _ref.sid;
|
|
318
|
+
return {
|
|
319
|
+
label: phoneNumber,
|
|
320
|
+
value: sid
|
|
321
|
+
};
|
|
322
|
+
});
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
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; }
|
|
326
|
+
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; }
|
|
327
|
+
var Twilio = function Twilio(_ref) {
|
|
328
|
+
var _ref$integrable = _ref.integrable,
|
|
329
|
+
integrable = _ref$integrable === void 0 ? null : _ref$integrable,
|
|
330
|
+
_ref$onClose = _ref.onClose,
|
|
331
|
+
onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
|
|
332
|
+
_ref$onConnect = _ref.onConnect,
|
|
333
|
+
onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect;
|
|
334
|
+
var _useTranslation = useTranslation(),
|
|
335
|
+
t = _useTranslation.t;
|
|
336
|
+
var initialFocusRef = useRef();
|
|
337
|
+
var formRef = useRef();
|
|
338
|
+
var _useTwilio = useTwilio({
|
|
339
|
+
onConnect: onConnect,
|
|
340
|
+
formRef: formRef,
|
|
341
|
+
integrable: integrable
|
|
342
|
+
}),
|
|
343
|
+
handleSubmit = _useTwilio.handleSubmit,
|
|
344
|
+
phoneNumbers = _useTwilio.phoneNumbers,
|
|
345
|
+
isConfigurationLoading = _useTwilio.isConfigurationLoading,
|
|
346
|
+
isPhoneNumbersLoading = _useTwilio.isPhoneNumbersLoading,
|
|
347
|
+
isSubmitting = _useTwilio.isSubmitting,
|
|
348
|
+
configuration = _useTwilio.configuration;
|
|
349
|
+
var phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);
|
|
350
|
+
var selectedPhoneNumber = _findBy({
|
|
351
|
+
label: configuration === null || configuration === void 0 ? void 0 : configuration.twilioPhoneNumber
|
|
352
|
+
}, phoneNumberOptions);
|
|
353
|
+
var isLoading = isPhoneNumbersLoading || isConfigurationLoading;
|
|
354
|
+
var isSubmitDisabled = function isSubmitDisabled(values) {
|
|
355
|
+
return equals(_objectSpread(_objectSpread({}, configuration), {}, {
|
|
356
|
+
twilioPhoneNumber: selectedPhoneNumber
|
|
357
|
+
}), values) || isLoading;
|
|
358
|
+
};
|
|
359
|
+
return /*#__PURE__*/jsx(FormikFormWrapper, {
|
|
360
|
+
className: "mx-auto flex w-full max-w-md flex-col p-5",
|
|
361
|
+
formikProps: {
|
|
362
|
+
enableReinitialize: true,
|
|
363
|
+
validationSchema: buildTwilioConfigurationValidationSchema(!!phoneNumbers),
|
|
364
|
+
initialValues: configuration,
|
|
365
|
+
innerRef: formRef,
|
|
366
|
+
onSubmit: handleSubmit
|
|
367
|
+
},
|
|
368
|
+
children: function children(formikProps) {
|
|
369
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
370
|
+
children: [/*#__PURE__*/jsx(ConfigurationForm, {
|
|
371
|
+
formikProps: formikProps,
|
|
372
|
+
initialFocusRef: initialFocusRef,
|
|
373
|
+
phoneNumberOptions: phoneNumberOptions,
|
|
374
|
+
selectedPhoneNumber: selectedPhoneNumber
|
|
375
|
+
}), /*#__PURE__*/jsx("div", {
|
|
376
|
+
className: "mt-8",
|
|
377
|
+
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
378
|
+
isSubmitting: isSubmitting,
|
|
379
|
+
cancelButtonProps: {
|
|
380
|
+
onClick: onClose
|
|
381
|
+
},
|
|
382
|
+
submitButtonProps: {
|
|
383
|
+
label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
|
|
384
|
+
disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
|
|
385
|
+
loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
|
|
386
|
+
}
|
|
387
|
+
})
|
|
388
|
+
})]
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
});
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
export { Twilio as default };
|
|
395
|
+
//# sourceMappingURL=Twilio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Twilio.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../app/javascript/src/components/Integrations/Twilio/Form.jsx","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../app/javascript/src/constants/urls.js","../app/javascript/src/apis/twilio.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useTwilioApi.js","../app/javascript/src/components/Integrations/Twilio/hooks/useTwilio.js","../app/javascript/src/components/Integrations/Twilio/utils.js","../app/javascript/src/components/Integrations/Twilio/index.jsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import React, { useEffect } from \"react\";\n\nimport { Input, Select } from \"neetoui/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","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export const INTEGRATIONS_ENGINE_BASE_URL = \"/neeto_integrations\";\nexport const TWILIO_CONFIGURATION_BASE_URL = `${INTEGRATIONS_ENGINE_BASE_URL}/twilio/sms_configurations`;\nexport const INTEGRATIONS_ENGINE_DAILY_URL = `${INTEGRATIONS_ENGINE_BASE_URL}/daily`;\nexport const INTEGRATIONS_ENGINE_ZOOM_URL = `${INTEGRATIONS_ENGINE_BASE_URL}/zoom`;\nexport const INTEGRATION_DETAILS_URL = `${INTEGRATIONS_ENGINE_BASE_URL}/status`;\n","import axios from \"axios\";\n\nimport { TWILIO_CONFIGURATION_BASE_URL } from \"src/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`, {\n params: data,\n });\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","export const QUERY_KEYS = {\n TWILIO_SMS_CONFIGURATION: \"twilio-sms-configuration\",\n TWILIO_PHONE_NUMBERS: \"twilio-phone-numbers\",\n DAILY_CO_DETAILS: \"daily-co-details\",\n ZOOM_DETAILS: \"zoom-details\",\n};\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 \"src/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 QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\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 React, { useRef } from \"react\";\n\nimport { noop, _findBy } from \"neetocist\";\nimport { ActionBlock, Form as FormikFormWrapper } from \"neetoui/formik\";\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=\"mx-auto flex w-full max-w-md flex-col p-5\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: buildTwilioConfigurationValidationSchema(\n !!phoneNumbers\n ),\n initialValues: configuration,\n innerRef: formRef,\n onSubmit: handleSubmit,\n }}\n >\n {formikProps => (\n <>\n <Form\n {...{\n formikProps,\n initialFocusRef,\n phoneNumberOptions,\n selectedPhoneNumber,\n }}\n />\n <div className=\"mt-8\">\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 </div>\n </>\n )}\n </FormikFormWrapper>\n );\n};\n\nexport default Twilio;\n"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","_toPrimitive","input","hint","prim","toPrimitive","undefined","res","call","TypeError","String","Number","_toPropertyKey","arg","key","_defineProperty","obj","value","toPropertyKey","Object","defineProperty","enumerable","configurable","writable","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","options","size","onChange","selected","_objectSpread","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","r","l","e","n","i","u","a","f","next","done","push","length","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","arrayLikeToArray","toString","slice","from","test","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","INTEGRATIONS_ENGINE_BASE_URL","TWILIO_CONFIGURATION_BASE_URL","concat","fetchTwilioSmsConfiguration","integrable","axios","get","params","removeTwilioConfiguration","getTwilioPhoneNumbers","data","createTwilioConfiguration","payload","post","twilioApi","QUERY_KEYS","TWILIO_SMS_CONFIGURATION","TWILIO_PHONE_NUMBERS","DAILY_CO_DETAILS","ZOOM_DETAILS","useFetchTwilioSmsConfiguration","useQuery","queryKey","integrableType","integrableId","queryFn","select","response","_smsConfiguration$twi","_smsConfiguration$twi2","_smsConfiguration$twi3","smsConfiguration","twilioSid","twilioAuthToken","useFetchTwilioPhoneNumbers","_ref2","_formRef$current","_formRef$current2","credentials","formRef","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","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","_Fragment","Form","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","loading"],"mappings":";;;;;;;;;;;;;;;AAAe,SAASA,OAAOA,CAACC,CAAC,EAAE;EACjC,yBAAyB,CAAA;;AAEzB,EAAA,OAAOD,OAAO,GAAG,UAAU,IAAI,OAAOE,MAAM,IAAI,QAAQ,IAAI,OAAOA,MAAM,CAACC,QAAQ,GAAG,UAAUF,CAAC,EAAE;AAChG,IAAA,OAAO,OAAOA,CAAC,CAAA;GAChB,GAAG,UAAUA,CAAC,EAAE;IACf,OAAOA,CAAC,IAAI,UAAU,IAAI,OAAOC,MAAM,IAAID,CAAC,CAACG,WAAW,KAAKF,MAAM,IAAID,CAAC,KAAKC,MAAM,CAACG,SAAS,GAAG,QAAQ,GAAG,OAAOJ,CAAC,CAAA;AACrH,GAAC,EAAED,OAAO,CAACC,CAAC,CAAC,CAAA;AACf;;ACPe,SAASK,YAAYA,CAACC,KAAK,EAAEC,IAAI,EAAE;AAChD,EAAA,IAAIR,OAAO,CAACO,KAAK,CAAC,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAOA,KAAK,CAAA;AAC/D,EAAA,IAAIE,IAAI,GAAGF,KAAK,CAACL,MAAM,CAACQ,WAAW,CAAC,CAAA;EACpC,IAAID,IAAI,KAAKE,SAAS,EAAE;IACtB,IAAIC,GAAG,GAAGH,IAAI,CAACI,IAAI,CAACN,KAAK,EAAEC,IAAI,IAAI,SAAS,CAAC,CAAA;IAC7C,IAAIR,OAAO,CAACY,GAAG,CAAC,KAAK,QAAQ,EAAE,OAAOA,GAAG,CAAA;AACzC,IAAA,MAAM,IAAIE,SAAS,CAAC,8CAA8C,CAAC,CAAA;AACrE,GAAA;EACA,OAAO,CAACN,IAAI,KAAK,QAAQ,GAAGO,MAAM,GAAGC,MAAM,EAAET,KAAK,CAAC,CAAA;AACrD;;ACRe,SAASU,cAAcA,CAACC,GAAG,EAAE;AAC1C,EAAA,IAAIC,GAAG,GAAGT,YAAW,CAACQ,GAAG,EAAE,QAAQ,CAAC,CAAA;AACpC,EAAA,OAAOlB,OAAO,CAACmB,GAAG,CAAC,KAAK,QAAQ,GAAGA,GAAG,GAAGJ,MAAM,CAACI,GAAG,CAAC,CAAA;AACtD;;ACJe,SAASC,eAAeA,CAACC,GAAG,EAAEF,GAAG,EAAEG,KAAK,EAAE;AACvDH,EAAAA,GAAG,GAAGI,cAAa,CAACJ,GAAG,CAAC,CAAA;EACxB,IAAIA,GAAG,IAAIE,GAAG,EAAE;AACdG,IAAAA,MAAM,CAACC,cAAc,CAACJ,GAAG,EAAEF,GAAG,EAAE;AAC9BG,MAAAA,KAAK,EAAEA,KAAK;AACZI,MAAAA,UAAU,EAAE,IAAI;AAChBC,MAAAA,YAAY,EAAE,IAAI;AAClBC,MAAAA,QAAQ,EAAE,IAAA;AACZ,KAAC,CAAC,CAAA;AACJ,GAAC,MAAM;AACLP,IAAAA,GAAG,CAACF,GAAG,CAAC,GAAGG,KAAK,CAAA;AAClB,GAAA;AACA,EAAA,OAAOD,GAAG,CAAA;AACZ;;;;ACTA,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAMjB;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IALJC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;IAAAC,qBAAA,GAAAH,IAAA,CAClBI,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,oBAAA,GAAAL,IAAA,CAC1BM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IAAAE,mBAAA,GAAAP,IAAA,CACtBQ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IAAAE,gBAAA,GAAAT,IAAA,CACtBU,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA,CAAA;AAEhB,EAAA,IAAAE,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAQC,aAAa,GACnBJ,WAAW,CADLI,aAAa;IAAEC,SAAS,GAC9BL,WAAW,CADUK,SAAS;IAAEC,MAAM,GACtCN,WAAW,CADqBM,MAAM;IAAEC,MAAM,GAC9CP,WAAW,CAD6BO,MAAM;IAAEC,aAAa,GAC7DR,WAAW,CADqCQ,aAAa,CAAA;AAG/DC,EAAAA,SAAS,CAAC,YAAM;AACdf,IAAAA,mBAAmB,IACjBU,aAAa,CAAC,mBAAmB,EAAEV,mBAAmB,CAAC,CAAA;AAC3D,GAAC,EAAE,CAACA,mBAAmB,EAAEc,aAAa,CAAC,CAAC,CAAA;AAExC,EAAA,oBACEE,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8BAA8B;AAAAC,IAAAA,QAAA,gBAC3CC,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,GAAA,CAACC,KAAK,EAAA;QACJC,QAAQ,EAAA,IAAA;QACRC,SAAS,EAAE,CAAClB,cAAe;AAC3B,QAAA,aAAA,EAAY,yBAAyB;AACrCmB,QAAAA,KAAK,EAAEd,CAAC,CAAC,8BAA8B,CAAE;AACzCe,QAAAA,IAAI,EAAC,WAAW;AAChBC,QAAAA,GAAG,EAAEvB,eAAAA;OACN,CAAA;KACE,CAAC,eACNiB,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,GAAA,CAACC,KAAK,EAAA;QACJC,QAAQ,EAAA,IAAA;AACR,QAAA,aAAA,EAAY,gCAAgC;AAC5CE,QAAAA,KAAK,EAAEd,CAAC,CAAC,oCAAoC,CAAE;AAC/Ce,QAAAA,IAAI,EAAC,iBAAA;OACN,CAAA;AAAC,KACC,CAAC,EACL1B,kBAAkB,iBACjBqB,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,GAAA,CAACO,MAAM,EAAA;QACLC,KAAK,EAAA,CAAA9B,qBAAA,GAAEe,MAAM,CAACgB,iBAAiB,MAAA,IAAA,IAAA/B,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,qBAAA,CAA0BT,KAAM;AACvCmC,QAAAA,KAAK,EAAEd,CAAC,CAAC,+BAA+B,CAAE;AAC1Ce,QAAAA,IAAI,EAAC,mBAAmB;AACxBK,QAAAA,OAAO,EAAE/B,kBAAmB;AAC5BgC,QAAAA,IAAI,EAAC,OAAO;QACZC,QAAQ,EAAE,SAAAA,QAAAA,CAAAC,QAAQ,EAAA;AAAA,UAAA,OAChBrB,SAAS,CAAAsB,eAAA,CAAAA,eAAA,KAAMpB,MAAM,CAAA,EAAA,EAAA,EAAA;AAAEe,YAAAA,iBAAiB,EAAEI,QAAAA;AAAQ,WAAA,CAAE,CAAC,CAAA;AAAA,SAAA;OAExD,CAAA;AAAC,KACC,CACN,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;ACzDc,SAASE,eAAeA,CAACC,GAAG,EAAE;EAC3C,IAAIC,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,EAAE,OAAOA,GAAG,CAAA;AACpC;;ACFe,SAASG,qBAAqBA,CAACC,CAAC,EAAEC,CAAC,EAAE;EAClD,IAAI/B,CAAC,GAAG,IAAI,IAAI8B,CAAC,GAAG,IAAI,GAAG,WAAW,IAAI,OAAOvE,MAAM,IAAIuE,CAAC,CAACvE,MAAM,CAACC,QAAQ,CAAC,IAAIsE,CAAC,CAAC,YAAY,CAAC,CAAA;EAChG,IAAI,IAAI,IAAI9B,CAAC,EAAE;AACb,IAAA,IAAIgC,CAAC;MACHC,CAAC;MACDC,CAAC;MACDC,CAAC;AACDC,MAAAA,CAAC,GAAG,EAAE;MACNC,CAAC,GAAG,CAAC,CAAC;MACN/E,CAAC,GAAG,CAAC,CAAC,CAAA;IACR,IAAI;AACF,MAAA,IAAI4E,CAAC,GAAG,CAAClC,CAAC,GAAGA,CAAC,CAAC9B,IAAI,CAAC4D,CAAC,CAAC,EAAEQ,IAAI,EAAE,CAAC,KAAKP,CAAC,EAAE;AACrC,QAAA,IAAIlD,MAAM,CAACmB,CAAC,CAAC,KAAKA,CAAC,EAAE,OAAA;QACrBqC,CAAC,GAAG,CAAC,CAAC,CAAA;AACR,OAAC,MAAM,OAAO,EAAEA,CAAC,GAAG,CAACL,CAAC,GAAGE,CAAC,CAAChE,IAAI,CAAC8B,CAAC,CAAC,EAAEuC,IAAI,CAAC,KAAKH,CAAC,CAACI,IAAI,CAACR,CAAC,CAACrD,KAAK,CAAC,EAAEyD,CAAC,CAACK,MAAM,KAAKV,CAAC,CAAC,EAAEM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KACxF,CAAC,OAAOP,CAAC,EAAE;AACVxE,MAAAA,CAAC,GAAG,CAAC,CAAC,EAAE2E,CAAC,GAAGH,CAAC,CAAA;AACf,KAAC,SAAS;MACR,IAAI;QACF,IAAI,CAACO,CAAC,IAAI,IAAI,IAAIrC,CAAC,CAAC,QAAQ,CAAC,KAAKmC,CAAC,GAAGnC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAEnB,MAAM,CAACsD,CAAC,CAAC,KAAKA,CAAC,CAAC,EAAE,OAAA;AACzE,OAAC,SAAS;QACR,IAAI7E,CAAC,EAAE,MAAM2E,CAAC,CAAA;AAChB,OAAA;AACF,KAAA;AACA,IAAA,OAAOG,CAAC,CAAA;AACV,GAAA;AACF;;AC1Be,SAASM,iBAAiBA,CAAChB,GAAG,EAAEiB,GAAG,EAAE;AAClD,EAAA,IAAIA,GAAG,IAAI,IAAI,IAAIA,GAAG,GAAGjB,GAAG,CAACe,MAAM,EAAEE,GAAG,GAAGjB,GAAG,CAACe,MAAM,CAAA;AACrD,EAAA,KAAK,IAAIP,CAAC,GAAG,CAAC,EAAEU,IAAI,GAAG,IAAIjB,KAAK,CAACgB,GAAG,CAAC,EAAET,CAAC,GAAGS,GAAG,EAAET,CAAC,EAAE,EAAEU,IAAI,CAACV,CAAC,CAAC,GAAGR,GAAG,CAACQ,CAAC,CAAC,CAAA;AACrE,EAAA,OAAOU,IAAI,CAAA;AACb;;ACHe,SAASC,2BAA2BA,CAACvF,CAAC,EAAEwF,MAAM,EAAE;EAC7D,IAAI,CAACxF,CAAC,EAAE,OAAA;EACR,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE,OAAOyF,iBAAgB,CAACzF,CAAC,EAAEwF,MAAM,CAAC,CAAA;AAC7D,EAAA,IAAIb,CAAC,GAAGpD,MAAM,CAACnB,SAAS,CAACsF,QAAQ,CAAC9E,IAAI,CAACZ,CAAC,CAAC,CAAC2F,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACtD,EAAA,IAAIhB,CAAC,KAAK,QAAQ,IAAI3E,CAAC,CAACG,WAAW,EAAEwE,CAAC,GAAG3E,CAAC,CAACG,WAAW,CAACsD,IAAI,CAAA;AAC3D,EAAA,IAAIkB,CAAC,KAAK,KAAK,IAAIA,CAAC,KAAK,KAAK,EAAE,OAAON,KAAK,CAACuB,IAAI,CAAC5F,CAAC,CAAC,CAAA;AACpD,EAAA,IAAI2E,CAAC,KAAK,WAAW,IAAI,0CAA0C,CAACkB,IAAI,CAAClB,CAAC,CAAC,EAAE,OAAOc,iBAAgB,CAACzF,CAAC,EAAEwF,MAAM,CAAC,CAAA;AACjH;;ACRe,SAASM,gBAAgBA,GAAG;AACzC,EAAA,MAAM,IAAIjF,SAAS,CAAC,2IAA2I,CAAC,CAAA;AAClK;;ACEe,SAASkF,cAAcA,CAAC3B,GAAG,EAAEQ,CAAC,EAAE;EAC7C,OAAOoB,eAAc,CAAC5B,GAAG,CAAC,IAAI6B,qBAAoB,CAAC7B,GAAG,EAAEQ,CAAC,CAAC,IAAIsB,2BAA0B,CAAC9B,GAAG,EAAEQ,CAAC,CAAC,IAAIuB,gBAAe,EAAE,CAAA;AACvH;;ACNO,IAAMC,4BAA4B,GAAG,qBAAqB,CAAA;AAC1D,IAAMC,6BAA6B,GAAA,EAAA,CAAAC,MAAA,CAAMF,4BAA4B,EAA4B,4BAAA,CAAA;;;;ACGxG,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAGC,UAAU,EAAA;AAAA,EAAA,OAC5CC,KAAK,CAACC,GAAG,CAACL,6BAA6B,EAAE;AAAEM,IAAAA,MAAM,EAAEH,UAAAA;AAAW,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMI,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAA;AAAA,EAAA,OAC7BH,KAAK,CAAA,QAAA,CAAO,CAACJ,6BAA6B,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7C,IAAMQ,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAChCL,KAAK,CAACC,GAAG,IAAAJ,MAAA,CAAID,6BAA6B,EAAQ,MAAA,CAAA,EAAA;AAChDM,IAAAA,MAAM,EAAEG,IAAAA;AACV,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,OAAO,EAAER,UAAU,EAAA;AAAA,EAAA,OACpDC,KAAK,CAACQ,IAAI,CAACZ,6BAA6B,EAAAnC,eAAA,CAAAA,eAAA,CAAO8C,EAAAA,EAAAA,OAAO,CAAKR,EAAAA,UAAU,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAE1E,IAAMU,SAAS,GAAG;AAChBX,EAAAA,2BAA2B,EAA3BA,2BAA2B;AAC3BK,EAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,EAAAA,qBAAqB,EAArBA,qBAAqB;AACrBE,EAAAA,yBAAyB,EAAzBA,yBAAAA;AACF,CAAC;;ACvBM,IAAMI,UAAU,GAAG;AACxBC,EAAAA,wBAAwB,EAAE,0BAA0B;AACpDC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,gBAAgB,EAAE,kBAAkB;AACpCC,EAAAA,YAAY,EAAE,cAAA;AAChB,CAAC;;ACGD,IAAMC,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAA3F,IAAA,EAAA;AAAA,EAAA,IAAM2E,UAAU,GAAA3E,IAAA,CAAV2E,UAAU,CAAA;AAAA,EAAA,OAClDiB,QAAQ,CAAC;IACPC,QAAQ,EAAE,CACRP,UAAU,CAACC,wBAAwB,EACnCZ,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEmB,cAAc,EAC1BnB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEoB,YAAY,CACzB;IACDC,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMX,SAAS,CAACX,2BAA2B,CAACC,UAAU,CAAC,CAAA;AAAA,KAAA;AAChEsB,IAAAA,MAAM,EAAE,SAAAA,MAAAC,CAAAA,QAAQ,EAAI;AAAA,MAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;AAClB,MAAA,IAAMC,gBAAgB,GAAGJ,QAAQ,CAACI,gBAAgB,CAAA;MAElD,OAAO;AACLC,QAAAA,SAAS,EAAAJ,CAAAA,qBAAA,GAAEG,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEC,SAAS,MAAAJ,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAE;AAC5CK,QAAAA,eAAe,EAAAJ,CAAAA,sBAAA,GAAEE,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEE,eAAe,MAAAJ,IAAAA,IAAAA,sBAAA,KAAAA,KAAAA,CAAAA,GAAAA,sBAAA,GAAI,EAAE;AACxDpE,QAAAA,iBAAiB,EAAAqE,CAAAA,sBAAA,GAAEC,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEtE,iBAAiB,MAAA,IAAA,IAAAqE,sBAAA,KAAA,KAAA,CAAA,GAAAA,sBAAA,GAAI,EAAA;OAC3D,CAAA;AACH,KAAA;AACF,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMI,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAAA;EAAA,IAAAC,gBAAA,EAAAC,iBAAA,CAAA;AAAA,EAAA,IAAMC,WAAW,GAAAH,KAAA,CAAXG,WAAW;IAAEC,OAAO,GAAAJ,KAAA,CAAPI,OAAO,CAAA;AAAA,EAAA,OACxDlB,QAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACP,UAAU,CAACE,oBAAoB,EAAE;AAAEqB,MAAAA,WAAW,EAAXA,WAAAA;AAAY,KAAC,CAAC;IAC5Db,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OACPX,SAAS,CAACL,qBAAqB,CAAC+B,eAAe,CAACF,WAAW,CAAC,CAAC,CAAA;AAAA,KAAA;AAC/DG,IAAAA,OAAO,EACL,CAAC,EAACH,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,IAAXA,WAAW,CAAEI,UAAU,CAAA,IACzB,CAAC,EAACJ,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,IAAAA,WAAW,CAAEN,SAAS,CACxB,IAAA,CAAC,EAACO,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAA,CAAAH,gBAAA,GAAPG,OAAO,CAAEI,OAAO,cAAAP,gBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,gBAAA,GAAhBA,gBAAA,CAAkB1F,MAAM,MAAA,IAAA,IAAA0F,gBAAA,KAAxBA,KAAAA,CAAAA,IAAAA,gBAAA,CAA0BJ,SAAS,KACrC,CAAC,EAACO,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAF,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAAPE,OAAO,CAAEI,OAAO,MAAAN,IAAAA,IAAAA,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkB3F,MAAM,MAAA2F,IAAAA,IAAAA,iBAAA,KAAxBA,KAAAA,CAAAA,IAAAA,iBAAA,CAA0BJ,eAAe,CAAA;AAC7CP,IAAAA,MAAM,EAAEkB,IAAI,CAAC,cAAc,CAAC;AAC5BC,IAAAA,KAAK,EAAE,KAAA;AACT,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAM3C,UAAU,GAAA2C,KAAA,CAAV3C,UAAU,CAAA;EAAA,OAChD4C,2BAA2B,CACzB,UAAApC,OAAO,EAAA;AAAA,IAAA,OAAIE,SAAS,CAACH,yBAAyB,CAACC,OAAO,EAAER,UAAU,CAAC,CAAA;GACnE,EAAA;IACE6C,gBAAgB,EAAE,CAChBlC,UAAU,CAACC,wBAAwB,EACnCZ,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEmB,cAAc,EAC1BnB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEoB,YAAY,CAAA;AAE5B,GACF,CAAC,CAAA;AAAA,CAAA;;AC1CH,IAAM0B,SAAS,GAAG,SAAZA,SAASA,CAAAzH,IAAA,EAAgE;AAAA,EAAA,IAAA0H,cAAA,GAAA1H,IAAA,CAA1D2H,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,cAAA;IAAAG,YAAA,GAAA7H,IAAA,CAAE8G,OAAO;AAAPA,IAAAA,OAAO,GAAAe,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;IAAAC,eAAA,GAAA9H,IAAA,CAAE2E,UAAU;AAAVA,IAAAA,UAAU,GAAAmD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,CAAA;EACtE,IAAAC,qBAAA,GACEpC,8BAA8B,CAAC;AAAEhB,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAC,CAAC;IAAAqD,sBAAA,GAAAD,qBAAA,CADxC9C,IAAI;AAAEgD,IAAAA,aAAa,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAAaE,sBAAsB,GAAAH,qBAAA,CAAjCI,SAAS,CAAA;AAE3C,EAAA,IAAAC,qBAAA,GAAsCC,sBAAsB,CAACJ,aAAa,CAAC;IAAAK,sBAAA,GAAApE,cAAA,CAAAkE,qBAAA,EAAA,CAAA,CAAA;AAApEvB,IAAAA,WAAW,GAAAyB,sBAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,cAAc,GAAAD,sBAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAAE,qBAAA,GACE/B,0BAA0B,CAAC;AAAEI,MAAAA,WAAW,EAAXA,WAAW;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,CAAC;IADxC2B,YAAY,GAAAD,qBAAA,CAAlBvD,IAAI;IAA2ByD,qBAAqB,GAAAF,qBAAA,CAAhCL,SAAS,CAAA;EAGrC,IAAAQ,qBAAA,GACEtB,4BAA4B,CAAC;AAAE1C,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAC,CAAC;IAD9BiE,iBAAiB,GAAAD,qBAAA,CAAzBE,MAAM;IAAgCC,YAAY,GAAAH,qBAAA,CAAvBI,SAAS,CAAA;AAG5C,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAG/H,MAAM,EAAI;AAAA,IAAA,IAAAgI,qBAAA,CAAA;AAC7B,IAAA,IAAM9D,OAAO,GAAG;MACd8B,UAAU,EAAEhG,MAAM,CAACsF,SAAS;MAC5B2C,iBAAiB,EAAEjI,MAAM,CAACuF,eAAe;MACzC2C,uBAAuB,EAAA,CAAAF,qBAAA,GAAEhI,MAAM,CAACe,iBAAiB,MAAAiH,IAAAA,IAAAA,qBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA0BzJ,KAAAA;KACpD,CAAA;IAED,IAAI,CAACiJ,YAAY,IAAI,EAACR,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAEjG,iBAAiB,CAAE,EAAA;MACtDuG,cAAc,CAACpD,OAAO,CAAC,CAAA;AAEvB,MAAA,OAAA;AACF,KAAA;IAEAyD,iBAAiB,CAACzD,OAAO,EAAE;AAAEiE,MAAAA,SAAS,EAAEzB,SAAAA;AAAU,KAAC,CAAC,CAAA;GACrD,CAAA;EAED,OAAO;AACLqB,IAAAA,YAAY,EAAZA,YAAY;AACZP,IAAAA,YAAY,EAAZA,YAAY;AACZP,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBQ,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBI,IAAAA,YAAY,EAAZA,YAAY;AACZb,IAAAA,aAAa,EAAbA,aAAAA;GACD,CAAA;AACH,CAAC;;ACxCM,IAAMoB,wCAAwC,GAAG,SAA3CA,wCAAwCA,CAAGC,qBAAqB,EAAA;AAAA,EAAA,OAC3EC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjBlD,IAAAA,SAAS,EAAEgD,GAAG,CACXG,MAAM,EAAE,CACRjI,QAAQ,CAACkI,OAAO,CAAC9I,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACrE2F,IAAAA,eAAe,EAAE+C,GAAG,CACjBG,MAAM,EAAE,CACRjI,QAAQ,CAACkI,OAAO,CAAC9I,CAAC,CAAC,mDAAmD,CAAC,CAAC;IAC3EmB,iBAAiB,EAAEsH,qBAAqB,GACpCC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjB9H,MAAAA,KAAK,EAAE4H,GAAG,CAACG,MAAM,EAAE;AACnBlK,MAAAA,KAAK,EAAE+J,GAAG,CACPG,MAAM,EAAE,CACRjI,QAAQ,CACPkI,OAAO,CAAC9I,CAAC,CAAC,+CAA+C,CAC3D,CAAA;AACJ,KAAC,CAAC,GACF,IAAA;AACN,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAM+I,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGnB,YAAY,EAAA;EAAA,OACjDA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEoB,GAAG,CAAC,UAAA7J,IAAA,EAAA;AAAA,IAAA,IAAG8J,WAAW,GAAA9J,IAAA,CAAX8J,WAAW;MAAEC,GAAG,GAAA/J,IAAA,CAAH+J,GAAG,CAAA;IAAA,OAAQ;AAC3CpI,MAAAA,KAAK,EAAEmI,WAAW;AAClBtK,MAAAA,KAAK,EAAEuK,GAAAA;KACR,CAAA;AAAA,GAAC,CAAC,CAAA;AAAA,CAAA;;;;ACbL,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAhK,IAAA,EAAgE;AAAA,EAAA,IAAA8H,eAAA,GAAA9H,IAAA,CAA1D2E,UAAU;AAAVA,IAAAA,UAAU,GAAAmD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAmC,YAAA,GAAAjK,IAAA,CAAEkK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAGrC,KAAAA,CAAAA,GAAAA,IAAI,GAAAqC,YAAA;IAAAvC,cAAA,GAAA1H,IAAA,CAAE2H,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,cAAA,CAAA;AACnE,EAAA,IAAA/G,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAMP,eAAe,GAAG6J,MAAM,EAAE,CAAA;AAChC,EAAA,IAAMrD,OAAO,GAAGqD,MAAM,EAAE,CAAA;EAExB,IAAAC,UAAA,GAOI3C,SAAS,CAAC;AAAEE,MAAAA,SAAS,EAATA,SAAS;AAAEb,MAAAA,OAAO,EAAPA,OAAO;AAAEnC,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAC,CAAC;IAN/CqE,YAAY,GAAAoB,UAAA,CAAZpB,YAAY;IACZP,YAAY,GAAA2B,UAAA,CAAZ3B,YAAY;IACZP,sBAAsB,GAAAkC,UAAA,CAAtBlC,sBAAsB;IACtBQ,qBAAqB,GAAA0B,UAAA,CAArB1B,qBAAqB;IACrBI,YAAY,GAAAsB,UAAA,CAAZtB,YAAY;IACZb,aAAa,GAAAmC,UAAA,CAAbnC,aAAa,CAAA;AAGf,EAAA,IAAM/H,kBAAkB,GAAG0J,uBAAuB,CAACnB,YAAY,CAAC,CAAA;EAEhE,IAAMrI,mBAAmB,GAAGiK,OAAO,CACjC;AAAE1I,IAAAA,KAAK,EAAEsG,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEjG,iBAAAA;GAAmB,EAC3C9B,kBACF,CAAC,CAAA;AAED,EAAA,IAAMiI,SAAS,GAAGO,qBAAqB,IAAIR,sBAAsB,CAAA;AAEjE,EAAA,IAAMoC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGrJ,MAAM,EAAA;AAAA,IAAA,OAC7BsJ,MAAM,CAAAlI,aAAA,CAAAA,aAAA,KACC4F,aAAa,CAAA,EAAA,EAAA,EAAA;AAAEjG,MAAAA,iBAAiB,EAAE5B,mBAAAA;KACvCa,CAAAA,EAAAA,MACF,CAAC,IAAIkH,SAAS,CAAA;AAAA,GAAA,CAAA;EAEhB,oBACE5G,GAAA,CAACiJ,iBAAiB,EAAA;AAChBnJ,IAAAA,SAAS,EAAC,2CAA2C;AACrDX,IAAAA,WAAW,EAAE;AACX+J,MAAAA,kBAAkB,EAAE,IAAI;AACxBC,MAAAA,gBAAgB,EAAErB,wCAAwC,CACxD,CAAC,CAACZ,YACJ,CAAC;AACDvH,MAAAA,aAAa,EAAE+G,aAAa;AAC5B0C,MAAAA,QAAQ,EAAE7D,OAAO;AACjB8D,MAAAA,QAAQ,EAAE5B,YAAAA;KACV;IAAA1H,QAAA,EAED,SAAAA,QAAAA,CAAAZ,WAAW,EAAA;MAAA,oBACVU,IAAA,CAAAyJ,QAAA,EAAA;QAAAvJ,QAAA,EAAA,cACEC,GAAA,CAACuJ,iBAAI,EAAA;AAEDpK,UAAAA,WAAW,EAAXA,WAAW;AACXJ,UAAAA,eAAe,EAAfA,eAAe;AACfJ,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBE,UAAAA,mBAAmB,EAAnBA,mBAAAA;SAEH,CAAC,eACFmB,GAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,MAAM;UAAAC,QAAA,eACnBC,GAAA,CAACwJ,WAAW,EAAA;AACJjC,YAAAA,YAAY,EAAZA,YAAY;AAClBkC,YAAAA,iBAAiB,EAAE;AAAEC,cAAAA,OAAO,EAAEf,OAAAA;aAAU;AACxCgB,YAAAA,iBAAiB,EAAE;cACjBvJ,KAAK,EAAEzB,kBAAkB,GACrBW,CAAC,CAAC,sCAAsC,CAAC,GACzCA,CAAC,CAAC,iCAAiC,CAAC;cACxCsK,QAAQ,EAAEb,gBAAgB,CAAC5J,WAAW,CAACO,MAAM,CAAC,IAAI6H,YAAY;AAC9DsC,cAAAA,OAAO,EACLtC,YAAY,IACXJ,qBAAqB,IAAI,EAACT,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAEzB,eAAe,CAAA;AAC7D,aAAA;WACD,CAAA;AAAC,SACC,CAAC,CAAA;AAAA,OACN,CAAC,CAAA;AAAA,KAAA;AACJ,GACgB,CAAC,CAAA;AAExB;;;;"}
|