@bigbinary/neeto-molecules 3.8.3 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,6 +11,7 @@ https://neeto-molecules.neeto.com/
11
11
 
12
12
  ## Exported Components
13
13
 
14
+ - [AuditLogs](./docs/components/AuditLogs.md)
14
15
  - [Breadcrumbs](./docs/components/Breadcrumbs.md)
15
16
  - [BrowserSupport](./docs/components/BrowserSupport.md)
16
17
  - [Builder](./docs/components/Builder.md)
@@ -0,0 +1,490 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import { useState } from 'react';
3
+ import { _humanize, isNotEmpty, capitalize, snakeToCamelCase, _capitalize, isPresent } from '@bigbinary/neeto-cist';
4
+ import { SINGULAR, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
5
+ import { useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
6
+ import NoData from '@bigbinary/neetoui/NoData';
7
+ import Table from '@bigbinary/neetoui/Table';
8
+ import { Trans, useTranslation } from 'react-i18next';
9
+ import Container from './Container.js';
10
+ import Header from './Header.js';
11
+ import PageLoader from './PageLoader.js';
12
+ import TableWrapper from './TableWrapper.js';
13
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
14
+ import Typography from '@bigbinary/neetoui/Typography';
15
+ import Modal from '@bigbinary/neetoui/Modal';
16
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
17
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
18
+ import { t } from 'i18next';
19
+ import { dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
20
+ import Button from '@bigbinary/neetoui/Button';
21
+ import { useQuery } from '@tanstack/react-query';
22
+ import axios from 'axios';
23
+ import 'classnames';
24
+ import './index-DAYCJu79.js';
25
+ import './_commonjsHelpers-BFTU3MAI.js';
26
+ import './inject-css-DmrvuTKK.js';
27
+ import './Breadcrumbs.js';
28
+ import '@bigbinary/neeto-commons-frontend/utils/general';
29
+ import 'react-router-dom';
30
+ import './HelpPopover.js';
31
+ import '@bigbinary/neeto-icons/Help';
32
+ import '@bigbinary/neetoui/Popover';
33
+ import './MoreDropdown.js';
34
+ import '@bigbinary/neeto-icons/MenuHorizontal';
35
+ import '@bigbinary/neeto-icons/MenuVertical';
36
+ import '@bigbinary/neetoui/Dropdown';
37
+ import '@bigbinary/neetoui/Tooltip';
38
+ import 'ramda';
39
+ import './Search.js';
40
+ import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
41
+ import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
42
+ import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
43
+ import '@bigbinary/neeto-icons/Search';
44
+ import '@bigbinary/neetoui/Input';
45
+
46
+ var LabelledDetail = function LabelledDetail(_ref) {
47
+ var label = _ref.label,
48
+ value = _ref.value;
49
+ return /*#__PURE__*/jsx(Typography, {
50
+ className: "mb-2",
51
+ style: "body1",
52
+ children: /*#__PURE__*/jsx(Trans, {
53
+ components: {
54
+ strong: /*#__PURE__*/jsx("strong", {})
55
+ },
56
+ i18nKey: "neetoMolecules.auditLogs.additionalDetails.".concat(label),
57
+ values: {
58
+ value: value
59
+ }
60
+ })
61
+ });
62
+ };
63
+
64
+ var DATE_FORMATS = {
65
+ "%d/%m/%Y": "DD/MM/YYYY",
66
+ "%m/%d/%Y": "MM/DD/YYYY",
67
+ "%Y/%m/%d": "YYYY/MM/DD"
68
+ };
69
+ var DETAILS_KEYS = {
70
+ CHANGES_MADE_BY: "changesMadeBy",
71
+ ERROR_MESSAGE: "errorMessage",
72
+ NAME: "name",
73
+ ORGANIZATION_ROLE: "organizationRole",
74
+ GENERIC_DETAILS: "details",
75
+ ADDED_PERMISSIONS: "addedPermissions",
76
+ REMOVED_PERMISSIONS: "removedPermissions"
77
+ };
78
+ var EMAILS_TABLE_COLUMN_DATA = [{
79
+ title: t("neetoMolecules.auditLogs.details.emails.title"),
80
+ key: "email",
81
+ dataIndex: "email"
82
+ }];
83
+ var CHANGELOG_COLUMN_DATA = [{
84
+ title: t("neetoMolecules.auditLogs.details.changelog.field"),
85
+ key: "field",
86
+ dataIndex: "field"
87
+ }, {
88
+ title: t("neetoMolecules.auditLogs.details.changelog.from"),
89
+ key: "from",
90
+ dataIndex: "from"
91
+ }, {
92
+ title: t("neetoMolecules.auditLogs.details.changelog.to"),
93
+ key: "to",
94
+ dataIndex: "to"
95
+ }];
96
+
97
+ var formatToFromValue = function formatToFromValue(value) {
98
+ if (value === true) {
99
+ return t("neetoMolecules.auditLogs.details.changelog.true");
100
+ }
101
+ if (value === false) {
102
+ return t("neetoMolecules.auditLogs.details.changelog.false");
103
+ }
104
+ if (value === null) return "-";
105
+ return value;
106
+ };
107
+ var transformDateFormat = function transformDateFormat(rawDateFormat) {
108
+ return DATE_FORMATS[rawDateFormat];
109
+ };
110
+ var getFormattedValue = function getFormattedValue(field, value) {
111
+ return field === "dateFormat" ? transformDateFormat(value) : formatToFromValue(value);
112
+ };
113
+ var formatEmails = function formatEmails(emails) {
114
+ return emails.map(function (email) {
115
+ return {
116
+ email: email
117
+ };
118
+ });
119
+ };
120
+ var formatChangeLog = function formatChangeLog(changes) {
121
+ return Object.entries(changes).map(function (_ref) {
122
+ var _ref2 = _slicedToArray(_ref, 2),
123
+ field = _ref2[0],
124
+ _ref2$ = _ref2[1],
125
+ from = _ref2$.from,
126
+ to = _ref2$.to;
127
+ var formattedField = _humanize(field);
128
+ return {
129
+ field: formattedField,
130
+ from: getFormattedValue(field, from),
131
+ to: getFormattedValue(field, to)
132
+ };
133
+ });
134
+ };
135
+ var getFullName = function getFullName(firstName) {
136
+ var lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
137
+ return "".concat(firstName, " ").concat(lastName).trim();
138
+ };
139
+ var getLabel = function getLabel(_ref3) {
140
+ var firstName = _ref3.firstName,
141
+ lastName = _ref3.lastName,
142
+ organizationRole = _ref3.organizationRole;
143
+ if (firstName || lastName) {
144
+ return DETAILS_KEYS.NAME;
145
+ }
146
+ if (organizationRole) {
147
+ return DETAILS_KEYS.ORGANIZATION_ROLE;
148
+ }
149
+ return DETAILS_KEYS.GENERIC_DETAILS;
150
+ };
151
+ var formatPermissionsChangeLog = function formatPermissionsChangeLog(_ref4) {
152
+ var from = _ref4.from,
153
+ to = _ref4.to;
154
+ return [{
155
+ field: t("neetoMolecules.auditLogs.details.permissions.description"),
156
+ from: getFormattedValue("description", from),
157
+ to: getFormattedValue("description", to)
158
+ }];
159
+ };
160
+ var transformPermissions = function transformPermissions(permissions) {
161
+ return permissions.map(function (permission) {
162
+ var humanizedParts = permission.split(".").map(_humanize);
163
+ return humanizedParts.join(" - ");
164
+ }).join(", ");
165
+ };
166
+
167
+ var GenericChangelog = function GenericChangelog(_ref) {
168
+ var details = _ref.details;
169
+ var _useTranslation = useTranslation(),
170
+ t = _useTranslation.t;
171
+ var _details$email = details.email,
172
+ email = _details$email === void 0 ? "" : _details$email,
173
+ _details$changes = details.changes,
174
+ changes = _details$changes === void 0 ? {} : _details$changes,
175
+ _details$errorMessage = details.errorMessage,
176
+ errorMessage = _details$errorMessage === void 0 ? "" : _details$errorMessage,
177
+ status = details.status;
178
+ return /*#__PURE__*/jsxs("div", {
179
+ children: [/*#__PURE__*/jsx(LabelledDetail, {
180
+ label: DETAILS_KEYS.CHANGES_MADE_BY,
181
+ value: email
182
+ }), isNotEmpty(changes) && status === "success" ? /*#__PURE__*/jsx(Table, {
183
+ columnData: CHANGELOG_COLUMN_DATA,
184
+ enableColumnFreeze: false,
185
+ rowData: formatChangeLog(changes)
186
+ }) : /*#__PURE__*/jsx(LabelledDetail, {
187
+ label: DETAILS_KEYS.ERROR_MESSAGE,
188
+ value: errorMessage || t("neetoMolecules.auditLogs.noError")
189
+ })]
190
+ });
191
+ };
192
+
193
+ var PermissionsChangelog = function PermissionsChangelog(_ref) {
194
+ var details = _ref.details;
195
+ var _details$description = details.description,
196
+ description = _details$description === void 0 ? {} : _details$description,
197
+ _details$organization = details.organizationRole,
198
+ organizationRole = _details$organization === void 0 ? "" : _details$organization,
199
+ _details$addedPermiss = details.addedPermissions,
200
+ addedPermissions = _details$addedPermiss === void 0 ? [] : _details$addedPermiss,
201
+ _details$removedPermi = details.removedPermissions,
202
+ removedPermissions = _details$removedPermi === void 0 ? [] : _details$removedPermi;
203
+ return /*#__PURE__*/jsxs("div", {
204
+ children: [/*#__PURE__*/jsx(LabelledDetail, {
205
+ label: DETAILS_KEYS.ORGANIZATION_ROLE,
206
+ value: organizationRole
207
+ }), isNotEmpty(addedPermissions) && /*#__PURE__*/jsx(LabelledDetail, {
208
+ label: DETAILS_KEYS.ADDED_PERMISSIONS,
209
+ value: transformPermissions(addedPermissions)
210
+ }), isNotEmpty(removedPermissions) && /*#__PURE__*/jsx(LabelledDetail, {
211
+ label: DETAILS_KEYS.REMOVED_PERMISSIONS,
212
+ value: transformPermissions(removedPermissions)
213
+ }), isNotEmpty(description) && /*#__PURE__*/jsx(Table, {
214
+ columnData: CHANGELOG_COLUMN_DATA,
215
+ enableColumnFreeze: false,
216
+ rowData: formatPermissionsChangeLog(description)
217
+ })]
218
+ });
219
+ };
220
+
221
+ var Emails = function Emails(_ref) {
222
+ var details = _ref.details;
223
+ var _useTranslation = useTranslation(),
224
+ t = _useTranslation.t;
225
+ var _details$emails = details.emails,
226
+ emails = _details$emails === void 0 ? [] : _details$emails,
227
+ status = details.status,
228
+ _details$errorMessage = details.errorMessage,
229
+ errorMessage = _details$errorMessage === void 0 ? "" : _details$errorMessage;
230
+ return /*#__PURE__*/jsx(Fragment, {
231
+ children: isNotEmpty(emails) && status === "success" ? /*#__PURE__*/jsx(Table, {
232
+ columns: EMAILS_TABLE_COLUMN_DATA,
233
+ loading: false,
234
+ rowData: formatEmails(emails)
235
+ }) : /*#__PURE__*/jsx(LabelledDetail, {
236
+ label: DETAILS_KEYS.ERROR_MESSAGE,
237
+ value: errorMessage || t("neetoMolecules.auditLogs.noError")
238
+ })
239
+ });
240
+ };
241
+
242
+ var GenericDetails = function GenericDetails(_ref) {
243
+ var details = _ref.details;
244
+ var _details$firstName = details.firstName,
245
+ firstName = _details$firstName === void 0 ? "" : _details$firstName,
246
+ _details$lastName = details.lastName,
247
+ lastName = _details$lastName === void 0 ? "" : _details$lastName,
248
+ _details$organization = details.organizationRole,
249
+ organizationRole = _details$organization === void 0 ? "" : _details$organization;
250
+ var name = getFullName(firstName, lastName);
251
+ var label = getLabel({
252
+ firstName: firstName,
253
+ lastName: lastName,
254
+ organizationRole: organizationRole
255
+ });
256
+ var value = name || organizationRole || JSON.stringify(details);
257
+ return /*#__PURE__*/jsx(LabelledDetail, {
258
+ label: label,
259
+ value: value
260
+ });
261
+ };
262
+
263
+ var AUDIT_LOGS_QUERY_KEY = "audit-logs";
264
+ var ACTIONS = {
265
+ INVITED_USERS: "invitedUsers",
266
+ USER_SIGNED_UP: "userSignedUp",
267
+ UPDATED_USER: "updatedUser",
268
+ BULK_UPDATE_USERS: "bulkUpdateUsers",
269
+ UPDATED_USER_PROFILE: "updatedUserProfile",
270
+ CREATED_ROLE: "createdRole",
271
+ UPDATED_ROLE: "updatedRole",
272
+ DELETED_ROLE: "deletedRole"
273
+ };
274
+ var ADDITIONAL_DETAILS_KEYS = {
275
+ ACTION: "action",
276
+ PERFORMED_BY: "performedBy",
277
+ PERFORMED_AT: "performedAt",
278
+ PRODUCT: "product"
279
+ };
280
+ var DETAILS_COMPONENT_MAP = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ACTIONS.INVITED_USERS, Emails), ACTIONS.BULK_UPDATE_USERS, Emails), ACTIONS.USER_SIGNED_UP, GenericDetails), ACTIONS.UPDATED_USER, GenericChangelog), ACTIONS.UPDATED_USER_PROFILE, GenericChangelog), ACTIONS.CREATED_ROLE, GenericDetails), ACTIONS.UPDATED_ROLE, PermissionsChangelog), ACTIONS.DELETED_ROLE, GenericDetails);
281
+
282
+ var _excluded$1 = ["status"];
283
+ 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; }
284
+ 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; }
285
+ var transformAction = function transformAction(action) {
286
+ return snakeToCamelCase(action.replace("audit_logs.organization.", ""));
287
+ };
288
+ var transformLogsForTable = function transformLogsForTable(logs) {
289
+ return logs.map(function (_ref) {
290
+ var id = _ref.id,
291
+ action = _ref.key,
292
+ _ref$metadata = _ref.metadata,
293
+ status = _ref$metadata.status,
294
+ restOfMetadata = _objectWithoutProperties(_ref$metadata, _excluded$1),
295
+ _ref$performer$name = _ref.performer.name,
296
+ performedBy = _ref$performer$name === void 0 ? "" : _ref$performer$name,
297
+ performedAt = _ref.updatedAt;
298
+ var transformedAction = transformAction(action);
299
+ var formattedPerformedAt = dateFormat.dateTime(performedAt);
300
+ return {
301
+ id: id,
302
+ action: transformedAction,
303
+ status: capitalize(status),
304
+ performedAt: formattedPerformedAt,
305
+ performedBy: performedBy,
306
+ additionalDetails: _objectSpread$1(_objectSpread$1({}, restOfMetadata), {}, {
307
+ action: transformedAction,
308
+ performedAt: formattedPerformedAt,
309
+ performedBy: performedBy,
310
+ status: status
311
+ })
312
+ };
313
+ });
314
+ };
315
+ var getColumnData = function getColumnData(handleClick) {
316
+ return [{
317
+ title: t("neetoMolecules.auditLogs.table.headers.action", SINGULAR),
318
+ key: "action",
319
+ dataIndex: "action",
320
+ render: function render(action, _ref2) {
321
+ var additionalDetails = _ref2.additionalDetails;
322
+ return /*#__PURE__*/jsx(Button, {
323
+ "data-testid": "action-link-button",
324
+ label: t("neetoMolecules.auditLogs.actions.".concat(action)),
325
+ style: "link",
326
+ onClick: function onClick() {
327
+ return handleClick(additionalDetails);
328
+ }
329
+ });
330
+ }
331
+ }, {
332
+ title: t("neetoMolecules.auditLogs.table.headers.status"),
333
+ key: "status",
334
+ dataIndex: "status"
335
+ }, {
336
+ title: t("neetoMolecules.auditLogs.table.headers.performedBy"),
337
+ key: "performedBy",
338
+ dataIndex: "performedBy"
339
+ }, {
340
+ title: t("neetoMolecules.auditLogs.table.headers.performedAt"),
341
+ key: "performedAt",
342
+ dataIndex: "performedAt"
343
+ }];
344
+ };
345
+ var getComponentForDetail = function getComponentForDetail(action) {
346
+ return DETAILS_COMPONENT_MAP[action] || GenericDetails;
347
+ };
348
+
349
+ var _excluded = ["message", "action", "performedBy", "performedAt", "via"];
350
+ var AdditionalDetails = function AdditionalDetails(_ref) {
351
+ var additionalDetails = _ref.additionalDetails,
352
+ isOpen = _ref.isOpen,
353
+ onClose = _ref.onClose;
354
+ var _useTranslation = useTranslation(),
355
+ t = _useTranslation.t;
356
+ var message = additionalDetails.message,
357
+ defaultAction = additionalDetails.action,
358
+ performedBy = additionalDetails.performedBy,
359
+ performedAt = additionalDetails.performedAt,
360
+ product = additionalDetails.via,
361
+ details = _objectWithoutProperties(additionalDetails, _excluded);
362
+ var action = message || t("neetoMolecules.auditLogs.actions.".concat(defaultAction));
363
+ var DetailComponent = getComponentForDetail(defaultAction);
364
+ return /*#__PURE__*/jsxs(Modal, {
365
+ isOpen: isOpen,
366
+ onClose: onClose,
367
+ "data-testid": "additional-details-modal",
368
+ size: "large",
369
+ children: [/*#__PURE__*/jsx(Modal.Header, {
370
+ children: /*#__PURE__*/jsx(Typography, {
371
+ style: "h2",
372
+ children: t("neetoMolecules.auditLogs.additionalDetails.title")
373
+ })
374
+ }), /*#__PURE__*/jsx(Modal.Body, {
375
+ children: /*#__PURE__*/jsxs(Fragment, {
376
+ children: [/*#__PURE__*/jsx(LabelledDetail, {
377
+ label: ADDITIONAL_DETAILS_KEYS.ACTION,
378
+ value: action
379
+ }), /*#__PURE__*/jsx(LabelledDetail, {
380
+ label: ADDITIONAL_DETAILS_KEYS.PERFORMED_BY,
381
+ value: performedBy
382
+ }), /*#__PURE__*/jsx(LabelledDetail, {
383
+ label: ADDITIONAL_DETAILS_KEYS.PERFORMED_AT,
384
+ value: performedAt
385
+ }), /*#__PURE__*/jsx(LabelledDetail, {
386
+ label: ADDITIONAL_DETAILS_KEYS.PRODUCT,
387
+ value: _capitalize(product)
388
+ }), /*#__PURE__*/jsx(DetailComponent, {
389
+ details: details
390
+ })]
391
+ })
392
+ })]
393
+ });
394
+ };
395
+
396
+ var fetchAuditLogs = function fetchAuditLogs(params) {
397
+ return axios.get("api/v1/audit_logs", {
398
+ params: params
399
+ });
400
+ };
401
+ var auditLogsApi = {
402
+ fetchAuditLogs: fetchAuditLogs
403
+ };
404
+
405
+ 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; }
406
+ 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; }
407
+ var useFetchAuditLogs = function useFetchAuditLogs(_ref) {
408
+ var params = _ref.params,
409
+ _ref$options = _ref.options,
410
+ options = _ref$options === void 0 ? {} : _ref$options;
411
+ return useQuery(_objectSpread({
412
+ queryKey: [AUDIT_LOGS_QUERY_KEY, params],
413
+ queryFn: function queryFn() {
414
+ return auditLogsApi.fetchAuditLogs(params);
415
+ }
416
+ }, options));
417
+ };
418
+
419
+ var AuditLogs = function AuditLogs() {
420
+ var _useState = useState(false),
421
+ _useState2 = _slicedToArray(_useState, 2),
422
+ isAdditionalDetailsModalOpen = _useState2[0],
423
+ setIsAdditionalDetailsModalOpen = _useState2[1];
424
+ var _useState3 = useState({}),
425
+ _useState4 = _slicedToArray(_useState3, 2),
426
+ additionalDetails = _useState4[0],
427
+ setAdditionalDetails = _useState4[1];
428
+ var _useTranslation = useTranslation(),
429
+ t = _useTranslation.t;
430
+ var _useQueryParams = useQueryParams(),
431
+ _useQueryParams$page = _useQueryParams.page,
432
+ page = _useQueryParams$page === void 0 ? DEFAULT_PAGE_INDEX : _useQueryParams$page;
433
+ var _useFetchAuditLogs = useFetchAuditLogs({
434
+ params: {
435
+ page: page
436
+ }
437
+ }),
438
+ _useFetchAuditLogs$da = _useFetchAuditLogs.data,
439
+ _useFetchAuditLogs$da2 = _useFetchAuditLogs$da === void 0 ? {} : _useFetchAuditLogs$da,
440
+ _useFetchAuditLogs$da3 = _useFetchAuditLogs$da2.auditLogs,
441
+ auditLogs = _useFetchAuditLogs$da3 === void 0 ? [] : _useFetchAuditLogs$da3,
442
+ _useFetchAuditLogs$da4 = _useFetchAuditLogs$da2.totalCount,
443
+ totalCount = _useFetchAuditLogs$da4 === void 0 ? 0 : _useFetchAuditLogs$da4,
444
+ isLoading = _useFetchAuditLogs.isLoading,
445
+ isFetching = _useFetchAuditLogs.isFetching;
446
+ var handleClick = function handleClick(additionalDetails) {
447
+ setIsAdditionalDetailsModalOpen(true);
448
+ setAdditionalDetails(additionalDetails);
449
+ };
450
+ var handleClose = function handleClose() {
451
+ setIsAdditionalDetailsModalOpen(false);
452
+ setAdditionalDetails({});
453
+ };
454
+ if (isLoading) {
455
+ return /*#__PURE__*/jsx("div", {
456
+ className: "flex h-full w-full items-center justify-center",
457
+ children: /*#__PURE__*/jsx(PageLoader, {})
458
+ });
459
+ }
460
+ return /*#__PURE__*/jsxs(Container, {
461
+ children: [/*#__PURE__*/jsx(Header, {
462
+ title: t("neetoMolecules.auditLogs.title")
463
+ }), /*#__PURE__*/jsx(TableWrapper, {
464
+ className: "mt-5",
465
+ hasPagination: totalCount > DEFAULT_PAGE_SIZE,
466
+ children: isPresent(auditLogs) ? /*#__PURE__*/jsx(Table, {
467
+ totalCount: totalCount,
468
+ fixedHeight: true,
469
+ columnData: getColumnData(handleClick),
470
+ currentPageNumber: parseInt(page),
471
+ "data-testid": "audit-logs-table",
472
+ defaultPageSize: DEFAULT_PAGE_SIZE,
473
+ loading: isFetching,
474
+ rowData: transformLogsForTable(auditLogs)
475
+ }) : /*#__PURE__*/jsx("div", {
476
+ className: "flex h-full w-full items-center justify-center",
477
+ children: /*#__PURE__*/jsx(NoData, {
478
+ title: t("neetoMolecules.auditLogs.noData")
479
+ })
480
+ })
481
+ }), /*#__PURE__*/jsx(AdditionalDetails, {
482
+ additionalDetails: additionalDetails,
483
+ isOpen: isAdditionalDetailsModalOpen,
484
+ onClose: handleClose
485
+ })]
486
+ });
487
+ };
488
+
489
+ export { AuditLogs as default };
490
+ //# sourceMappingURL=AuditLogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/LabelledDetail.jsx","../src/components/AuditLogs/Details/constants.js","../src/components/AuditLogs/Details/utils.js","../src/components/AuditLogs/Details/Changelog/Generic.jsx","../src/components/AuditLogs/Details/Changelog/Permissions.jsx","../src/components/AuditLogs/Details/Emails.jsx","../src/components/AuditLogs/Details/Generic.jsx","../src/components/AuditLogs/constants.js","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/AddtionalDetails.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LabelledDetail = ({ label, value }) => (\n <Typography className=\"mb-2\" style=\"body1\">\n <Trans\n components={{ strong: <strong /> }}\n i18nKey={`neetoMolecules.auditLogs.additionalDetails.${label}`}\n values={{ value }}\n />\n </Typography>\n);\n\nexport default LabelledDetail;\n","import { t } from \"i18next\";\n\nexport const DATE_FORMATS = {\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const DETAILS_KEYS = {\n CHANGES_MADE_BY: \"changesMadeBy\",\n ERROR_MESSAGE: \"errorMessage\",\n NAME: \"name\",\n ORGANIZATION_ROLE: \"organizationRole\",\n GENERIC_DETAILS: \"details\",\n ADDED_PERMISSIONS: \"addedPermissions\",\n REMOVED_PERMISSIONS: \"removedPermissions\",\n};\n\nexport const EMAILS_TABLE_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.emails.title\"),\n key: \"email\",\n dataIndex: \"email\",\n },\n];\n\nexport const CHANGELOG_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.field\"),\n key: \"field\",\n dataIndex: \"field\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.from\"),\n key: \"from\",\n dataIndex: \"from\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.to\"),\n key: \"to\",\n dataIndex: \"to\",\n },\n];\n","import { t } from \"i18next\";\nimport { _humanize } from \"neetocist\";\n\nimport { DATE_FORMATS, DETAILS_KEYS } from \"./constants\";\n\nconst formatToFromValue = value => {\n if (value === true) {\n return t(\"neetoMolecules.auditLogs.details.changelog.true\");\n }\n\n if (value === false) {\n return t(\"neetoMolecules.auditLogs.details.changelog.false\");\n }\n\n if (value === null) return \"-\";\n\n return value;\n};\n\nconst transformDateFormat = rawDateFormat => DATE_FORMATS[rawDateFormat];\n\nconst getFormattedValue = (field, value) =>\n field === \"dateFormat\"\n ? transformDateFormat(value)\n : formatToFromValue(value);\n\nexport const formatEmails = emails => emails.map(email => ({ email }));\n\nexport const formatChangeLog = changes =>\n Object.entries(changes).map(([field, { from, to }]) => {\n const formattedField = _humanize(field);\n\n return {\n field: formattedField,\n from: getFormattedValue(field, from),\n to: getFormattedValue(field, to),\n };\n });\n\nexport const getFullName = (firstName, lastName = \"\") =>\n `${firstName} ${lastName}`.trim();\n\nexport const getLabel = ({ firstName, lastName, organizationRole }) => {\n if (firstName || lastName) {\n return DETAILS_KEYS.NAME;\n }\n\n if (organizationRole) {\n return DETAILS_KEYS.ORGANIZATION_ROLE;\n }\n\n return DETAILS_KEYS.GENERIC_DETAILS;\n};\n\nexport const formatPermissionsChangeLog = ({ from, to }) => [\n {\n field: t(\"neetoMolecules.auditLogs.details.permissions.description\"),\n from: getFormattedValue(\"description\", from),\n to: getFormattedValue(\"description\", to),\n },\n];\n\nexport const transformPermissions = permissions =>\n permissions\n .map(permission => {\n const humanizedParts = permission.split(\".\").map(_humanize);\n\n return humanizedParts.join(\" - \");\n })\n .join(\", \");\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { CHANGELOG_COLUMN_DATA, DETAILS_KEYS } from \"../constants\";\nimport { formatChangeLog } from \"../utils\";\n\nconst GenericChangelog = ({ details }) => {\n const { t } = useTranslation();\n\n const { email = \"\", changes = {}, errorMessage = \"\", status } = details;\n\n return (\n <div>\n <LabelledDetail label={DETAILS_KEYS.CHANGES_MADE_BY} value={email} />\n {isNotEmpty(changes) && status === \"success\" ? (\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n rowData={formatChangeLog(changes)}\n />\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </div>\n );\n};\n\nexport default GenericChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { DETAILS_KEYS, CHANGELOG_COLUMN_DATA } from \"../constants\";\nimport { formatPermissionsChangeLog, transformPermissions } from \"../utils\";\n\nconst PermissionsChangelog = ({ details }) => {\n const {\n description = {},\n organizationRole = \"\",\n addedPermissions = [],\n removedPermissions = [],\n } = details;\n\n return (\n <div>\n <LabelledDetail\n label={DETAILS_KEYS.ORGANIZATION_ROLE}\n value={organizationRole}\n />\n {isNotEmpty(addedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.ADDED_PERMISSIONS}\n value={transformPermissions(addedPermissions)}\n />\n )}\n {isNotEmpty(removedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.REMOVED_PERMISSIONS}\n value={transformPermissions(removedPermissions)}\n />\n )}\n {isNotEmpty(description) && (\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n rowData={formatPermissionsChangeLog(description)}\n />\n )}\n </div>\n );\n};\n\nexport default PermissionsChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DETAILS_KEYS, EMAILS_TABLE_COLUMN_DATA } from \"./constants\";\nimport { formatEmails } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst Emails = ({ details }) => {\n const { t } = useTranslation();\n\n const { emails = [], status, errorMessage = \"\" } = details;\n\n return (\n <>\n {isNotEmpty(emails) && status === \"success\" ? (\n <Table\n columns={EMAILS_TABLE_COLUMN_DATA}\n loading={false}\n rowData={formatEmails(emails)}\n />\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </>\n );\n};\n\nexport default Emails;\n","import { getLabel, getFullName } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst GenericDetails = ({ details }) => {\n const { firstName = \"\", lastName = \"\", organizationRole = \"\" } = details;\n\n const name = getFullName(firstName, lastName);\n const label = getLabel({ firstName, lastName, organizationRole });\n const value = name || organizationRole || JSON.stringify(details);\n\n return <LabelledDetail {...{ label, value }} />;\n};\n\nexport default GenericDetails;\n","import GenericChangelog from \"./Details/Changelog/Generic\";\nimport PermissionsChangelog from \"./Details/Changelog/Permissions\";\nimport Emails from \"./Details/Emails\";\nimport GenericDetails from \"./Details/Generic\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const DETAILS_COMPONENT_MAP = {\n [ACTIONS.INVITED_USERS]: Emails,\n [ACTIONS.BULK_UPDATE_USERS]: Emails,\n [ACTIONS.USER_SIGNED_UP]: GenericDetails,\n [ACTIONS.UPDATED_USER]: GenericChangelog,\n [ACTIONS.UPDATED_USER_PROFILE]: GenericChangelog,\n [ACTIONS.CREATED_ROLE]: GenericDetails,\n [ACTIONS.UPDATED_ROLE]: PermissionsChangelog,\n [ACTIONS.DELETED_ROLE]: GenericDetails,\n};\n","import { t } from \"i18next\";\nimport { capitalize, snakeToCamelCase } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\n\nimport { DETAILS_COMPONENT_MAP } from \"./constants\";\nimport GenericDetails from \"./Details/Generic\";\n\nconst transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const transformLogsForTable = logs =>\n logs.map(\n ({\n id,\n key: action,\n metadata: { status, ...restOfMetadata },\n performer: { name: performedBy = \"\" },\n updatedAt: performedAt,\n }) => {\n const transformedAction = transformAction(action);\n const formattedPerformedAt = dateFormat.dateTime(performedAt);\n\n return {\n id,\n action: transformedAction,\n status: capitalize(status),\n performedAt: formattedPerformedAt,\n performedBy,\n additionalDetails: {\n ...restOfMetadata,\n action: transformedAction,\n performedAt: formattedPerformedAt,\n performedBy,\n status,\n },\n };\n }\n );\n\nexport const getColumnData = handleClick => [\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.action\", SINGULAR),\n key: \"action\",\n dataIndex: \"action\",\n render: (action, { additionalDetails }) => (\n <Button\n data-testid=\"action-link-button\"\n label={t(`neetoMolecules.auditLogs.actions.${action}`)}\n style=\"link\"\n onClick={() => handleClick(additionalDetails)}\n />\n ),\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.status\"),\n key: \"status\",\n dataIndex: \"status\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedBy\"),\n key: \"performedBy\",\n dataIndex: \"performedBy\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedAt\"),\n key: \"performedAt\",\n dataIndex: \"performedAt\",\n },\n];\n\nexport const getComponentForDetail = action =>\n DETAILS_COMPONENT_MAP[action] || GenericDetails;\n","import { _capitalize } from \"neetocist\";\nimport { Typography, Modal } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADDITIONAL_DETAILS_KEYS } from \"./constants\";\nimport LabelledDetail from \"./LabelledDetail\";\nimport { getComponentForDetail } from \"./utils\";\n\nconst AdditionalDetails = ({ additionalDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const {\n message,\n action: defaultAction,\n performedBy,\n performedAt,\n via: product,\n ...details\n } = additionalDetails;\n\n const action =\n message || t(`neetoMolecules.auditLogs.actions.${defaultAction}`);\n\n const DetailComponent = getComponentForDetail(defaultAction);\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n data-testid=\"additional-details-modal\"\n size=\"large\"\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.auditLogs.additionalDetails.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <>\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.ACTION}\n value={action}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_BY}\n value={performedBy}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_AT}\n value={performedAt}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PRODUCT}\n value={_capitalize(product)}\n />\n <DetailComponent {...{ details }} />\n </>\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default AdditionalDetails;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst auditLogsApi = { fetchAuditLogs };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport AdditionalDetails from \"./AddtionalDetails\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { transformLogsForTable, getColumnData } from \"./utils\";\n\nconst AuditLogs = () => {\n const [isAdditionalDetailsModalOpen, setIsAdditionalDetailsModalOpen] =\n useState(false);\n const [additionalDetails, setAdditionalDetails] = useState({});\n\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page } });\n\n const handleClick = additionalDetails => {\n setIsAdditionalDetailsModalOpen(true);\n setAdditionalDetails(additionalDetails);\n };\n\n const handleClose = () => {\n setIsAdditionalDetailsModalOpen(false);\n setAdditionalDetails({});\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <Container>\n <Header title={t(\"neetoMolecules.auditLogs.title\")} />\n <TableWrapper\n className=\"mt-5\"\n hasPagination={totalCount > DEFAULT_PAGE_SIZE}\n >\n {isPresent(auditLogs) ? (\n <Table\n {...{ totalCount }}\n fixedHeight\n columnData={getColumnData(handleClick)}\n currentPageNumber={parseInt(page)}\n data-testid=\"audit-logs-table\"\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={transformLogsForTable(auditLogs)}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.auditLogs.noData\")} />\n </div>\n )}\n </TableWrapper>\n <AdditionalDetails\n {...{ additionalDetails }}\n isOpen={isAdditionalDetailsModalOpen}\n onClose={handleClose}\n />\n </Container>\n );\n};\n\nexport default AuditLogs;\n"],"names":["LabelledDetail","_ref","label","value","_jsx","Typography","className","style","children","Trans","components","strong","i18nKey","concat","values","DATE_FORMATS","DETAILS_KEYS","CHANGES_MADE_BY","ERROR_MESSAGE","NAME","ORGANIZATION_ROLE","GENERIC_DETAILS","ADDED_PERMISSIONS","REMOVED_PERMISSIONS","EMAILS_TABLE_COLUMN_DATA","title","t","key","dataIndex","CHANGELOG_COLUMN_DATA","formatToFromValue","transformDateFormat","rawDateFormat","getFormattedValue","field","formatEmails","emails","map","email","formatChangeLog","changes","Object","entries","_ref2","_slicedToArray","_ref2$","from","to","formattedField","_humanize","getFullName","firstName","lastName","arguments","length","undefined","trim","getLabel","_ref3","organizationRole","formatPermissionsChangeLog","_ref4","transformPermissions","permissions","permission","humanizedParts","split","join","GenericChangelog","details","_useTranslation","useTranslation","_details$email","_details$changes","_details$errorMessage","errorMessage","status","_jsxs","isNotEmpty","Table","columnData","enableColumnFreeze","rowData","PermissionsChangelog","_details$description","description","_details$organization","_details$addedPermiss","addedPermissions","_details$removedPermi","removedPermissions","Emails","_details$emails","_Fragment","columns","loading","GenericDetails","_details$firstName","_details$lastName","name","JSON","stringify","AUDIT_LOGS_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","ADDITIONAL_DETAILS_KEYS","ACTION","PERFORMED_BY","PERFORMED_AT","PRODUCT","DETAILS_COMPONENT_MAP","_defineProperty","transformAction","action","snakeToCamelCase","replace","transformLogsForTable","logs","id","_ref$metadata","metadata","restOfMetadata","_objectWithoutProperties","_excluded","_ref$performer$name","performer","performedBy","performedAt","updatedAt","transformedAction","formattedPerformedAt","dateFormat","dateTime","capitalize","additionalDetails","_objectSpread","getColumnData","handleClick","SINGULAR","render","Button","onClick","getComponentForDetail","AdditionalDetails","isOpen","onClose","message","defaultAction","product","via","DetailComponent","Modal","size","Header","Body","_capitalize","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","AuditLogs","_useState","useState","_useState2","isAdditionalDetailsModalOpen","setIsAdditionalDetailsModalOpen","_useState3","_useState4","setAdditionalDetails","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","totalCount","isLoading","isFetching","handleClose","PageLoader","Container","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","isPresent","fixedHeight","currentPageNumber","parseInt","defaultPageSize","NoData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAA;EAAA,oBACpCC,GAAA,CAACC,UAAU,EAAA;AAACC,IAAAA,SAAS,EAAC,MAAM;AAACC,IAAAA,KAAK,EAAC,OAAO;IAAAC,QAAA,eACxCJ,GAAA,CAACK,KAAK,EAAA;AACJC,MAAAA,UAAU,EAAE;QAAEC,MAAM,eAAEP,GAAA,CAAS,QAAA,EAAA,EAAA,CAAA;OAAI;AACnCQ,MAAAA,OAAO,EAAAC,6CAAAA,CAAAA,MAAA,CAAgDX,KAAK,CAAG;AAC/DY,MAAAA,MAAM,EAAE;AAAEX,QAAAA,KAAK,EAALA,KAAAA;AAAM,OAAA;KACjB,CAAA;AAAC,GACQ,CAAC,CAAA;AAAA,CACd;;ACTM,IAAMY,YAAY,GAAG;AAC1B,EAAA,UAAU,EAAE,YAAY;AACxB,EAAA,UAAU,EAAE,YAAY;AACxB,EAAA,UAAU,EAAE,YAAA;AACd,CAAC,CAAA;AAEM,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,aAAa,EAAE,cAAc;AAC7BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,iBAAiB,EAAE,kBAAkB;AACrCC,EAAAA,eAAe,EAAE,SAAS;AAC1BC,EAAAA,iBAAiB,EAAE,kBAAkB;AACrCC,EAAAA,mBAAmB,EAAE,oBAAA;AACvB,CAAC,CAAA;AAEM,IAAMC,wBAAwB,GAAG,CACtC;AACEC,EAAAA,KAAK,EAAEC,CAAC,CAAC,+CAA+C,CAAC;AACzDC,EAAAA,GAAG,EAAE,OAAO;AACZC,EAAAA,SAAS,EAAE,OAAA;AACb,CAAC,CACF,CAAA;AAEM,IAAMC,qBAAqB,GAAG,CACnC;AACEJ,EAAAA,KAAK,EAAEC,CAAC,CAAC,kDAAkD,CAAC;AAC5DC,EAAAA,GAAG,EAAE,OAAO;AACZC,EAAAA,SAAS,EAAE,OAAA;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAEC,CAAC,CAAC,iDAAiD,CAAC;AAC3DC,EAAAA,GAAG,EAAE,MAAM;AACXC,EAAAA,SAAS,EAAE,MAAA;AACb,CAAC,EACD;AACEH,EAAAA,KAAK,EAAEC,CAAC,CAAC,+CAA+C,CAAC;AACzDC,EAAAA,GAAG,EAAE,IAAI;AACTC,EAAAA,SAAS,EAAE,IAAA;AACb,CAAC,CACF;;ACrCD,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAG3B,KAAK,EAAI;EACjC,IAAIA,KAAK,KAAK,IAAI,EAAE;IAClB,OAAOuB,CAAC,CAAC,iDAAiD,CAAC,CAAA;AAC7D,GAAA;EAEA,IAAIvB,KAAK,KAAK,KAAK,EAAE;IACnB,OAAOuB,CAAC,CAAC,kDAAkD,CAAC,CAAA;AAC9D,GAAA;AAEA,EAAA,IAAIvB,KAAK,KAAK,IAAI,EAAE,OAAO,GAAG,CAAA;AAE9B,EAAA,OAAOA,KAAK,CAAA;AACd,CAAC,CAAA;AAED,IAAM4B,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,aAAa,EAAA;EAAA,OAAIjB,YAAY,CAACiB,aAAa,CAAC,CAAA;AAAA,CAAA,CAAA;AAExE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAK,EAAE/B,KAAK,EAAA;AAAA,EAAA,OACrC+B,KAAK,KAAK,YAAY,GAClBH,mBAAmB,CAAC5B,KAAK,CAAC,GAC1B2B,iBAAiB,CAAC3B,KAAK,CAAC,CAAA;AAAA,CAAA,CAAA;AAEvB,IAAMgC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIA,MAAM,CAACC,GAAG,CAAC,UAAAC,KAAK,EAAA;IAAA,OAAK;AAAEA,MAAAA,KAAK,EAALA,KAAAA;KAAO,CAAA;AAAA,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/D,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,OAAO,EAAA;EAAA,OACpCC,MAAM,CAACC,OAAO,CAACF,OAAO,CAAC,CAACH,GAAG,CAAC,UAAApC,IAAA,EAA2B;AAAA,IAAA,IAAA0C,KAAA,GAAAC,cAAA,CAAA3C,IAAA,EAAA,CAAA,CAAA;AAAzBiC,MAAAA,KAAK,GAAAS,KAAA,CAAA,CAAA,CAAA;AAAAE,MAAAA,MAAA,GAAAF,KAAA,CAAA,CAAA,CAAA;MAAIG,IAAI,GAAAD,MAAA,CAAJC,IAAI;MAAEC,EAAE,GAAAF,MAAA,CAAFE,EAAE,CAAA;AAC7C,IAAA,IAAMC,cAAc,GAAGC,SAAS,CAACf,KAAK,CAAC,CAAA;IAEvC,OAAO;AACLA,MAAAA,KAAK,EAAEc,cAAc;AACrBF,MAAAA,IAAI,EAAEb,iBAAiB,CAACC,KAAK,EAAEY,IAAI,CAAC;AACpCC,MAAAA,EAAE,EAAEd,iBAAiB,CAACC,KAAK,EAAEa,EAAE,CAAA;KAChC,CAAA;AACH,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,SAAS,EAAA;AAAA,EAAA,IAAEC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAAA,OAClD,EAAA,CAAAxC,MAAA,CAAGsC,SAAS,EAAA,GAAA,CAAA,CAAAtC,MAAA,CAAIuC,QAAQ,CAAA,CAAGI,IAAI,EAAE,CAAA;AAAA,CAAA,CAAA;AAE5B,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,KAAA,EAAkD;AAAA,EAAA,IAA5CP,SAAS,GAAAO,KAAA,CAATP,SAAS;IAAEC,QAAQ,GAAAM,KAAA,CAARN,QAAQ;IAAEO,gBAAgB,GAAAD,KAAA,CAAhBC,gBAAgB,CAAA;EAC9D,IAAIR,SAAS,IAAIC,QAAQ,EAAE;IACzB,OAAOpC,YAAY,CAACG,IAAI,CAAA;AAC1B,GAAA;AAEA,EAAA,IAAIwC,gBAAgB,EAAE;IACpB,OAAO3C,YAAY,CAACI,iBAAiB,CAAA;AACvC,GAAA;EAEA,OAAOJ,YAAY,CAACK,eAAe,CAAA;AACrC,CAAC,CAAA;AAEM,IAAMuC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMf,IAAI,GAAAe,KAAA,CAAJf,IAAI;IAAEC,EAAE,GAAAc,KAAA,CAAFd,EAAE,CAAA;AAAA,EAAA,OAAO,CAC1D;AACEb,IAAAA,KAAK,EAAER,CAAC,CAAC,0DAA0D,CAAC;AACpEoB,IAAAA,IAAI,EAAEb,iBAAiB,CAAC,aAAa,EAAEa,IAAI,CAAC;AAC5CC,IAAAA,EAAE,EAAEd,iBAAiB,CAAC,aAAa,EAAEc,EAAE,CAAA;AACzC,GAAC,CACF,CAAA;AAAA,CAAA,CAAA;AAEM,IAAMe,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,WAAW,EAAA;AAAA,EAAA,OAC7CA,WAAW,CACR1B,GAAG,CAAC,UAAA2B,UAAU,EAAI;AACjB,IAAA,IAAMC,cAAc,GAAGD,UAAU,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC7B,GAAG,CAACY,SAAS,CAAC,CAAA;AAE3D,IAAA,OAAOgB,cAAc,CAACE,IAAI,CAAC,KAAK,CAAC,CAAA;AACnC,GAAC,CAAC,CACDA,IAAI,CAAC,IAAI,CAAC,CAAA;AAAA,CAAA;;AC5Df,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAnE,IAAA,EAAoB;AAAA,EAAA,IAAdoE,OAAO,GAAApE,IAAA,CAAPoE,OAAO,CAAA;AACjC,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtB7C,CAAC,GAAA4C,eAAA,CAAD5C,CAAC,CAAA;AAET,EAAA,IAAA8C,cAAA,GAAgEH,OAAO,CAA/D/B,KAAK;AAALA,IAAAA,KAAK,GAAAkC,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAC,gBAAA,GAA8CJ,OAAO,CAAnD7B,OAAO;AAAPA,IAAAA,OAAO,GAAAiC,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,qBAAA,GAAgCL,OAAO,CAArCM,YAAY;AAAZA,IAAAA,YAAY,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAEE,MAAM,GAAKP,OAAO,CAAlBO,MAAM,CAAA;AAE3D,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;IAAArE,QAAA,EAAA,cACEJ,GAAA,CAACJ,cAAc,EAAA;MAACE,KAAK,EAAEc,YAAY,CAACC,eAAgB;AAACd,MAAAA,KAAK,EAAEmC,KAAAA;AAAM,KAAE,CAAC,EACpEwC,UAAU,CAACtC,OAAO,CAAC,IAAIoC,MAAM,KAAK,SAAS,gBAC1CxE,GAAA,CAAC2E,KAAK,EAAA;AACJC,MAAAA,UAAU,EAAEnD,qBAAsB;AAClCoD,MAAAA,kBAAkB,EAAE,KAAM;MAC1BC,OAAO,EAAE3C,eAAe,CAACC,OAAO,CAAA;AAAE,KACnC,CAAC,gBAEFpC,GAAA,CAACJ,cAAc,EAAA;MACbE,KAAK,EAAEc,YAAY,CAACE,aAAc;AAClCf,MAAAA,KAAK,EAAEwE,YAAY,IAAIjD,CAAC,CAAC,kCAAkC,CAAA;AAAE,KAC9D,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;ACvBD,IAAMyD,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAlF,IAAA,EAAoB;AAAA,EAAA,IAAdoE,OAAO,GAAApE,IAAA,CAAPoE,OAAO,CAAA;AACrC,EAAA,IAAAe,oBAAA,GAKIf,OAAO,CAJTgB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAIdjB,OAAO,CAHTV,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAA2B,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAGnBlB,OAAO,CAFTmB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAEnBpB,OAAO,CADTqB,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;AAGzB,EAAA,oBACEZ,IAAA,CAAA,KAAA,EAAA;IAAArE,QAAA,EAAA,cACEJ,GAAA,CAACJ,cAAc,EAAA;MACbE,KAAK,EAAEc,YAAY,CAACI,iBAAkB;AACtCjB,MAAAA,KAAK,EAAEwD,gBAAAA;KACR,CAAC,EACDmB,UAAU,CAACU,gBAAgB,CAAC,iBAC3BpF,GAAA,CAACJ,cAAc,EAAA;MACbE,KAAK,EAAEc,YAAY,CAACM,iBAAkB;MACtCnB,KAAK,EAAE2D,oBAAoB,CAAC0B,gBAAgB,CAAA;KAC7C,CACF,EACAV,UAAU,CAACY,kBAAkB,CAAC,iBAC7BtF,GAAA,CAACJ,cAAc,EAAA;MACbE,KAAK,EAAEc,YAAY,CAACO,mBAAoB;MACxCpB,KAAK,EAAE2D,oBAAoB,CAAC4B,kBAAkB,CAAA;KAC/C,CACF,EACAZ,UAAU,CAACO,WAAW,CAAC,iBACtBjF,GAAA,CAAC2E,KAAK,EAAA;AACJC,MAAAA,UAAU,EAAEnD,qBAAsB;AAClCoD,MAAAA,kBAAkB,EAAE,KAAM;MAC1BC,OAAO,EAAEtB,0BAA0B,CAACyB,WAAW,CAAA;AAAE,KAClD,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;AClCD,IAAMM,MAAM,GAAG,SAATA,MAAMA,CAAA1F,IAAA,EAAoB;AAAA,EAAA,IAAdoE,OAAO,GAAApE,IAAA,CAAPoE,OAAO,CAAA;AACvB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtB7C,CAAC,GAAA4C,eAAA,CAAD5C,CAAC,CAAA;AAET,EAAA,IAAAkE,eAAA,GAAmDvB,OAAO,CAAlDjC,MAAM;AAANA,IAAAA,MAAM,GAAAwD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAEhB,MAAM,GAAwBP,OAAO,CAArCO,MAAM;IAAAF,qBAAA,GAAwBL,OAAO,CAA7BM,YAAY;AAAZA,IAAAA,YAAY,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;EAE9C,oBACEtE,GAAA,CAAAyF,QAAA,EAAA;AAAArF,IAAAA,QAAA,EACGsE,UAAU,CAAC1C,MAAM,CAAC,IAAIwC,MAAM,KAAK,SAAS,gBACzCxE,GAAA,CAAC2E,KAAK,EAAA;AACJe,MAAAA,OAAO,EAAEtE,wBAAyB;AAClCuE,MAAAA,OAAO,EAAE,KAAM;MACfb,OAAO,EAAE/C,YAAY,CAACC,MAAM,CAAA;AAAE,KAC/B,CAAC,gBAEFhC,GAAA,CAACJ,cAAc,EAAA;MACbE,KAAK,EAAEc,YAAY,CAACE,aAAc;AAClCf,MAAAA,KAAK,EAAEwE,YAAY,IAAIjD,CAAC,CAAC,kCAAkC,CAAA;KAC5D,CAAA;AACF,GACD,CAAC,CAAA;AAEP,CAAC;;AC1BD,IAAMsE,cAAc,GAAG,SAAjBA,cAAcA,CAAA/F,IAAA,EAAoB;AAAA,EAAA,IAAdoE,OAAO,GAAApE,IAAA,CAAPoE,OAAO,CAAA;AAC/B,EAAA,IAAA4B,kBAAA,GAAiE5B,OAAO,CAAhElB,SAAS;AAATA,IAAAA,SAAS,GAAA8C,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAAAC,iBAAA,GAA2C7B,OAAO,CAAhDjB,QAAQ;AAARA,IAAAA,QAAQ,GAAA8C,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;IAAAZ,qBAAA,GAA4BjB,OAAO,CAAjCV,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAA2B,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;AAE5D,EAAA,IAAMa,IAAI,GAAGjD,WAAW,CAACC,SAAS,EAAEC,QAAQ,CAAC,CAAA;EAC7C,IAAMlD,KAAK,GAAGuD,QAAQ,CAAC;AAAEN,IAAAA,SAAS,EAATA,SAAS;AAAEC,IAAAA,QAAQ,EAARA,QAAQ;AAAEO,IAAAA,gBAAgB,EAAhBA,gBAAAA;AAAiB,GAAC,CAAC,CAAA;EACjE,IAAMxD,KAAK,GAAGgG,IAAI,IAAIxC,gBAAgB,IAAIyC,IAAI,CAACC,SAAS,CAAChC,OAAO,CAAC,CAAA;EAEjE,oBAAOjE,GAAA,CAACJ,cAAc,EAAA;AAAOE,IAAAA,KAAK,EAALA,KAAK;AAAEC,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAK,CAAC,CAAA;AACjD,CAAC;;ACPM,IAAMmG,oBAAoB,GAAG,YAAY,CAAA;AAEzC,IAAMC,OAAO,GAAG;AACrBC,EAAAA,aAAa,EAAE,cAAc;AAC7BC,EAAAA,cAAc,EAAE,cAAc;AAC9BC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,iBAAiB,EAAE,iBAAiB;AACpCC,EAAAA,oBAAoB,EAAE,oBAAoB;AAC1CC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,YAAY,EAAE,aAAA;AAChB,CAAC,CAAA;AAEM,IAAMC,uBAAuB,GAAG;AACrCC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,OAAO,EAAE,SAAA;AACX,CAAC,CAAA;AAEM,IAAMC,qBAAqB,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAC/Bf,OAAO,CAACC,aAAa,EAAGb,MAAM,CAC9BY,EAAAA,OAAO,CAACI,iBAAiB,EAAGhB,MAAM,GAClCY,OAAO,CAACE,cAAc,EAAGT,cAAc,CAAA,EACvCO,OAAO,CAACG,YAAY,EAAGtC,gBAAgB,CAAA,EACvCmC,OAAO,CAACK,oBAAoB,EAAGxC,gBAAgB,CAC/CmC,EAAAA,OAAO,CAACM,YAAY,EAAGb,cAAc,CACrCO,EAAAA,OAAO,CAACO,YAAY,EAAG3B,oBAAoB,CAAA,EAC3CoB,OAAO,CAACQ,YAAY,EAAGf,cAAc,CACvC;;;;;ACzBD,IAAMuB,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,MAAM,EAAA;EAAA,OAC5BC,gBAAgB,CAACD,MAAM,CAACE,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3D,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,IAAI,EAAA;AAAA,EAAA,OACvCA,IAAI,CAACvF,GAAG,CACN,UAAApC,IAAA,EAMM;AAAA,IAAA,IALJ4H,EAAE,GAAA5H,IAAA,CAAF4H,EAAE;MACGL,MAAM,GAAAvH,IAAA,CAAX0B,GAAG;MAAAmG,aAAA,GAAA7H,IAAA,CACH8H,QAAQ;MAAInD,MAAM,GAAAkD,aAAA,CAANlD,MAAM;AAAKoD,MAAAA,cAAc,GAAAC,wBAAA,CAAAH,aAAA,EAAAI,WAAA,CAAA;AAAAC,MAAAA,mBAAA,GAAAlI,IAAA,CACrCmI,SAAS,CAAIjC,IAAI;AAAEkC,MAAAA,WAAW,GAAAF,mBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,mBAAA;MACxBG,WAAW,GAAArI,IAAA,CAAtBsI,SAAS,CAAA;AAET,IAAA,IAAMC,iBAAiB,GAAGjB,eAAe,CAACC,MAAM,CAAC,CAAA;AACjD,IAAA,IAAMiB,oBAAoB,GAAGC,UAAU,CAACC,QAAQ,CAACL,WAAW,CAAC,CAAA;IAE7D,OAAO;AACLT,MAAAA,EAAE,EAAFA,EAAE;AACFL,MAAAA,MAAM,EAAEgB,iBAAiB;AACzB5D,MAAAA,MAAM,EAAEgE,UAAU,CAAChE,MAAM,CAAC;AAC1B0D,MAAAA,WAAW,EAAEG,oBAAoB;AACjCJ,MAAAA,WAAW,EAAXA,WAAW;AACXQ,MAAAA,iBAAiB,EAAAC,eAAA,CAAAA,eAAA,KACZd,cAAc,CAAA,EAAA,EAAA,EAAA;AACjBR,QAAAA,MAAM,EAAEgB,iBAAiB;AACzBF,QAAAA,WAAW,EAAEG,oBAAoB;AACjCJ,QAAAA,WAAW,EAAXA,WAAW;AACXzD,QAAAA,MAAM,EAANA,MAAAA;AAAM,OAAA,CAAA;KAET,CAAA;AACH,GACF,CAAC,CAAA;AAAA,CAAA,CAAA;AAEI,IAAMmE,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,WAAW,EAAA;AAAA,EAAA,OAAI,CAC1C;AACEvH,IAAAA,KAAK,EAAEC,CAAC,CAAC,+CAA+C,EAAEuH,QAAQ,CAAC;AACnEtH,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,SAAS,EAAE,QAAQ;AACnBsH,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG1B,MAAM,EAAA7E,KAAA,EAAA;AAAA,MAAA,IAAIkG,iBAAiB,GAAAlG,KAAA,CAAjBkG,iBAAiB,CAAA;MAAA,oBAClCzI,GAAA,CAAC+I,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,oBAAoB;AAChCjJ,QAAAA,KAAK,EAAEwB,CAAC,CAAA,mCAAA,CAAAb,MAAA,CAAqC2G,MAAM,CAAE,CAAE;AACvDjH,QAAAA,KAAK,EAAC,MAAM;QACZ6I,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQJ,WAAW,CAACH,iBAAiB,CAAC,CAAA;AAAA,SAAA;AAAC,OAC/C,CAAC,CAAA;AAAA,KAAA;AAEN,GAAC,EACD;AACEpH,IAAAA,KAAK,EAAEC,CAAC,CAAC,+CAA+C,CAAC;AACzDC,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,SAAS,EAAE,QAAA;AACb,GAAC,EACD;AACEH,IAAAA,KAAK,EAAEC,CAAC,CAAC,oDAAoD,CAAC;AAC9DC,IAAAA,GAAG,EAAE,aAAa;AAClBC,IAAAA,SAAS,EAAE,aAAA;AACb,GAAC,EACD;AACEH,IAAAA,KAAK,EAAEC,CAAC,CAAC,oDAAoD,CAAC;AAC9DC,IAAAA,GAAG,EAAE,aAAa;AAClBC,IAAAA,SAAS,EAAE,aAAA;AACb,GAAC,CACF,CAAA;AAAA,CAAA,CAAA;AAEM,IAAMyH,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG7B,MAAM,EAAA;AAAA,EAAA,OACzCH,qBAAqB,CAACG,MAAM,CAAC,IAAIxB,cAAc,CAAA;AAAA,CAAA;;;ACjEjD,IAAMsD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAArJ,IAAA,EAA+C;AAAA,EAAA,IAAzC4I,iBAAiB,GAAA5I,IAAA,CAAjB4I,iBAAiB;IAAEU,MAAM,GAAAtJ,IAAA,CAANsJ,MAAM;IAAEC,OAAO,GAAAvJ,IAAA,CAAPuJ,OAAO,CAAA;AAC7D,EAAA,IAAAlF,eAAA,GAAcC,cAAc,EAAE;IAAtB7C,CAAC,GAAA4C,eAAA,CAAD5C,CAAC,CAAA;AAET,EAAA,IACE+H,OAAO,GAMLZ,iBAAiB,CANnBY,OAAO;IACCC,aAAa,GAKnBb,iBAAiB,CALnBrB,MAAM;IACNa,WAAW,GAITQ,iBAAiB,CAJnBR,WAAW;IACXC,WAAW,GAGTO,iBAAiB,CAHnBP,WAAW;IACNqB,OAAO,GAEVd,iBAAiB,CAFnBe,GAAG;AACAvF,IAAAA,OAAO,GAAA4D,wBAAA,CACRY,iBAAiB,EAAAX,SAAA,CAAA,CAAA;EAErB,IAAMV,MAAM,GACViC,OAAO,IAAI/H,CAAC,qCAAAb,MAAA,CAAqC6I,aAAa,CAAE,CAAC,CAAA;AAEnE,EAAA,IAAMG,eAAe,GAAGR,qBAAqB,CAACK,aAAa,CAAC,CAAA;EAE5D,oBACE7E,IAAA,CAACiF,KAAK,EAAA;AACEP,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrB,IAAA,aAAA,EAAY,0BAA0B;AACtCO,IAAAA,IAAI,EAAC,OAAO;AAAAvJ,IAAAA,QAAA,EAEZJ,cAAAA,GAAA,CAAC0J,KAAK,CAACE,MAAM,EAAA;MAAAxJ,QAAA,eACXJ,GAAA,CAACC,UAAU,EAAA;AAACE,QAAAA,KAAK,EAAC,IAAI;QAAAC,QAAA,EACnBkB,CAAC,CAAC,kDAAkD,CAAA;OAC3C,CAAA;AAAC,KACD,CAAC,eACftB,GAAA,CAAC0J,KAAK,CAACG,IAAI,EAAA;MAAAzJ,QAAA,eACTqE,IAAA,CAAAgB,QAAA,EAAA;QAAArF,QAAA,EAAA,cACEJ,GAAA,CAACJ,cAAc,EAAA;UACbE,KAAK,EAAE8G,uBAAuB,CAACC,MAAO;AACtC9G,UAAAA,KAAK,EAAEqH,MAAAA;AAAO,SACf,CAAC,eACFpH,GAAA,CAACJ,cAAc,EAAA;UACbE,KAAK,EAAE8G,uBAAuB,CAACE,YAAa;AAC5C/G,UAAAA,KAAK,EAAEkI,WAAAA;AAAY,SACpB,CAAC,eACFjI,GAAA,CAACJ,cAAc,EAAA;UACbE,KAAK,EAAE8G,uBAAuB,CAACG,YAAa;AAC5ChH,UAAAA,KAAK,EAAEmI,WAAAA;AAAY,SACpB,CAAC,eACFlI,GAAA,CAACJ,cAAc,EAAA;UACbE,KAAK,EAAE8G,uBAAuB,CAACI,OAAQ;UACvCjH,KAAK,EAAE+J,WAAW,CAACP,OAAO,CAAA;AAAE,SAC7B,CAAC,eACFvJ,GAAA,CAACyJ,eAAe,EAAA;AAAOxF,UAAAA,OAAO,EAAPA,OAAAA;AAAO,SAAK,CAAC,CAAA;OACpC,CAAA;AAAC,KACO,CAAC,CAAA;AAAA,GACR,CAAC,CAAA;AAEZ,CAAC;;ACzDD,IAAM8F,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAC,mBAAmB,EAAE;AAAEF,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE3E,IAAMG,YAAY,GAAG;AAAEJ,EAAAA,cAAc,EAAdA,cAAAA;AAAe,CAAC;;;;ACChC,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAvK,IAAA,EAAA;AAAA,EAAA,IAAMmK,MAAM,GAAAnK,IAAA,CAANmK,MAAM;IAAAK,YAAA,GAAAxK,IAAA,CAAEyK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,YAAA,CAAA;EAAA,OACtDE,QAAQ,CAAA7B,aAAA,CAAA;AACN8B,IAAAA,QAAQ,EAAE,CAACtE,oBAAoB,EAAE8D,MAAM,CAAC;IACxCS,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQN,YAAY,CAACJ,cAAc,CAACC,MAAM,CAAC,CAAA;AAAA,KAAA;GAC/CM,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA;;ACOJ,IAAMI,SAAS,GAAG,SAAZA,SAASA,GAAS;AACtB,EAAA,IAAAC,SAAA,GACEC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAArI,cAAA,CAAAmI,SAAA,EAAA,CAAA,CAAA;AADVG,IAAAA,4BAA4B,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,+BAA+B,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpE,EAAA,IAAAG,UAAA,GAAkDJ,QAAQ,CAAC,EAAE,CAAC;IAAAK,UAAA,GAAAzI,cAAA,CAAAwI,UAAA,EAAA,CAAA,CAAA;AAAvDvC,IAAAA,iBAAiB,GAAAwC,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,oBAAoB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9C,EAAA,IAAA/G,eAAA,GAAcC,cAAc,EAAE;IAAtB7C,CAAC,GAAA4C,eAAA,CAAD5C,CAAC,CAAA;AAET,EAAA,IAAA6J,eAAA,GAAsCC,cAAc,EAAE;IAAAC,oBAAA,GAAAF,eAAA,CAA9CG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,oBAAA,KAAGE,KAAAA,CAAAA,GAAAA,kBAAkB,GAAAF,oBAAA,CAAA;EAEjC,IAAAG,kBAAA,GAIIpB,iBAAiB,CAAC;AAAEJ,MAAAA,MAAM,EAAE;AAAEsB,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAA;AAAE,KAAC,CAAC;IAAAG,qBAAA,GAAAD,kBAAA,CAHzCE,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAuC,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArCE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,sBAAA;IACtCE,SAAS,GAAAR,kBAAA,CAATQ,SAAS;IACTC,UAAU,GAAAT,kBAAA,CAAVS,UAAU,CAAA;AAGZ,EAAA,IAAMrD,WAAW,GAAG,SAAdA,WAAWA,CAAGH,iBAAiB,EAAI;IACvCsC,+BAA+B,CAAC,IAAI,CAAC,CAAA;IACrCG,oBAAoB,CAACzC,iBAAiB,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMyD,WAAW,GAAG,SAAdA,WAAWA,GAAS;IACxBnB,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACtCG,oBAAoB,CAAC,EAAE,CAAC,CAAA;GACzB,CAAA;AAED,EAAA,IAAIc,SAAS,EAAE;AACb,IAAA,oBACEhM,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,gDAAgD;AAAAE,MAAAA,QAAA,eAC7DJ,GAAA,CAACmM,UAAU,EAAE,EAAA,CAAA;AAAC,KACX,CAAC,CAAA;AAEV,GAAA;EAEA,oBACE1H,IAAA,CAAC2H,SAAS,EAAA;IAAAhM,QAAA,EAAA,cACRJ,GAAA,CAAC4J,MAAM,EAAA;MAACvI,KAAK,EAAEC,CAAC,CAAC,gCAAgC,CAAA;AAAE,KAAE,CAAC,eACtDtB,GAAA,CAACqM,YAAY,EAAA;AACXnM,MAAAA,SAAS,EAAC,MAAM;MAChBoM,aAAa,EAAEP,UAAU,GAAGQ,iBAAkB;MAAAnM,QAAA,EAE7CoM,SAAS,CAACX,SAAS,CAAC,gBACnB7L,GAAA,CAAC2E,KAAK,EAAA;AACEoH,QAAAA,UAAU,EAAVA,UAAU;QAChBU,WAAW,EAAA,IAAA;AACX7H,QAAAA,UAAU,EAAE+D,aAAa,CAACC,WAAW,CAAE;AACvC8D,QAAAA,iBAAiB,EAAEC,QAAQ,CAACrB,IAAI,CAAE;AAClC,QAAA,aAAA,EAAY,kBAAkB;AAC9BsB,QAAAA,eAAe,EAAEL,iBAAkB;AACnC5G,QAAAA,OAAO,EAAEsG,UAAW;QACpBnH,OAAO,EAAEyC,qBAAqB,CAACsE,SAAS,CAAA;OACzC,CAAC,gBAEF7L,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,gDAAgD;QAAAE,QAAA,eAC7DJ,GAAA,CAAC6M,MAAM,EAAA;UAACxL,KAAK,EAAEC,CAAC,CAAC,iCAAiC,CAAA;SAAI,CAAA;OACnD,CAAA;AACN,KACW,CAAC,eACftB,GAAA,CAACkJ,iBAAiB,EAAA;AACVT,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACvBU,MAAAA,MAAM,EAAE2B,4BAA6B;AACrC1B,MAAAA,OAAO,EAAE8C,WAAAA;AAAY,KACtB,CAAC,CAAA;AAAA,GACO,CAAC,CAAA;AAEhB;;;;"}
@@ -34,7 +34,7 @@ var PageLoader = function PageLoader(_ref) {
34
34
  })
35
35
  }));
36
36
  };
37
- var index = /*#__PURE__*/memo(PageLoader);
37
+ var PageLoader$1 = /*#__PURE__*/memo(PageLoader);
38
38
 
39
- export { index as default };
39
+ export { PageLoader$1 as default };
40
40
  //# sourceMappingURL=PageLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLoader.js","sources":["../src/components/PageLoader/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./page-loader.scss\";\n\n// Please update the https://github.com/bigbinary/neeto-commons-backend/blob/main/app/views/shared/_page_loader.html.erb#L1\n// whenever there are some changes in the JSX.\n// Styles changes will be handled by the release process.\nconst PageLoader = ({ text = \"\", ...otherProps }) => (\n <div className=\"neeto-molecules-pageloader__wrapper\" {...otherProps}>\n <div className=\"neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center\">\n <div\n className=\"neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center\"\n data-cy=\"neeto-molecules-pageloader\"\n >\n <div className=\"neeto-molecules-pageloader__loader\" />\n </div>\n {text && (\n <Typography style=\"h5\" weight=\"semibold\">\n {text}\n </Typography>\n )}\n </div>\n </div>\n);\n\nPageLoader.propTypes = {\n /**\n * Text to indicate loading status (optional).\n */\n text: PropTypes.string,\n};\n\nexport default memo(PageLoader);\n"],"names":["PageLoader","_ref","_ref$text","text","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","children","_jsxs","Typography","style","weight","memo"],"mappings":";;;;;;;;;;;;;AAUA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAME,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKE,IAAAA,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC5CC,GAAA,CAAA,KAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAAKC,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,EAAKL,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAM,IAAAA,QAAA,eACjEC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,0GAA0G;AAAAC,MAAAA,QAAA,gBACvHH,GAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,wHAAwH;AAClI,QAAA,SAAA,EAAQ,4BAA4B;AAAAC,QAAAA,QAAA,eAEpCH,GAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,oCAAA;SAAsC,CAAA;AAAC,OACnD,CAAC,EACLN,IAAI,iBACHI,GAAA,CAACK,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAJ,QAAAA,QAAA,EACrCP,IAAAA;AAAI,OACK,CACb,CAAA;KACE,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAAA,CACP,CAAA;AASD,YAAeY,aAAAA,IAAI,CAACf,UAAU,CAAC;;;;"}
1
+ {"version":3,"file":"PageLoader.js","sources":["../src/components/PageLoader/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./page-loader.scss\";\n\n// Please update the https://github.com/bigbinary/neeto-commons-backend/blob/main/app/views/shared/_page_loader.html.erb#L1\n// whenever there are some changes in the JSX.\n// Styles changes will be handled by the release process.\nconst PageLoader = ({ text = \"\", ...otherProps }) => (\n <div className=\"neeto-molecules-pageloader__wrapper\" {...otherProps}>\n <div className=\"neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center\">\n <div\n className=\"neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center\"\n data-cy=\"neeto-molecules-pageloader\"\n >\n <div className=\"neeto-molecules-pageloader__loader\" />\n </div>\n {text && (\n <Typography style=\"h5\" weight=\"semibold\">\n {text}\n </Typography>\n )}\n </div>\n </div>\n);\n\nPageLoader.propTypes = {\n /**\n * Text to indicate loading status (optional).\n */\n text: PropTypes.string,\n};\n\nexport default memo(PageLoader);\n"],"names":["PageLoader","_ref","_ref$text","text","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","children","_jsxs","Typography","style","weight","memo"],"mappings":";;;;;;;;;;;;;AAUA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAME,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKE,IAAAA,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC5CC,GAAA,CAAA,KAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAAKC,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,EAAKL,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAM,IAAAA,QAAA,eACjEC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,0GAA0G;AAAAC,MAAAA,QAAA,gBACvHH,GAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,wHAAwH;AAClI,QAAA,SAAA,EAAQ,4BAA4B;AAAAC,QAAAA,QAAA,eAEpCH,GAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,oCAAA;SAAsC,CAAA;AAAC,OACnD,CAAC,EACLN,IAAI,iBACHI,GAAA,CAACK,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAJ,QAAAA,QAAA,EACrCP,IAAAA;AAAI,OACK,CACb,CAAA;KACE,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAAA,CACP,CAAA;AASD,mBAAeY,aAAAA,IAAI,CAACf,UAAU,CAAC;;;;"}