@bigbinary/neeto-molecules 4.1.27 → 4.1.28

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/dist/AuditLogs.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { useMemo, createElement } from 'react';
3
- import { snakeToCamelCase, isPresent, isNotEmpty, humanize } from '@bigbinary/neeto-cist';
3
+ import { snakeToCamelCase, humanize, isPresent, isNotEmpty } from '@bigbinary/neeto-cist';
4
4
  import { LANGUAGE_OPTIONS, DEFAULT_STALE_TIME, DEFAULT_PAGE_INDEX } from '@bigbinary/neeto-commons-frontend/constants';
5
5
  import { useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import NoData from '@bigbinary/neetoui/NoData';
@@ -71,23 +71,11 @@ var ACTIONS = {
71
71
  CREATED_ROLE: "createdRole",
72
72
  UPDATED_ROLE: "updatedRole",
73
73
  DELETED_ROLE: "deletedRole",
74
- CONNECTED_GOOGLE_CALENDER: "connectedGoogleCalendar",
75
- DISCONNECTED_GOOGLE_CALENDER: "disconnectedGoogleCalendar",
76
- GOOGLE_DISCONNECTED_GOOGLE_CALENDAR: "googleDisconnectedGoogleCalendar",
77
- CONNECTED_GOOGLE_MEET: "connectedGoogleMeet",
78
- DISCONNECTED_GOOGLE_MEET: "disconnectedGoogleMeet",
79
- CONNECTED_ICLOUD_CALENDAR: "connectedIcloudCalendar",
80
- DISCONNECTED_ICLOUD_CALENDAR: "disconnectedIcloudCalendar",
81
- CONNECTED_OUTLOOK: "connectedOutlook",
82
- DISCONNECTED_OUTLOOK: "disconnectedOutlook",
83
- CONNECTED_SLACK: "connectedSlack",
84
- DISCONNECTED_SLACK: "disconnectedSlack",
85
- CONNECTED_TEAMS: "connectedTeams",
86
- DISCONNECTED_TEAMS: "disconnectedTeams",
74
+ INTEGRATION_CONNECTED: "integration.connected",
75
+ INTEGRATION_DISCONNECTED: "integration.disconnected",
76
+ INTEGRATION_DISCONNECTED_BY_PROVIDER: "integration.disconnectedByProvider",
87
77
  CONNECTED_STRIPE_ACCOUNT: "connectedStripeAccount",
88
78
  DISCONNECTED_STRIPE_ACCOUNT: "disconnectedStripeAccount",
89
- CONNECTED_ZOOM: "connectedZoom",
90
- DISCONNECTED_ZOOM: "disconnectedZoom",
91
79
  CONNECTED_ZOOM_INTEGRATION: "connectedZoomIntegration",
92
80
  DISCONNECTED_ZOOM_INTEGRATION: "disconnectedZoomIntegration",
93
81
  CONNECTED_CUSTOM_DOMAIN: "connectedCustomDomain",
@@ -95,7 +83,7 @@ var ACTIONS = {
95
83
  DELETED_API_KEY: "deletedApiKey",
96
84
  UPDATED_API_KEY: "updatedApiKey"
97
85
  };
98
- var AUDIT_ICON_MAP = (_AUDIT_ICON_MAP = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INVITED_USERS, UserCircle), ACTIONS.USER_SIGNED_UP, UserAdd), ACTIONS.UPDATED_USER, User), ACTIONS.BULK_UPDATE_USERS, User), ACTIONS.UPDATED_USER_PROFILE, UserSettings), ACTIONS.CREATED_ROLE, UserAdd), ACTIONS.UPDATED_ROLE, UserSettings), ACTIONS.DELETED_ROLE, UserRemove), ACTIONS.CONNECTED_GOOGLE_CALENDER, GoogleCalendar), ACTIONS.DISCONNECTED_GOOGLE_CALENDER, GoogleCalendar), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR, GoogleCalendar), ACTIONS.CONNECTED_GOOGLE_MEET, GoogleMeet), ACTIONS.DISCONNECTED_GOOGLE_MEET, GoogleMeet), ACTIONS.CONNECTED_ICLOUD_CALENDAR, Apple), ACTIONS.DISCONNECTED_ICLOUD_CALENDAR, Apple), ACTIONS.CONNECTED_OUTLOOK, Outlook), ACTIONS.DISCONNECTED_OUTLOOK, Outlook), ACTIONS.CONNECTED_SLACK, Slack), ACTIONS.DISCONNECTED_SLACK, Slack), ACTIONS.CONNECTED_TEAMS, Teams), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.DISCONNECTED_TEAMS, Teams), ACTIONS.CONNECTED_STRIPE_ACCOUNT, StripeTypeface), ACTIONS.DISCONNECTED_STRIPE_ACCOUNT, Stripe), ACTIONS.CONNECTED_ZOOM, Zoom), ACTIONS.DISCONNECTED_ZOOM, Zoom), ACTIONS.CONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.DISCONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.CONNECTED_CUSTOM_DOMAIN, CustomDomain), ACTIONS.CREATED_API_KEY, ApiKeys), ACTIONS.DELETED_API_KEY, ApiKeys), _defineProperty(_AUDIT_ICON_MAP, ACTIONS.UPDATED_API_KEY, ApiKeys));
86
+ var AUDIT_ICON_MAP = (_AUDIT_ICON_MAP = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INVITED_USERS, UserCircle), ACTIONS.USER_SIGNED_UP, UserAdd), ACTIONS.UPDATED_USER, User), ACTIONS.BULK_UPDATE_USERS, User), ACTIONS.UPDATED_USER_PROFILE, UserSettings), ACTIONS.CREATED_ROLE, UserAdd), ACTIONS.UPDATED_ROLE, UserSettings), ACTIONS.DELETED_ROLE, UserRemove), ACTIONS.INTEGRATION_CONNECTED, UserSettings), ACTIONS.INTEGRATION_DISCONNECTED, UserSettings), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER, UserSettings), ACTIONS.CONNECTED_STRIPE_ACCOUNT, StripeTypeface), ACTIONS.DISCONNECTED_STRIPE_ACCOUNT, Stripe), ACTIONS.CONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.DISCONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.CONNECTED_CUSTOM_DOMAIN, CustomDomain), ACTIONS.CREATED_API_KEY, ApiKeys), ACTIONS.DELETED_API_KEY, ApiKeys), ACTIONS.UPDATED_API_KEY, ApiKeys));
99
87
  var AUDIT_LOGS_PAGE_SIZE = 12;
100
88
  var LANGUAGE_OPTIONS_MAP = indexBy(prop("value"), LANGUAGE_OPTIONS);
101
89
  var DATE_FORMAT_OPTIONS_MAP = {
@@ -106,6 +94,24 @@ var DATE_FORMAT_OPTIONS_MAP = {
106
94
  var FIELD_NAME_MAP = {
107
95
  organizationRole: "role"
108
96
  };
97
+ var INTEGRATION_ICON_MAP = {
98
+ google_calendar: GoogleCalendar,
99
+ google_meet: GoogleMeet,
100
+ icloud_calendar: Apple,
101
+ outlook: Outlook,
102
+ slack: Slack,
103
+ teams: Teams,
104
+ zoom: Zoom
105
+ };
106
+ var INTEGRATION_DISPLAY_NAME_MAP = {
107
+ google_calendar: "Google Calendar",
108
+ google_meet: "Google Meet",
109
+ icloud_calendar: "iCloud Calendar",
110
+ outlook: "Outlook",
111
+ slack: "Slack",
112
+ teams: "Microsoft Teams",
113
+ zoom: "Zoom"
114
+ };
109
115
 
110
116
  function ownKeys$4(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; }
111
117
  function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -383,151 +389,70 @@ var constructAuditLogText = function constructAuditLogText(_ref3) {
383
389
  }
384
390
  });
385
391
  }
386
- case ACTIONS.CONNECTED_GOOGLE_CALENDER:
387
- {
388
- return /*#__PURE__*/jsx(Trans, {
389
- i18nKey: "neetoMolecules.auditLogs.text.connectedGoogleCalender",
390
- additionalValues: {
391
- performedBy: performedBy,
392
- emailAddress: changes.emailAddress
393
- }
394
- });
395
- }
396
- case ACTIONS.DISCONNECTED_GOOGLE_CALENDER:
397
- {
398
- return /*#__PURE__*/jsx(Trans, {
399
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedGoogleCalender",
400
- additionalValues: {
401
- performedBy: performedBy,
402
- emailAddress: changes.emailAddress
403
- }
404
- });
405
- }
406
- case ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR:
407
- {
408
- return /*#__PURE__*/jsx(Trans, {
409
- i18nKey: "neetoMolecules.auditLogs.text.googleDisconnectedGoogleCalendar",
410
- additionalValues: {
411
- performedBy: performedBy,
412
- emailAddress: changes.emailAddress
413
- }
414
- });
415
- }
416
- case ACTIONS.CONNECTED_GOOGLE_MEET:
417
- {
418
- return /*#__PURE__*/jsx(Trans, {
419
- i18nKey: "neetoMolecules.auditLogs.text.connectedGoogleMeet",
420
- additionalValues: {
421
- performedBy: performedBy,
422
- emailAddress: changes.emailAddress
423
- }
424
- });
425
- }
426
- case ACTIONS.DISCONNECTED_GOOGLE_MEET:
427
- {
428
- return /*#__PURE__*/jsx(Trans, {
429
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedGoogleMeet",
430
- additionalValues: {
431
- performedBy: performedBy,
432
- emailAddress: changes.emailAddress
433
- }
434
- });
435
- }
436
- case ACTIONS.CONNECTED_ICLOUD_CALENDAR:
437
- {
438
- return /*#__PURE__*/jsx(Trans, {
439
- i18nKey: "neetoMolecules.auditLogs.text.connectedIcloudCalendar",
440
- additionalValues: {
441
- performedBy: performedBy,
442
- emailAddress: changes.emailAddress
443
- }
444
- });
445
- }
446
- case ACTIONS.DISCONNECTED_ICLOUD_CALENDAR:
447
- {
448
- return /*#__PURE__*/jsx(Trans, {
449
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedIcloudCalendar",
450
- additionalValues: {
451
- performedBy: performedBy,
452
- emailAddress: changes.emailAddress
453
- }
454
- });
455
- }
456
- case ACTIONS.CONNECTED_OUTLOOK:
457
- {
458
- return /*#__PURE__*/jsx(Trans, {
459
- i18nKey: "neetoMolecules.auditLogs.text.connectedOutlook",
460
- additionalValues: {
461
- performedBy: performedBy,
462
- emailAddress: changes.emailAddress
463
- }
464
- });
465
- }
466
- case ACTIONS.DISCONNECTED_OUTLOOK:
467
- {
468
- return /*#__PURE__*/jsx(Trans, {
469
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedOutlook",
470
- additionalValues: {
471
- performedBy: performedBy,
472
- emailAddress: changes.emailAddress
473
- }
474
- });
475
- }
476
- case ACTIONS.CONNECTED_SLACK:
477
- {
478
- return /*#__PURE__*/jsx(Trans, {
479
- i18nKey: "neetoMolecules.auditLogs.text.connectedSlack",
480
- additionalValues: {
481
- performedBy: performedBy,
482
- workspaceName: changes.workspaceName
483
- }
484
- });
485
- }
486
- case ACTIONS.DISCONNECTED_SLACK:
487
- {
392
+ case ACTIONS.INTEGRATION_CONNECTED:
393
+ {
394
+ var rawName = rest.integrationName,
395
+ onBehalfOf = rest.onBehalfOf;
396
+ var integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);
397
+ var detail = changes === null || changes === void 0 ? void 0 : changes.detail;
398
+ var _i18nKey;
399
+ if (onBehalfOf && detail) {
400
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedOnBehalf";
401
+ } else if (onBehalfOf) {
402
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail";
403
+ } else if (detail) {
404
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnected";
405
+ } else {
406
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedWithoutDetail";
407
+ }
488
408
  return /*#__PURE__*/jsx(Trans, {
489
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedSlack",
409
+ i18nKey: _i18nKey,
490
410
  additionalValues: {
491
411
  performedBy: performedBy,
492
- workspaceName: changes.workspaceName
412
+ integrationName: integrationName,
413
+ detail: detail,
414
+ onBehalfOf: onBehalfOf
493
415
  }
494
416
  });
495
417
  }
496
- case ACTIONS.CONNECTED_TEAMS:
497
- {
498
- return /*#__PURE__*/jsx(Trans, {
499
- additionalValues: {
500
- performedBy: performedBy
501
- },
502
- i18nKey: "neetoMolecules.auditLogs.text.connectedTeams"
503
- });
504
- }
505
- case ACTIONS.DISCONNECTED_TEAMS:
506
- {
507
- return /*#__PURE__*/jsx(Trans, {
508
- additionalValues: {
509
- performedBy: performedBy
510
- },
511
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedTeams"
512
- });
513
- }
514
- case ACTIONS.CONNECTED_ZOOM:
515
- {
418
+ case ACTIONS.INTEGRATION_DISCONNECTED:
419
+ {
420
+ var _rawName = rest.integrationName,
421
+ _onBehalfOf = rest.onBehalfOf;
422
+ var _integrationName = INTEGRATION_DISPLAY_NAME_MAP[_rawName] || humanize(_rawName);
423
+ var _detail = changes === null || changes === void 0 ? void 0 : changes.detail;
424
+ var _i18nKey2;
425
+ if (_onBehalfOf && _detail) {
426
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf";
427
+ } else if (_onBehalfOf) {
428
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalfWithoutDetail";
429
+ } else if (_detail) {
430
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnected";
431
+ } else {
432
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnectedWithoutDetail";
433
+ }
516
434
  return /*#__PURE__*/jsx(Trans, {
517
- i18nKey: "neetoMolecules.auditLogs.text.connectedZoom",
435
+ i18nKey: _i18nKey2,
518
436
  additionalValues: {
519
437
  performedBy: performedBy,
520
- emailAddress: changes.emailAddress
438
+ integrationName: _integrationName,
439
+ detail: _detail,
440
+ onBehalfOf: _onBehalfOf
521
441
  }
522
442
  });
523
443
  }
524
- case ACTIONS.DISCONNECTED_ZOOM:
444
+ case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER:
525
445
  {
446
+ var _rawName2 = rest.integrationName;
447
+ var _integrationName2 = INTEGRATION_DISPLAY_NAME_MAP[_rawName2] || humanize(_rawName2);
448
+ var _detail2 = changes === null || changes === void 0 ? void 0 : changes.detail;
449
+ var _i18nKey3 = _detail2 ? "neetoMolecules.auditLogs.text.integrationDisconnectedByProvider" : "neetoMolecules.auditLogs.text.integrationDisconnectedByProviderWithoutDetail";
526
450
  return /*#__PURE__*/jsx(Trans, {
527
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedZoom",
451
+ i18nKey: _i18nKey3,
528
452
  additionalValues: {
529
453
  performedBy: performedBy,
530
- emailAddress: changes.emailAddress
454
+ integrationName: _integrationName2,
455
+ detail: _detail2
531
456
  }
532
457
  });
533
458
  }
@@ -652,7 +577,8 @@ var Card = function Card(_ref) {
652
577
  performedBy: performedBy,
653
578
  permissionsMap: permissionsMap
654
579
  }, metadata));
655
- var Icon = AUDIT_ICON_MAP[action];
580
+ var isIntegrationAction = action === ACTIONS.INTEGRATION_CONNECTED || action === ACTIONS.INTEGRATION_DISCONNECTED || action === ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER;
581
+ var Icon = isIntegrationAction ? INTEGRATION_ICON_MAP[metadata === null || metadata === void 0 ? void 0 : metadata.integrationName] || AUDIT_ICON_MAP[action] : AUDIT_ICON_MAP[action];
656
582
  return /*#__PURE__*/jsxs("div", {
657
583
  "data-testid": "audit-log-card",
658
584
  className: classnames("align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3", {
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/constants.js","../src/components/AuditLogs/Trans.jsx","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/Card.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/useCountriesApi.js","../src/components/AuditLogs/usePermissionsApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Zoom,\n} from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\nexport const PERMISSIONS_LIST_QUERY_KEY = \"neeto-team-members-permissions\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\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 CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\n GOOGLE_DISCONNECTED_GOOGLE_CALENDAR: \"googleDisconnectedGoogleCalendar\",\n CONNECTED_GOOGLE_MEET: \"connectedGoogleMeet\",\n DISCONNECTED_GOOGLE_MEET: \"disconnectedGoogleMeet\",\n CONNECTED_ICLOUD_CALENDAR: \"connectedIcloudCalendar\",\n DISCONNECTED_ICLOUD_CALENDAR: \"disconnectedIcloudCalendar\",\n CONNECTED_OUTLOOK: \"connectedOutlook\",\n DISCONNECTED_OUTLOOK: \"disconnectedOutlook\",\n CONNECTED_SLACK: \"connectedSlack\",\n DISCONNECTED_SLACK: \"disconnectedSlack\",\n CONNECTED_TEAMS: \"connectedTeams\",\n DISCONNECTED_TEAMS: \"disconnectedTeams\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM: \"connectedZoom\",\n DISCONNECTED_ZOOM: \"disconnectedZoom\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\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 AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.CONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.DISCONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR]: GoogleCalendar,\n [ACTIONS.CONNECTED_GOOGLE_MEET]: GoogleMeet,\n [ACTIONS.DISCONNECTED_GOOGLE_MEET]: GoogleMeet,\n [ACTIONS.CONNECTED_ICLOUD_CALENDAR]: Apple,\n [ACTIONS.DISCONNECTED_ICLOUD_CALENDAR]: Apple,\n [ACTIONS.CONNECTED_OUTLOOK]: Outlook,\n [ACTIONS.DISCONNECTED_OUTLOOK]: Outlook,\n [ACTIONS.CONNECTED_SLACK]: Slack,\n [ACTIONS.DISCONNECTED_SLACK]: Slack,\n [ACTIONS.CONNECTED_TEAMS]: Teams,\n [ACTIONS.DISCONNECTED_TEAMS]: Teams,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM]: Zoom,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const FIELD_NAME_MAP = { organizationRole: \"role\" };\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, isEmpty, indexBy, omit, prop } from \"ramda\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n FIELD_NAME_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatFieldName = field => FIELD_NAME_MAP[field] || humanize(field);\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: formatFieldName(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: formatFieldName(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: formatFieldName(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n permissionsMap = {},\n action,\n performedBy,\n emails: emailsProp,\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ...rest\n}) => {\n const emails = emailsProp ?? [];\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const affectedUser = email || \"user\";\n const isUserDeactivated = changes?.active?.to === false;\n const otherChanges = isUserDeactivated\n ? omit([\"active\"], changes)\n : changes;\n\n const removedText = isUserDeactivated ? (\n <Trans\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.removedUser\"\n />\n ) : null;\n\n if (isUserDeactivated && isEmpty(otherChanges)) return removedText;\n\n const changedFields = formatChangedFields({\n changes: otherChanges,\n countriesMap,\n });\n\n const updatedUserText = (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n\n return removedText ? (\n <>\n {removedText} {updatedUserText}\n </>\n ) : (\n updatedUserText\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(\n permission =>\n permissionsMap[permission]?.description ||\n humanize(permission.split(\".\")[1])\n )\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.googleDisconnectedGoogleCalendar\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_MEET: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleMeet\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_MEET: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleMeet\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_ICLOUD_CALENDAR: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedIcloudCalendar\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ICLOUD_CALENDAR: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedIcloudCalendar\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_OUTLOOK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedOutlook\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_OUTLOOK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedOutlook\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_SLACK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedSlack\"\n additionalValues={{\n performedBy,\n workspaceName: changes.workspaceName,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_SLACK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedSlack\"\n additionalValues={{\n performedBy,\n workspaceName: changes.workspaceName,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_TEAMS: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedTeams\"\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_TEAMS: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedTeams\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoom\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoom\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n\nexport const indexByPermissionName = indexBy(prop(\"name\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { AUDIT_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({\n auditLog,\n countriesMap,\n index,\n permissionsMap,\n totalCount,\n}) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n permissionsMap,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst fetchPermissions = () => axios.get(\"neeto_team_members/permissions\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries, fetchPermissions };\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 { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { PERMISSIONS_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchPermissions = () =>\n useQuery({\n queryKey: [PERMISSIONS_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchPermissions,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { useFetchPermissions } from \"./usePermissionsApi\";\nimport { indexById, indexByPermissionName } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\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, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n\n const { data: permissionsData } = useFetchPermissions();\n\n const countriesList = countriesData?.countries;\n const permissionsList = permissionsData?.permissions;\n\n const permissionsMap = useMemo(\n () => (permissionsList ? indexByPermissionName(permissionsList) : {}),\n [permissionsList]\n );\n\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index, permissionsMap }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","CONNECTED_GOOGLE_CALENDER","DISCONNECTED_GOOGLE_CALENDER","GOOGLE_DISCONNECTED_GOOGLE_CALENDAR","CONNECTED_GOOGLE_MEET","DISCONNECTED_GOOGLE_MEET","CONNECTED_ICLOUD_CALENDAR","DISCONNECTED_ICLOUD_CALENDAR","CONNECTED_OUTLOOK","DISCONNECTED_OUTLOOK","CONNECTED_SLACK","DISCONNECTED_SLACK","CONNECTED_TEAMS","DISCONNECTED_TEAMS","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM","DISCONNECTED_ZOOM","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","GoogleMeet","Apple","Outlook","Slack","Teams","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","FIELD_NAME_MAP","organizationRole","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatFieldName","field","humanize","createFieldValueFormatter","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","isPresent","from","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","lastName","email","_ref3$changes","status","message","errorMessage","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","_changes$active","affectedUser","isUserDeactivated","active","otherChanges","omit","removedText","isEmpty","changedFields","updatedUserText","ChangedFields","_Fragment","_jsxs","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","_permissionsMap$permi","description","split","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","emailAddress","workspaceName","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","_useFetchPermissions","permissionsData","countriesList","countries","permissionsList","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,IAAMA,oBAAoB,GAAG,YAAY;AACzC,IAAMC,wBAAwB,GAAG,gBAAgB,CAAC;AAClD,IAAMC,0BAA0B,GAAG,gCAAgC,CAAC;;AAEpE,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;AAC3BC,EAAAA,yBAAyB,EAAE,yBAAyB;AACpDC,EAAAA,4BAA4B,EAAE,4BAA4B;AAC1DC,EAAAA,mCAAmC,EAAE,kCAAkC;AACvEC,EAAAA,qBAAqB,EAAE,qBAAqB;AAC5CC,EAAAA,wBAAwB,EAAE,wBAAwB;AAClDC,EAAAA,yBAAyB,EAAE,yBAAyB;AACpDC,EAAAA,4BAA4B,EAAE,4BAA4B;AAC1DC,EAAAA,iBAAiB,EAAE,kBAAkB;AACrCC,EAAAA,oBAAoB,EAAE,qBAAqB;AAC3CC,EAAAA,eAAe,EAAE,gBAAgB;AACjCC,EAAAA,kBAAkB,EAAE,mBAAmB;AACvCC,EAAAA,eAAe,EAAE,gBAAgB;AACjCC,EAAAA,kBAAkB,EAAE,mBAAmB;AACvCC,EAAAA,wBAAwB,EAAE,wBAAwB;AAClDC,EAAAA,2BAA2B,EAAE,2BAA2B;AACxDC,EAAAA,cAAc,EAAE,eAAe;AAC/BC,EAAAA,iBAAiB,EAAE,kBAAkB;AACrCC,EAAAA,0BAA0B,EAAE,0BAA0B;AACtDC,EAAAA,6BAA6B,EAAE,6BAA6B;AAC5DC,EAAAA,uBAAuB,EAAE,uBAAuB;AAChDC,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,eAAe,EAAE;AACnB,CAAC;AASM,IAAMC,cAAc,IAAAC,eAAA,GAAA,EAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,eAAA,EACxBjC,OAAO,CAACC,aAAa,EAAGkC,UAAU,CAAA,EAClCnC,OAAO,CAACE,cAAc,EAAGkC,OAAO,CAAA,EAChCpC,OAAO,CAACG,YAAY,EAAGkC,IAAI,CAAA,EAC3BrC,OAAO,CAACI,iBAAiB,EAAGiC,IAAI,CAAA,EAChCrC,OAAO,CAACK,oBAAoB,EAAGiC,YAAY,CAAA,EAC3CtC,OAAO,CAACM,YAAY,EAAG8B,OAAO,CAAA,EAC9BpC,OAAO,CAACO,YAAY,EAAG+B,YAAY,CAAA,EACnCtC,OAAO,CAACQ,YAAY,EAAG+B,UAAU,CAAA,EACjCvC,OAAO,CAACS,yBAAyB,EAAG+B,cAAc,CAAA,EAClDxC,OAAO,CAACU,4BAA4B,EAAG8B,cAAc,CAAA,EAAAN,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,eAAA,EACrDjC,OAAO,CAACW,mCAAmC,EAAG6B,cAAc,CAAA,EAC5DxC,OAAO,CAACY,qBAAqB,EAAG6B,UAAU,CAAA,EAC1CzC,OAAO,CAACa,wBAAwB,EAAG4B,UAAU,CAAA,EAC7CzC,OAAO,CAACc,yBAAyB,EAAG4B,KAAK,CAAA,EACzC1C,OAAO,CAACe,4BAA4B,EAAG2B,KAAK,CAAA,EAC5C1C,OAAO,CAACgB,iBAAiB,EAAG2B,OAAO,CAAA,EACnC3C,OAAO,CAACiB,oBAAoB,EAAG0B,OAAO,CAAA,EACtC3C,OAAO,CAACkB,eAAe,EAAG0B,KAAK,CAAA,EAC/B5C,OAAO,CAACmB,kBAAkB,EAAGyB,KAAK,CAAA,EAClC5C,OAAO,CAACoB,eAAe,EAAGyB,KAAK,CAAA,EAAAX,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,eAAA,EAC/BjC,OAAO,CAACqB,kBAAkB,EAAGwB,KAAK,CAAA,EAClC7C,OAAO,CAACsB,wBAAwB,EAAGwB,cAAc,CAAA,EACjD9C,OAAO,CAACuB,2BAA2B,EAAGwB,MAAM,CAAA,EAC5C/C,OAAO,CAACwB,cAAc,EAAGwB,IAAI,CAAA,EAC7BhD,OAAO,CAACyB,iBAAiB,EAAGuB,IAAI,CAAA,EAChChD,OAAO,CAAC0B,0BAA0B,EAAGsB,IAAI,GACzChD,OAAO,CAAC2B,6BAA6B,EAAGqB,IAAI,CAAA,EAC5ChD,OAAO,CAAC4B,uBAAuB,EAAGqB,YAAY,CAAA,EAC9CjD,OAAO,CAAC6B,eAAe,EAAGqB,OAAO,CAAA,EACjClD,OAAO,CAAC8B,eAAe,EAAGoB,OAAO,CAAA,EAAAhB,eAAA,CAAAD,eAAA,EACjCjC,OAAO,CAAC+B,eAAe,EAAGmB,OAAO,CAAA,CACnC;AAEM,IAAMC,oBAAoB,GAAG,EAAE;AAE/B,IAAMC,oBAAoB,GAAGC,OAAO,CAACC,IAAI,CAAC,OAAO,CAAC,EAAEC,gBAAgB,CAAC;AAErE,IAAMC,uBAAuB,GAAG;AACrC,EAAA,UAAU,EAAE,YAAY;AACxB,EAAA,UAAU,EAAE,YAAY;AACxB,EAAA,UAAU,EAAE;AACd,CAAC;AAEM,IAAMC,cAAc,GAAG;AAAEC,EAAAA,gBAAgB,EAAE;AAAO,CAAC;;;;AC3G1D,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACTC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAAC,qBAAA,GAAAF,IAAA,CACPG,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAJ,IAAA,CACrBK,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;EAAA,oBAEzBE,GAAA,CAACC,OAAU,EAAA;AACHN,IAAAA,OAAO,EAAPA,OAAO;AACbO,IAAAA,UAAU,EAAAC,eAAA,CAAA;MACRC,IAAI,eACFJ,GAAA,CAACK,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,8CAA8C;AACxDC,QAAAA,SAAS,EAAC,MAAM;AAChBC,QAAAA,KAAK,EAAC;AAAO,OACd,CACF;MACDC,QAAQ,eACNT,GAAA,CAACK,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,oCAAoC;AAC9CC,QAAAA,SAAS,EAAC;OACX;AACF,KAAA,EACER,oBAAoB,CACvB;AACFW,IAAAA,MAAM,EAAAP,eAAA,CAAA;MACJQ,aAAa,EAAEC,WAAW,CAACC;AAAO,KAAA,EAC/BhB,gBAAgB;AACnB,GACH,CAAC;AAAA,CACH;;;;;ACtBD,IAAMiB,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,KAAK,EAAA;EAAA,OAAIxB,cAAc,CAACwB,KAAK,CAAC,IAAIC,QAAQ,CAACD,KAAK,CAAC;AAAA,CAAA;AAEzE,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAvB,IAAA,EAAgC;AAAA,EAAA,IAA1BqB,KAAK,GAAArB,IAAA,CAALqB,KAAK;IAAEG,YAAY,GAAAxB,IAAA,CAAZwB,YAAY;AACtD,EAAA,QAAQH,KAAK;AACX,IAAA,KAAK,UAAU;AACb,MAAA,OAAO,UAAAI,KAAK,EAAA;AAAA,QAAA,IAAAC,qBAAA;AAAA,QAAA,OAAI,CAAA,CAAAA,qBAAA,GAAAlC,oBAAoB,CAACiC,KAAK,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,qBAAA,CAA6BC,KAAK,KAAIF,KAAK;AAAA,MAAA,CAAA;AAC7D,IAAA,KAAK,YAAY;AACf,MAAA,OAAO,UAAAA,KAAK,EAAA;AAAA,QAAA,OAAI7B,uBAAuB,CAAC6B,KAAK,CAAC,IAAIA,KAAK;AAAA,MAAA,CAAA;AACzD,IAAA,KAAK,mBAAmB;AACtB,MAAA,OAAO,UAAAA,KAAK,EAAA;AAAA,QAAA,IAAAG,mBAAA;AAAA,QAAA,OAAI,CAAA,CAAAA,mBAAA,GAAAJ,YAAY,CAACC,KAAK,CAAC,MAAA,IAAA,IAAAG,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAA,CAAqBC,IAAI,KAAIJ,KAAK;AAAA,MAAA,CAAA;AACpD,IAAA;AACE,MAAA,OAAOK,QAAQ;AACnB;AACF,CAAC;AAED,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAAkC;AAAA,EAAA,IAA5BC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAET,YAAY,GAAAQ,KAAA,CAAZR,YAAY;AAClD,EAAA,IAAMU,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,GAAG,CAAC,UAAChB,KAAK,EAAEiB,KAAK,EAAK;AACxD,IAAA,IAAMC,MAAM,GAAGN,OAAO,CAACZ,KAAK,CAAC;IAC7B,IAAMmB,cAAc,GAAGjB,yBAAyB,CAAC;AAAEF,MAAAA,KAAK,EAALA,KAAK;AAAEG,MAAAA,YAAY,EAAZA;AAAa,KAAC,CAAC;AACzE,IAAA,IAAIiB,OAAO;IAEX,IAAIpB,KAAK,KAAK,cAAc,EAAE;AAC5BoB,MAAAA,OAAO,gBACLnC,GAAA,CAAA,MAAA,EAAA;QAAAoC,QAAA,eACEpC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;YAAEkB,KAAK,EAAED,eAAe,CAACC,KAAK;WAAI;AACpDpB,UAAAA,OAAO,EAAC;SACT;AAAC,OAAA,EAJOoB,KAKL,CACP;IACH,CAAC,MAAM,IAAIkB,MAAM,IAAII,SAAS,CAACJ,MAAM,CAACK,IAAI,CAAC,EAAE;AAC3CH,MAAAA,OAAO,gBACLnC,GAAA,CAAA,MAAA,EAAA;QAAAoC,QAAA,eACEpC,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,8DAA8D;AACtEE,UAAAA,gBAAgB,EAAE;AAChBkB,YAAAA,KAAK,EAAED,eAAe,CAACC,KAAK,CAAC;AAC7BuB,YAAAA,IAAI,EAAEJ,cAAc,CAACD,MAAM,CAACK,IAAI,CAAC;AACjCC,YAAAA,EAAE,EAAEL,cAAc,CAACD,MAAM,CAACM,EAAE;AAC9B;SACD;AAAC,OAAA,EAROxB,KASL,CACP;AACH,IAAA,CAAC,MAAM;AACLoB,MAAAA,OAAO,gBACLnC,GAAA,CAAA,MAAA,EAAA;QAAAoC,QAAA,eACEpC,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,yDAAyD;AACjEE,UAAAA,gBAAgB,EAAE;AAChBkB,YAAAA,KAAK,EAAED,eAAe,CAACC,KAAK,CAAC;AAC7BwB,YAAAA,EAAE,EAAEL,cAAc,CAACD,MAAM,CAACM,EAAE;AAC9B;SACD;AAAC,OAAA,EAPOxB,KAQL,CACP;AACH,IAAA;AAEA,IAAA,OAAOiB,KAAK,GAAG,CAAC,GACZ,cAAChC,GAAA,CAAA,MAAA,EAAA;AAAAoC,MAAAA,QAAA,EAA2B;KAAE,EAAA,MAAA,CAAAI,MAAA,CAAXzB,KAAK,CAAY,CAAC,EAAEoB,OAAO,CAAC,GAC/CA,OAAO;AACb,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOP,MAAM,CAACa,IAAI,EAAE;AACtB,CAAC;AAEM,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,MAAM,EAAA;EAAA,OACnCC,gBAAgB,CAACD,MAAM,CAACE,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAAA,CAAA;AAE3D,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAe5B;AAAA,EAAA,IAAAC,kBAAA,GAAAD,KAAA,CAdJ7B,YAAY;AAAZA,IAAAA,YAAY,GAAA8B,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAC,oBAAA,GAAAF,KAAA,CACjBG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IACnBN,MAAM,GAAAI,KAAA,CAANJ,MAAM;IACNQ,WAAW,GAAAJ,KAAA,CAAXI,WAAW;IACHC,UAAU,GAAAL,KAAA,CAAlBM,MAAM;IACNC,SAAS,GAAAP,KAAA,CAATO,SAAS;IACTC,QAAQ,GAAAR,KAAA,CAARQ,QAAQ;IACR/D,gBAAgB,GAAAuD,KAAA,CAAhBvD,gBAAgB;IAChBgE,KAAK,GAAAT,KAAA,CAALS,KAAK;IAAAC,aAAA,GAAAV,KAAA,CACLpB,OAAO;AAAPA,IAAAA,OAAO,GAAA8B,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACZC,MAAM,GAAAX,KAAA,CAANW,MAAM;IACNC,OAAO,GAAAZ,KAAA,CAAPY,OAAO;IACPC,YAAY,GAAAb,KAAA,CAAZa,YAAY;AACTC,IAAAA,IAAI,GAAAC,wBAAA,CAAAf,KAAA,EAAAgB,SAAA,CAAA;EAEP,IAAMV,MAAM,GAAGD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAVA,UAAU,GAAI,EAAE;AAC/B,EAAA,QAAQT,MAAM;IACZ,KAAK7G,OAAO,CAACC,aAAa;AAAE,MAAA;QAC1B,IAAI2H,MAAM,KAAK,SAAS,IAAIM,UAAU,CAACX,MAAM,CAAC,EAAE;AAC9C,UAAA,IAAMY,SAAS,GAAGZ,MAAM,CAACa,IAAI,CAAC,IAAI,CAAC;UAEnC,oBACElE,GAAA,CAACP,KAAK,EAAA;AACJI,YAAAA,gBAAgB,EAAE;AAAEsD,cAAAA,WAAW,EAAXA,WAAW;AAAEc,cAAAA,SAAS,EAATA;aAAY;AAC7CtE,YAAAA,OAAO,EAAC;AAA4C,WACrD,CAAC;AAEN,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAES,YAAAA,YAAY,EAAZA;WAAe;AAChDjE,UAAAA,OAAO,EAAC;AAAkD,SAC3D,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACE,cAAc;AAAE,MAAA;AAC3B,QAAA,IAAMuF,IAAI,GAAG,CAAC+B,SAAS,EAAEC,QAAQ,CAAC,CAACY,MAAM,CAACC,OAAO,CAAC,CAACF,IAAI,CAAC,GAAG,CAAC;QAC5D,IAAMG,cAAc,GAAG9C,IAAI,IAAI/B,gBAAgB,IAAIgE,KAAK,IAAI,MAAM;QAElE,oBACExD,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEwE,YAAAA,cAAc,EAAdA;WAAiB;AACrC1E,UAAAA,OAAO,EAAC;AAA4C,SACrD,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACG,YAAY;AAAE,MAAA;AAAA,QAAA,IAAAqI,eAAA;AACzB,QAAA,IAAMC,YAAY,GAAGf,KAAK,IAAI,MAAM;AACpC,QAAA,IAAMgB,iBAAiB,GAAG,CAAA7C,OAAO,KAAA,IAAA,IAAPA,OAAO,gBAAA2C,eAAA,GAAP3C,OAAO,CAAE8C,MAAM,cAAAH,eAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAA,CAAiB/B,EAAE,MAAK,KAAK;AACvD,QAAA,IAAMmC,YAAY,GAAGF,iBAAiB,GAClCG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAEhD,OAAO,CAAC,GACzBA,OAAO;AAEX,QAAA,IAAMiD,WAAW,GAAGJ,iBAAiB,gBACnCxE,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEoB,YAAAA,YAAY,EAAZA;WAAe;AAChD5E,UAAAA,OAAO,EAAC;SACT,CAAC,GACA,IAAI;QAER,IAAI6E,iBAAiB,IAAIK,OAAO,CAACH,YAAY,CAAC,EAAE,OAAOE,WAAW;QAElE,IAAME,aAAa,GAAGrD,mBAAmB,CAAC;AACxCE,UAAAA,OAAO,EAAE+C,YAAY;AACrBxD,UAAAA,YAAY,EAAZA;AACF,SAAC,CAAC;AAEF,QAAA,IAAM6D,eAAe,gBACnB/E,GAAA,CAACP,KAAK,EAAA;AACJM,UAAAA,oBAAoB,EAAE;YAAEiF,aAAa,eAAEhF,GAAA,CAAAiF,QAAA,EAAA;AAAA7C,cAAAA,QAAA,EAAG0C;aAAgB;WAAI;AAC9DjF,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEoB,YAAAA,YAAY,EAAZA;WAAe;AAChD5E,UAAAA,OAAO,EAAC;AAA2C,SACpD,CACF;AAED,QAAA,OAAOiF,WAAW,gBAChBM,IAAA,CAAAD,QAAA,EAAA;AAAA7C,UAAAA,QAAA,EAAA,CACGwC,WAAW,EAAC,GAAC,EAACG,eAAe;SAC9B,CAAC,GAEHA,eACD;AACH,MAAA;IAEA,KAAKjJ,OAAO,CAACI,iBAAiB;AAAE,MAAA;QAC9B,IAAIwH,MAAM,KAAK,SAAS,IAAIM,UAAU,CAACX,MAAM,CAAC,EAAE;AAC9C,UAAA,IAAMY,UAAS,GAAGZ,MAAM,CAACa,IAAI,CAAC,IAAI,CAAC;UAEnC,oBACElE,GAAA,CAACP,KAAK,EAAA;AACJI,YAAAA,gBAAgB,EAAE;AAAEsD,cAAAA,WAAW,EAAXA,WAAW;AAAEc,cAAAA,SAAS,EAATA,UAAS;AAAEN,cAAAA,OAAO,EAAPA;aAAU;AACtDhE,YAAAA,OAAO,EAAC;AAA+C,WACxD,CAAC;AAEN,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAES,YAAAA,YAAY,EAAZA;WAAe;AAChDjE,UAAAA,OAAO,EAAC;AAAqD,SAC9D,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACK,oBAAoB;AAAE,MAAA;QACjC,IAAM2I,cAAa,GAAGrD,mBAAmB,CAAC;AAAEE,UAAAA,OAAO,EAAPA,OAAO;AAAET,UAAAA,YAAY,EAAZA;AAAa,SAAC,CAAC;QAEpE,oBACElB,GAAA,CAACP,KAAK,EAAA;AACJM,UAAAA,oBAAoB,EAAE;YAAEiF,aAAa,eAAEhF,GAAA,CAAAiF,QAAA,EAAA;AAAA7C,cAAAA,QAAA,EAAG0C;aAAgB;WAAI;AAC9DjF,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAkD,SAC3D,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACM,YAAY;AAAE,MAAA;AACzB,QAAA,IAAM+I,QAAQ,GAAG3F,gBAAgB,IAAI,MAAM;QAE3C,oBACEQ,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEgC,YAAAA,QAAQ,EAARA;WAAW;AAC5CxF,UAAAA,OAAO,EAAC;AAA2C,SACpD,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACO,YAAY;AAAE,MAAA;AACzB,QAAA,IAAA+I,qBAAA,GAAiEvB,IAAI,CAA7DwB,gBAAgB;AAAhBA,UAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;UAAAE,qBAAA,GAAoCzB,IAAI,CAAtC0B,kBAAkB;AAAlBA,UAAAA,kBAAkB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;UAAE/D,KAAI,GAAKsC,IAAI,CAAbtC,IAAI;AAE5D,QAAA,IAAMiE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,WAAW,EAAA;AAAA,UAAA,OACnCA,WAAW,CACR1D,GAAG,CACF,UAAA2D,UAAU,EAAA;AAAA,YAAA,IAAAC,qBAAA;YAAA,OACR,CAAA,CAAAA,qBAAA,GAAAzC,cAAc,CAACwC,UAAU,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,qBAAA,CAA4BC,WAAW,KACvC5E,QAAQ,CAAC0E,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,UAAA,CACtC,CAAC,CACA3B,IAAI,CAAC,IAAI,CAAC;AAAA,QAAA,CAAA;QAEf,IAAIvE,OAAO,GAAG,2CAA2C;AAEzD,QAAA,IAAI4B,KAAI,EAAE;AACR5B,UAAAA,OAAO,GAAG,+CAA+C;QAC3D,CAAC,MAAM,IAAI0C,SAAS,CAACgD,gBAAgB,CAAC,IAAIhD,SAAS,CAACkD,kBAAkB,CAAC,EAAE;AACvE5F,UAAAA,OAAO,GAAG,sDAAsD;AAClE,QAAA,CAAC,MAAM,IAAI0C,SAAS,CAACgD,gBAAgB,CAAC,EAAE;AACtC1F,UAAAA,OAAO,GAAG,mDAAmD;AAC/D,QAAA,CAAC,MAAM,IAAI0C,SAAS,CAACkD,kBAAkB,CAAC,EAAE;AACxC5F,UAAAA,OAAO,GAAG,qDAAqD;AACjE,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACEE,UAAAA,OAAO,EAAPA,OAAO;AACbE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgC,QAAQ,EAAE3F,gBAAgB,IAAI,MAAM;AACpC+B,YAAAA,IAAI,EAAJA,KAAI;AACJuE,YAAAA,oBAAoB,EAAEN,iBAAiB,CAACH,gBAAgB,CAAC;AACzDU,YAAAA,sBAAsB,EAAEP,iBAAiB,CAACD,kBAAkB,CAAC;YAC7DS,qBAAqB,EAAEX,gBAAgB,CAACY,MAAM;YAC9CC,uBAAuB,EAAEX,kBAAkB,CAACU;AAC9C;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKnK,OAAO,CAACS,yBAAyB;AAAE,MAAA;QACtC,oBACEyD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,uDAAuD;AAC/DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACU,4BAA4B;AAAE,MAAA;QACzC,oBACEwD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,0DAA0D;AAClEE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACW,mCAAmC;AAAE,MAAA;QAChD,oBACEuD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,gEAAgE;AACxEE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACY,qBAAqB;AAAE,MAAA;QAClC,oBACEsD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,mDAAmD;AAC3DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACa,wBAAwB;AAAE,MAAA;QACrC,oBACEqD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,sDAAsD;AAC9DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACc,yBAAyB;AAAE,MAAA;QACtC,oBACEoD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,uDAAuD;AAC/DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACe,4BAA4B;AAAE,MAAA;QACzC,oBACEmD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,0DAA0D;AAClEE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACgB,iBAAiB;AAAE,MAAA;QAC9B,oBACEkD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,gDAAgD;AACxDE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACiB,oBAAoB;AAAE,MAAA;QACjC,oBACEiD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,mDAAmD;AAC3DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACkB,eAAe;AAAE,MAAA;QAC5B,oBACEgD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,8CAA8C;AACtDE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXiD,aAAa,EAAEzE,OAAO,CAACyE;AACzB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKtK,OAAO,CAACmB,kBAAkB;AAAE,MAAA;QAC/B,oBACE+C,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,iDAAiD;AACzDE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXiD,aAAa,EAAEzE,OAAO,CAACyE;AACzB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKtK,OAAO,CAACoB,eAAe;AAAE,MAAA;QAC5B,oBACE8C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAA8C,SACvD,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACqB,kBAAkB;AAAE,MAAA;QAC/B,oBACE6C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAiD,SAC1D,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACwB,cAAc;AAAE,MAAA;QAC3B,oBACE0C,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,6CAA6C;AACrDE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACyB,iBAAiB;AAAE,MAAA;QAC9B,oBACEyC,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,gDAAgD;AACxDE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgD,YAAY,EAAExE,OAAO,CAACwE;AACxB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACsB,wBAAwB;AAAE,MAAA;QACrC,oBACE4C,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,sDAAsD;AAC9DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXkD,eAAe,EAAE1E,OAAO,CAAC0E;AAC3B;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKvK,OAAO,CAACuB,2BAA2B;AAAE,MAAA;QACxC,oBACE2C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAyD,SAClE,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAAC0B,0BAA0B;AAAE,MAAA;QACvC,oBACEwC,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,oDAAoD;AAC5DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXmD,aAAa,EAAE3E,OAAO,CAAC2E;AACzB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKxK,OAAO,CAAC2B,6BAA6B;AAAE,MAAA;QAC1C,oBACEuC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAuD,SAChE,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAAC4B,uBAAuB;AAAE,MAAA;QACpC,oBACEsC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;YAAEoD,QAAQ,EAAE5E,OAAO,CAAC4E;WAAW;AAC9D5G,UAAAA,OAAO,EAAC;AAAqD,SAC9D,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAACQ,YAAY;AAAE,MAAA;AACzB,QAAA,IAAM6I,SAAQ,GAAG3F,gBAAgB,IAAI,MAAM;QAE3C,oBACEQ,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEgC,YAAAA,QAAQ,EAARA;WAAW;AAC5CxF,UAAAA,OAAO,EAAC;AAA2C,SACpD,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAAC6B,eAAe;AAAE,MAAA;QAC5B,oBACEqC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAAM,eAAA,CAAA;AAAIgD,YAAAA,WAAW,EAAXA;AAAW,WAAA,EAAKU,IAAI,CAAG;AAC3ClE,UAAAA,OAAO,EAAC;AAA6C,SACtD,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAAC8B,eAAe;AAAE,MAAA;QAC5B,oBACEoC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAAM,eAAA,CAAA;AAAIgD,YAAAA,WAAW,EAAXA;AAAW,WAAA,EAAKU,IAAI,CAAG;AAC3ClE,UAAAA,OAAO,EAAC;AAA6C,SACtD,CAAC;AAEN,MAAA;IAEA,KAAK7D,OAAO,CAAC+B,eAAe;AAAE,MAAA;QAC5B,oBACEmC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAAM,eAAA,CAAA;AAAIgD,YAAAA,WAAW,EAAXA;AAAW,WAAA,EAAKU,IAAI,CAAG;AAC3ClE,UAAAA,OAAO,EAAC;AAA6C,SACtD,CAAC;AAEN,MAAA;AAEA,IAAA;AAAS,MAAA;QACP,oBACEK,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAA+C,SACxD,CAAC;AAEN,MAAA;AACF;AACF,CAAC;AAEM,IAAM6G,SAAS,GAAGrH,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;AAErC,IAAMqH,qBAAqB,GAAGtH,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC,CAAC;;;;ACvgB1D,IAAMsH,IAAI,GAAG,SAAPA,IAAIA,CAAAhH,IAAA,EAMJ;AAAA,EAAA,IALJiH,QAAQ,GAAAjH,IAAA,CAARiH,QAAQ;IACRzF,YAAY,GAAAxB,IAAA,CAAZwB,YAAY;IACZc,KAAK,GAAAtC,IAAA,CAALsC,KAAK;IACLkB,cAAc,GAAAxD,IAAA,CAAdwD,cAAc;IACd0D,UAAU,GAAAlH,IAAA,CAAVkH,UAAU;AAEV,EAAA,IAAQC,GAAG,GAAqCF,QAAQ,CAAhDE,GAAG;IAAEC,QAAQ,GAA2BH,QAAQ,CAA3CG,QAAQ;IAAEC,SAAS,GAAgBJ,QAAQ,CAAjCI,SAAS;IAAEC,SAAS,GAAKL,QAAQ,CAAtBK,SAAS;AAE3C,EAAA,IAAMrE,MAAM,GAAGD,eAAe,CAACmE,GAAG,CAAC;EACnC,IAAM1D,WAAW,GAAG,CAAA4D,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAExF,IAAI,KAAI,EAAE;AACzC,EAAA,IAAM0F,WAAW,GAAGC,UAAU,CAACC,QAAQ,CAACH,SAAS,CAAC;AAElD,EAAA,IAAMI,SAAS,GAAGtE,qBAAqB,CAAA3C,eAAA,CAAA;AACrCe,IAAAA,YAAY,EAAZA,YAAY;AACZyB,IAAAA,MAAM,EAANA,MAAM;AACNQ,IAAAA,WAAW,EAAXA,WAAW;AACXD,IAAAA,cAAc,EAAdA;GAAc,EACX4D,QAAQ,CACZ,CAAC;AAEF,EAAA,IAAMO,IAAI,GAAGvJ,cAAc,CAAC6E,MAAM,CAAC;AAEnC,EAAA,oBACEuC,IAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,gBAAgB;AAC5B5E,IAAAA,SAAS,EAAEgH,UAAU,CACnB,gGAAgG,EAChG;MACE,uBAAuB,EAAEtF,KAAK,KAAK,CAAC;AACpC,MAAA,cAAc,EAAEA,KAAK,KAAK4E,UAAU,GAAG;AACzC,KACF,CAAE;AAAAxE,IAAAA,QAAA,gBAEFpC,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,mGAAmG;MAAA8B,QAAA,eAChHpC,GAAA,CAACqH,IAAI,EAAA;AAAC/G,QAAAA,SAAS,EAAC,sCAAsC;AAACiH,QAAAA,IAAI,EAAE;OAAK;KAC/D,CAAC,eACNrC,IAAA,CAAA,KAAA,EAAA;AAAK5E,MAAAA,SAAS,EAAC,uBAAuB;AAAC,MAAA,aAAA,EAAY,mBAAmB;MAAA8B,QAAA,EAAA,cACpEpC,GAAA,CAACK,UAAU,EAAA;AACTE,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,gBAAgB;AAC5BiH,QAAAA,UAAU,EAAC,QAAQ;AACnBhH,QAAAA,KAAK,EAAC,OAAO;AAAA4B,QAAAA,QAAA,EAEZgF;AAAS,OACA,CAAC,eACbpH,GAAA,CAACK,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,4BAA4B;AACtC,QAAA,aAAA,EAAY,qBAAqB;AACjCE,QAAAA,KAAK,EAAC,OAAO;AAAA4B,QAAAA,QAAA,EAEZ6E;AAAW,OACF,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AC7DD,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAC,mBAAmB,EAAE;AAAEF,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE3E,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,EAAA,OAASF,KAAK,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAAA,CAAA;AAE9E,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;AAAA,EAAA,OAASH,KAAK,CAACC,GAAG,CAAC,gCAAgC,CAAC;AAAA,CAAA;AAE1E,IAAMG,YAAY,GAAG;AAAEN,EAAAA,cAAc,EAAdA,cAAc;AAAEI,EAAAA,cAAc,EAAdA,cAAc;AAAEC,EAAAA,gBAAgB,EAAhBA;AAAiB,CAAC;;;;ACHlE,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAtI,IAAA,EAAA;AAAA,EAAA,IAAMgI,MAAM,GAAAhI,IAAA,CAANgI,MAAM;IAAAO,YAAA,GAAAvI,IAAA,CAAEwI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;EAAA,OACtDE,QAAQ,CAAAhI,eAAA,CAAA;AACNiI,IAAAA,QAAQ,EAAE,CAACzM,oBAAoB,EAAE+L,MAAM,CAAC;IACxCW,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQN,YAAY,CAACN,cAAc,CAACC,MAAM,CAAC;AAAA,IAAA;GAAA,EAC/CQ,OAAO,CACX,CAAC;AAAA,CAAA;;ACJG,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OAC5BH,QAAQ,CAAC;IACPC,QAAQ,EAAE,CAACxM,wBAAwB,CAAC;IACpCyM,OAAO,EAAEN,YAAY,CAACF,cAAc;AACpCU,IAAAA,SAAS,EAAEC;AACb,GAAC,CAAC;AAAA,CAAA;;ACLG,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;AAAA,EAAA,OAC9BN,QAAQ,CAAC;IACPC,QAAQ,EAAE,CAACvM,0BAA0B,CAAC;IACtCwM,OAAO,EAAEN,YAAY,CAACD,gBAAgB;AACtCS,IAAAA,SAAS,EAAEC;AACb,GAAC,CAAC;AAAA,CAAA;;;;ACQJ,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAAhJ,IAAA,EAAqD;AAAA,EAAA,IAA/CiJ,WAAW,GAAAjJ,IAAA,CAAXiJ,WAAW;IAAEC,cAAc,GAAAlJ,IAAA,CAAdkJ,cAAc;IAAEC,WAAW,GAAAnJ,IAAA,CAAXmJ,WAAW;AAC3D,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,eAAA,GAAsCC,cAAc,EAAE;IAAAC,oBAAA,GAAAF,eAAA,CAA9CG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,oBAAA,KAAA,MAAA,GAAGE,kBAAkB,GAAAF,oBAAA;EAEjC,IAAAG,kBAAA,GAIItB,iBAAiB,CAAC;AAAEN,MAAAA,MAAM,EAAE;AAAE0B,QAAAA,IAAI,EAAJA,IAAI;AAAEG,QAAAA,QAAQ,EAAEtK;AAAqB;AAAE,KAAC,CAAC;IAAAuK,qBAAA,GAAAF,kBAAA,CAHzEG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,MAAA,GAAuC,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArCE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAE9C,UAAU;AAAVA,IAAAA,UAAU,GAAAiD,sBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,sBAAA;IACtCC,SAAS,GAAAR,kBAAA,CAATQ,SAAS;IACTC,UAAU,GAAAT,kBAAA,CAAVS,UAAU;AAGZ,EAAA,IAAAC,kBAAA,GAAgC1B,iBAAiB,EAAE;IAArC2B,aAAa,GAAAD,kBAAA,CAAnBP,IAAI;AAEZ,EAAA,IAAAS,oBAAA,GAAkCzB,mBAAmB,EAAE;IAAzC0B,eAAe,GAAAD,oBAAA,CAArBT,IAAI;EAEZ,IAAMW,aAAa,GAAGH,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEI,SAAS;EAC9C,IAAMC,eAAe,GAAGH,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1E,WAAW;EAEpD,IAAMvC,cAAc,GAAGqH,OAAO,CAC5B,YAAA;IAAA,OAAOD,eAAe,GAAG7D,qBAAqB,CAAC6D,eAAe,CAAC,GAAG,EAAE;AAAA,EAAA,CAAC,EACrE,CAACA,eAAe,CAClB,CAAC;EAED,IAAMpJ,YAAY,GAAGqJ,OAAO,CAC1B,YAAA;IAAA,OAAOH,aAAa,GAAG5D,SAAS,CAAC4D,aAAa,CAAC,GAAG,EAAE;AAAA,EAAA,CAAC,EACrD,CAACA,aAAa,CAChB,CAAC;EAED,IAAIN,SAAS,IAAIC,UAAU,EAAE;AAC3B,IAAA,oBACE/J,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,gDAAgD;AAAA8B,MAAAA,QAAA,eAC7DpC,GAAA,CAACwK,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACEtF,IAAA,CAACuF,SAAS,EAAA;IAACC,aAAa,EAAA,IAAA;AAACpK,IAAAA,SAAS,EAAC,iBAAiB;AAAA8B,IAAAA,QAAA,EAAA,cAClDpC,GAAA,CAAC2K,MAAM,EAAAxK,aAAA,CAAA;AACLG,MAAAA,SAAS,EAAC,eAAe;MACzBsK,KAAK,EAAE5B,CAAC,CAAC,gCAAgC;KAAE,EACvCL,WAAW,CAChB,CAAC,EACDtG,SAAS,CAACuH,SAAS,CAAC,gBACnB5J,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,2CAA2C;MAAA8B,QAAA,EACvDwH,SAAS,CAAC7H,GAAG,CAAC,UAAC4E,QAAQ,EAAE3E,KAAK,EAAA;QAAA,oBAC7B6I,aAAA,CAACnE,IAAI,EAAA;AACGC,UAAAA,QAAQ,EAARA,QAAQ;AAAEzF,UAAAA,YAAY,EAAZA,YAAY;AAAEc,UAAAA,KAAK,EAALA,KAAK;AAAEkB,UAAAA,cAAc,EAAdA,cAAc;UACnD2D,GAAG,EAAEF,QAAQ,CAACmE,EAAG;UACjBlE,UAAU,EAAEgD,SAAS,CAAC3D;AAAO,SAC9B,CAAC;MAAA,CACH;KACE,CAAC,gBAENjG,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,gDAAgD;MAAA8B,QAAA,eAC7DpC,GAAA,CAAC+K,MAAM,EAAA;AACLC,QAAAA,QAAQ,EAAEpC,cAAe;AACzBgC,QAAAA,KAAK,EAAE/B,WAAW,IAAIG,CAAC,CAAC,iCAAiC;OAC1D;AAAC,KACC,CACN,EACApC,UAAU,GAAG,CAAC,iBACb5G,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,4CAA4C;MAAA8B,QAAA,eACzDpC,GAAA,CAACiL,UAAU,EAAA;AACTC,QAAAA,KAAK,EAAEtE,UAAW;AAClBuE,QAAAA,MAAM,EAAEC,QAAQ,CAAChC,IAAI,CAAE;AACvBG,QAAAA,QAAQ,EAAEtK;OACX;AAAC,KACC,CACN;AAAA,GACQ,CAAC;AAEhB;;;;"}
1
+ {"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/constants.js","../src/components/AuditLogs/Trans.jsx","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/Card.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/useCountriesApi.js","../src/components/AuditLogs/usePermissionsApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Zoom,\n} from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\nexport const PERMISSIONS_LIST_QUERY_KEY = \"neeto-team-members-permissions\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\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 INTEGRATION_CONNECTED: \"integration.connected\",\n INTEGRATION_DISCONNECTED: \"integration.disconnected\",\n INTEGRATION_DISCONNECTED_BY_PROVIDER: \"integration.disconnectedByProvider\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\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 AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.INTEGRATION_CONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER]: UserSettings,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const FIELD_NAME_MAP = { organizationRole: \"role\" };\n\nexport const INTEGRATION_ICON_MAP = {\n google_calendar: GoogleCalendar,\n google_meet: GoogleMeet,\n icloud_calendar: Apple,\n outlook: Outlook,\n slack: Slack,\n teams: Teams,\n zoom: Zoom,\n};\n\nexport const INTEGRATION_DISPLAY_NAME_MAP = {\n google_calendar: \"Google Calendar\",\n google_meet: \"Google Meet\",\n icloud_calendar: \"iCloud Calendar\",\n outlook: \"Outlook\",\n slack: \"Slack\",\n teams: \"Microsoft Teams\",\n zoom: \"Zoom\",\n};\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, isEmpty, indexBy, omit, prop } from \"ramda\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n FIELD_NAME_MAP,\n INTEGRATION_DISPLAY_NAME_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatFieldName = field => FIELD_NAME_MAP[field] || humanize(field);\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: formatFieldName(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: formatFieldName(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: formatFieldName(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n permissionsMap = {},\n action,\n performedBy,\n emails: emailsProp,\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ...rest\n}) => {\n const emails = emailsProp ?? [];\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const affectedUser = email || \"user\";\n const isUserDeactivated = changes?.active?.to === false;\n const otherChanges = isUserDeactivated\n ? omit([\"active\"], changes)\n : changes;\n\n const removedText = isUserDeactivated ? (\n <Trans\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.removedUser\"\n />\n ) : null;\n\n if (isUserDeactivated && isEmpty(otherChanges)) return removedText;\n\n const changedFields = formatChangedFields({\n changes: otherChanges,\n countriesMap,\n });\n\n const updatedUserText = (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n\n return removedText ? (\n <>\n {removedText} {updatedUserText}\n </>\n ) : (\n updatedUserText\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(\n permission =>\n permissionsMap[permission]?.description ||\n humanize(permission.split(\".\")[1])\n )\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_CONNECTED: {\n const { integrationName: rawName, onBehalfOf } = rest;\n const integrationName =\n INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);\n const detail = changes?.detail;\n let i18nKey;\n\n if (onBehalfOf && detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalf\";\n } else if (onBehalfOf) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n onBehalfOf,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED: {\n const { integrationName: rawName, onBehalfOf } = rest;\n const integrationName =\n INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);\n const detail = changes?.detail;\n let i18nKey;\n\n if (onBehalfOf && detail) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf\";\n } else if (onBehalfOf) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationDisconnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n onBehalfOf,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER: {\n const { integrationName: rawName } = rest;\n const integrationName =\n INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);\n const detail = changes?.detail;\n const i18nKey = detail\n ? \"neetoMolecules.auditLogs.text.integrationDisconnectedByProvider\"\n : \"neetoMolecules.auditLogs.text.integrationDisconnectedByProviderWithoutDetail\";\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{ performedBy, integrationName, detail }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n\nexport const indexByPermissionName = indexBy(prop(\"name\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { ACTIONS, AUDIT_ICON_MAP, INTEGRATION_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({\n auditLog,\n countriesMap,\n index,\n permissionsMap,\n totalCount,\n}) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n permissionsMap,\n ...metadata,\n });\n\n const isIntegrationAction =\n action === ACTIONS.INTEGRATION_CONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER;\n\n const Icon = isIntegrationAction\n ? INTEGRATION_ICON_MAP[metadata?.integrationName] || AUDIT_ICON_MAP[action]\n : AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst fetchPermissions = () => axios.get(\"neeto_team_members/permissions\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries, fetchPermissions };\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 { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { PERMISSIONS_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchPermissions = () =>\n useQuery({\n queryKey: [PERMISSIONS_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchPermissions,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { useFetchPermissions } from \"./usePermissionsApi\";\nimport { indexById, indexByPermissionName } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\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, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n\n const { data: permissionsData } = useFetchPermissions();\n\n const countriesList = countriesData?.countries;\n const permissionsList = permissionsData?.permissions;\n\n const permissionsMap = useMemo(\n () => (permissionsList ? indexByPermissionName(permissionsList) : {}),\n [permissionsList]\n );\n\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index, permissionsMap }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","INTEGRATION_CONNECTED","INTEGRATION_DISCONNECTED","INTEGRATION_DISCONNECTED_BY_PROVIDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","FIELD_NAME_MAP","organizationRole","INTEGRATION_ICON_MAP","google_calendar","GoogleCalendar","google_meet","GoogleMeet","icloud_calendar","Apple","outlook","Outlook","slack","Slack","teams","Teams","zoom","INTEGRATION_DISPLAY_NAME_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatFieldName","field","humanize","createFieldValueFormatter","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","isPresent","from","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","lastName","email","_ref3$changes","status","message","errorMessage","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","_changes$active","affectedUser","isUserDeactivated","active","otherChanges","omit","removedText","isEmpty","changedFields","updatedUserText","ChangedFields","_Fragment","_jsxs","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","_permissionsMap$permi","description","split","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","rawName","integrationName","onBehalfOf","detail","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","isIntegrationAction","Icon","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","_useFetchPermissions","permissionsData","countriesList","countries","permissionsList","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,IAAMA,oBAAoB,GAAG,YAAY;AACzC,IAAMC,wBAAwB,GAAG,gBAAgB,CAAC;AAClD,IAAMC,0BAA0B,GAAG,gCAAgC,CAAC;;AAEpE,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;AAC3BC,EAAAA,qBAAqB,EAAE,uBAAuB;AAC9CC,EAAAA,wBAAwB,EAAE,0BAA0B;AACpDC,EAAAA,oCAAoC,EAAE,oCAAoC;AAC1EC,EAAAA,wBAAwB,EAAE,wBAAwB;AAClDC,EAAAA,2BAA2B,EAAE,2BAA2B;AACxDC,EAAAA,0BAA0B,EAAE,0BAA0B;AACtDC,EAAAA,6BAA6B,EAAE,6BAA6B;AAC5DC,EAAAA,uBAAuB,EAAE,uBAAuB;AAChDC,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,eAAe,EAAE;AACnB,CAAC;AASM,IAAMC,cAAc,IAAAC,eAAA,GAAA,EAAA,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,eAAA,EACxBrB,OAAO,CAACC,aAAa,EAAGsB,UAAU,CAAA,EAClCvB,OAAO,CAACE,cAAc,EAAGsB,OAAO,CAAA,EAChCxB,OAAO,CAACG,YAAY,EAAGsB,IAAI,CAAA,EAC3BzB,OAAO,CAACI,iBAAiB,EAAGqB,IAAI,CAAA,EAChCzB,OAAO,CAACK,oBAAoB,EAAGqB,YAAY,GAC3C1B,OAAO,CAACM,YAAY,EAAGkB,OAAO,CAAA,EAC9BxB,OAAO,CAACO,YAAY,EAAGmB,YAAY,CAAA,EACnC1B,OAAO,CAACQ,YAAY,EAAGmB,UAAU,GACjC3B,OAAO,CAACS,qBAAqB,EAAGiB,YAAY,CAAA,EAC5C1B,OAAO,CAACU,wBAAwB,EAAGgB,YAAY,CAAA,EAAAJ,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,eAAA,EAC/CrB,OAAO,CAACW,oCAAoC,EAAGe,YAAY,GAC3D1B,OAAO,CAACY,wBAAwB,EAAGgB,cAAc,GACjD5B,OAAO,CAACa,2BAA2B,EAAGgB,MAAM,CAAA,EAC5C7B,OAAO,CAACc,0BAA0B,EAAGgB,IAAI,CAAA,EACzC9B,OAAO,CAACe,6BAA6B,EAAGe,IAAI,CAAA,EAC5C9B,OAAO,CAACgB,uBAAuB,EAAGe,YAAY,CAAA,EAC9C/B,OAAO,CAACiB,eAAe,EAAGe,OAAO,GACjChC,OAAO,CAACkB,eAAe,EAAGc,OAAO,CAAA,EACjChC,OAAO,CAACmB,eAAe,EAAGa,OAAO,CAAA,CACnC;AAEM,IAAMC,oBAAoB,GAAG,EAAE;AAE/B,IAAMC,oBAAoB,GAAGC,OAAO,CAACC,IAAI,CAAC,OAAO,CAAC,EAAEC,gBAAgB,CAAC;AAErE,IAAMC,uBAAuB,GAAG;AACrC,EAAA,UAAU,EAAE,YAAY;AACxB,EAAA,UAAU,EAAE,YAAY;AACxB,EAAA,UAAU,EAAE;AACd,CAAC;AAEM,IAAMC,cAAc,GAAG;AAAEC,EAAAA,gBAAgB,EAAE;AAAO,CAAC;AAEnD,IAAMC,oBAAoB,GAAG;AAClCC,EAAAA,eAAe,EAAEC,cAAc;AAC/BC,EAAAA,WAAW,EAAEC,UAAU;AACvBC,EAAAA,eAAe,EAAEC,KAAK;AACtBC,EAAAA,OAAO,EAAEC,OAAO;AAChBC,EAAAA,KAAK,EAAEC,KAAK;AACZC,EAAAA,KAAK,EAAEC,KAAK;AACZC,EAAAA,IAAI,EAAExB;AACR,CAAC;AAEM,IAAMyB,4BAA4B,GAAG;AAC1Cb,EAAAA,eAAe,EAAE,iBAAiB;AAClCE,EAAAA,WAAW,EAAE,aAAa;AAC1BE,EAAAA,eAAe,EAAE,iBAAiB;AAClCE,EAAAA,OAAO,EAAE,SAAS;AAClBE,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,KAAK,EAAE,iBAAiB;AACxBE,EAAAA,IAAI,EAAE;AACR,CAAC;;;;ACvGD,IAAME,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACTC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAAC,qBAAA,GAAAF,IAAA,CACPG,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAJ,IAAA,CACrBK,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;EAAA,oBAEzBE,GAAA,CAACC,OAAU,EAAA;AACHN,IAAAA,OAAO,EAAPA,OAAO;AACbO,IAAAA,UAAU,EAAAC,eAAA,CAAA;MACRC,IAAI,eACFJ,GAAA,CAACK,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,8CAA8C;AACxDC,QAAAA,SAAS,EAAC,MAAM;AAChBC,QAAAA,KAAK,EAAC;AAAO,OACd,CACF;MACDC,QAAQ,eACNT,GAAA,CAACK,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,oCAAoC;AAC9CC,QAAAA,SAAS,EAAC;OACX;AACF,KAAA,EACER,oBAAoB,CACvB;AACFW,IAAAA,MAAM,EAAAP,eAAA,CAAA;MACJQ,aAAa,EAAEC,WAAW,CAACC;AAAO,KAAA,EAC/BhB,gBAAgB;AACnB,GACH,CAAC;AAAA,CACH;;;;;ACrBD,IAAMiB,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,KAAK,EAAA;EAAA,OAAIvC,cAAc,CAACuC,KAAK,CAAC,IAAIC,QAAQ,CAACD,KAAK,CAAC;AAAA,CAAA;AAEzE,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAvB,IAAA,EAAgC;AAAA,EAAA,IAA1BqB,KAAK,GAAArB,IAAA,CAALqB,KAAK;IAAEG,YAAY,GAAAxB,IAAA,CAAZwB,YAAY;AACtD,EAAA,QAAQH,KAAK;AACX,IAAA,KAAK,UAAU;AACb,MAAA,OAAO,UAAAI,KAAK,EAAA;AAAA,QAAA,IAAAC,qBAAA;AAAA,QAAA,OAAI,CAAA,CAAAA,qBAAA,GAAAjD,oBAAoB,CAACgD,KAAK,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,qBAAA,CAA6BC,KAAK,KAAIF,KAAK;AAAA,MAAA,CAAA;AAC7D,IAAA,KAAK,YAAY;AACf,MAAA,OAAO,UAAAA,KAAK,EAAA;AAAA,QAAA,OAAI5C,uBAAuB,CAAC4C,KAAK,CAAC,IAAIA,KAAK;AAAA,MAAA,CAAA;AACzD,IAAA,KAAK,mBAAmB;AACtB,MAAA,OAAO,UAAAA,KAAK,EAAA;AAAA,QAAA,IAAAG,mBAAA;AAAA,QAAA,OAAI,CAAA,CAAAA,mBAAA,GAAAJ,YAAY,CAACC,KAAK,CAAC,MAAA,IAAA,IAAAG,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAA,CAAqBC,IAAI,KAAIJ,KAAK;AAAA,MAAA,CAAA;AACpD,IAAA;AACE,MAAA,OAAOK,QAAQ;AACnB;AACF,CAAC;AAED,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAAkC;AAAA,EAAA,IAA5BC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAET,YAAY,GAAAQ,KAAA,CAAZR,YAAY;AAClD,EAAA,IAAMU,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,GAAG,CAAC,UAAChB,KAAK,EAAEiB,KAAK,EAAK;AACxD,IAAA,IAAMC,MAAM,GAAGN,OAAO,CAACZ,KAAK,CAAC;IAC7B,IAAMmB,cAAc,GAAGjB,yBAAyB,CAAC;AAAEF,MAAAA,KAAK,EAALA,KAAK;AAAEG,MAAAA,YAAY,EAAZA;AAAa,KAAC,CAAC;AACzE,IAAA,IAAIiB,OAAO;IAEX,IAAIpB,KAAK,KAAK,cAAc,EAAE;AAC5BoB,MAAAA,OAAO,gBACLnC,GAAA,CAAA,MAAA,EAAA;QAAAoC,QAAA,eACEpC,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;YAAEkB,KAAK,EAAED,eAAe,CAACC,KAAK;WAAI;AACpDpB,UAAAA,OAAO,EAAC;SACT;AAAC,OAAA,EAJOoB,KAKL,CACP;IACH,CAAC,MAAM,IAAIkB,MAAM,IAAII,SAAS,CAACJ,MAAM,CAACK,IAAI,CAAC,EAAE;AAC3CH,MAAAA,OAAO,gBACLnC,GAAA,CAAA,MAAA,EAAA;QAAAoC,QAAA,eACEpC,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,8DAA8D;AACtEE,UAAAA,gBAAgB,EAAE;AAChBkB,YAAAA,KAAK,EAAED,eAAe,CAACC,KAAK,CAAC;AAC7BuB,YAAAA,IAAI,EAAEJ,cAAc,CAACD,MAAM,CAACK,IAAI,CAAC;AACjCC,YAAAA,EAAE,EAAEL,cAAc,CAACD,MAAM,CAACM,EAAE;AAC9B;SACD;AAAC,OAAA,EAROxB,KASL,CACP;AACH,IAAA,CAAC,MAAM;AACLoB,MAAAA,OAAO,gBACLnC,GAAA,CAAA,MAAA,EAAA;QAAAoC,QAAA,eACEpC,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,yDAAyD;AACjEE,UAAAA,gBAAgB,EAAE;AAChBkB,YAAAA,KAAK,EAAED,eAAe,CAACC,KAAK,CAAC;AAC7BwB,YAAAA,EAAE,EAAEL,cAAc,CAACD,MAAM,CAACM,EAAE;AAC9B;SACD;AAAC,OAAA,EAPOxB,KAQL,CACP;AACH,IAAA;AAEA,IAAA,OAAOiB,KAAK,GAAG,CAAC,GACZ,cAAChC,GAAA,CAAA,MAAA,EAAA;AAAAoC,MAAAA,QAAA,EAA2B;KAAE,EAAA,MAAA,CAAAI,MAAA,CAAXzB,KAAK,CAAY,CAAC,EAAEoB,OAAO,CAAC,GAC/CA,OAAO;AACb,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOP,MAAM,CAACa,IAAI,EAAE;AACtB,CAAC;AAEM,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,MAAM,EAAA;EAAA,OACnCC,gBAAgB,CAACD,MAAM,CAACE,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAAA,CAAA;AAE3D,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAe5B;AAAA,EAAA,IAAAC,kBAAA,GAAAD,KAAA,CAdJ7B,YAAY;AAAZA,IAAAA,YAAY,GAAA8B,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAC,oBAAA,GAAAF,KAAA,CACjBG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IACnBN,MAAM,GAAAI,KAAA,CAANJ,MAAM;IACNQ,WAAW,GAAAJ,KAAA,CAAXI,WAAW;IACHC,UAAU,GAAAL,KAAA,CAAlBM,MAAM;IACNC,SAAS,GAAAP,KAAA,CAATO,SAAS;IACTC,QAAQ,GAAAR,KAAA,CAARQ,QAAQ;IACR9E,gBAAgB,GAAAsE,KAAA,CAAhBtE,gBAAgB;IAChB+E,KAAK,GAAAT,KAAA,CAALS,KAAK;IAAAC,aAAA,GAAAV,KAAA,CACLpB,OAAO;AAAPA,IAAAA,OAAO,GAAA8B,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACZC,MAAM,GAAAX,KAAA,CAANW,MAAM;IACNC,OAAO,GAAAZ,KAAA,CAAPY,OAAO;IACPC,YAAY,GAAAb,KAAA,CAAZa,YAAY;AACTC,IAAAA,IAAI,GAAAC,wBAAA,CAAAf,KAAA,EAAAgB,SAAA,CAAA;EAEP,IAAMV,MAAM,GAAGD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAVA,UAAU,GAAI,EAAE;AAC/B,EAAA,QAAQT,MAAM;IACZ,KAAK1G,OAAO,CAACC,aAAa;AAAE,MAAA;QAC1B,IAAIwH,MAAM,KAAK,SAAS,IAAIM,UAAU,CAACX,MAAM,CAAC,EAAE;AAC9C,UAAA,IAAMY,SAAS,GAAGZ,MAAM,CAACa,IAAI,CAAC,IAAI,CAAC;UAEnC,oBACElE,GAAA,CAACP,KAAK,EAAA;AACJI,YAAAA,gBAAgB,EAAE;AAAEsD,cAAAA,WAAW,EAAXA,WAAW;AAAEc,cAAAA,SAAS,EAATA;aAAY;AAC7CtE,YAAAA,OAAO,EAAC;AAA4C,WACrD,CAAC;AAEN,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAES,YAAAA,YAAY,EAAZA;WAAe;AAChDjE,UAAAA,OAAO,EAAC;AAAkD,SAC3D,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACE,cAAc;AAAE,MAAA;AAC3B,QAAA,IAAMoF,IAAI,GAAG,CAAC+B,SAAS,EAAEC,QAAQ,CAAC,CAACY,MAAM,CAACC,OAAO,CAAC,CAACF,IAAI,CAAC,GAAG,CAAC;QAC5D,IAAMG,cAAc,GAAG9C,IAAI,IAAI9C,gBAAgB,IAAI+E,KAAK,IAAI,MAAM;QAElE,oBACExD,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEwE,YAAAA,cAAc,EAAdA;WAAiB;AACrC1E,UAAAA,OAAO,EAAC;AAA4C,SACrD,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACG,YAAY;AAAE,MAAA;AAAA,QAAA,IAAAkI,eAAA;AACzB,QAAA,IAAMC,YAAY,GAAGf,KAAK,IAAI,MAAM;AACpC,QAAA,IAAMgB,iBAAiB,GAAG,CAAA7C,OAAO,KAAA,IAAA,IAAPA,OAAO,gBAAA2C,eAAA,GAAP3C,OAAO,CAAE8C,MAAM,cAAAH,eAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAA,CAAiB/B,EAAE,MAAK,KAAK;AACvD,QAAA,IAAMmC,YAAY,GAAGF,iBAAiB,GAClCG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAEhD,OAAO,CAAC,GACzBA,OAAO;AAEX,QAAA,IAAMiD,WAAW,GAAGJ,iBAAiB,gBACnCxE,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEoB,YAAAA,YAAY,EAAZA;WAAe;AAChD5E,UAAAA,OAAO,EAAC;SACT,CAAC,GACA,IAAI;QAER,IAAI6E,iBAAiB,IAAIK,OAAO,CAACH,YAAY,CAAC,EAAE,OAAOE,WAAW;QAElE,IAAME,aAAa,GAAGrD,mBAAmB,CAAC;AACxCE,UAAAA,OAAO,EAAE+C,YAAY;AACrBxD,UAAAA,YAAY,EAAZA;AACF,SAAC,CAAC;AAEF,QAAA,IAAM6D,eAAe,gBACnB/E,GAAA,CAACP,KAAK,EAAA;AACJM,UAAAA,oBAAoB,EAAE;YAAEiF,aAAa,eAAEhF,GAAA,CAAAiF,QAAA,EAAA;AAAA7C,cAAAA,QAAA,EAAG0C;aAAgB;WAAI;AAC9DjF,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEoB,YAAAA,YAAY,EAAZA;WAAe;AAChD5E,UAAAA,OAAO,EAAC;AAA2C,SACpD,CACF;AAED,QAAA,OAAOiF,WAAW,gBAChBM,IAAA,CAAAD,QAAA,EAAA;AAAA7C,UAAAA,QAAA,EAAA,CACGwC,WAAW,EAAC,GAAC,EAACG,eAAe;SAC9B,CAAC,GAEHA,eACD;AACH,MAAA;IAEA,KAAK9I,OAAO,CAACI,iBAAiB;AAAE,MAAA;QAC9B,IAAIqH,MAAM,KAAK,SAAS,IAAIM,UAAU,CAACX,MAAM,CAAC,EAAE;AAC9C,UAAA,IAAMY,UAAS,GAAGZ,MAAM,CAACa,IAAI,CAAC,IAAI,CAAC;UAEnC,oBACElE,GAAA,CAACP,KAAK,EAAA;AACJI,YAAAA,gBAAgB,EAAE;AAAEsD,cAAAA,WAAW,EAAXA,WAAW;AAAEc,cAAAA,SAAS,EAATA,UAAS;AAAEN,cAAAA,OAAO,EAAPA;aAAU;AACtDhE,YAAAA,OAAO,EAAC;AAA+C,WACxD,CAAC;AAEN,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAES,YAAAA,YAAY,EAAZA;WAAe;AAChDjE,UAAAA,OAAO,EAAC;AAAqD,SAC9D,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACK,oBAAoB;AAAE,MAAA;QACjC,IAAMwI,cAAa,GAAGrD,mBAAmB,CAAC;AAAEE,UAAAA,OAAO,EAAPA,OAAO;AAAET,UAAAA,YAAY,EAAZA;AAAa,SAAC,CAAC;QAEpE,oBACElB,GAAA,CAACP,KAAK,EAAA;AACJM,UAAAA,oBAAoB,EAAE;YAAEiF,aAAa,eAAEhF,GAAA,CAAAiF,QAAA,EAAA;AAAA7C,cAAAA,QAAA,EAAG0C;aAAgB;WAAI;AAC9DjF,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAkD,SAC3D,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACM,YAAY;AAAE,MAAA;AACzB,QAAA,IAAM4I,QAAQ,GAAG1G,gBAAgB,IAAI,MAAM;QAE3C,oBACEuB,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEgC,YAAAA,QAAQ,EAARA;WAAW;AAC5CxF,UAAAA,OAAO,EAAC;AAA2C,SACpD,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACO,YAAY;AAAE,MAAA;AACzB,QAAA,IAAA4I,qBAAA,GAAiEvB,IAAI,CAA7DwB,gBAAgB;AAAhBA,UAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;UAAAE,qBAAA,GAAoCzB,IAAI,CAAtC0B,kBAAkB;AAAlBA,UAAAA,kBAAkB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;UAAE/D,KAAI,GAAKsC,IAAI,CAAbtC,IAAI;AAE5D,QAAA,IAAMiE,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,WAAW,EAAA;AAAA,UAAA,OACnCA,WAAW,CACR1D,GAAG,CACF,UAAA2D,UAAU,EAAA;AAAA,YAAA,IAAAC,qBAAA;YAAA,OACR,CAAA,CAAAA,qBAAA,GAAAzC,cAAc,CAACwC,UAAU,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,qBAAA,CAA4BC,WAAW,KACvC5E,QAAQ,CAAC0E,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,UAAA,CACtC,CAAC,CACA3B,IAAI,CAAC,IAAI,CAAC;AAAA,QAAA,CAAA;QAEf,IAAIvE,OAAO,GAAG,2CAA2C;AAEzD,QAAA,IAAI4B,KAAI,EAAE;AACR5B,UAAAA,OAAO,GAAG,+CAA+C;QAC3D,CAAC,MAAM,IAAI0C,SAAS,CAACgD,gBAAgB,CAAC,IAAIhD,SAAS,CAACkD,kBAAkB,CAAC,EAAE;AACvE5F,UAAAA,OAAO,GAAG,sDAAsD;AAClE,QAAA,CAAC,MAAM,IAAI0C,SAAS,CAACgD,gBAAgB,CAAC,EAAE;AACtC1F,UAAAA,OAAO,GAAG,mDAAmD;AAC/D,QAAA,CAAC,MAAM,IAAI0C,SAAS,CAACkD,kBAAkB,CAAC,EAAE;AACxC5F,UAAAA,OAAO,GAAG,qDAAqD;AACjE,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACEE,UAAAA,OAAO,EAAPA,OAAO;AACbE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXgC,QAAQ,EAAE1G,gBAAgB,IAAI,MAAM;AACpC8C,YAAAA,IAAI,EAAJA,KAAI;AACJuE,YAAAA,oBAAoB,EAAEN,iBAAiB,CAACH,gBAAgB,CAAC;AACzDU,YAAAA,sBAAsB,EAAEP,iBAAiB,CAACD,kBAAkB,CAAC;YAC7DS,qBAAqB,EAAEX,gBAAgB,CAACY,MAAM;YAC9CC,uBAAuB,EAAEX,kBAAkB,CAACU;AAC9C;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKhK,OAAO,CAACS,qBAAqB;AAAE,MAAA;AAClC,QAAA,IAAyByJ,OAAO,GAAiBtC,IAAI,CAA7CuC,eAAe;UAAWC,UAAU,GAAKxC,IAAI,CAAnBwC,UAAU;QAC5C,IAAMD,eAAe,GACnB5G,4BAA4B,CAAC2G,OAAO,CAAC,IAAInF,QAAQ,CAACmF,OAAO,CAAC;QAC5D,IAAMG,MAAM,GAAG3E,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE2E,MAAM;AAC9B,QAAA,IAAI3G,QAAO;QAEX,IAAI0G,UAAU,IAAIC,MAAM,EAAE;AACxB3G,UAAAA,QAAO,GAAG,4DAA4D;QACxE,CAAC,MAAM,IAAI0G,UAAU,EAAE;AACrB1G,UAAAA,QAAO,GACL,yEAAyE;QAC7E,CAAC,MAAM,IAAI2G,MAAM,EAAE;AACjB3G,UAAAA,QAAO,GAAG,oDAAoD;AAChE,QAAA,CAAC,MAAM;AACLA,UAAAA,QAAO,GACL,iEAAiE;AACrE,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACEE,UAAAA,OAAO,EAAPA,QAAO;AACbE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;AACXiD,YAAAA,eAAe,EAAfA,eAAe;AACfE,YAAAA,MAAM,EAANA,MAAM;AACND,YAAAA,UAAU,EAAVA;AACF;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKpK,OAAO,CAACU,wBAAwB;AAAE,MAAA;AACrC,QAAA,IAAyBwJ,QAAO,GAAiBtC,IAAI,CAA7CuC,eAAe;UAAWC,WAAU,GAAKxC,IAAI,CAAnBwC,UAAU;QAC5C,IAAMD,gBAAe,GACnB5G,4BAA4B,CAAC2G,QAAO,CAAC,IAAInF,QAAQ,CAACmF,QAAO,CAAC;QAC5D,IAAMG,OAAM,GAAG3E,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE2E,MAAM;AAC9B,QAAA,IAAI3G,SAAO;QAEX,IAAI0G,WAAU,IAAIC,OAAM,EAAE;AACxB3G,UAAAA,SAAO,GACL,+DAA+D;QACnE,CAAC,MAAM,IAAI0G,WAAU,EAAE;AACrB1G,UAAAA,SAAO,GACL,4EAA4E;QAChF,CAAC,MAAM,IAAI2G,OAAM,EAAE;AACjB3G,UAAAA,SAAO,GAAG,uDAAuD;AACnE,QAAA,CAAC,MAAM;AACLA,UAAAA,SAAO,GACL,oEAAoE;AACxE,QAAA;QAEA,oBACEK,GAAA,CAACP,KAAK,EAAA;AACEE,UAAAA,OAAO,EAAPA,SAAO;AACbE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;AACXiD,YAAAA,eAAe,EAAfA,gBAAe;AACfE,YAAAA,MAAM,EAANA,OAAM;AACND,YAAAA,UAAU,EAAVA;AACF;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKpK,OAAO,CAACW,oCAAoC;AAAE,MAAA;AACjD,QAAA,IAAyBuJ,SAAO,GAAKtC,IAAI,CAAjCuC,eAAe;QACvB,IAAMA,iBAAe,GACnB5G,4BAA4B,CAAC2G,SAAO,CAAC,IAAInF,QAAQ,CAACmF,SAAO,CAAC;QAC5D,IAAMG,QAAM,GAAG3E,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE2E,MAAM;AAC9B,QAAA,IAAM3G,SAAO,GAAG2G,QAAM,GAClB,iEAAiE,GACjE,8EAA8E;QAElF,oBACEtG,GAAA,CAACP,KAAK,EAAA;AACEE,UAAAA,OAAO,EAAPA,SAAO;AACbE,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEiD,YAAAA,eAAe,EAAfA,iBAAe;AAAEE,YAAAA,MAAM,EAANA;AAAO;AAAE,SAC5D,CAAC;AAEN,MAAA;IAEA,KAAKrK,OAAO,CAACY,wBAAwB;AAAE,MAAA;QACrC,oBACEmD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,sDAAsD;AAC9DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXoD,eAAe,EAAE5E,OAAO,CAAC4E;AAC3B;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKtK,OAAO,CAACa,2BAA2B;AAAE,MAAA;QACxC,oBACEkD,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAyD,SAClE,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACc,0BAA0B;AAAE,MAAA;QACvC,oBACEiD,GAAA,CAACP,KAAK,EAAA;AACJE,UAAAA,OAAO,EAAC,oDAAoD;AAC5DE,UAAAA,gBAAgB,EAAE;AAChBsD,YAAAA,WAAW,EAAXA,WAAW;YACXqD,aAAa,EAAE7E,OAAO,CAAC6E;AACzB;AAAE,SACH,CAAC;AAEN,MAAA;IAEA,KAAKvK,OAAO,CAACe,6BAA6B;AAAE,MAAA;QAC1C,oBACEgD,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAAuD,SAChE,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACgB,uBAAuB;AAAE,MAAA;QACpC,oBACE+C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;YAAEsD,QAAQ,EAAE9E,OAAO,CAAC8E;WAAW;AAC9D9G,UAAAA,OAAO,EAAC;AAAqD,SAC9D,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACQ,YAAY;AAAE,MAAA;AACzB,QAAA,IAAM0I,SAAQ,GAAG1G,gBAAgB,IAAI,MAAM;QAE3C,oBACEuB,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA,WAAW;AAAEgC,YAAAA,QAAQ,EAARA;WAAW;AAC5CxF,UAAAA,OAAO,EAAC;AAA2C,SACpD,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACiB,eAAe;AAAE,MAAA;QAC5B,oBACE8C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAAM,eAAA,CAAA;AAAIgD,YAAAA,WAAW,EAAXA;AAAW,WAAA,EAAKU,IAAI,CAAG;AAC3ClE,UAAAA,OAAO,EAAC;AAA6C,SACtD,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACkB,eAAe;AAAE,MAAA;QAC5B,oBACE6C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAAM,eAAA,CAAA;AAAIgD,YAAAA,WAAW,EAAXA;AAAW,WAAA,EAAKU,IAAI,CAAG;AAC3ClE,UAAAA,OAAO,EAAC;AAA6C,SACtD,CAAC;AAEN,MAAA;IAEA,KAAK1D,OAAO,CAACmB,eAAe;AAAE,MAAA;QAC5B,oBACE4C,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAAM,eAAA,CAAA;AAAIgD,YAAAA,WAAW,EAAXA;AAAW,WAAA,EAAKU,IAAI,CAAG;AAC3ClE,UAAAA,OAAO,EAAC;AAA6C,SACtD,CAAC;AAEN,MAAA;AAEA,IAAA;AAAS,MAAA;QACP,oBACEK,GAAA,CAACP,KAAK,EAAA;AACJI,UAAAA,gBAAgB,EAAE;AAAEsD,YAAAA,WAAW,EAAXA;WAAc;AAClCxD,UAAAA,OAAO,EAAC;AAA+C,SACxD,CAAC;AAEN,MAAA;AACF;AACF,CAAC;AAEM,IAAM+G,SAAS,GAAGtI,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;AAErC,IAAMsI,qBAAqB,GAAGvI,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC,CAAC;;;;AC5a1D,IAAMuI,IAAI,GAAG,SAAPA,IAAIA,CAAAlH,IAAA,EAMJ;AAAA,EAAA,IALJmH,QAAQ,GAAAnH,IAAA,CAARmH,QAAQ;IACR3F,YAAY,GAAAxB,IAAA,CAAZwB,YAAY;IACZc,KAAK,GAAAtC,IAAA,CAALsC,KAAK;IACLkB,cAAc,GAAAxD,IAAA,CAAdwD,cAAc;IACd4D,UAAU,GAAApH,IAAA,CAAVoH,UAAU;AAEV,EAAA,IAAQC,GAAG,GAAqCF,QAAQ,CAAhDE,GAAG;IAAEC,QAAQ,GAA2BH,QAAQ,CAA3CG,QAAQ;IAAEC,SAAS,GAAgBJ,QAAQ,CAAjCI,SAAS;IAAEC,SAAS,GAAKL,QAAQ,CAAtBK,SAAS;AAE3C,EAAA,IAAMvE,MAAM,GAAGD,eAAe,CAACqE,GAAG,CAAC;EACnC,IAAM5D,WAAW,GAAG,CAAA8D,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAE1F,IAAI,KAAI,EAAE;AACzC,EAAA,IAAM4F,WAAW,GAAGC,UAAU,CAACC,QAAQ,CAACH,SAAS,CAAC;AAElD,EAAA,IAAMI,SAAS,GAAGxE,qBAAqB,CAAA3C,eAAA,CAAA;AACrCe,IAAAA,YAAY,EAAZA,YAAY;AACZyB,IAAAA,MAAM,EAANA,MAAM;AACNQ,IAAAA,WAAW,EAAXA,WAAW;AACXD,IAAAA,cAAc,EAAdA;GAAc,EACX8D,QAAQ,CACZ,CAAC;AAEF,EAAA,IAAMO,mBAAmB,GACvB5E,MAAM,KAAK1G,OAAO,CAACS,qBAAqB,IACxCiG,MAAM,KAAK1G,OAAO,CAACU,wBAAwB,IAC3CgG,MAAM,KAAK1G,OAAO,CAACW,oCAAoC;EAEzD,IAAM4K,IAAI,GAAGD,mBAAmB,GAC5B7I,oBAAoB,CAACsI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEZ,eAAe,CAAC,IAAI/I,cAAc,CAACsF,MAAM,CAAC,GACzEtF,cAAc,CAACsF,MAAM,CAAC;AAE1B,EAAA,oBACEuC,IAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,gBAAgB;AAC5B5E,IAAAA,SAAS,EAAEmH,UAAU,CACnB,gGAAgG,EAChG;MACE,uBAAuB,EAAEzF,KAAK,KAAK,CAAC;AACpC,MAAA,cAAc,EAAEA,KAAK,KAAK8E,UAAU,GAAG;AACzC,KACF,CAAE;AAAA1E,IAAAA,QAAA,gBAEFpC,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,mGAAmG;MAAA8B,QAAA,eAChHpC,GAAA,CAACwH,IAAI,EAAA;AAAClH,QAAAA,SAAS,EAAC,sCAAsC;AAACoH,QAAAA,IAAI,EAAE;OAAK;KAC/D,CAAC,eACNxC,IAAA,CAAA,KAAA,EAAA;AAAK5E,MAAAA,SAAS,EAAC,uBAAuB;AAAC,MAAA,aAAA,EAAY,mBAAmB;MAAA8B,QAAA,EAAA,cACpEpC,GAAA,CAACK,UAAU,EAAA;AACTE,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,aAAA,EAAY,gBAAgB;AAC5BoH,QAAAA,UAAU,EAAC,QAAQ;AACnBnH,QAAAA,KAAK,EAAC,OAAO;AAAA4B,QAAAA,QAAA,EAEZkF;AAAS,OACA,CAAC,eACbtH,GAAA,CAACK,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,4BAA4B;AACtC,QAAA,aAAA,EAAY,qBAAqB;AACjCE,QAAAA,KAAK,EAAC,OAAO;AAAA4B,QAAAA,QAAA,EAEZ+E;AAAW,OACF,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;ACpED,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAC,mBAAmB,EAAE;AAAEF,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE3E,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,EAAA,OAASF,KAAK,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAAA,CAAA;AAE9E,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;AAAA,EAAA,OAASH,KAAK,CAACC,GAAG,CAAC,gCAAgC,CAAC;AAAA,CAAA;AAE1E,IAAMG,YAAY,GAAG;AAAEN,EAAAA,cAAc,EAAdA,cAAc;AAAEI,EAAAA,cAAc,EAAdA,cAAc;AAAEC,EAAAA,gBAAgB,EAAhBA;AAAiB,CAAC;;;;ACHlE,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAzI,IAAA,EAAA;AAAA,EAAA,IAAMmI,MAAM,GAAAnI,IAAA,CAANmI,MAAM;IAAAO,YAAA,GAAA1I,IAAA,CAAE2I,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;EAAA,OACtDE,QAAQ,CAAAnI,eAAA,CAAA;AACNoI,IAAAA,QAAQ,EAAE,CAACzM,oBAAoB,EAAE+L,MAAM,CAAC;IACxCW,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQN,YAAY,CAACN,cAAc,CAACC,MAAM,CAAC;AAAA,IAAA;GAAA,EAC/CQ,OAAO,CACX,CAAC;AAAA,CAAA;;ACJG,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,OAC5BH,QAAQ,CAAC;IACPC,QAAQ,EAAE,CAACxM,wBAAwB,CAAC;IACpCyM,OAAO,EAAEN,YAAY,CAACF,cAAc;AACpCU,IAAAA,SAAS,EAAEC;AACb,GAAC,CAAC;AAAA,CAAA;;ACLG,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;AAAA,EAAA,OAC9BN,QAAQ,CAAC;IACPC,QAAQ,EAAE,CAACvM,0BAA0B,CAAC;IACtCwM,OAAO,EAAEN,YAAY,CAACD,gBAAgB;AACtCS,IAAAA,SAAS,EAAEC;AACb,GAAC,CAAC;AAAA,CAAA;;;;ACQJ,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAAnJ,IAAA,EAAqD;AAAA,EAAA,IAA/CoJ,WAAW,GAAApJ,IAAA,CAAXoJ,WAAW;IAAEC,cAAc,GAAArJ,IAAA,CAAdqJ,cAAc;IAAEC,WAAW,GAAAtJ,IAAA,CAAXsJ,WAAW;AAC3D,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,eAAA,GAAsCC,cAAc,EAAE;IAAAC,oBAAA,GAAAF,eAAA,CAA9CG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,oBAAA,KAAA,MAAA,GAAGE,kBAAkB,GAAAF,oBAAA;EAEjC,IAAAG,kBAAA,GAIItB,iBAAiB,CAAC;AAAEN,MAAAA,MAAM,EAAE;AAAE0B,QAAAA,IAAI,EAAJA,IAAI;AAAEG,QAAAA,QAAQ,EAAExL;AAAqB;AAAE,KAAC,CAAC;IAAAyL,qBAAA,GAAAF,kBAAA,CAHzEG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,MAAA,GAAuC,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArCE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAE/C,UAAU;AAAVA,IAAAA,UAAU,GAAAkD,sBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,sBAAA;IACtCC,SAAS,GAAAR,kBAAA,CAATQ,SAAS;IACTC,UAAU,GAAAT,kBAAA,CAAVS,UAAU;AAGZ,EAAA,IAAAC,kBAAA,GAAgC1B,iBAAiB,EAAE;IAArC2B,aAAa,GAAAD,kBAAA,CAAnBP,IAAI;AAEZ,EAAA,IAAAS,oBAAA,GAAkCzB,mBAAmB,EAAE;IAAzC0B,eAAe,GAAAD,oBAAA,CAArBT,IAAI;EAEZ,IAAMW,aAAa,GAAGH,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEI,SAAS;EAC9C,IAAMC,eAAe,GAAGH,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE7E,WAAW;EAEpD,IAAMvC,cAAc,GAAGwH,OAAO,CAC5B,YAAA;IAAA,OAAOD,eAAe,GAAG9D,qBAAqB,CAAC8D,eAAe,CAAC,GAAG,EAAE;AAAA,EAAA,CAAC,EACrE,CAACA,eAAe,CAClB,CAAC;EAED,IAAMvJ,YAAY,GAAGwJ,OAAO,CAC1B,YAAA;IAAA,OAAOH,aAAa,GAAG7D,SAAS,CAAC6D,aAAa,CAAC,GAAG,EAAE;AAAA,EAAA,CAAC,EACrD,CAACA,aAAa,CAChB,CAAC;EAED,IAAIN,SAAS,IAAIC,UAAU,EAAE;AAC3B,IAAA,oBACElK,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,gDAAgD;AAAA8B,MAAAA,QAAA,eAC7DpC,GAAA,CAAC2K,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACEzF,IAAA,CAAC0F,SAAS,EAAA;IAACC,aAAa,EAAA,IAAA;AAACvK,IAAAA,SAAS,EAAC,iBAAiB;AAAA8B,IAAAA,QAAA,EAAA,cAClDpC,GAAA,CAAC8K,MAAM,EAAA3K,aAAA,CAAA;AACLG,MAAAA,SAAS,EAAC,eAAe;MACzByK,KAAK,EAAE5B,CAAC,CAAC,gCAAgC;KAAE,EACvCL,WAAW,CAChB,CAAC,EACDzG,SAAS,CAAC0H,SAAS,CAAC,gBACnB/J,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,2CAA2C;MAAA8B,QAAA,EACvD2H,SAAS,CAAChI,GAAG,CAAC,UAAC8E,QAAQ,EAAE7E,KAAK,EAAA;QAAA,oBAC7BgJ,aAAA,CAACpE,IAAI,EAAA;AACGC,UAAAA,QAAQ,EAARA,QAAQ;AAAE3F,UAAAA,YAAY,EAAZA,YAAY;AAAEc,UAAAA,KAAK,EAALA,KAAK;AAAEkB,UAAAA,cAAc,EAAdA,cAAc;UACnD6D,GAAG,EAAEF,QAAQ,CAACoE,EAAG;UACjBnE,UAAU,EAAEiD,SAAS,CAAC9D;AAAO,SAC9B,CAAC;MAAA,CACH;KACE,CAAC,gBAENjG,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,gDAAgD;MAAA8B,QAAA,eAC7DpC,GAAA,CAACkL,MAAM,EAAA;AACLC,QAAAA,QAAQ,EAAEpC,cAAe;AACzBgC,QAAAA,KAAK,EAAE/B,WAAW,IAAIG,CAAC,CAAC,iCAAiC;OAC1D;AAAC,KACC,CACN,EACArC,UAAU,GAAG,CAAC,iBACb9G,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,4CAA4C;MAAA8B,QAAA,eACzDpC,GAAA,CAACoL,UAAU,EAAA;AACTC,QAAAA,KAAK,EAAEvE,UAAW;AAClBwE,QAAAA,MAAM,EAAEC,QAAQ,CAAChC,IAAI,CAAE;AACvBG,QAAAA,QAAQ,EAAExL;OACX;AAAC,KACC,CACN;AAAA,GACQ,CAAC;AAEhB;;;;"}
@@ -73,23 +73,11 @@ var ACTIONS = {
73
73
  CREATED_ROLE: "createdRole",
74
74
  UPDATED_ROLE: "updatedRole",
75
75
  DELETED_ROLE: "deletedRole",
76
- CONNECTED_GOOGLE_CALENDER: "connectedGoogleCalendar",
77
- DISCONNECTED_GOOGLE_CALENDER: "disconnectedGoogleCalendar",
78
- GOOGLE_DISCONNECTED_GOOGLE_CALENDAR: "googleDisconnectedGoogleCalendar",
79
- CONNECTED_GOOGLE_MEET: "connectedGoogleMeet",
80
- DISCONNECTED_GOOGLE_MEET: "disconnectedGoogleMeet",
81
- CONNECTED_ICLOUD_CALENDAR: "connectedIcloudCalendar",
82
- DISCONNECTED_ICLOUD_CALENDAR: "disconnectedIcloudCalendar",
83
- CONNECTED_OUTLOOK: "connectedOutlook",
84
- DISCONNECTED_OUTLOOK: "disconnectedOutlook",
85
- CONNECTED_SLACK: "connectedSlack",
86
- DISCONNECTED_SLACK: "disconnectedSlack",
87
- CONNECTED_TEAMS: "connectedTeams",
88
- DISCONNECTED_TEAMS: "disconnectedTeams",
76
+ INTEGRATION_CONNECTED: "integration.connected",
77
+ INTEGRATION_DISCONNECTED: "integration.disconnected",
78
+ INTEGRATION_DISCONNECTED_BY_PROVIDER: "integration.disconnectedByProvider",
89
79
  CONNECTED_STRIPE_ACCOUNT: "connectedStripeAccount",
90
80
  DISCONNECTED_STRIPE_ACCOUNT: "disconnectedStripeAccount",
91
- CONNECTED_ZOOM: "connectedZoom",
92
- DISCONNECTED_ZOOM: "disconnectedZoom",
93
81
  CONNECTED_ZOOM_INTEGRATION: "connectedZoomIntegration",
94
82
  DISCONNECTED_ZOOM_INTEGRATION: "disconnectedZoomIntegration",
95
83
  CONNECTED_CUSTOM_DOMAIN: "connectedCustomDomain",
@@ -97,7 +85,7 @@ var ACTIONS = {
97
85
  DELETED_API_KEY: "deletedApiKey",
98
86
  UPDATED_API_KEY: "updatedApiKey"
99
87
  };
100
- var AUDIT_ICON_MAP = (_AUDIT_ICON_MAP = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INVITED_USERS, UserCircle), ACTIONS.USER_SIGNED_UP, UserAdd), ACTIONS.UPDATED_USER, User), ACTIONS.BULK_UPDATE_USERS, User), ACTIONS.UPDATED_USER_PROFILE, UserSettings), ACTIONS.CREATED_ROLE, UserAdd), ACTIONS.UPDATED_ROLE, UserSettings), ACTIONS.DELETED_ROLE, UserRemove), ACTIONS.CONNECTED_GOOGLE_CALENDER, GoogleCalendar), ACTIONS.DISCONNECTED_GOOGLE_CALENDER, GoogleCalendar), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR, GoogleCalendar), ACTIONS.CONNECTED_GOOGLE_MEET, GoogleMeet), ACTIONS.DISCONNECTED_GOOGLE_MEET, GoogleMeet), ACTIONS.CONNECTED_ICLOUD_CALENDAR, Apple), ACTIONS.DISCONNECTED_ICLOUD_CALENDAR, Apple), ACTIONS.CONNECTED_OUTLOOK, Outlook), ACTIONS.DISCONNECTED_OUTLOOK, Outlook), ACTIONS.CONNECTED_SLACK, Slack), ACTIONS.DISCONNECTED_SLACK, Slack), ACTIONS.CONNECTED_TEAMS, Teams), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.DISCONNECTED_TEAMS, Teams), ACTIONS.CONNECTED_STRIPE_ACCOUNT, StripeTypeface), ACTIONS.DISCONNECTED_STRIPE_ACCOUNT, Stripe), ACTIONS.CONNECTED_ZOOM, Zoom), ACTIONS.DISCONNECTED_ZOOM, Zoom), ACTIONS.CONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.DISCONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.CONNECTED_CUSTOM_DOMAIN, CustomDomain), ACTIONS.CREATED_API_KEY, ApiKeys), ACTIONS.DELETED_API_KEY, ApiKeys), _defineProperty(_AUDIT_ICON_MAP, ACTIONS.UPDATED_API_KEY, ApiKeys));
88
+ var AUDIT_ICON_MAP = (_AUDIT_ICON_MAP = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INVITED_USERS, UserCircle), ACTIONS.USER_SIGNED_UP, UserAdd), ACTIONS.UPDATED_USER, User), ACTIONS.BULK_UPDATE_USERS, User), ACTIONS.UPDATED_USER_PROFILE, UserSettings), ACTIONS.CREATED_ROLE, UserAdd), ACTIONS.UPDATED_ROLE, UserSettings), ACTIONS.DELETED_ROLE, UserRemove), ACTIONS.INTEGRATION_CONNECTED, UserSettings), ACTIONS.INTEGRATION_DISCONNECTED, UserSettings), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_AUDIT_ICON_MAP, ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER, UserSettings), ACTIONS.CONNECTED_STRIPE_ACCOUNT, StripeTypeface), ACTIONS.DISCONNECTED_STRIPE_ACCOUNT, Stripe), ACTIONS.CONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.DISCONNECTED_ZOOM_INTEGRATION, Zoom), ACTIONS.CONNECTED_CUSTOM_DOMAIN, CustomDomain), ACTIONS.CREATED_API_KEY, ApiKeys), ACTIONS.DELETED_API_KEY, ApiKeys), ACTIONS.UPDATED_API_KEY, ApiKeys));
101
89
  var AUDIT_LOGS_PAGE_SIZE = 12;
102
90
  var LANGUAGE_OPTIONS_MAP = ramda.indexBy(ramda.prop("value"), constants.LANGUAGE_OPTIONS);
103
91
  var DATE_FORMAT_OPTIONS_MAP = {
@@ -108,6 +96,24 @@ var DATE_FORMAT_OPTIONS_MAP = {
108
96
  var FIELD_NAME_MAP = {
109
97
  organizationRole: "role"
110
98
  };
99
+ var INTEGRATION_ICON_MAP = {
100
+ google_calendar: GoogleCalendar,
101
+ google_meet: GoogleMeet,
102
+ icloud_calendar: Apple,
103
+ outlook: Outlook,
104
+ slack: Slack,
105
+ teams: Teams,
106
+ zoom: Zoom
107
+ };
108
+ var INTEGRATION_DISPLAY_NAME_MAP = {
109
+ google_calendar: "Google Calendar",
110
+ google_meet: "Google Meet",
111
+ icloud_calendar: "iCloud Calendar",
112
+ outlook: "Outlook",
113
+ slack: "Slack",
114
+ teams: "Microsoft Teams",
115
+ zoom: "Zoom"
116
+ };
111
117
 
112
118
  function ownKeys$4(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; }
113
119
  function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -385,151 +391,70 @@ var constructAuditLogText = function constructAuditLogText(_ref3) {
385
391
  }
386
392
  });
387
393
  }
388
- case ACTIONS.CONNECTED_GOOGLE_CALENDER:
389
- {
390
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
391
- i18nKey: "neetoMolecules.auditLogs.text.connectedGoogleCalender",
392
- additionalValues: {
393
- performedBy: performedBy,
394
- emailAddress: changes.emailAddress
395
- }
396
- });
397
- }
398
- case ACTIONS.DISCONNECTED_GOOGLE_CALENDER:
399
- {
400
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
401
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedGoogleCalender",
402
- additionalValues: {
403
- performedBy: performedBy,
404
- emailAddress: changes.emailAddress
405
- }
406
- });
407
- }
408
- case ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR:
409
- {
410
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
411
- i18nKey: "neetoMolecules.auditLogs.text.googleDisconnectedGoogleCalendar",
412
- additionalValues: {
413
- performedBy: performedBy,
414
- emailAddress: changes.emailAddress
415
- }
416
- });
417
- }
418
- case ACTIONS.CONNECTED_GOOGLE_MEET:
419
- {
420
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
421
- i18nKey: "neetoMolecules.auditLogs.text.connectedGoogleMeet",
422
- additionalValues: {
423
- performedBy: performedBy,
424
- emailAddress: changes.emailAddress
425
- }
426
- });
427
- }
428
- case ACTIONS.DISCONNECTED_GOOGLE_MEET:
429
- {
430
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
431
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedGoogleMeet",
432
- additionalValues: {
433
- performedBy: performedBy,
434
- emailAddress: changes.emailAddress
435
- }
436
- });
437
- }
438
- case ACTIONS.CONNECTED_ICLOUD_CALENDAR:
439
- {
440
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
441
- i18nKey: "neetoMolecules.auditLogs.text.connectedIcloudCalendar",
442
- additionalValues: {
443
- performedBy: performedBy,
444
- emailAddress: changes.emailAddress
445
- }
446
- });
447
- }
448
- case ACTIONS.DISCONNECTED_ICLOUD_CALENDAR:
449
- {
450
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
451
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedIcloudCalendar",
452
- additionalValues: {
453
- performedBy: performedBy,
454
- emailAddress: changes.emailAddress
455
- }
456
- });
457
- }
458
- case ACTIONS.CONNECTED_OUTLOOK:
459
- {
460
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
461
- i18nKey: "neetoMolecules.auditLogs.text.connectedOutlook",
462
- additionalValues: {
463
- performedBy: performedBy,
464
- emailAddress: changes.emailAddress
465
- }
466
- });
467
- }
468
- case ACTIONS.DISCONNECTED_OUTLOOK:
469
- {
470
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
471
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedOutlook",
472
- additionalValues: {
473
- performedBy: performedBy,
474
- emailAddress: changes.emailAddress
475
- }
476
- });
477
- }
478
- case ACTIONS.CONNECTED_SLACK:
479
- {
480
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
481
- i18nKey: "neetoMolecules.auditLogs.text.connectedSlack",
482
- additionalValues: {
483
- performedBy: performedBy,
484
- workspaceName: changes.workspaceName
485
- }
486
- });
487
- }
488
- case ACTIONS.DISCONNECTED_SLACK:
489
- {
394
+ case ACTIONS.INTEGRATION_CONNECTED:
395
+ {
396
+ var rawName = rest.integrationName,
397
+ onBehalfOf = rest.onBehalfOf;
398
+ var integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || neetoCist.humanize(rawName);
399
+ var detail = changes === null || changes === void 0 ? void 0 : changes.detail;
400
+ var _i18nKey;
401
+ if (onBehalfOf && detail) {
402
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedOnBehalf";
403
+ } else if (onBehalfOf) {
404
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail";
405
+ } else if (detail) {
406
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnected";
407
+ } else {
408
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedWithoutDetail";
409
+ }
490
410
  return /*#__PURE__*/jsxRuntime.jsx(Trans, {
491
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedSlack",
411
+ i18nKey: _i18nKey,
492
412
  additionalValues: {
493
413
  performedBy: performedBy,
494
- workspaceName: changes.workspaceName
414
+ integrationName: integrationName,
415
+ detail: detail,
416
+ onBehalfOf: onBehalfOf
495
417
  }
496
418
  });
497
419
  }
498
- case ACTIONS.CONNECTED_TEAMS:
499
- {
500
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
501
- additionalValues: {
502
- performedBy: performedBy
503
- },
504
- i18nKey: "neetoMolecules.auditLogs.text.connectedTeams"
505
- });
506
- }
507
- case ACTIONS.DISCONNECTED_TEAMS:
508
- {
509
- return /*#__PURE__*/jsxRuntime.jsx(Trans, {
510
- additionalValues: {
511
- performedBy: performedBy
512
- },
513
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedTeams"
514
- });
515
- }
516
- case ACTIONS.CONNECTED_ZOOM:
517
- {
420
+ case ACTIONS.INTEGRATION_DISCONNECTED:
421
+ {
422
+ var _rawName = rest.integrationName,
423
+ _onBehalfOf = rest.onBehalfOf;
424
+ var _integrationName = INTEGRATION_DISPLAY_NAME_MAP[_rawName] || neetoCist.humanize(_rawName);
425
+ var _detail = changes === null || changes === void 0 ? void 0 : changes.detail;
426
+ var _i18nKey2;
427
+ if (_onBehalfOf && _detail) {
428
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf";
429
+ } else if (_onBehalfOf) {
430
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalfWithoutDetail";
431
+ } else if (_detail) {
432
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnected";
433
+ } else {
434
+ _i18nKey2 = "neetoMolecules.auditLogs.text.integrationDisconnectedWithoutDetail";
435
+ }
518
436
  return /*#__PURE__*/jsxRuntime.jsx(Trans, {
519
- i18nKey: "neetoMolecules.auditLogs.text.connectedZoom",
437
+ i18nKey: _i18nKey2,
520
438
  additionalValues: {
521
439
  performedBy: performedBy,
522
- emailAddress: changes.emailAddress
440
+ integrationName: _integrationName,
441
+ detail: _detail,
442
+ onBehalfOf: _onBehalfOf
523
443
  }
524
444
  });
525
445
  }
526
- case ACTIONS.DISCONNECTED_ZOOM:
446
+ case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER:
527
447
  {
448
+ var _rawName2 = rest.integrationName;
449
+ var _integrationName2 = INTEGRATION_DISPLAY_NAME_MAP[_rawName2] || neetoCist.humanize(_rawName2);
450
+ var _detail2 = changes === null || changes === void 0 ? void 0 : changes.detail;
451
+ var _i18nKey3 = _detail2 ? "neetoMolecules.auditLogs.text.integrationDisconnectedByProvider" : "neetoMolecules.auditLogs.text.integrationDisconnectedByProviderWithoutDetail";
528
452
  return /*#__PURE__*/jsxRuntime.jsx(Trans, {
529
- i18nKey: "neetoMolecules.auditLogs.text.disconnectedZoom",
453
+ i18nKey: _i18nKey3,
530
454
  additionalValues: {
531
455
  performedBy: performedBy,
532
- emailAddress: changes.emailAddress
456
+ integrationName: _integrationName2,
457
+ detail: _detail2
533
458
  }
534
459
  });
535
460
  }
@@ -654,7 +579,8 @@ var Card = function Card(_ref) {
654
579
  performedBy: performedBy,
655
580
  permissionsMap: permissionsMap
656
581
  }, metadata));
657
- var Icon = AUDIT_ICON_MAP[action];
582
+ var isIntegrationAction = action === ACTIONS.INTEGRATION_CONNECTED || action === ACTIONS.INTEGRATION_DISCONNECTED || action === ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER;
583
+ var Icon = isIntegrationAction ? INTEGRATION_ICON_MAP[metadata === null || metadata === void 0 ? void 0 : metadata.integrationName] || AUDIT_ICON_MAP[action] : AUDIT_ICON_MAP[action];
658
584
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
659
585
  "data-testid": "audit-log-card",
660
586
  className: classnames("align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3", {
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/Trans.jsx","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/Card.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/useCountriesApi.js","../../src/components/AuditLogs/usePermissionsApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Zoom,\n} from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\nexport const PERMISSIONS_LIST_QUERY_KEY = \"neeto-team-members-permissions\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\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 CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\n GOOGLE_DISCONNECTED_GOOGLE_CALENDAR: \"googleDisconnectedGoogleCalendar\",\n CONNECTED_GOOGLE_MEET: \"connectedGoogleMeet\",\n DISCONNECTED_GOOGLE_MEET: \"disconnectedGoogleMeet\",\n CONNECTED_ICLOUD_CALENDAR: \"connectedIcloudCalendar\",\n DISCONNECTED_ICLOUD_CALENDAR: \"disconnectedIcloudCalendar\",\n CONNECTED_OUTLOOK: \"connectedOutlook\",\n DISCONNECTED_OUTLOOK: \"disconnectedOutlook\",\n CONNECTED_SLACK: \"connectedSlack\",\n DISCONNECTED_SLACK: \"disconnectedSlack\",\n CONNECTED_TEAMS: \"connectedTeams\",\n DISCONNECTED_TEAMS: \"disconnectedTeams\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM: \"connectedZoom\",\n DISCONNECTED_ZOOM: \"disconnectedZoom\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\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 AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.CONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.DISCONNECTED_GOOGLE_CALENDER]: GoogleCalendar,\n [ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR]: GoogleCalendar,\n [ACTIONS.CONNECTED_GOOGLE_MEET]: GoogleMeet,\n [ACTIONS.DISCONNECTED_GOOGLE_MEET]: GoogleMeet,\n [ACTIONS.CONNECTED_ICLOUD_CALENDAR]: Apple,\n [ACTIONS.DISCONNECTED_ICLOUD_CALENDAR]: Apple,\n [ACTIONS.CONNECTED_OUTLOOK]: Outlook,\n [ACTIONS.DISCONNECTED_OUTLOOK]: Outlook,\n [ACTIONS.CONNECTED_SLACK]: Slack,\n [ACTIONS.DISCONNECTED_SLACK]: Slack,\n [ACTIONS.CONNECTED_TEAMS]: Teams,\n [ACTIONS.DISCONNECTED_TEAMS]: Teams,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM]: Zoom,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const FIELD_NAME_MAP = { organizationRole: \"role\" };\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, isEmpty, indexBy, omit, prop } from \"ramda\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n FIELD_NAME_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatFieldName = field => FIELD_NAME_MAP[field] || humanize(field);\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: formatFieldName(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: formatFieldName(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: formatFieldName(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n permissionsMap = {},\n action,\n performedBy,\n emails: emailsProp,\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ...rest\n}) => {\n const emails = emailsProp ?? [];\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const affectedUser = email || \"user\";\n const isUserDeactivated = changes?.active?.to === false;\n const otherChanges = isUserDeactivated\n ? omit([\"active\"], changes)\n : changes;\n\n const removedText = isUserDeactivated ? (\n <Trans\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.removedUser\"\n />\n ) : null;\n\n if (isUserDeactivated && isEmpty(otherChanges)) return removedText;\n\n const changedFields = formatChangedFields({\n changes: otherChanges,\n countriesMap,\n });\n\n const updatedUserText = (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n\n return removedText ? (\n <>\n {removedText} {updatedUserText}\n </>\n ) : (\n updatedUserText\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(\n permission =>\n permissionsMap[permission]?.description ||\n humanize(permission.split(\".\")[1])\n )\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_CALENDER: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.GOOGLE_DISCONNECTED_GOOGLE_CALENDAR: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.googleDisconnectedGoogleCalendar\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_GOOGLE_MEET: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedGoogleMeet\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_GOOGLE_MEET: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleMeet\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_ICLOUD_CALENDAR: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedIcloudCalendar\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ICLOUD_CALENDAR: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedIcloudCalendar\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_OUTLOOK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedOutlook\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_OUTLOOK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedOutlook\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_SLACK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedSlack\"\n additionalValues={{\n performedBy,\n workspaceName: changes.workspaceName,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_SLACK: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedSlack\"\n additionalValues={{\n performedBy,\n workspaceName: changes.workspaceName,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_TEAMS: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedTeams\"\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_TEAMS: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedTeams\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoom\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoom\"\n additionalValues={{\n performedBy,\n emailAddress: changes.emailAddress,\n }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n\nexport const indexByPermissionName = indexBy(prop(\"name\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { AUDIT_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({\n auditLog,\n countriesMap,\n index,\n permissionsMap,\n totalCount,\n}) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n permissionsMap,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst fetchPermissions = () => axios.get(\"neeto_team_members/permissions\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries, fetchPermissions };\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 { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { PERMISSIONS_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchPermissions = () =>\n useQuery({\n queryKey: [PERMISSIONS_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchPermissions,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { useFetchPermissions } from \"./usePermissionsApi\";\nimport { indexById, indexByPermissionName } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\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, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n\n const { data: permissionsData } = useFetchPermissions();\n\n const countriesList = countriesData?.countries;\n const permissionsList = permissionsData?.permissions;\n\n const permissionsMap = useMemo(\n () => (permissionsList ? indexByPermissionName(permissionsList) : {}),\n [permissionsList]\n );\n\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index, permissionsMap }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","CONNECTED_GOOGLE_CALENDER","DISCONNECTED_GOOGLE_CALENDER","GOOGLE_DISCONNECTED_GOOGLE_CALENDAR","CONNECTED_GOOGLE_MEET","DISCONNECTED_GOOGLE_MEET","CONNECTED_ICLOUD_CALENDAR","DISCONNECTED_ICLOUD_CALENDAR","CONNECTED_OUTLOOK","DISCONNECTED_OUTLOOK","CONNECTED_SLACK","DISCONNECTED_SLACK","CONNECTED_TEAMS","DISCONNECTED_TEAMS","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM","DISCONNECTED_ZOOM","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","GoogleMeet","Apple","Outlook","Slack","Teams","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","FIELD_NAME_MAP","organizationRole","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatFieldName","field","humanize","createFieldValueFormatter","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","isPresent","from","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","lastName","email","_ref3$changes","status","message","errorMessage","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","_changes$active","affectedUser","isUserDeactivated","active","otherChanges","omit","removedText","isEmpty","changedFields","updatedUserText","ChangedFields","_Fragment","_jsxs","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","_permissionsMap$permi","description","split","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","emailAddress","workspaceName","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","_useFetchPermissions","permissionsData","countriesList","countries","permissionsList","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":"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"}
1
+ {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/Trans.jsx","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/Card.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/useCountriesApi.js","../../src/components/AuditLogs/usePermissionsApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Zoom,\n} from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\nexport const PERMISSIONS_LIST_QUERY_KEY = \"neeto-team-members-permissions\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\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 INTEGRATION_CONNECTED: \"integration.connected\",\n INTEGRATION_DISCONNECTED: \"integration.disconnected\",\n INTEGRATION_DISCONNECTED_BY_PROVIDER: \"integration.disconnectedByProvider\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\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 AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.INTEGRATION_CONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER]: UserSettings,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const FIELD_NAME_MAP = { organizationRole: \"role\" };\n\nexport const INTEGRATION_ICON_MAP = {\n google_calendar: GoogleCalendar,\n google_meet: GoogleMeet,\n icloud_calendar: Apple,\n outlook: Outlook,\n slack: Slack,\n teams: Teams,\n zoom: Zoom,\n};\n\nexport const INTEGRATION_DISPLAY_NAME_MAP = {\n google_calendar: \"Google Calendar\",\n google_meet: \"Google Meet\",\n icloud_calendar: \"iCloud Calendar\",\n outlook: \"Outlook\",\n slack: \"Slack\",\n teams: \"Microsoft Teams\",\n zoom: \"Zoom\",\n};\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n components={{\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n values={{\n productSuffix: globalProps.appName,\n ...additionalValues,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, isEmpty, indexBy, omit, prop } from \"ramda\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n FIELD_NAME_MAP,\n INTEGRATION_DISPLAY_NAME_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatFieldName = field => FIELD_NAME_MAP[field] || humanize(field);\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: formatFieldName(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: formatFieldName(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: formatFieldName(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n permissionsMap = {},\n action,\n performedBy,\n emails: emailsProp,\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ...rest\n}) => {\n const emails = emailsProp ?? [];\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const affectedUser = email || \"user\";\n const isUserDeactivated = changes?.active?.to === false;\n const otherChanges = isUserDeactivated\n ? omit([\"active\"], changes)\n : changes;\n\n const removedText = isUserDeactivated ? (\n <Trans\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.removedUser\"\n />\n ) : null;\n\n if (isUserDeactivated && isEmpty(otherChanges)) return removedText;\n\n const changedFields = formatChangedFields({\n changes: otherChanges,\n countriesMap,\n });\n\n const updatedUserText = (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n\n return removedText ? (\n <>\n {removedText} {updatedUserText}\n </>\n ) : (\n updatedUserText\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(\n permission =>\n permissionsMap[permission]?.description ||\n humanize(permission.split(\".\")[1])\n )\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_CONNECTED: {\n const { integrationName: rawName, onBehalfOf } = rest;\n const integrationName =\n INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);\n const detail = changes?.detail;\n let i18nKey;\n\n if (onBehalfOf && detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalf\";\n } else if (onBehalfOf) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n onBehalfOf,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED: {\n const { integrationName: rawName, onBehalfOf } = rest;\n const integrationName =\n INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);\n const detail = changes?.detail;\n let i18nKey;\n\n if (onBehalfOf && detail) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf\";\n } else if (onBehalfOf) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationDisconnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n onBehalfOf,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER: {\n const { integrationName: rawName } = rest;\n const integrationName =\n INTEGRATION_DISPLAY_NAME_MAP[rawName] || humanize(rawName);\n const detail = changes?.detail;\n const i18nKey = detail\n ? \"neetoMolecules.auditLogs.text.integrationDisconnectedByProvider\"\n : \"neetoMolecules.auditLogs.text.integrationDisconnectedByProviderWithoutDetail\";\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{ performedBy, integrationName, detail }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n\nexport const indexByPermissionName = indexBy(prop(\"name\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport { ACTIONS, AUDIT_ICON_MAP, INTEGRATION_ICON_MAP } from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({\n auditLog,\n countriesMap,\n index,\n permissionsMap,\n totalCount,\n}) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n permissionsMap,\n ...metadata,\n });\n\n const isIntegrationAction =\n action === ACTIONS.INTEGRATION_CONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER;\n\n const Icon = isIntegrationAction\n ? INTEGRATION_ICON_MAP[metadata?.integrationName] || AUDIT_ICON_MAP[action]\n : AUDIT_ICON_MAP[action];\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-b border-l border-r p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst fetchPermissions = () => axios.get(\"neeto_team_members/permissions\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries, fetchPermissions };\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 { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { PERMISSIONS_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchPermissions = () =>\n useQuery({\n queryKey: [PERMISSIONS_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchPermissions,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { useFetchPermissions } from \"./usePermissionsApi\";\nimport { indexById, indexByPermissionName } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\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, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n\n const { data: permissionsData } = useFetchPermissions();\n\n const countriesList = countriesData?.countries;\n const permissionsList = permissionsData?.permissions;\n\n const permissionsMap = useMemo(\n () => (permissionsList ? indexByPermissionName(permissionsList) : {}),\n [permissionsList]\n );\n\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index, permissionsMap }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","INTEGRATION_CONNECTED","INTEGRATION_DISCONNECTED","INTEGRATION_DISCONNECTED_BY_PROVIDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","FIELD_NAME_MAP","organizationRole","INTEGRATION_ICON_MAP","google_calendar","GoogleCalendar","google_meet","GoogleMeet","icloud_calendar","Apple","outlook","Outlook","slack","Slack","teams","Teams","zoom","INTEGRATION_DISPLAY_NAME_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatFieldName","field","humanize","createFieldValueFormatter","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","isPresent","from","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","lastName","email","_ref3$changes","status","message","errorMessage","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","_changes$active","affectedUser","isUserDeactivated","active","otherChanges","omit","removedText","isEmpty","changedFields","updatedUserText","ChangedFields","_Fragment","_jsxs","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","_permissionsMap$permi","description","split","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","rawName","integrationName","onBehalfOf","detail","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","isIntegrationAction","Icon","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","_useFetchPermissions","permissionsData","countriesList","countries","permissionsList","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "4.1.27",
3
+ "version": "4.1.28",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -356,21 +356,16 @@
356
356
  "updatedFields": "<Semibold>{{field}}</Semibold>",
357
357
  "updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold> from <Code>{{from, anyCase}}</Code> to <Code>{{to, anyCase}}</Code>",
358
358
  "updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold> to <Code>{{to, anyCase}}</Code>",
359
- "connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>connected Google Calendar</Semibold> using <Code>{{emailAddress}}</Code>.",
360
- "disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>disconnected Google Calendar</Semibold> for <Code>{{emailAddress}}</Code>.",
361
- "googleDisconnectedGoogleCalendar": "Google <Semibold>disconnected Google Calendar</Semibold> for <Code>{{emailAddress}}</Code> (connected by {{performedBy, anyCase}}).",
362
- "connectedGoogleMeet": "{{performedBy, anyCase}} <Semibold>connected Google Meet</Semibold> using <Code>{{emailAddress}}</Code>.",
363
- "disconnectedGoogleMeet": "{{performedBy, anyCase}} <Semibold>disconnected Google Meet</Semibold> for <Code>{{emailAddress}}</Code>.",
364
- "connectedIcloudCalendar": "{{performedBy, anyCase}} <Semibold>connected iCloud Calendar</Semibold> using <Code>{{emailAddress}}</Code>.",
365
- "disconnectedIcloudCalendar": "{{performedBy, anyCase}} <Semibold>disconnected iCloud Calendar</Semibold> for <Code>{{emailAddress}}</Code>.",
366
- "connectedOutlook": "{{performedBy, anyCase}} <Semibold>connected Outlook</Semibold> using <Code>{{emailAddress}}</Code>.",
367
- "disconnectedOutlook": "{{performedBy, anyCase}} <Semibold>disconnected Outlook</Semibold> for <Code>{{emailAddress}}</Code>.",
368
- "connectedSlack": "{{performedBy, anyCase}} <Semibold>connected Slack</Semibold> workspace <Code>{{workspaceName}}</Code>.",
369
- "disconnectedSlack": "{{performedBy, anyCase}} <Semibold>disconnected Slack</Semibold> workspace <Code>{{workspaceName}}</Code>.",
370
- "connectedTeams": "{{performedBy, anyCase}} <Semibold>connected Microsoft Teams</Semibold>.",
371
- "disconnectedTeams": "{{performedBy, anyCase}} <Semibold>disconnected Microsoft Teams</Semibold>.",
372
- "connectedZoom": "{{performedBy, anyCase}} <Semibold>connected Zoom</Semibold> using <Code>{{emailAddress}}</Code>.",
373
- "disconnectedZoom": "{{performedBy, anyCase}} <Semibold>disconnected Zoom</Semibold> for <Code>{{emailAddress}}</Code>.",
359
+ "integrationConnected": "{{performedBy, anyCase}} <Semibold>connected {{integrationName}}</Semibold> using <Code>{{detail}}</Code>.",
360
+ "integrationConnectedWithoutDetail": "{{performedBy, anyCase}} <Semibold>connected {{integrationName}}</Semibold>.",
361
+ "integrationConnectedOnBehalf": "{{performedBy, anyCase}} <Semibold>connected {{integrationName}}</Semibold> for <Code>{{onBehalfOf}}</Code> using <Code>{{detail}}</Code>.",
362
+ "integrationConnectedOnBehalfWithoutDetail": "{{performedBy, anyCase}} <Semibold>connected {{integrationName}}</Semibold> for <Code>{{onBehalfOf}}</Code>.",
363
+ "integrationDisconnected": "{{performedBy, anyCase}} <Semibold>disconnected {{integrationName}}</Semibold> for <Code>{{detail}}</Code>.",
364
+ "integrationDisconnectedWithoutDetail": "{{performedBy, anyCase}} <Semibold>disconnected {{integrationName}}</Semibold>.",
365
+ "integrationDisconnectedOnBehalf": "{{performedBy, anyCase}} <Semibold>disconnected {{integrationName}}</Semibold> for <Code>{{onBehalfOf}}</Code> (<Code>{{detail}}</Code>).",
366
+ "integrationDisconnectedOnBehalfWithoutDetail": "{{performedBy, anyCase}} <Semibold>disconnected {{integrationName}}</Semibold> for <Code>{{onBehalfOf}}</Code>.",
367
+ "integrationDisconnectedByProvider": "{{integrationName}} <Semibold>disconnected</Semibold> for <Code>{{detail}}</Code> (connected by {{performedBy, anyCase}}).",
368
+ "integrationDisconnectedByProviderWithoutDetail": "{{integrationName}} <Semibold>disconnected</Semibold> (connected by {{performedBy, anyCase}}).",
374
369
  "connectedStripeAccount": "{{performedBy, anyCase}} <Semibold>connected to Stripe integration</Semibold> with account ID: <Code>{{stripeAccountId}}</Code> on {{productSuffix, anyCase}}.",
375
370
  "disconnectedStripeAccount": "{{performedBy, anyCase}} <Semibold>disconnected the Stripe integration</Semibold> on {{productSuffix, anyCase}}.",
376
371
  "connectedZoomAccount": "{{performedBy, anyCase}} <Semibold>connected to Zoom integration</Semibold> with account ID: <Code>{{zoomAccountId}}</Code> on {{productSuffix, anyCase}}.",