@bigbinary/neeto-message-templates-frontend 2.0.7 → 2.0.9
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 +15 -16
- package/dist/.ready +1 -0
- package/dist/ApiTemplates.js +14 -13
- package/dist/ApiTemplates.js.map +1 -1
- package/dist/JsonEditor-BHy4s0Bo.js +402 -0
- package/dist/JsonEditor-BHy4s0Bo.js.map +1 -0
- package/dist/JsonEditor-BMMyHPxh.js +434 -0
- package/dist/JsonEditor-BMMyHPxh.js.map +1 -0
- package/dist/{JsonEditor-CGNPIMpX.js → JsonEditor-DEKfDX8p.js} +2 -5
- package/dist/{JsonEditor-CGNPIMpX.js.map → JsonEditor-DEKfDX8p.js.map} +1 -1
- package/dist/{JsonEditor-CLHGjppr.js → JsonEditor-DihhWMI5.js} +2 -5
- package/dist/{JsonEditor-CLHGjppr.js.map → JsonEditor-DihhWMI5.js.map} +1 -1
- package/dist/MessageTemplates.js +33 -43
- package/dist/MessageTemplates.js.map +1 -1
- package/dist/SendMessagePane.js +5 -5
- package/dist/SendMessagePane.js.map +1 -1
- package/dist/SendToApiPane.js +5 -4
- package/dist/SendToApiPane.js.map +1 -1
- package/dist/adaptive_input-BpXdshqg.js +17 -0
- package/dist/adaptive_input-BpXdshqg.js.map +1 -0
- package/dist/adaptive_input-Cd_EArae.js +19 -0
- package/dist/adaptive_input-Cd_EArae.js.map +1 -0
- package/dist/cjs/ApiTemplates.js +13 -12
- package/dist/cjs/ApiTemplates.js.map +1 -1
- package/dist/cjs/MessageTemplates.js +35 -45
- package/dist/cjs/MessageTemplates.js.map +1 -1
- package/dist/cjs/SendMessagePane.js +4 -4
- package/dist/cjs/SendMessagePane.js.map +1 -1
- package/dist/cjs/SendToApiPane.js +5 -4
- package/dist/cjs/SendToApiPane.js.map +1 -1
- package/dist/cjs/index.js +5 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/ApiTemplates.js +461 -0
- package/dist/cjs/v2/ApiTemplates.js.map +1 -0
- package/dist/cjs/v2/MessageTemplates.js +849 -0
- package/dist/cjs/v2/MessageTemplates.js.map +1 -0
- package/dist/cjs/v2/SendMessagePane.js +451 -0
- package/dist/cjs/v2/SendMessagePane.js.map +1 -0
- package/dist/cjs/v2/SendToApiPane.js +244 -0
- package/dist/cjs/v2/SendToApiPane.js.map +1 -0
- package/dist/cjs/v2/index.js +57 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/{constants-D4v0xTUu.js → constants-B2GWdy9V.js} +2 -2
- package/dist/{constants-D4v0xTUu.js.map → constants-B2GWdy9V.js.map} +1 -1
- package/dist/constants-CX95xIS-.js +44 -0
- package/dist/constants-CX95xIS-.js.map +1 -0
- package/dist/constants-Cvnks2UE.js +49 -0
- package/dist/constants-Cvnks2UE.js.map +1 -0
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/inject-css-B6qYtOJe.js +6 -0
- package/dist/inject-css-B6qYtOJe.js.map +1 -0
- package/dist/inject-css-C2dztUxs.js +4 -0
- package/dist/inject-css-C2dztUxs.js.map +1 -0
- package/dist/json_editor-Co5e3Chh.js +5 -0
- package/dist/json_editor-Co5e3Chh.js.map +1 -0
- package/dist/json_editor-CvRhtSA3.js +7 -0
- package/dist/json_editor-CvRhtSA3.js.map +1 -0
- package/dist/{useTemplatesApi-BBQsbYMK.js → useTemplatesApi-CMkDeBa9.js} +2 -2
- package/dist/{useTemplatesApi-BBQsbYMK.js.map → useTemplatesApi-CMkDeBa9.js.map} +1 -1
- package/dist/{useTemplatesApi-DHrOrdXb.js → useTemplatesApi-byHuEDTl.js} +2 -2
- package/dist/{useTemplatesApi-DHrOrdXb.js.map → useTemplatesApi-byHuEDTl.js.map} +1 -1
- package/dist/utils-BGEmI_om.js +49 -0
- package/dist/utils-BGEmI_om.js.map +1 -0
- package/dist/utils-CLc_-Ysi.js +52 -0
- package/dist/utils-CLc_-Ysi.js.map +1 -0
- package/dist/utils-Cz5W3I3l.js.map +1 -1
- package/dist/utils-DddrNhQe.js.map +1 -1
- package/dist/v2/ApiTemplates.js +459 -0
- package/dist/v2/ApiTemplates.js.map +1 -0
- package/dist/v2/MessageTemplates.js +828 -0
- package/dist/v2/MessageTemplates.js.map +1 -0
- package/dist/v2/SendMessagePane.js +430 -0
- package/dist/v2/SendMessagePane.js.map +1 -0
- package/dist/v2/SendToApiPane.js +223 -0
- package/dist/v2/SendToApiPane.js.map +1 -0
- package/dist/v2/index.js +48 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +44 -35
- package/dist/inject-css-DmrvuTKK.js +0 -4
- package/dist/inject-css-DmrvuTKK.js.map +0 -1
- package/dist/inject-css-vQvjPR2x.js +0 -6
- package/dist/inject-css-vQvjPR2x.js.map +0 -1
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
3
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import { useMemo, useState, useRef } from 'react';
|
|
5
|
+
import { Button, Sheet, Typography, DataTable, Empty, Alert } from '@bigbinary/neeto-atoms';
|
|
6
|
+
import { truncate, isNotEmpty, noop } from '@bigbinary/neeto-cist';
|
|
7
|
+
import { useQueryParams } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
|
|
8
|
+
import FiltersBar from '@bigbinary/neeto-filters-frontend/v2/Bar';
|
|
9
|
+
import { buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend/v2/utils';
|
|
10
|
+
import Container from '@bigbinary/neeto-molecules/v2/Container';
|
|
11
|
+
import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
|
|
12
|
+
import SubHeader from '@bigbinary/neeto-molecules/v2/SubHeader';
|
|
13
|
+
import TableWrapper from '@bigbinary/neeto-molecules/v2/TableWrapper';
|
|
14
|
+
import { equals, assoc, isEmpty, pick } from 'ramda';
|
|
15
|
+
import { useTranslation, Trans } from 'react-i18next';
|
|
16
|
+
import { u as useCreateTemplate, a as useUpdateTemplate, b as useFetchTemplates, c as useDeleteTemplate } from '../useTemplatesApi-CMkDeBa9.js';
|
|
17
|
+
import { T as TEMPLATE_STATUS, A as API_TEMPLATE_INITIAL_VALUES, C as CUSTOM_HEADERS_INITIAL_VALUE, a as API_TEMPLATE_TYPE, r as rejectEmptyKeyValuePairs, b as API_TEMPLATE_FORM_VALIDATION_SCHEMA, S as SAMPLE_URL, c as CustomHeaders, J as JsonEditor, F as FILTER_COLUMNS, d as buildHelpPopoverProps } from '../JsonEditor-BHy4s0Bo.js';
|
|
18
|
+
import { D as DEFAULT_PAGE_PROPERTIES } from '../constants-CX95xIS-.js';
|
|
19
|
+
import { Form as Form$1, Input, ActionBlock } from '@bigbinary/neeto-atoms/formik';
|
|
20
|
+
import { t } from 'i18next';
|
|
21
|
+
import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
|
|
22
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
23
|
+
import '@tanstack/react-query';
|
|
24
|
+
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
25
|
+
import 'axios';
|
|
26
|
+
import 'qs';
|
|
27
|
+
import 'yup';
|
|
28
|
+
import 'formik';
|
|
29
|
+
import '@bigbinary/neeto-icons/Delete';
|
|
30
|
+
import '@monaco-editor/react';
|
|
31
|
+
import '@bigbinary/neeto-icons/Help';
|
|
32
|
+
import '@bigbinary/neeto-molecules/v2/DynamicVariables';
|
|
33
|
+
import '../json_editor-Co5e3Chh.js';
|
|
34
|
+
import '../inject-css-C2dztUxs.js';
|
|
35
|
+
import '@bigbinary/neeto-commons-frontend/v2/constants';
|
|
36
|
+
|
|
37
|
+
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; }
|
|
38
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
39
|
+
var buildApiTemplatePayload = function buildApiTemplatePayload(values, templateId) {
|
|
40
|
+
return {
|
|
41
|
+
entity: {
|
|
42
|
+
id: templateId,
|
|
43
|
+
endpoint: values.endpoint,
|
|
44
|
+
enableCustomHeaders: values.enableCustomHeaders,
|
|
45
|
+
customHeaders: rejectEmptyKeyValuePairs(values.customHeaders || []),
|
|
46
|
+
body: values.body
|
|
47
|
+
},
|
|
48
|
+
templateType: API_TEMPLATE_TYPE,
|
|
49
|
+
name: values.name
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
var buildTableColumnData = function buildTableColumnData(_ref) {
|
|
53
|
+
var handleMarkAsActiveOrInactive = _ref.handleMarkAsActiveOrInactive,
|
|
54
|
+
handleOpenDeleteAlert = _ref.handleOpenDeleteAlert,
|
|
55
|
+
handleOpenEditPane = _ref.handleOpenEditPane;
|
|
56
|
+
return [{
|
|
57
|
+
accessorKey: "name",
|
|
58
|
+
id: "name",
|
|
59
|
+
header: t("neetoMessageTemplate.template.name"),
|
|
60
|
+
size: 200,
|
|
61
|
+
cell: function cell(_ref2) {
|
|
62
|
+
var apiTemplate = _ref2.row.original;
|
|
63
|
+
return /*#__PURE__*/jsxs("div", {
|
|
64
|
+
className: "flex items-center justify-between gap-x-3",
|
|
65
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
66
|
+
"data-testid": "api-template-name-link",
|
|
67
|
+
label: truncate(apiTemplate.name, 100),
|
|
68
|
+
variant: "link",
|
|
69
|
+
onClick: function onClick() {
|
|
70
|
+
return handleOpenEditPane(apiTemplate);
|
|
71
|
+
}
|
|
72
|
+
}), /*#__PURE__*/jsx(MoreDropdown, {
|
|
73
|
+
dropdownButtonProps: {
|
|
74
|
+
"data-testid": "api-template-dropdown",
|
|
75
|
+
className: "me-1 my-1"
|
|
76
|
+
},
|
|
77
|
+
menuItems: [{
|
|
78
|
+
key: "edit",
|
|
79
|
+
label: t("neetoMessageTemplate.template.edit"),
|
|
80
|
+
"data-testid": "api-template-button-edit-button",
|
|
81
|
+
onClick: function onClick() {
|
|
82
|
+
return handleOpenEditPane(apiTemplate);
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
key: "status",
|
|
86
|
+
label: equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE) ? t("neetoMessageTemplate.template.markAsInactive") : t("neetoMessageTemplate.template.markAsActive"),
|
|
87
|
+
"data-testid": "api-template-button-status-button",
|
|
88
|
+
onClick: function onClick() {
|
|
89
|
+
return handleMarkAsActiveOrInactive(apiTemplate);
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "delete",
|
|
93
|
+
label: t("neetoMessageTemplate.template.delete"),
|
|
94
|
+
"data-testid": "api-template-button-delete-button",
|
|
95
|
+
onClick: function onClick() {
|
|
96
|
+
return handleOpenDeleteAlert(apiTemplate);
|
|
97
|
+
}
|
|
98
|
+
}]
|
|
99
|
+
})]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
accessorKey: "status",
|
|
104
|
+
id: "status",
|
|
105
|
+
header: t("neetoMessageTemplate.template.active"),
|
|
106
|
+
cell: function cell(_ref3) {
|
|
107
|
+
var getValue = _ref3.getValue;
|
|
108
|
+
return getValue() === "active" ? t("neetoMessageTemplate.yes") : t("neetoMessageTemplate.no");
|
|
109
|
+
},
|
|
110
|
+
size: 180
|
|
111
|
+
}];
|
|
112
|
+
};
|
|
113
|
+
var buildApiTemplateInitialValues = function buildApiTemplateInitialValues(isEdit, apiTemplate, initialPayload) {
|
|
114
|
+
if (!isEdit) {
|
|
115
|
+
return assoc("body", initialPayload, API_TEMPLATE_INITIAL_VALUES);
|
|
116
|
+
}
|
|
117
|
+
var customHeaders = isEmpty(apiTemplate.customHeaders) ? [CUSTOM_HEADERS_INITIAL_VALUE] : apiTemplate.customHeaders;
|
|
118
|
+
return _objectSpread$1(_objectSpread$1({}, pick(["name", "endpoint", "body", "enableCustomHeaders"], apiTemplate)), {}, {
|
|
119
|
+
customHeaders: customHeaders
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
var Form = function Form(_ref) {
|
|
124
|
+
var setFocusField = _ref.setFocusField,
|
|
125
|
+
onClose = _ref.onClose,
|
|
126
|
+
ownerId = _ref.ownerId,
|
|
127
|
+
selectedApiTemplate = _ref.selectedApiTemplate,
|
|
128
|
+
onMutationSuccess = _ref.onMutationSuccess,
|
|
129
|
+
initialPayload = _ref.initialPayload,
|
|
130
|
+
templateVariables = _ref.templateVariables,
|
|
131
|
+
bodyHelpPopoverProps = _ref.bodyHelpPopoverProps,
|
|
132
|
+
customHeadersHelpPopoverProps = _ref.customHeadersHelpPopoverProps;
|
|
133
|
+
var _useTranslation = useTranslation(),
|
|
134
|
+
t = _useTranslation.t;
|
|
135
|
+
var _useCreateTemplate = useCreateTemplate(ownerId),
|
|
136
|
+
createApiTemplate = _useCreateTemplate.mutate,
|
|
137
|
+
isCreating = _useCreateTemplate.isPending;
|
|
138
|
+
var _useUpdateTemplate = useUpdateTemplate(ownerId),
|
|
139
|
+
updateApiTemplate = _useUpdateTemplate.mutate,
|
|
140
|
+
isUpdating = _useUpdateTemplate.isPending;
|
|
141
|
+
var isEdit = isNotEmpty(selectedApiTemplate);
|
|
142
|
+
var handleSubmit = function handleSubmit(values, _ref2) {
|
|
143
|
+
var setSubmitting = _ref2.setSubmitting;
|
|
144
|
+
var payload = buildApiTemplatePayload(values, selectedApiTemplate === null || selectedApiTemplate === void 0 ? void 0 : selectedApiTemplate.id);
|
|
145
|
+
var options = {
|
|
146
|
+
onSuccess: function onSuccess() {
|
|
147
|
+
onMutationSuccess.apply(void 0, arguments);
|
|
148
|
+
onClose();
|
|
149
|
+
},
|
|
150
|
+
onSettled: function onSettled() {
|
|
151
|
+
return setSubmitting(false);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
if (isEdit) {
|
|
155
|
+
updateApiTemplate({
|
|
156
|
+
id: selectedApiTemplate.id,
|
|
157
|
+
payload: payload
|
|
158
|
+
}, options);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
createApiTemplate(payload, options);
|
|
162
|
+
};
|
|
163
|
+
var isMutating = isUpdating || isCreating;
|
|
164
|
+
var initialValues = useMemo(function () {
|
|
165
|
+
return buildApiTemplateInitialValues(isEdit, selectedApiTemplate, initialPayload);
|
|
166
|
+
}, [isEdit, selectedApiTemplate, initialPayload]);
|
|
167
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
168
|
+
children: [/*#__PURE__*/jsx(Sheet.Header, {
|
|
169
|
+
children: /*#__PURE__*/jsx(Sheet.Title, {
|
|
170
|
+
children: isEdit ? t("neetoMessageTemplate.api.editApiTemplate") : t("neetoMessageTemplate.api.addApiTemplate")
|
|
171
|
+
})
|
|
172
|
+
}), /*#__PURE__*/jsxs(Form$1, {
|
|
173
|
+
formikProps: {
|
|
174
|
+
initialValues: initialValues,
|
|
175
|
+
validationSchema: API_TEMPLATE_FORM_VALIDATION_SCHEMA,
|
|
176
|
+
onSubmit: handleSubmit
|
|
177
|
+
},
|
|
178
|
+
children: [/*#__PURE__*/jsx(Sheet.Body, {
|
|
179
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
180
|
+
className: "w-full space-y-5 mb-10",
|
|
181
|
+
children: [/*#__PURE__*/jsx(Input, {
|
|
182
|
+
required: true,
|
|
183
|
+
label: t("neetoMessageTemplate.template.name"),
|
|
184
|
+
name: "name",
|
|
185
|
+
ref: setFocusField
|
|
186
|
+
}), /*#__PURE__*/jsx(Input, {
|
|
187
|
+
required: true,
|
|
188
|
+
label: t("neetoMessageTemplate.api.endpoint"),
|
|
189
|
+
name: "endpoint",
|
|
190
|
+
placeholder: SAMPLE_URL
|
|
191
|
+
}), /*#__PURE__*/jsx(CustomHeaders, {
|
|
192
|
+
helpPopoverProps: customHeadersHelpPopoverProps
|
|
193
|
+
}), /*#__PURE__*/jsx(JsonEditor, {
|
|
194
|
+
templateVariables: templateVariables,
|
|
195
|
+
helpPopoverProps: bodyHelpPopoverProps,
|
|
196
|
+
initialValue: initialValues.body,
|
|
197
|
+
name: "body"
|
|
198
|
+
})]
|
|
199
|
+
})
|
|
200
|
+
}), /*#__PURE__*/jsx(Sheet.Footer, {
|
|
201
|
+
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
202
|
+
cancelButtonProps: {
|
|
203
|
+
onClick: onClose
|
|
204
|
+
},
|
|
205
|
+
isSubmitting: isMutating
|
|
206
|
+
})
|
|
207
|
+
})]
|
|
208
|
+
})]
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
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; }
|
|
213
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
214
|
+
var ApiTemplates = function ApiTemplates(_ref) {
|
|
215
|
+
var _apiTemplatesHelpPopo;
|
|
216
|
+
var ownerId = _ref.ownerId,
|
|
217
|
+
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
218
|
+
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
219
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
220
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
221
|
+
_ref$initialPayload = _ref.initialPayload,
|
|
222
|
+
initialPayload = _ref$initialPayload === void 0 ? {} : _ref$initialPayload,
|
|
223
|
+
_ref$templateVariable = _ref.templateVariables,
|
|
224
|
+
templateVariables = _ref$templateVariable === void 0 ? [] : _ref$templateVariable,
|
|
225
|
+
_ref$onMutationSucces = _ref.onMutationSuccess,
|
|
226
|
+
onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces;
|
|
227
|
+
var _useTranslation = useTranslation(),
|
|
228
|
+
t = _useTranslation.t;
|
|
229
|
+
var _useState = useState(DEFAULT_PAGE_PROPERTIES),
|
|
230
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
231
|
+
pageParams = _useState2[0],
|
|
232
|
+
setPageParams = _useState2[1];
|
|
233
|
+
var _useState3 = useState(false),
|
|
234
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
235
|
+
isFiltersPaneOpen = _useState4[0],
|
|
236
|
+
setIsFiltersPaneOpen = _useState4[1];
|
|
237
|
+
var _useState5 = useState(false),
|
|
238
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
239
|
+
isFormPaneOpen = _useState6[0],
|
|
240
|
+
setIsFormPaneOpen = _useState6[1];
|
|
241
|
+
var _useState7 = useState({}),
|
|
242
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
243
|
+
selectedApiTemplate = _useState8[0],
|
|
244
|
+
setSelectedApiTemplate = _useState8[1];
|
|
245
|
+
var _useState9 = useState(false),
|
|
246
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
247
|
+
isDeleteAlertOpen = _useState0[0],
|
|
248
|
+
setIsDeleteAlertOpen = _useState0[1];
|
|
249
|
+
var setFocusField = useRef(null);
|
|
250
|
+
var _useQueryParams = useQueryParams(),
|
|
251
|
+
_useQueryParams$searc = _useQueryParams.searchTerm,
|
|
252
|
+
searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
|
|
253
|
+
var searchKeywordProps = {
|
|
254
|
+
key: "search_term",
|
|
255
|
+
node: "name",
|
|
256
|
+
value: searchTerm
|
|
257
|
+
};
|
|
258
|
+
var _useState1 = useState(function () {
|
|
259
|
+
return buildFiltersFromURL([].concat(_toConsumableArray(FILTER_COLUMNS), [searchKeywordProps]));
|
|
260
|
+
}),
|
|
261
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
262
|
+
filters = _useState10[0],
|
|
263
|
+
setFilters = _useState10[1];
|
|
264
|
+
var _useFetchTemplates = useFetchTemplates({
|
|
265
|
+
filters: filters,
|
|
266
|
+
page: pageParams.index,
|
|
267
|
+
pageSize: pageParams.size,
|
|
268
|
+
templateType: API_TEMPLATE_TYPE,
|
|
269
|
+
ownerId: isEmpty(ownerId) ? undefined : ownerId
|
|
270
|
+
}),
|
|
271
|
+
_useFetchTemplates$da = _useFetchTemplates.data,
|
|
272
|
+
_useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
|
|
273
|
+
templates = _useFetchTemplates$da2.templates,
|
|
274
|
+
totalCount = _useFetchTemplates$da2.totalCount,
|
|
275
|
+
isLoading = _useFetchTemplates.isLoading,
|
|
276
|
+
isFetching = _useFetchTemplates.isFetching;
|
|
277
|
+
var title = t("neetoMessageTemplate.template.apiTemplates");
|
|
278
|
+
var isFilterApplied = isNotEmpty(filters);
|
|
279
|
+
var handleFiltersChange = function handleFiltersChange(filters) {
|
|
280
|
+
setFilters(filters);
|
|
281
|
+
setPageParams(DEFAULT_PAGE_PROPERTIES);
|
|
282
|
+
};
|
|
283
|
+
var _useDeleteTemplate = useDeleteTemplate(ownerId),
|
|
284
|
+
deleteTemplate = _useDeleteTemplate.mutate,
|
|
285
|
+
isDeleting = _useDeleteTemplate.isPending;
|
|
286
|
+
var _useUpdateTemplate = useUpdateTemplate(ownerId),
|
|
287
|
+
updateTemplate = _useUpdateTemplate.mutate;
|
|
288
|
+
var handleOpenEditPane = function handleOpenEditPane(apiTemplate) {
|
|
289
|
+
setSelectedApiTemplate(apiTemplate);
|
|
290
|
+
setIsFormPaneOpen(true);
|
|
291
|
+
};
|
|
292
|
+
var handleOpenDeleteAlert = function handleOpenDeleteAlert(apiTemplate) {
|
|
293
|
+
setSelectedApiTemplate(apiTemplate);
|
|
294
|
+
setIsDeleteAlertOpen(true);
|
|
295
|
+
};
|
|
296
|
+
var handleCloseDeleteAlertAndFormPane = function handleCloseDeleteAlertAndFormPane() {
|
|
297
|
+
setIsDeleteAlertOpen(false);
|
|
298
|
+
setIsFormPaneOpen(false);
|
|
299
|
+
setSelectedApiTemplate({});
|
|
300
|
+
};
|
|
301
|
+
var handleMarkAsActiveOrInactive = function handleMarkAsActiveOrInactive(_ref2) {
|
|
302
|
+
var status = _ref2.status,
|
|
303
|
+
id = _ref2.id;
|
|
304
|
+
var newStatus = equals(status, TEMPLATE_STATUS.ACTIVE) ? TEMPLATE_STATUS.INACTIVE : TEMPLATE_STATUS.ACTIVE;
|
|
305
|
+
updateTemplate({
|
|
306
|
+
payload: {
|
|
307
|
+
status: newStatus,
|
|
308
|
+
templateType: API_TEMPLATE_TYPE
|
|
309
|
+
},
|
|
310
|
+
id: id
|
|
311
|
+
}, {
|
|
312
|
+
onSuccess: onMutationSuccess
|
|
313
|
+
});
|
|
314
|
+
};
|
|
315
|
+
var handleDeleteApiTemplate = function handleDeleteApiTemplate() {
|
|
316
|
+
return deleteTemplate(selectedApiTemplate.id, {
|
|
317
|
+
onSuccess: function onSuccess() {
|
|
318
|
+
onMutationSuccess.apply(void 0, arguments);
|
|
319
|
+
handleCloseDeleteAlertAndFormPane();
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
};
|
|
323
|
+
var _buildHelpPopoverProp = buildHelpPopoverProps(helpPopoverProps),
|
|
324
|
+
apiTemplatesHelpPopoverProps = _buildHelpPopoverProp.apiTemplates,
|
|
325
|
+
customHeadersHelpPopoverProps = _buildHelpPopoverProp.customHeaders,
|
|
326
|
+
bodyHelpPopoverProps = _buildHelpPopoverProp.body;
|
|
327
|
+
var helpDocUrl = (apiTemplatesHelpPopoverProps === null || apiTemplatesHelpPopoverProps === void 0 || (_apiTemplatesHelpPopo = apiTemplatesHelpPopoverProps.helpLinkProps) === null || _apiTemplatesHelpPopo === void 0 ? void 0 : _apiTemplatesHelpPopo.href) || "";
|
|
328
|
+
var noDataProps = _objectSpread(_objectSpread({}, !isFilterApplied && {
|
|
329
|
+
primaryButtonProps: {
|
|
330
|
+
label: t("neetoMessageTemplate.api.addApiTemplate"),
|
|
331
|
+
onClick: function onClick() {
|
|
332
|
+
return setIsFormPaneOpen(true);
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
helpText: /*#__PURE__*/jsx(Trans, {
|
|
336
|
+
i18nKey: "neetoMessageTemplate.template.linkToHelpArticle",
|
|
337
|
+
values: {
|
|
338
|
+
entity: title
|
|
339
|
+
},
|
|
340
|
+
components: {
|
|
341
|
+
Link: /*#__PURE__*/jsx(Button, {
|
|
342
|
+
href: helpDocUrl,
|
|
343
|
+
target: "_blank",
|
|
344
|
+
variant: "link"
|
|
345
|
+
})
|
|
346
|
+
}
|
|
347
|
+
})
|
|
348
|
+
}), {}, {
|
|
349
|
+
title: isFilterApplied ? t("neetoMessageTemplate.template.filtersEmptyState", {
|
|
350
|
+
type: title
|
|
351
|
+
}) : t("neetoMessageTemplate.template.emptyState", {
|
|
352
|
+
type: title
|
|
353
|
+
})
|
|
354
|
+
});
|
|
355
|
+
var shouldShowTemplatesCount = !isLoading && (isFilterApplied || totalCount > 0);
|
|
356
|
+
return /*#__PURE__*/jsxs(Container, {
|
|
357
|
+
children: [/*#__PURE__*/jsx(NeetoHeader, {
|
|
358
|
+
breadcrumbs: breadcrumbs,
|
|
359
|
+
title: title,
|
|
360
|
+
size: "small",
|
|
361
|
+
actionBlock: /*#__PURE__*/jsx(Button, {
|
|
362
|
+
"data-testid": "add-api-templates-button",
|
|
363
|
+
label: t("neetoMessageTemplate.api.addApiTemplate"),
|
|
364
|
+
onClick: function onClick() {
|
|
365
|
+
return setIsFormPaneOpen(true);
|
|
366
|
+
}
|
|
367
|
+
}),
|
|
368
|
+
searchProps: shouldShowTemplatesCount && {
|
|
369
|
+
placeholder: t("neetoMessageTemplate.template.searchApiTemplates"),
|
|
370
|
+
"data-testid": "api-templates-search-input"
|
|
371
|
+
},
|
|
372
|
+
titleHelpPopoverProps: apiTemplatesHelpPopoverProps && _objectSpread(_objectSpread({}, apiTemplatesHelpPopoverProps), {}, {
|
|
373
|
+
title: (apiTemplatesHelpPopoverProps === null || apiTemplatesHelpPopoverProps === void 0 ? void 0 : apiTemplatesHelpPopoverProps.title) || title
|
|
374
|
+
})
|
|
375
|
+
}), /*#__PURE__*/jsx(SubHeader, {
|
|
376
|
+
className: "mb-4",
|
|
377
|
+
leftActionBlock: shouldShowTemplatesCount && /*#__PURE__*/jsx(Typography, {
|
|
378
|
+
as: "h4",
|
|
379
|
+
children: t("neetoMessageTemplate.template.messageTemplatesWithCount", {
|
|
380
|
+
type: t("messageType.api"),
|
|
381
|
+
count: totalCount
|
|
382
|
+
})
|
|
383
|
+
}),
|
|
384
|
+
rightActionBlock: /*#__PURE__*/jsx(SubHeader.RightBlock, {
|
|
385
|
+
dataProps: {
|
|
386
|
+
totalCount: isFilterApplied ? null : totalCount
|
|
387
|
+
},
|
|
388
|
+
filterProps: {
|
|
389
|
+
columns: FILTER_COLUMNS,
|
|
390
|
+
isOpen: isFiltersPaneOpen,
|
|
391
|
+
keyword: searchKeywordProps,
|
|
392
|
+
setIsOpen: setIsFiltersPaneOpen,
|
|
393
|
+
onChange: handleFiltersChange
|
|
394
|
+
}
|
|
395
|
+
})
|
|
396
|
+
}), /*#__PURE__*/jsx(FiltersBar, {
|
|
397
|
+
columns: FILTER_COLUMNS,
|
|
398
|
+
keyword: searchKeywordProps,
|
|
399
|
+
setIsPaneOpen: setIsFiltersPaneOpen,
|
|
400
|
+
onChange: handleFiltersChange
|
|
401
|
+
}), isNotEmpty(templates) ? /*#__PURE__*/jsx(TableWrapper, {
|
|
402
|
+
hasPagination: totalCount > pageParams.size,
|
|
403
|
+
children: /*#__PURE__*/jsx(DataTable, {
|
|
404
|
+
totalCount: totalCount,
|
|
405
|
+
currentPage: pageParams.index,
|
|
406
|
+
data: templates,
|
|
407
|
+
enableURLPagination: false,
|
|
408
|
+
loading: isLoading || isFetching,
|
|
409
|
+
pageSize: pageParams.size,
|
|
410
|
+
columns: buildTableColumnData({
|
|
411
|
+
handleMarkAsActiveOrInactive: handleMarkAsActiveOrInactive,
|
|
412
|
+
handleOpenDeleteAlert: handleOpenDeleteAlert,
|
|
413
|
+
handleOpenEditPane: handleOpenEditPane
|
|
414
|
+
}),
|
|
415
|
+
onPageChange: function onPageChange(index) {
|
|
416
|
+
return setPageParams({
|
|
417
|
+
index: index,
|
|
418
|
+
size: pageParams.size
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
})
|
|
422
|
+
}) : /*#__PURE__*/jsx("div", {
|
|
423
|
+
className: "flex h-full w-full items-center justify-center",
|
|
424
|
+
children: /*#__PURE__*/jsx(Empty, _objectSpread({}, noDataProps))
|
|
425
|
+
}), /*#__PURE__*/jsx(Sheet, {
|
|
426
|
+
initialFocusRef: setFocusField,
|
|
427
|
+
isOpen: isFormPaneOpen,
|
|
428
|
+
size: "large",
|
|
429
|
+
onClose: handleCloseDeleteAlertAndFormPane,
|
|
430
|
+
children: /*#__PURE__*/jsx(Form, {
|
|
431
|
+
bodyHelpPopoverProps: bodyHelpPopoverProps,
|
|
432
|
+
customHeadersHelpPopoverProps: customHeadersHelpPopoverProps,
|
|
433
|
+
onMutationSuccess: onMutationSuccess,
|
|
434
|
+
ownerId: ownerId,
|
|
435
|
+
selectedApiTemplate: selectedApiTemplate,
|
|
436
|
+
setFocusField: setFocusField,
|
|
437
|
+
templateVariables: templateVariables,
|
|
438
|
+
initialPayload: JSON.stringify(initialPayload, null, 2),
|
|
439
|
+
onClose: handleCloseDeleteAlertAndFormPane
|
|
440
|
+
})
|
|
441
|
+
}), /*#__PURE__*/jsx(Alert, {
|
|
442
|
+
isOpen: isDeleteAlertOpen,
|
|
443
|
+
isSubmitting: isDeleting,
|
|
444
|
+
submitButtonLabel: t("neetoMessageTemplate.template.delete"),
|
|
445
|
+
title: t("neetoMessageTemplate.api.deleteApiTemplate"),
|
|
446
|
+
message: /*#__PURE__*/jsx(Trans, {
|
|
447
|
+
i18nKey: "neetoMessageTemplate.template.templateDeleteConfirmation",
|
|
448
|
+
values: {
|
|
449
|
+
name: selectedApiTemplate.name
|
|
450
|
+
}
|
|
451
|
+
}),
|
|
452
|
+
onClose: handleCloseDeleteAlertAndFormPane,
|
|
453
|
+
onSubmit: handleDeleteApiTemplate
|
|
454
|
+
})]
|
|
455
|
+
});
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
export { ApiTemplates as default };
|
|
459
|
+
//# sourceMappingURL=ApiTemplates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiTemplates.js","sources":["../../app/javascript/src/v2/components/Api/ApiTemplates/utils.jsx","../../app/javascript/src/v2/components/Api/ApiTemplates/Form.jsx","../../app/javascript/src/v2/components/Api/ApiTemplates/index.jsx"],"sourcesContent":["import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { assoc, equals, isEmpty, pick } from \"ramda\";\n\nimport {\n CUSTOM_HEADERS_INITIAL_VALUE,\n API_TEMPLATE_TYPE,\n} from \"v2/components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"v2/components/Api/utils\";\n\nimport { API_TEMPLATE_INITIAL_VALUES, TEMPLATE_STATUS } from \"./constants\";\n\nexport const buildApiTemplatePayload = (values, templateId) => ({\n entity: {\n id: templateId,\n endpoint: values.endpoint,\n enableCustomHeaders: values.enableCustomHeaders,\n customHeaders: rejectEmptyKeyValuePairs(values.customHeaders || []),\n body: values.body,\n },\n templateType: API_TEMPLATE_TYPE,\n name: values.name,\n});\n\nexport const buildTableColumnData = ({\n handleMarkAsActiveOrInactive,\n handleOpenDeleteAlert,\n handleOpenEditPane,\n}) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n header: t(\"neetoMessageTemplate.template.name\"),\n size: 200,\n cell: ({ row: { original: apiTemplate } }) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n data-testid=\"api-template-name-link\"\n label={truncate(apiTemplate.name, 100)}\n variant=\"link\"\n onClick={() => handleOpenEditPane(apiTemplate)}\n />\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"api-template-dropdown\",\n className: \"me-1 my-1\",\n }}\n menuItems={[\n {\n key: \"edit\",\n label: t(\"neetoMessageTemplate.template.edit\"),\n \"data-testid\": \"api-template-button-edit-button\",\n onClick: () => handleOpenEditPane(apiTemplate),\n },\n {\n key: \"status\",\n label: equals(apiTemplate.status, TEMPLATE_STATUS.ACTIVE)\n ? t(\"neetoMessageTemplate.template.markAsInactive\")\n : t(\"neetoMessageTemplate.template.markAsActive\"),\n \"data-testid\": \"api-template-button-status-button\",\n onClick: () => handleMarkAsActiveOrInactive(apiTemplate),\n },\n {\n key: \"delete\",\n label: t(\"neetoMessageTemplate.template.delete\"),\n \"data-testid\": \"api-template-button-delete-button\",\n onClick: () => handleOpenDeleteAlert(apiTemplate),\n },\n ]}\n />\n </div>\n ),\n },\n {\n accessorKey: \"status\",\n id: \"status\",\n header: t(\"neetoMessageTemplate.template.active\"),\n cell: ({ getValue }) =>\n getValue() === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n size: 180,\n },\n];\n\nexport const buildApiTemplateInitialValues = (\n isEdit,\n apiTemplate,\n initialPayload\n) => {\n if (!isEdit) {\n return assoc(\"body\", initialPayload, API_TEMPLATE_INITIAL_VALUES);\n }\n\n const customHeaders = isEmpty(apiTemplate.customHeaders)\n ? [CUSTOM_HEADERS_INITIAL_VALUE]\n : apiTemplate.customHeaders;\n\n return {\n ...pick([\"name\", \"endpoint\", \"body\", \"enableCustomHeaders\"], apiTemplate),\n customHeaders,\n };\n};\n","import { useMemo } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n ActionBlock,\n Input,\n Form as NeetoUIForm,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useCreateTemplate,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { API_TEMPLATE_FORM_VALIDATION_SCHEMA, SAMPLE_URL } from \"./constants\";\nimport {\n buildApiTemplateInitialValues,\n buildApiTemplatePayload,\n} from \"./utils\";\n\nimport CustomHeaders from \"../CustomHeaders\";\nimport JsonEditor from \"../JsonEditor\";\n\nconst Form = ({\n setFocusField,\n onClose,\n ownerId,\n selectedApiTemplate,\n onMutationSuccess,\n initialPayload,\n templateVariables,\n bodyHelpPopoverProps,\n customHeadersHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const { mutate: createApiTemplate, isPending: isCreating } =\n useCreateTemplate(ownerId);\n\n const { mutate: updateApiTemplate, isPending: isUpdating } =\n useUpdateTemplate(ownerId);\n\n const isEdit = isNotEmpty(selectedApiTemplate);\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildApiTemplatePayload(values, selectedApiTemplate?.id);\n const options = {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n onClose();\n },\n onSettled: () => setSubmitting(false),\n };\n\n if (isEdit) {\n updateApiTemplate({ id: selectedApiTemplate.id, payload }, options);\n\n return;\n }\n\n createApiTemplate(payload, options);\n };\n\n const isMutating = isUpdating || isCreating;\n\n const initialValues = useMemo(\n () =>\n buildApiTemplateInitialValues(\n isEdit,\n selectedApiTemplate,\n initialPayload\n ),\n [isEdit, selectedApiTemplate, initialPayload]\n );\n\n return (\n <>\n <Sheet.Header>\n <Sheet.Title>\n {isEdit\n ? t(\"neetoMessageTemplate.api.editApiTemplate\")\n : t(\"neetoMessageTemplate.api.addApiTemplate\")}\n </Sheet.Title>\n </Sheet.Header>\n <NeetoUIForm\n formikProps={{\n initialValues,\n validationSchema: API_TEMPLATE_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body>\n <div className=\"w-full space-y-5 mb-10\">\n <Input\n required\n label={t(\"neetoMessageTemplate.template.name\")}\n name=\"name\"\n ref={setFocusField}\n />\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n />\n <CustomHeaders helpPopoverProps={customHeadersHelpPopoverProps} />\n <JsonEditor\n {...{ templateVariables }}\n helpPopoverProps={bodyHelpPopoverProps}\n initialValue={initialValues.body}\n name=\"body\"\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isMutating}\n />\n </Sheet.Footer>\n </NeetoUIForm>\n </>\n );\n};\n\nexport default Form;\n","import { useRef, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n DataTable,\n Empty,\n Sheet,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { noop, isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters/v2\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport TableWrapper from \"neetomolecules/v2/TableWrapper\";\nimport { equals, isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useDeleteTemplate,\n useFetchTemplates,\n useUpdateTemplate,\n} from \"hooks/reactQuery/useTemplatesApi\";\nimport { API_TEMPLATE_TYPE } from \"v2/components/Api/constants\";\nimport { DEFAULT_PAGE_PROPERTIES } from \"v2/components/constants\";\n\nimport { FILTER_COLUMNS, TEMPLATE_STATUS } from \"./constants\";\nimport Form from \"./Form\";\nimport { buildTableColumnData } from \"./utils\";\n\nimport { buildHelpPopoverProps } from \"../utils\";\n\nconst ApiTemplates = ({\n ownerId,\n breadcrumbs = [],\n helpPopoverProps = {},\n initialPayload = {},\n templateVariables = [],\n onMutationSuccess = noop,\n}) => {\n const { t } = useTranslation();\n\n const [pageParams, setPageParams] = useState(DEFAULT_PAGE_PROPERTIES);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isFormPaneOpen, setIsFormPaneOpen] = useState(false);\n const [selectedApiTemplate, setSelectedApiTemplate] = useState({});\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const setFocusField = useRef(null);\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const searchKeywordProps = {\n key: \"search_term\",\n node: \"name\",\n value: searchTerm,\n };\n\n const [filters, setFilters] = useState(() =>\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n\n const {\n data: { templates, totalCount } = {},\n isLoading,\n isFetching,\n } = useFetchTemplates({\n filters,\n page: pageParams.index,\n pageSize: pageParams.size,\n templateType: API_TEMPLATE_TYPE,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n });\n\n const title = t(\"neetoMessageTemplate.template.apiTemplates\");\n\n const isFilterApplied = isNotEmpty(filters);\n\n const handleFiltersChange = filters => {\n setFilters(filters);\n setPageParams(DEFAULT_PAGE_PROPERTIES);\n };\n\n const { mutate: deleteTemplate, isPending: isDeleting } =\n useDeleteTemplate(ownerId);\n const { mutate: updateTemplate } = useUpdateTemplate(ownerId);\n\n const handleOpenEditPane = apiTemplate => {\n setSelectedApiTemplate(apiTemplate);\n setIsFormPaneOpen(true);\n };\n\n const handleOpenDeleteAlert = apiTemplate => {\n setSelectedApiTemplate(apiTemplate);\n setIsDeleteAlertOpen(true);\n };\n\n const handleCloseDeleteAlertAndFormPane = () => {\n setIsDeleteAlertOpen(false);\n setIsFormPaneOpen(false);\n setSelectedApiTemplate({});\n };\n\n const handleMarkAsActiveOrInactive = ({ status, id }) => {\n const newStatus = equals(status, TEMPLATE_STATUS.ACTIVE)\n ? TEMPLATE_STATUS.INACTIVE\n : TEMPLATE_STATUS.ACTIVE;\n\n updateTemplate(\n {\n payload: { status: newStatus, templateType: API_TEMPLATE_TYPE },\n id,\n },\n { onSuccess: onMutationSuccess }\n );\n };\n\n const handleDeleteApiTemplate = () =>\n deleteTemplate(selectedApiTemplate.id, {\n onSuccess: (...args) => {\n onMutationSuccess(...args);\n handleCloseDeleteAlertAndFormPane();\n },\n });\n\n const {\n apiTemplates: apiTemplatesHelpPopoverProps,\n customHeaders: customHeadersHelpPopoverProps,\n body: bodyHelpPopoverProps,\n } = buildHelpPopoverProps(helpPopoverProps);\n\n const helpDocUrl = apiTemplatesHelpPopoverProps?.helpLinkProps?.href || \"\";\n\n const noDataProps = {\n ...(!isFilterApplied && {\n primaryButtonProps: {\n label: t(\"neetoMessageTemplate.api.addApiTemplate\"),\n onClick: () => setIsFormPaneOpen(true),\n },\n helpText: (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.linkToHelpArticle\"\n values={{ entity: title }}\n components={{\n Link: <Button href={helpDocUrl} target=\"_blank\" variant=\"link\" />,\n }}\n />\n ),\n }),\n title: isFilterApplied\n ? t(\"neetoMessageTemplate.template.filtersEmptyState\", { type: title })\n : t(\"neetoMessageTemplate.template.emptyState\", { type: title }),\n };\n\n const shouldShowTemplatesCount =\n !isLoading && (isFilterApplied || totalCount > 0);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs, title }}\n size=\"small\"\n actionBlock={\n <Button\n data-testid=\"add-api-templates-button\"\n label={t(\"neetoMessageTemplate.api.addApiTemplate\")}\n onClick={() => setIsFormPaneOpen(true)}\n />\n }\n searchProps={\n shouldShowTemplatesCount && {\n placeholder: t(\"neetoMessageTemplate.template.searchApiTemplates\"),\n \"data-testid\": \"api-templates-search-input\",\n }\n }\n titleHelpPopoverProps={\n apiTemplatesHelpPopoverProps && {\n ...apiTemplatesHelpPopoverProps,\n title: apiTemplatesHelpPopoverProps?.title || title,\n }\n }\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n shouldShowTemplatesCount && (\n <Typography as=\"h4\">\n {t(\"neetoMessageTemplate.template.messageTemplatesWithCount\", {\n type: t(\"messageType.api\"),\n count: totalCount,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <SubHeader.RightBlock\n dataProps={{ totalCount: isFilterApplied ? null : totalCount }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFiltersPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleFiltersChange}\n />\n {isNotEmpty(templates) ? (\n <TableWrapper hasPagination={totalCount > pageParams.size}>\n <DataTable\n {...{ totalCount }}\n currentPage={pageParams.index}\n data={templates}\n enableURLPagination={false}\n loading={isLoading || isFetching}\n pageSize={pageParams.size}\n columns={buildTableColumnData({\n handleMarkAsActiveOrInactive,\n handleOpenDeleteAlert,\n handleOpenEditPane,\n })}\n onPageChange={index =>\n setPageParams({ index, size: pageParams.size })\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty {...noDataProps} />\n </div>\n )}\n <Sheet\n initialFocusRef={setFocusField}\n isOpen={isFormPaneOpen}\n size=\"large\"\n onClose={handleCloseDeleteAlertAndFormPane}\n >\n <Form\n {...{\n bodyHelpPopoverProps,\n customHeadersHelpPopoverProps,\n onMutationSuccess,\n ownerId,\n selectedApiTemplate,\n setFocusField,\n templateVariables,\n }}\n initialPayload={JSON.stringify(initialPayload, null, 2)}\n onClose={handleCloseDeleteAlertAndFormPane}\n />\n </Sheet>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoMessageTemplate.template.delete\")}\n title={t(\"neetoMessageTemplate.api.deleteApiTemplate\")}\n message={\n <Trans\n i18nKey=\"neetoMessageTemplate.template.templateDeleteConfirmation\"\n values={{ name: selectedApiTemplate.name }}\n />\n }\n onClose={handleCloseDeleteAlertAndFormPane}\n onSubmit={handleDeleteApiTemplate}\n />\n </Container>\n );\n};\n\nexport default ApiTemplates;\n"],"names":["buildApiTemplatePayload","values","templateId","entity","id","endpoint","enableCustomHeaders","customHeaders","rejectEmptyKeyValuePairs","body","templateType","API_TEMPLATE_TYPE","name","buildTableColumnData","_ref","handleMarkAsActiveOrInactive","handleOpenDeleteAlert","handleOpenEditPane","accessorKey","header","t","size","cell","_ref2","apiTemplate","row","original","_jsxs","className","children","_jsx","Button","label","truncate","variant","onClick","MoreDropdown","dropdownButtonProps","menuItems","key","equals","status","TEMPLATE_STATUS","ACTIVE","_ref3","getValue","buildApiTemplateInitialValues","isEdit","initialPayload","assoc","API_TEMPLATE_INITIAL_VALUES","isEmpty","CUSTOM_HEADERS_INITIAL_VALUE","_objectSpread","pick","Form","setFocusField","onClose","ownerId","selectedApiTemplate","onMutationSuccess","templateVariables","bodyHelpPopoverProps","customHeadersHelpPopoverProps","_useTranslation","useTranslation","_useCreateTemplate","useCreateTemplate","createApiTemplate","mutate","isCreating","isPending","_useUpdateTemplate","useUpdateTemplate","updateApiTemplate","isUpdating","isNotEmpty","handleSubmit","setSubmitting","payload","options","onSuccess","apply","arguments","onSettled","isMutating","initialValues","useMemo","_Fragment","Sheet","Header","Title","NeetoUIForm","formikProps","validationSchema","API_TEMPLATE_FORM_VALIDATION_SCHEMA","onSubmit","Body","Input","required","ref","placeholder","SAMPLE_URL","CustomHeaders","helpPopoverProps","JsonEditor","initialValue","Footer","ActionBlock","cancelButtonProps","isSubmitting","ApiTemplates","_apiTemplatesHelpPopo","_ref$breadcrumbs","breadcrumbs","_ref$helpPopoverProps","_ref$initialPayload","_ref$templateVariable","_ref$onMutationSucces","noop","_useState","useState","DEFAULT_PAGE_PROPERTIES","_useState2","_slicedToArray","pageParams","setPageParams","_useState3","_useState4","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState5","_useState6","isFormPaneOpen","setIsFormPaneOpen","_useState7","_useState8","setSelectedApiTemplate","_useState9","_useState0","isDeleteAlertOpen","setIsDeleteAlertOpen","useRef","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","searchKeywordProps","node","value","_useState1","buildFiltersFromURL","concat","_toConsumableArray","FILTER_COLUMNS","_useState10","filters","setFilters","_useFetchTemplates","useFetchTemplates","page","index","pageSize","undefined","_useFetchTemplates$da","data","_useFetchTemplates$da2","templates","totalCount","isLoading","isFetching","title","isFilterApplied","handleFiltersChange","_useDeleteTemplate","useDeleteTemplate","deleteTemplate","isDeleting","updateTemplate","handleCloseDeleteAlertAndFormPane","newStatus","INACTIVE","handleDeleteApiTemplate","_buildHelpPopoverProp","buildHelpPopoverProps","apiTemplatesHelpPopoverProps","apiTemplates","helpDocUrl","helpLinkProps","href","noDataProps","primaryButtonProps","helpText","Trans","i18nKey","components","Link","target","type","shouldShowTemplatesCount","Container","actionBlock","searchProps","titleHelpPopoverProps","SubHeader","leftActionBlock","Typography","as","count","rightActionBlock","RightBlock","dataProps","filterProps","columns","isOpen","keyword","setIsOpen","onChange","FiltersBar","setIsPaneOpen","TableWrapper","hasPagination","DataTable","currentPage","enableURLPagination","loading","onPageChange","Empty","initialFocusRef","JSON","stringify","Alert","submitButtonLabel","message"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,IAAMA,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,MAAM,EAAEC,UAAU,EAAA;EAAA,OAAM;AAC9DC,IAAAA,MAAM,EAAE;AACNC,MAAAA,EAAE,EAAEF,UAAU;MACdG,QAAQ,EAAEJ,MAAM,CAACI,QAAQ;MACzBC,mBAAmB,EAAEL,MAAM,CAACK,mBAAmB;MAC/CC,aAAa,EAAEC,wBAAwB,CAACP,MAAM,CAACM,aAAa,IAAI,EAAE,CAAC;MACnEE,IAAI,EAAER,MAAM,CAACQ;KACd;AACDC,IAAAA,YAAY,EAAEC,iBAAiB;IAC/BC,IAAI,EAAEX,MAAM,CAACW;GACd;AAAA,CAAC;AAEK,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC/BC,4BAA4B,GAAAD,IAAA,CAA5BC,4BAA4B;IAC5BC,qBAAqB,GAAAF,IAAA,CAArBE,qBAAqB;IACrBC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;AAAA,EAAA,OACd,CACJ;AACEC,IAAAA,WAAW,EAAE,MAAM;AACnBd,IAAAA,EAAE,EAAE,MAAM;AACVe,IAAAA,MAAM,EAAEC,CAAC,CAAC,oCAAoC,CAAC;AAC/CC,IAAAA,IAAI,EAAE,GAAG;AACTC,IAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,MAAA,IAAsBC,WAAW,GAAAD,KAAA,CAA5BE,GAAG,CAAIC,QAAQ;AAAA,MAAA,oBACtBC,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2CAA2C;QAAAC,QAAA,EAAA,cACxDC,GAAA,CAACC,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,wBAAwB;UACpCC,KAAK,EAAEC,QAAQ,CAACT,WAAW,CAACZ,IAAI,EAAE,GAAG,CAAE;AACvCsB,UAAAA,OAAO,EAAC,MAAM;UACdC,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQlB,kBAAkB,CAACO,WAAW,CAAC;AAAA,UAAA;AAAC,SAChD,CAAC,eACFM,GAAA,CAACM,YAAY,EAAA;AACXC,UAAAA,mBAAmB,EAAE;AACnB,YAAA,aAAa,EAAE,uBAAuB;AACtCT,YAAAA,SAAS,EAAE;WACX;AACFU,UAAAA,SAAS,EAAE,CACT;AACEC,YAAAA,GAAG,EAAE,MAAM;AACXP,YAAAA,KAAK,EAAEZ,CAAC,CAAC,oCAAoC,CAAC;AAC9C,YAAA,aAAa,EAAE,iCAAiC;YAChDe,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQlB,kBAAkB,CAACO,WAAW,CAAC;AAAA,YAAA;AAChD,WAAC,EACD;AACEe,YAAAA,GAAG,EAAE,QAAQ;YACbP,KAAK,EAAEQ,MAAM,CAAChB,WAAW,CAACiB,MAAM,EAAEC,eAAe,CAACC,MAAM,CAAC,GACrDvB,CAAC,CAAC,8CAA8C,CAAC,GACjDA,CAAC,CAAC,4CAA4C,CAAC;AACnD,YAAA,aAAa,EAAE,mCAAmC;YAClDe,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQpB,4BAA4B,CAACS,WAAW,CAAC;AAAA,YAAA;AAC1D,WAAC,EACD;AACEe,YAAAA,GAAG,EAAE,QAAQ;AACbP,YAAAA,KAAK,EAAEZ,CAAC,CAAC,sCAAsC,CAAC;AAChD,YAAA,aAAa,EAAE,mCAAmC;YAClDe,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQnB,qBAAqB,CAACQ,WAAW,CAAC;AAAA,YAAA;WAClD;AACD,SACH,CAAC;AAAA,OACC,CAAC;AAAA,IAAA;AAEV,GAAC,EACD;AACEN,IAAAA,WAAW,EAAE,QAAQ;AACrBd,IAAAA,EAAE,EAAE,QAAQ;AACZe,IAAAA,MAAM,EAAEC,CAAC,CAAC,sCAAsC,CAAC;AACjDE,IAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAsB,KAAA,EAAA;AAAA,MAAA,IAAKC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;AAAA,MAAA,OACfA,QAAQ,EAAE,KAAK,QAAQ,GACnBzB,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,yBAAyB,CAAC;AAAA,IAAA,CAAA;AAClCC,IAAAA,IAAI,EAAE;AACR,GAAC,CACF;AAAA,CAAA;AAEM,IAAMyB,6BAA6B,GAAG,SAAhCA,6BAA6BA,CACxCC,MAAM,EACNvB,WAAW,EACXwB,cAAc,EACX;EACH,IAAI,CAACD,MAAM,EAAE;AACX,IAAA,OAAOE,KAAK,CAAC,MAAM,EAAED,cAAc,EAAEE,2BAA2B,CAAC;AACnE,EAAA;AAEA,EAAA,IAAM3C,aAAa,GAAG4C,OAAO,CAAC3B,WAAW,CAACjB,aAAa,CAAC,GACpD,CAAC6C,4BAA4B,CAAC,GAC9B5B,WAAW,CAACjB,aAAa;AAE7B,EAAA,OAAA8C,eAAA,CAAAA,eAAA,CAAA,EAAA,EACKC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE9B,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA;AACzEjB,IAAAA,aAAa,EAAbA;AAAa,GAAA,CAAA;AAEjB,CAAC;;AC/ED,IAAMgD,IAAI,GAAG,SAAPA,IAAIA,CAAAzC,IAAA,EAUJ;AAAA,EAAA,IATJ0C,aAAa,GAAA1C,IAAA,CAAb0C,aAAa;IACbC,OAAO,GAAA3C,IAAA,CAAP2C,OAAO;IACPC,OAAO,GAAA5C,IAAA,CAAP4C,OAAO;IACPC,mBAAmB,GAAA7C,IAAA,CAAnB6C,mBAAmB;IACnBC,iBAAiB,GAAA9C,IAAA,CAAjB8C,iBAAiB;IACjBZ,cAAc,GAAAlC,IAAA,CAAdkC,cAAc;IACda,iBAAiB,GAAA/C,IAAA,CAAjB+C,iBAAiB;IACjBC,oBAAoB,GAAAhD,IAAA,CAApBgD,oBAAoB;IACpBC,6BAA6B,GAAAjD,IAAA,CAA7BiD,6BAA6B;AAE7B,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtB7C,CAAC,GAAA4C,eAAA,CAAD5C,CAAC;AACT,EAAA,IAAA8C,kBAAA,GACEC,iBAAiB,CAACT,OAAO,CAAC;IADZU,iBAAiB,GAAAF,kBAAA,CAAzBG,MAAM;IAAgCC,UAAU,GAAAJ,kBAAA,CAArBK,SAAS;AAG5C,EAAA,IAAAC,kBAAA,GACEC,iBAAiB,CAACf,OAAO,CAAC;IADZgB,iBAAiB,GAAAF,kBAAA,CAAzBH,MAAM;IAAgCM,UAAU,GAAAH,kBAAA,CAArBD,SAAS;AAG5C,EAAA,IAAMxB,MAAM,GAAG6B,UAAU,CAACjB,mBAAmB,CAAC;EAE9C,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,CAAI5E,MAAM,EAAAsB,KAAA,EAAwB;AAAA,IAAA,IAApBuD,aAAa,GAAAvD,KAAA,CAAbuD,aAAa;AAC3C,IAAA,IAAMC,OAAO,GAAG/E,uBAAuB,CAACC,MAAM,EAAE0D,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEvD,EAAE,CAAC;AACxE,IAAA,IAAM4E,OAAO,GAAG;AACdC,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAe;AACtBrB,QAAAA,iBAAiB,CAAAsB,KAAA,CAAA,MAAA,EAAAC,SAAQ,CAAC;AAC1B1B,QAAAA,OAAO,EAAE;MACX,CAAC;MACD2B,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OAAQN,aAAa,CAAC,KAAK,CAAC;AAAA,MAAA;KACtC;AAED,IAAA,IAAI/B,MAAM,EAAE;AACV2B,MAAAA,iBAAiB,CAAC;QAAEtE,EAAE,EAAEuD,mBAAmB,CAACvD,EAAE;AAAE2E,QAAAA,OAAO,EAAPA;OAAS,EAAEC,OAAO,CAAC;AAEnE,MAAA;AACF,IAAA;AAEAZ,IAAAA,iBAAiB,CAACW,OAAO,EAAEC,OAAO,CAAC;EACrC,CAAC;AAED,EAAA,IAAMK,UAAU,GAAGV,UAAU,IAAIL,UAAU;EAE3C,IAAMgB,aAAa,GAAGC,OAAO,CAC3B,YAAA;AAAA,IAAA,OACEzC,6BAA6B,CAC3BC,MAAM,EACNY,mBAAmB,EACnBX,cACF,CAAC;AAAA,EAAA,CAAA,EACH,CAACD,MAAM,EAAEY,mBAAmB,EAAEX,cAAc,CAC9C,CAAC;EAED,oBACErB,IAAA,CAAA6D,QAAA,EAAA;AAAA3D,IAAAA,QAAA,EAAA,cACEC,GAAA,CAAC2D,KAAK,CAACC,MAAM,EAAA;AAAA7D,MAAAA,QAAA,eACXC,GAAA,CAAC2D,KAAK,CAACE,KAAK,EAAA;QAAA9D,QAAA,EACTkB,MAAM,GACH3B,CAAC,CAAC,0CAA0C,CAAC,GAC7CA,CAAC,CAAC,yCAAyC;OACpC;AAAC,KACF,CAAC,eACfO,IAAA,CAACiE,MAAW,EAAA;AACVC,MAAAA,WAAW,EAAE;AACXP,QAAAA,aAAa,EAAbA,aAAa;AACbQ,QAAAA,gBAAgB,EAAEC,mCAAmC;AACrDC,QAAAA,QAAQ,EAAEnB;OACV;AAAAhD,MAAAA,QAAA,EAAA,cAEFC,GAAA,CAAC2D,KAAK,CAACQ,IAAI,EAAA;AAAApE,QAAAA,QAAA,eACTF,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,wBAAwB;UAAAC,QAAA,EAAA,cACrCC,GAAA,CAACoE,KAAK,EAAA;YACJC,QAAQ,EAAA,IAAA;AACRnE,YAAAA,KAAK,EAAEZ,CAAC,CAAC,oCAAoC,CAAE;AAC/CR,YAAAA,IAAI,EAAC,MAAM;AACXwF,YAAAA,GAAG,EAAE5C;AAAc,WACpB,CAAC,eACF1B,GAAA,CAACoE,KAAK,EAAA;YACJC,QAAQ,EAAA,IAAA;AACRnE,YAAAA,KAAK,EAAEZ,CAAC,CAAC,mCAAmC,CAAE;AAC9CR,YAAAA,IAAI,EAAC,UAAU;AACfyF,YAAAA,WAAW,EAAEC;AAAW,WACzB,CAAC,eACFxE,GAAA,CAACyE,aAAa,EAAA;AAACC,YAAAA,gBAAgB,EAAEzC;AAA8B,WAAE,CAAC,eAClEjC,GAAA,CAAC2E,UAAU,EAAA;AACH5C,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACvB2C,YAAAA,gBAAgB,EAAE1C,oBAAqB;YACvC4C,YAAY,EAAEpB,aAAa,CAAC7E,IAAK;AACjCG,YAAAA,IAAI,EAAC;AAAM,WACZ,CAAC;SACC;AAAC,OACI,CAAC,eACbkB,GAAA,CAAC2D,KAAK,CAACkB,MAAM,EAAA;QAAA9E,QAAA,eACXC,GAAA,CAAC8E,WAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAE1E,YAAAA,OAAO,EAAEsB;WAAU;AACxCqD,UAAAA,YAAY,EAAEzB;SACf;AAAC,OACU,CAAC;AAAA,KACJ,CAAC;AAAA,GACd,CAAC;AAEP,CAAC;;;;AC1FD,IAAM0B,YAAY,GAAG,SAAfA,YAAYA,CAAAjG,IAAA,EAOZ;AAAA,EAAA,IAAAkG,qBAAA;AAAA,EAAA,IANJtD,OAAO,GAAA5C,IAAA,CAAP4C,OAAO;IAAAuD,gBAAA,GAAAnG,IAAA,CACPoG,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAArG,IAAA,CAChB0F,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAW,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,mBAAA,GAAAtG,IAAA,CACrBkC,cAAc;AAAdA,IAAAA,cAAc,GAAAoE,mBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,mBAAA;IAAAC,qBAAA,GAAAvG,IAAA,CACnB+C,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAwD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAxG,IAAA,CACtB8C,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA0D,qBAAA,KAAA,MAAA,GAAGC,IAAI,GAAAD,qBAAA;AAExB,EAAA,IAAAtD,eAAA,GAAcC,cAAc,EAAE;IAAtB7C,CAAC,GAAA4C,eAAA,CAAD5C,CAAC;AAET,EAAA,IAAAoG,SAAA,GAAoCC,QAAQ,CAACC,uBAAuB,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAA9DK,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAI,UAAA,GAAkDN,QAAQ,CAAC,KAAK,CAAC;IAAAO,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAA4CV,QAAQ,CAAC,KAAK,CAAC;IAAAW,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAG,UAAA,GAAsDd,QAAQ,CAAC,EAAE,CAAC;IAAAe,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAA3D5E,IAAAA,mBAAmB,GAAA6E,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,sBAAsB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAClD,EAAA,IAAAE,UAAA,GAAkDjB,QAAQ,CAAC,KAAK,CAAC;IAAAkB,UAAA,GAAAf,cAAA,CAAAc,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAE9C,EAAA,IAAMnF,aAAa,GAAGsF,MAAM,CAAC,IAAI,CAAC;AAElC,EAAA,IAAAC,eAAA,GAA4BC,cAAc,EAAE;IAAAC,qBAAA,GAAAF,eAAA,CAApCG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAEvB,EAAA,IAAME,kBAAkB,GAAG;AACzB5G,IAAAA,GAAG,EAAE,aAAa;AAClB6G,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,KAAK,EAAEH;GACR;EAED,IAAAI,UAAA,GAA8B7B,QAAQ,CAAC,YAAA;MAAA,OACrC8B,mBAAmB,CAAA,EAAA,CAAAC,MAAA,CAAAC,kBAAA,CAAKC,cAAc,CAAA,EAAA,CAAEP,kBAAkB,CAAA,CAAC,CAAC;AAAA,IAAA,CAC9D,CAAC;IAAAQ,WAAA,GAAA/B,cAAA,CAAA0B,UAAA,EAAA,CAAA,CAAA;AAFMM,IAAAA,OAAO,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;EAI1B,IAAAG,kBAAA,GAIIC,iBAAiB,CAAC;AACpBH,MAAAA,OAAO,EAAPA,OAAO;MACPI,IAAI,EAAEnC,UAAU,CAACoC,KAAK;MACtBC,QAAQ,EAAErC,UAAU,CAACxG,IAAI;AACzBX,MAAAA,YAAY,EAAEC,iBAAiB;AAC/B+C,MAAAA,OAAO,EAAEP,OAAO,CAACO,OAAO,CAAC,GAAGyG,SAAS,GAAGzG;AAC1C,KAAC,CAAC;IAAA0G,qBAAA,GAAAN,kBAAA,CATAO,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,MAAA,GAA8B,EAAE,GAAAA,qBAAA;IAA5BG,SAAS,GAAAD,sBAAA,CAATC,SAAS;IAAEC,UAAU,GAAAF,sBAAA,CAAVE,UAAU;IAC7BC,SAAS,GAAAX,kBAAA,CAATW,SAAS;IACTC,UAAU,GAAAZ,kBAAA,CAAVY,UAAU;AASZ,EAAA,IAAMC,KAAK,GAAGvJ,CAAC,CAAC,4CAA4C,CAAC;AAE7D,EAAA,IAAMwJ,eAAe,GAAGhG,UAAU,CAACgF,OAAO,CAAC;AAE3C,EAAA,IAAMiB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGjB,OAAO,EAAI;IACrCC,UAAU,CAACD,OAAO,CAAC;IACnB9B,aAAa,CAACJ,uBAAuB,CAAC;EACxC,CAAC;AAED,EAAA,IAAAoD,kBAAA,GACEC,iBAAiB,CAACrH,OAAO,CAAC;IADZsH,cAAc,GAAAF,kBAAA,CAAtBzG,MAAM;IAA6B4G,UAAU,GAAAH,kBAAA,CAArBvG,SAAS;AAEzC,EAAA,IAAAC,kBAAA,GAAmCC,iBAAiB,CAACf,OAAO,CAAC;IAA7CwH,cAAc,GAAA1G,kBAAA,CAAtBH,MAAM;AAEd,EAAA,IAAMpD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGO,WAAW,EAAI;IACxCiH,sBAAsB,CAACjH,WAAW,CAAC;IACnC8G,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC;AAED,EAAA,IAAMtH,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGQ,WAAW,EAAI;IAC3CiH,sBAAsB,CAACjH,WAAW,CAAC;IACnCqH,oBAAoB,CAAC,IAAI,CAAC;EAC5B,CAAC;AAED,EAAA,IAAMsC,iCAAiC,GAAG,SAApCA,iCAAiCA,GAAS;IAC9CtC,oBAAoB,CAAC,KAAK,CAAC;IAC3BP,iBAAiB,CAAC,KAAK,CAAC;IACxBG,sBAAsB,CAAC,EAAE,CAAC;EAC5B,CAAC;AAED,EAAA,IAAM1H,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAAQ,KAAA,EAAuB;AAAA,IAAA,IAAjBkB,MAAM,GAAAlB,KAAA,CAANkB,MAAM;MAAErC,EAAE,GAAAmB,KAAA,CAAFnB,EAAE;AAChD,IAAA,IAAMgL,SAAS,GAAG5I,MAAM,CAACC,MAAM,EAAEC,eAAe,CAACC,MAAM,CAAC,GACpDD,eAAe,CAAC2I,QAAQ,GACxB3I,eAAe,CAACC,MAAM;AAE1BuI,IAAAA,cAAc,CACZ;AACEnG,MAAAA,OAAO,EAAE;AAAEtC,QAAAA,MAAM,EAAE2I,SAAS;AAAE1K,QAAAA,YAAY,EAAEC;OAAmB;AAC/DP,MAAAA,EAAE,EAAFA;AACF,KAAC,EACD;AAAE6E,MAAAA,SAAS,EAAErB;AAAkB,KACjC,CAAC;EACH,CAAC;AAED,EAAA,IAAM0H,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAA;AAAA,IAAA,OAC3BN,cAAc,CAACrH,mBAAmB,CAACvD,EAAE,EAAE;AACrC6E,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAe;AACtBrB,QAAAA,iBAAiB,CAAAsB,KAAA,CAAA,MAAA,EAAAC,SAAQ,CAAC;AAC1BgG,QAAAA,iCAAiC,EAAE;AACrC,MAAA;AACF,KAAC,CAAC;AAAA,EAAA,CAAA;AAEJ,EAAA,IAAAI,qBAAA,GAIIC,qBAAqB,CAAChF,gBAAgB,CAAC;IAH3BiF,4BAA4B,GAAAF,qBAAA,CAA1CG,YAAY;IACG3H,6BAA6B,GAAAwH,qBAAA,CAA5ChL,aAAa;IACPuD,oBAAoB,GAAAyH,qBAAA,CAA1B9K,IAAI;AAGN,EAAA,IAAMkL,UAAU,GAAG,CAAAF,4BAA4B,KAAA,IAAA,IAA5BA,4BAA4B,gBAAAzE,qBAAA,GAA5ByE,4BAA4B,CAAEG,aAAa,cAAA5E,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3CA,qBAAA,CAA6C6E,IAAI,KAAI,EAAE;EAE1E,IAAMC,WAAW,GAAAzI,aAAA,CAAAA,aAAA,CAAA,EAAA,EACX,CAACuH,eAAe,IAAI;AACtBmB,IAAAA,kBAAkB,EAAE;AAClB/J,MAAAA,KAAK,EAAEZ,CAAC,CAAC,yCAAyC,CAAC;MACnDe,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQmG,iBAAiB,CAAC,IAAI,CAAC;AAAA,MAAA;KACvC;IACD0D,QAAQ,eACNlK,GAAA,CAACmK,KAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,iDAAiD;AACzDjM,MAAAA,MAAM,EAAE;AAAEE,QAAAA,MAAM,EAAEwK;OAAQ;AAC1BwB,MAAAA,UAAU,EAAE;QACVC,IAAI,eAAEtK,GAAA,CAACC,MAAM,EAAA;AAAC8J,UAAAA,IAAI,EAAEF,UAAW;AAACU,UAAAA,MAAM,EAAC,QAAQ;AAACnK,UAAAA,OAAO,EAAC;SAAQ;AAClE;KACD;GAEJ,CAAA,EAAA,EAAA,EAAA;AACDyI,IAAAA,KAAK,EAAEC,eAAe,GAClBxJ,CAAC,CAAC,iDAAiD,EAAE;AAAEkL,MAAAA,IAAI,EAAE3B;AAAM,KAAC,CAAC,GACrEvJ,CAAC,CAAC,0CAA0C,EAAE;AAAEkL,MAAAA,IAAI,EAAE3B;KAAO;GAAC,CACnE;EAED,IAAM4B,wBAAwB,GAC5B,CAAC9B,SAAS,KAAKG,eAAe,IAAIJ,UAAU,GAAG,CAAC,CAAC;EAEnD,oBACE7I,IAAA,CAAC6K,SAAS,EAAA;IAAA3K,QAAA,EAAA,cACRC,GAAA,CAAC4D,WAAM,EAAA;AACCwB,MAAAA,WAAW,EAAXA,WAAW;AAAEyD,MAAAA,KAAK,EAALA,KAAK;AACxBtJ,MAAAA,IAAI,EAAC,OAAO;MACZoL,WAAW,eACT3K,GAAA,CAACC,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,0BAA0B;AACtCC,QAAAA,KAAK,EAAEZ,CAAC,CAAC,yCAAyC,CAAE;QACpDe,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQmG,iBAAiB,CAAC,IAAI,CAAC;AAAA,QAAA;AAAC,OACxC,CACF;MACDoE,WAAW,EACTH,wBAAwB,IAAI;AAC1BlG,QAAAA,WAAW,EAAEjF,CAAC,CAAC,kDAAkD,CAAC;AAClE,QAAA,aAAa,EAAE;OAElB;AACDuL,MAAAA,qBAAqB,EACnBlB,4BAA4B,IAAApI,aAAA,CAAAA,aAAA,KACvBoI,4BAA4B,CAAA,EAAA,EAAA,EAAA;QAC/Bd,KAAK,EAAE,CAAAc,4BAA4B,KAAA,IAAA,IAA5BA,4BAA4B,KAAA,MAAA,GAAA,MAAA,GAA5BA,4BAA4B,CAAEd,KAAK,KAAIA;AAAK,OAAA;AAEtD,KACF,CAAC,eACF7I,GAAA,CAAC8K,SAAS,EAAA;AACRhL,MAAAA,SAAS,EAAC,MAAM;AAChBiL,MAAAA,eAAe,EACbN,wBAAwB,iBACtBzK,GAAA,CAACgL,UAAU,EAAA;AAACC,QAAAA,EAAE,EAAC,IAAI;AAAAlL,QAAAA,QAAA,EAChBT,CAAC,CAAC,yDAAyD,EAAE;AAC5DkL,UAAAA,IAAI,EAAElL,CAAC,CAAC,iBAAiB,CAAC;AAC1B4L,UAAAA,KAAK,EAAExC;SACR;AAAC,OACQ,CAEf;AACDyC,MAAAA,gBAAgB,eACdnL,GAAA,CAAC8K,SAAS,CAACM,UAAU,EAAA;AACnBC,QAAAA,SAAS,EAAE;AAAE3C,UAAAA,UAAU,EAAEI,eAAe,GAAG,IAAI,GAAGJ;SAAa;AAC/D4C,QAAAA,WAAW,EAAE;AACXC,UAAAA,OAAO,EAAE3D,cAAc;AACvB4D,UAAAA,MAAM,EAAErF,iBAAiB;AACzBsF,UAAAA,OAAO,EAAEpE,kBAAkB;AAC3BqE,UAAAA,SAAS,EAAEtF,oBAAoB;AAC/BuF,UAAAA,QAAQ,EAAE5C;AACZ;OACD;AACF,KACF,CAAC,eACF/I,GAAA,CAAC4L,UAAU,EAAA;AACTL,MAAAA,OAAO,EAAE3D,cAAe;AACxB6D,MAAAA,OAAO,EAAEpE,kBAAmB;AAC5BwE,MAAAA,aAAa,EAAEzF,oBAAqB;AACpCuF,MAAAA,QAAQ,EAAE5C;KACX,CAAC,EACDjG,UAAU,CAAC2F,SAAS,CAAC,gBACpBzI,GAAA,CAAC8L,YAAY,EAAA;AAACC,MAAAA,aAAa,EAAErD,UAAU,GAAG3C,UAAU,CAACxG,IAAK;MAAAQ,QAAA,eACxDC,GAAA,CAACgM,SAAS,EAAA;AACFtD,QAAAA,UAAU,EAAVA,UAAU;QAChBuD,WAAW,EAAElG,UAAU,CAACoC,KAAM;AAC9BI,QAAAA,IAAI,EAAEE,SAAU;AAChByD,QAAAA,mBAAmB,EAAE,KAAM;QAC3BC,OAAO,EAAExD,SAAS,IAAIC,UAAW;QACjCR,QAAQ,EAAErC,UAAU,CAACxG,IAAK;QAC1BgM,OAAO,EAAExM,oBAAoB,CAAC;AAC5BE,UAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BC,UAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,UAAAA,kBAAkB,EAAlBA;AACF,SAAC,CAAE;AACHiN,QAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEjE,KAAK,EAAA;AAAA,UAAA,OACjBnC,aAAa,CAAC;AAAEmC,YAAAA,KAAK,EAALA,KAAK;YAAE5I,IAAI,EAAEwG,UAAU,CAACxG;AAAK,WAAC,CAAC;AAAA,QAAA;OAElD;KACW,CAAC,gBAEfS,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,gDAAgD;MAAAC,QAAA,eAC7DC,GAAA,CAACqM,KAAK,EAAA9K,aAAA,CAAA,EAAA,EAAKyI,WAAW,CAAG;AAAC,KACvB,CACN,eACDhK,GAAA,CAAC2D,KAAK,EAAA;AACJ2I,MAAAA,eAAe,EAAE5K,aAAc;AAC/B8J,MAAAA,MAAM,EAAEjF,cAAe;AACvBhH,MAAAA,IAAI,EAAC,OAAO;AACZoC,MAAAA,OAAO,EAAE0H,iCAAkC;MAAAtJ,QAAA,eAE3CC,GAAA,CAACyB,IAAI,EAAA;AAEDO,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,QAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BH,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBF,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBH,QAAAA,aAAa,EAAbA,aAAa;AACbK,QAAAA,iBAAiB,EAAjBA,iBAAiB;QAEnBb,cAAc,EAAEqL,IAAI,CAACC,SAAS,CAACtL,cAAc,EAAE,IAAI,EAAE,CAAC,CAAE;AACxDS,QAAAA,OAAO,EAAE0H;OACV;AAAC,KACG,CAAC,eACRrJ,GAAA,CAACyM,KAAK,EAAA;AACJjB,MAAAA,MAAM,EAAE1E,iBAAkB;AAC1B9B,MAAAA,YAAY,EAAEmE,UAAW;AACzBuD,MAAAA,iBAAiB,EAAEpN,CAAC,CAAC,sCAAsC,CAAE;AAC7DuJ,MAAAA,KAAK,EAAEvJ,CAAC,CAAC,4CAA4C,CAAE;MACvDqN,OAAO,eACL3M,GAAA,CAACmK,KAAK,EAAA;AACJC,QAAAA,OAAO,EAAC,0DAA0D;AAClEjM,QAAAA,MAAM,EAAE;UAAEW,IAAI,EAAE+C,mBAAmB,CAAC/C;AAAK;AAAE,OAC5C,CACF;AACD6C,MAAAA,OAAO,EAAE0H,iCAAkC;AAC3CnF,MAAAA,QAAQ,EAAEsF;AAAwB,KACnC,CAAC;AAAA,GACO,CAAC;AAEhB;;;;"}
|