@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
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
5
|
+
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
6
|
+
var FormikFormWrapper = require('@bigbinary/neetoui/formik/Form');
|
|
7
|
+
var ramda = require('ramda');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
10
|
+
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
13
|
+
var reactQuery = require('@tanstack/react-query');
|
|
14
|
+
var axios = require('axios');
|
|
15
|
+
var i18next = require('i18next');
|
|
16
|
+
var yup = require('yup');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
function _interopNamespace(e) {
|
|
21
|
+
if (e && e.__esModule) return e;
|
|
22
|
+
var n = Object.create(null);
|
|
23
|
+
if (e) {
|
|
24
|
+
Object.keys(e).forEach(function (k) {
|
|
25
|
+
if (k !== 'default') {
|
|
26
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
27
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return e[k]; }
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
n["default"] = e;
|
|
35
|
+
return Object.freeze(n);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
|
|
39
|
+
var FormikFormWrapper__default = /*#__PURE__*/_interopDefaultLegacy(FormikFormWrapper);
|
|
40
|
+
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
41
|
+
var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
|
|
42
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
43
|
+
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
44
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
45
|
+
|
|
46
|
+
function _typeof(o) {
|
|
47
|
+
"@babel/helpers - typeof";
|
|
48
|
+
|
|
49
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
50
|
+
return typeof o;
|
|
51
|
+
} : function (o) {
|
|
52
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
53
|
+
}, _typeof(o);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _toPrimitive(input, hint) {
|
|
57
|
+
if (_typeof(input) !== "object" || input === null) return input;
|
|
58
|
+
var prim = input[Symbol.toPrimitive];
|
|
59
|
+
if (prim !== undefined) {
|
|
60
|
+
var res = prim.call(input, hint || "default");
|
|
61
|
+
if (_typeof(res) !== "object") return res;
|
|
62
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
63
|
+
}
|
|
64
|
+
return (hint === "string" ? String : Number)(input);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function _toPropertyKey(arg) {
|
|
68
|
+
var key = _toPrimitive(arg, "string");
|
|
69
|
+
return _typeof(key) === "symbol" ? key : String(key);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function _defineProperty(obj, key, value) {
|
|
73
|
+
key = _toPropertyKey(key);
|
|
74
|
+
if (key in obj) {
|
|
75
|
+
Object.defineProperty(obj, key, {
|
|
76
|
+
value: value,
|
|
77
|
+
enumerable: true,
|
|
78
|
+
configurable: true,
|
|
79
|
+
writable: true
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
obj[key] = value;
|
|
83
|
+
}
|
|
84
|
+
return obj;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
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; }
|
|
88
|
+
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; }
|
|
89
|
+
var ConfigurationForm = function ConfigurationForm(_ref) {
|
|
90
|
+
var _errors$twilioPhoneNu;
|
|
91
|
+
var phoneNumberOptions = _ref.phoneNumberOptions,
|
|
92
|
+
_ref$selectedPhoneNum = _ref.selectedPhoneNumber,
|
|
93
|
+
selectedPhoneNumber = _ref$selectedPhoneNum === void 0 ? null : _ref$selectedPhoneNum,
|
|
94
|
+
_ref$initialFocusRef = _ref.initialFocusRef,
|
|
95
|
+
initialFocusRef = _ref$initialFocusRef === void 0 ? null : _ref$initialFocusRef,
|
|
96
|
+
_ref$isUsingOverlay = _ref.isUsingOverlay,
|
|
97
|
+
isUsingOverlay = _ref$isUsingOverlay === void 0 ? false : _ref$isUsingOverlay,
|
|
98
|
+
_ref$formikProps = _ref.formikProps,
|
|
99
|
+
formikProps = _ref$formikProps === void 0 ? {} : _ref$formikProps;
|
|
100
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
101
|
+
t = _useTranslation.t;
|
|
102
|
+
var setFieldValue = formikProps.setFieldValue,
|
|
103
|
+
setValues = formikProps.setValues,
|
|
104
|
+
errors = formikProps.errors,
|
|
105
|
+
values = formikProps.values,
|
|
106
|
+
initialValues = formikProps.initialValues;
|
|
107
|
+
react.useEffect(function () {
|
|
108
|
+
selectedPhoneNumber && setFieldValue("twilioPhoneNumber", selectedPhoneNumber);
|
|
109
|
+
}, [selectedPhoneNumber, initialValues]);
|
|
110
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
111
|
+
className: "flex w-full flex-col gap-y-4",
|
|
112
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
113
|
+
className: "flex w-full",
|
|
114
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
|
|
115
|
+
required: true,
|
|
116
|
+
autoFocus: !isUsingOverlay,
|
|
117
|
+
"data-testid": "integrations-twilio-sid",
|
|
118
|
+
label: t("neetoIntegrations.twilio.sid"),
|
|
119
|
+
name: "twilioSid",
|
|
120
|
+
ref: initialFocusRef
|
|
121
|
+
})
|
|
122
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
123
|
+
className: "flex w-full",
|
|
124
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
|
|
125
|
+
required: true,
|
|
126
|
+
"data-testid": "integrations-twilio-auth-token",
|
|
127
|
+
label: t("neetoIntegrations.twilio.authToken"),
|
|
128
|
+
name: "twilioAuthToken"
|
|
129
|
+
})
|
|
130
|
+
}), phoneNumberOptions && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
131
|
+
className: "flex w-full",
|
|
132
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
|
|
133
|
+
error: (_errors$twilioPhoneNu = errors.twilioPhoneNumber) === null || _errors$twilioPhoneNu === void 0 ? void 0 : _errors$twilioPhoneNu.value,
|
|
134
|
+
label: t("neetoIntegrations.common.phNo"),
|
|
135
|
+
name: "twilioPhoneNumber",
|
|
136
|
+
options: phoneNumberOptions,
|
|
137
|
+
size: "large",
|
|
138
|
+
onChange: function onChange(selected) {
|
|
139
|
+
return setValues(_objectSpread$2(_objectSpread$2({}, values), {}, {
|
|
140
|
+
twilioPhoneNumber: selected
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
function _arrayWithHoles(arr) {
|
|
149
|
+
if (Array.isArray(arr)) return arr;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function _iterableToArrayLimit(r, l) {
|
|
153
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
154
|
+
if (null != t) {
|
|
155
|
+
var e,
|
|
156
|
+
n,
|
|
157
|
+
i,
|
|
158
|
+
u,
|
|
159
|
+
a = [],
|
|
160
|
+
f = !0,
|
|
161
|
+
o = !1;
|
|
162
|
+
try {
|
|
163
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
164
|
+
if (Object(t) !== t) return;
|
|
165
|
+
f = !1;
|
|
166
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
167
|
+
} catch (r) {
|
|
168
|
+
o = !0, n = r;
|
|
169
|
+
} finally {
|
|
170
|
+
try {
|
|
171
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
172
|
+
} finally {
|
|
173
|
+
if (o) throw n;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return a;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function _arrayLikeToArray(arr, len) {
|
|
181
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
182
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
183
|
+
return arr2;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
187
|
+
if (!o) return;
|
|
188
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
189
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
190
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
191
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
192
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function _nonIterableRest() {
|
|
196
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
function _slicedToArray(arr, i) {
|
|
200
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
var INTEGRATIONS_ENGINE_BASE_URL = "/neeto_integrations";
|
|
204
|
+
var TWILIO_CONFIGURATION_BASE_URL = "".concat(INTEGRATIONS_ENGINE_BASE_URL, "/twilio/sms_configurations");
|
|
205
|
+
|
|
206
|
+
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; }
|
|
207
|
+
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; }
|
|
208
|
+
var fetchTwilioSmsConfiguration = function fetchTwilioSmsConfiguration(integrable) {
|
|
209
|
+
return axios__default["default"].get(TWILIO_CONFIGURATION_BASE_URL, {
|
|
210
|
+
params: integrable
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
var removeTwilioConfiguration = function removeTwilioConfiguration() {
|
|
214
|
+
return axios__default["default"]["delete"](TWILIO_CONFIGURATION_BASE_URL);
|
|
215
|
+
};
|
|
216
|
+
var getTwilioPhoneNumbers = function getTwilioPhoneNumbers(data) {
|
|
217
|
+
return axios__default["default"].get("".concat(TWILIO_CONFIGURATION_BASE_URL, "/new"), {
|
|
218
|
+
params: data
|
|
219
|
+
});
|
|
220
|
+
};
|
|
221
|
+
var createTwilioConfiguration = function createTwilioConfiguration(payload, integrable) {
|
|
222
|
+
return axios__default["default"].post(TWILIO_CONFIGURATION_BASE_URL, _objectSpread$1(_objectSpread$1({}, payload), integrable));
|
|
223
|
+
};
|
|
224
|
+
var twilioApi = {
|
|
225
|
+
fetchTwilioSmsConfiguration: fetchTwilioSmsConfiguration,
|
|
226
|
+
removeTwilioConfiguration: removeTwilioConfiguration,
|
|
227
|
+
getTwilioPhoneNumbers: getTwilioPhoneNumbers,
|
|
228
|
+
createTwilioConfiguration: createTwilioConfiguration
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
var QUERY_KEYS = {
|
|
232
|
+
TWILIO_SMS_CONFIGURATION: "twilio-sms-configuration",
|
|
233
|
+
TWILIO_PHONE_NUMBERS: "twilio-phone-numbers",
|
|
234
|
+
DAILY_CO_DETAILS: "daily-co-details",
|
|
235
|
+
ZOOM_DETAILS: "zoom-details"
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
var useFetchTwilioSmsConfiguration = function useFetchTwilioSmsConfiguration(_ref) {
|
|
239
|
+
var integrable = _ref.integrable;
|
|
240
|
+
return reactQuery.useQuery({
|
|
241
|
+
queryKey: [QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId],
|
|
242
|
+
queryFn: function queryFn() {
|
|
243
|
+
return twilioApi.fetchTwilioSmsConfiguration(integrable);
|
|
244
|
+
},
|
|
245
|
+
select: function select(response) {
|
|
246
|
+
var _smsConfiguration$twi, _smsConfiguration$twi2, _smsConfiguration$twi3;
|
|
247
|
+
var smsConfiguration = response.smsConfiguration;
|
|
248
|
+
return {
|
|
249
|
+
twilioSid: (_smsConfiguration$twi = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioSid) !== null && _smsConfiguration$twi !== void 0 ? _smsConfiguration$twi : "",
|
|
250
|
+
twilioAuthToken: (_smsConfiguration$twi2 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioAuthToken) !== null && _smsConfiguration$twi2 !== void 0 ? _smsConfiguration$twi2 : "",
|
|
251
|
+
twilioPhoneNumber: (_smsConfiguration$twi3 = smsConfiguration === null || smsConfiguration === void 0 ? void 0 : smsConfiguration.twilioPhoneNumber) !== null && _smsConfiguration$twi3 !== void 0 ? _smsConfiguration$twi3 : ""
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
};
|
|
256
|
+
var useFetchTwilioPhoneNumbers = function useFetchTwilioPhoneNumbers(_ref2) {
|
|
257
|
+
var _formRef$current, _formRef$current2;
|
|
258
|
+
var credentials = _ref2.credentials,
|
|
259
|
+
formRef = _ref2.formRef;
|
|
260
|
+
return reactQuery.useQuery({
|
|
261
|
+
queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, {
|
|
262
|
+
credentials: credentials
|
|
263
|
+
}],
|
|
264
|
+
queryFn: function queryFn() {
|
|
265
|
+
return twilioApi.getTwilioPhoneNumbers(neetoCist.keysToSnakeCase(credentials));
|
|
266
|
+
},
|
|
267
|
+
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),
|
|
268
|
+
select: ramda.prop("phoneNumbers"),
|
|
269
|
+
retry: false
|
|
270
|
+
});
|
|
271
|
+
};
|
|
272
|
+
var useCreateTwilioConfiguration = function useCreateTwilioConfiguration(_ref3) {
|
|
273
|
+
var integrable = _ref3.integrable;
|
|
274
|
+
return reactUtils.useMutationWithInvalidation(function (payload) {
|
|
275
|
+
return twilioApi.createTwilioConfiguration(payload, integrable);
|
|
276
|
+
}, {
|
|
277
|
+
keysToInvalidate: [QUERY_KEYS.TWILIO_SMS_CONFIGURATION, integrable === null || integrable === void 0 ? void 0 : integrable.integrableType, integrable === null || integrable === void 0 ? void 0 : integrable.integrableId]
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
var useTwilio = function useTwilio(_ref) {
|
|
282
|
+
var _ref$onConnect = _ref.onConnect,
|
|
283
|
+
onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect,
|
|
284
|
+
_ref$formRef = _ref.formRef,
|
|
285
|
+
formRef = _ref$formRef === void 0 ? null : _ref$formRef,
|
|
286
|
+
_ref$integrable = _ref.integrable,
|
|
287
|
+
integrable = _ref$integrable === void 0 ? null : _ref$integrable;
|
|
288
|
+
var _useFetchTwilioSmsCon = useFetchTwilioSmsConfiguration({
|
|
289
|
+
integrable: integrable
|
|
290
|
+
}),
|
|
291
|
+
_useFetchTwilioSmsCon2 = _useFetchTwilioSmsCon.data,
|
|
292
|
+
configuration = _useFetchTwilioSmsCon2 === void 0 ? {} : _useFetchTwilioSmsCon2,
|
|
293
|
+
isConfigurationLoading = _useFetchTwilioSmsCon.isLoading;
|
|
294
|
+
var _useStateWithDependen = reactUtils.useStateWithDependency(configuration),
|
|
295
|
+
_useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
|
|
296
|
+
credentials = _useStateWithDependen2[0],
|
|
297
|
+
setCredentials = _useStateWithDependen2[1];
|
|
298
|
+
var _useFetchTwilioPhoneN = useFetchTwilioPhoneNumbers({
|
|
299
|
+
credentials: credentials,
|
|
300
|
+
formRef: formRef
|
|
301
|
+
}),
|
|
302
|
+
phoneNumbers = _useFetchTwilioPhoneN.data,
|
|
303
|
+
isPhoneNumbersLoading = _useFetchTwilioPhoneN.isLoading;
|
|
304
|
+
var _useCreateTwilioConfi = useCreateTwilioConfiguration({
|
|
305
|
+
integrable: integrable
|
|
306
|
+
}),
|
|
307
|
+
saveConfiguration = _useCreateTwilioConfi.mutate,
|
|
308
|
+
isSubmitting = _useCreateTwilioConfi.isPending;
|
|
309
|
+
var handleSubmit = function handleSubmit(values) {
|
|
310
|
+
var _values$twilioPhoneNu;
|
|
311
|
+
var payload = {
|
|
312
|
+
twilio_sid: values.twilioSid,
|
|
313
|
+
twilio_auth_token: values.twilioAuthToken,
|
|
314
|
+
twilio_phone_number_sid: (_values$twilioPhoneNu = values.twilioPhoneNumber) === null || _values$twilioPhoneNu === void 0 ? void 0 : _values$twilioPhoneNu.value
|
|
315
|
+
};
|
|
316
|
+
if (!phoneNumbers && !(configuration !== null && configuration !== void 0 && configuration.twilioPhoneNumber)) {
|
|
317
|
+
setCredentials(payload);
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
saveConfiguration(payload, {
|
|
321
|
+
onSuccess: onConnect
|
|
322
|
+
});
|
|
323
|
+
};
|
|
324
|
+
return {
|
|
325
|
+
handleSubmit: handleSubmit,
|
|
326
|
+
phoneNumbers: phoneNumbers,
|
|
327
|
+
isConfigurationLoading: isConfigurationLoading,
|
|
328
|
+
isPhoneNumbersLoading: isPhoneNumbersLoading,
|
|
329
|
+
isSubmitting: isSubmitting,
|
|
330
|
+
configuration: configuration
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
var buildTwilioConfigurationValidationSchema = function buildTwilioConfigurationValidationSchema(isTwilioPhoneRequired) {
|
|
335
|
+
return yup__namespace.object().shape({
|
|
336
|
+
twilioSid: yup__namespace.string().required(i18next__default["default"].t("neetoIntegrations.twilio.validations.sidReq")),
|
|
337
|
+
twilioAuthToken: yup__namespace.string().required(i18next__default["default"].t("neetoIntegrations.twilio.validations.authTokenReq")),
|
|
338
|
+
twilioPhoneNumber: isTwilioPhoneRequired ? yup__namespace.object().shape({
|
|
339
|
+
label: yup__namespace.string(),
|
|
340
|
+
value: yup__namespace.string().required(i18next__default["default"].t("neetoIntegrations.twilio.validations.phNumReq"))
|
|
341
|
+
}) : null
|
|
342
|
+
});
|
|
343
|
+
};
|
|
344
|
+
var buildPhoneNumberOptions = function buildPhoneNumberOptions(phoneNumbers) {
|
|
345
|
+
return phoneNumbers === null || phoneNumbers === void 0 ? void 0 : phoneNumbers.map(function (_ref) {
|
|
346
|
+
var phoneNumber = _ref.phoneNumber,
|
|
347
|
+
sid = _ref.sid;
|
|
348
|
+
return {
|
|
349
|
+
label: phoneNumber,
|
|
350
|
+
value: sid
|
|
351
|
+
};
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
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; }
|
|
356
|
+
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; }
|
|
357
|
+
var Twilio = function Twilio(_ref) {
|
|
358
|
+
var _ref$integrable = _ref.integrable,
|
|
359
|
+
integrable = _ref$integrable === void 0 ? null : _ref$integrable,
|
|
360
|
+
_ref$onClose = _ref.onClose,
|
|
361
|
+
onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
|
|
362
|
+
_ref$onConnect = _ref.onConnect,
|
|
363
|
+
onConnect = _ref$onConnect === void 0 ? neetoCist.noop : _ref$onConnect;
|
|
364
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
365
|
+
t = _useTranslation.t;
|
|
366
|
+
var initialFocusRef = react.useRef();
|
|
367
|
+
var formRef = react.useRef();
|
|
368
|
+
var _useTwilio = useTwilio({
|
|
369
|
+
onConnect: onConnect,
|
|
370
|
+
formRef: formRef,
|
|
371
|
+
integrable: integrable
|
|
372
|
+
}),
|
|
373
|
+
handleSubmit = _useTwilio.handleSubmit,
|
|
374
|
+
phoneNumbers = _useTwilio.phoneNumbers,
|
|
375
|
+
isConfigurationLoading = _useTwilio.isConfigurationLoading,
|
|
376
|
+
isPhoneNumbersLoading = _useTwilio.isPhoneNumbersLoading,
|
|
377
|
+
isSubmitting = _useTwilio.isSubmitting,
|
|
378
|
+
configuration = _useTwilio.configuration;
|
|
379
|
+
var phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);
|
|
380
|
+
var selectedPhoneNumber = neetoCist._findBy({
|
|
381
|
+
label: configuration === null || configuration === void 0 ? void 0 : configuration.twilioPhoneNumber
|
|
382
|
+
}, phoneNumberOptions);
|
|
383
|
+
var isLoading = isPhoneNumbersLoading || isConfigurationLoading;
|
|
384
|
+
var isSubmitDisabled = function isSubmitDisabled(values) {
|
|
385
|
+
return ramda.equals(_objectSpread(_objectSpread({}, configuration), {}, {
|
|
386
|
+
twilioPhoneNumber: selectedPhoneNumber
|
|
387
|
+
}), values) || isLoading;
|
|
388
|
+
};
|
|
389
|
+
return /*#__PURE__*/jsxRuntime.jsx(FormikFormWrapper__default["default"], {
|
|
390
|
+
className: "mx-auto flex w-full max-w-md flex-col p-5",
|
|
391
|
+
formikProps: {
|
|
392
|
+
enableReinitialize: true,
|
|
393
|
+
validationSchema: buildTwilioConfigurationValidationSchema(!!phoneNumbers),
|
|
394
|
+
initialValues: configuration,
|
|
395
|
+
innerRef: formRef,
|
|
396
|
+
onSubmit: handleSubmit
|
|
397
|
+
},
|
|
398
|
+
children: function children(formikProps) {
|
|
399
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
400
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(ConfigurationForm, {
|
|
401
|
+
formikProps: formikProps,
|
|
402
|
+
initialFocusRef: initialFocusRef,
|
|
403
|
+
phoneNumberOptions: phoneNumberOptions,
|
|
404
|
+
selectedPhoneNumber: selectedPhoneNumber
|
|
405
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
406
|
+
className: "mt-8",
|
|
407
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
|
|
408
|
+
isSubmitting: isSubmitting,
|
|
409
|
+
cancelButtonProps: {
|
|
410
|
+
onClick: onClose
|
|
411
|
+
},
|
|
412
|
+
submitButtonProps: {
|
|
413
|
+
label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
|
|
414
|
+
disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
|
|
415
|
+
loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
|
|
416
|
+
}
|
|
417
|
+
})
|
|
418
|
+
})]
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
module.exports = Twilio;
|
|
425
|
+
//# sourceMappingURL=Twilio.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Twilio.cjs.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,2BAAc,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,eAAS,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,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8BAA8B;AAAAC,IAAAA,QAAA,gBAC3CC,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,cAAA,CAACC,yBAAK,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,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,cAAA,CAACC,yBAAK,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,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,cAAA,CAACO,0BAAM,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,yBAAK,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,yBAAK,CAAA,QAAA,CAAO,CAACJ,6BAA6B,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7C,IAAMQ,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAChCL,yBAAK,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,yBAAK,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,mBAAQ,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,mBAAQ,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,yBAAe,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,UAAI,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,sCAA2B,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,cAAI,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,iCAAsB,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,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjBlD,IAAAA,SAAS,EAAEgD,cAAG,CACXG,MAAM,EAAE,CACRjI,QAAQ,CAACkI,2BAAO,CAAC9I,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACrE2F,IAAAA,eAAe,EAAE+C,cAAG,CACjBG,MAAM,EAAE,CACRjI,QAAQ,CAACkI,2BAAO,CAAC9I,CAAC,CAAC,mDAAmD,CAAC,CAAC;IAC3EmB,iBAAiB,EAAEsH,qBAAqB,GACpCC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjB9H,MAAAA,KAAK,EAAE4H,cAAG,CAACG,MAAM,EAAE;AACnBlK,MAAAA,KAAK,EAAE+J,cAAG,CACPG,MAAM,EAAE,CACRjI,QAAQ,CACPkI,2BAAO,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,cAAI,GAAAqC,YAAA;IAAAvC,cAAA,GAAA1H,IAAA,CAAE2H,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,cAAA,CAAA;AACnE,EAAA,IAAA/G,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAMP,eAAe,GAAG6J,YAAM,EAAE,CAAA;AAChC,EAAA,IAAMrD,OAAO,GAAGqD,YAAM,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,iBAAO,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,YAAM,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,cAAA,CAACiJ,qCAAiB,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,eAAA,CAAAyJ,mBAAA,EAAA;QAAAvJ,QAAA,EAAA,cACEC,cAAA,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,cAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,MAAM;UAAAC,QAAA,eACnBC,cAAA,CAACwJ,+BAAW,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;;;;"}
|