@bigbinary/neeto-molecules 5.2.20 → 5.2.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogs.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-user.mjs","../../node_modules/lucide-react/dist/esm/icons/key.mjs","../../node_modules/lucide-react/dist/esm/icons/scroll-text.mjs","../../node_modules/lucide-react/dist/esm/icons/user-cog.mjs","../../node_modules/lucide-react/dist/esm/icons/user-minus.mjs","../../node_modules/lucide-react/dist/esm/icons/user-plus.mjs","../../src/v2/components/AuditLogs/constants.js","../../src/v2/components/AuditLogs/Trans.jsx","../../src/v2/components/AuditLogs/utils.jsx","../../src/v2/components/AuditLogs/Card.jsx","../../src/v2/components/AuditLogs/api.js","../../src/v2/components/AuditLogs/useAuditLogsApi.js","../../src/v2/components/AuditLogs/useCountriesApi.js","../../src/v2/components/AuditLogs/usePermissionsApi.js","../../src/v2/components/AuditLogs/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }],\n [\"path\", { d: \"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662\", key: \"154egf\" }]\n];\nconst CircleUser = createLucideIcon(\"circle-user\", __iconNode);\n\nexport { __iconNode, CircleUser as default };\n//# sourceMappingURL=circle-user.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4\", key: \"g0fldk\" }],\n [\"path\", { d: \"m21 2-9.6 9.6\", key: \"1j0ho8\" }],\n [\"circle\", { cx: \"7.5\", cy: \"15.5\", r: \"5.5\", key: \"yqb3hr\" }]\n];\nconst Key = createLucideIcon(\"key\", __iconNode);\n\nexport { __iconNode, Key as default };\n//# sourceMappingURL=key.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 12h-5\", key: \"r7krc0\" }],\n [\"path\", { d: \"M15 8h-5\", key: \"1khuty\" }],\n [\"path\", { d: \"M19 17V5a2 2 0 0 0-2-2H4\", key: \"zz82l3\" }],\n [\n \"path\",\n {\n d: \"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3\",\n key: \"1ph1d7\"\n }\n ]\n];\nconst ScrollText = createLucideIcon(\"scroll-text\", __iconNode);\n\nexport { __iconNode, ScrollText as default };\n//# sourceMappingURL=scroll-text.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 15H6a4 4 0 0 0-4 4v2\", key: \"1nfge6\" }],\n [\"path\", { d: \"m14.305 16.53.923-.382\", key: \"1itpsq\" }],\n [\"path\", { d: \"m15.228 13.852-.923-.383\", key: \"eplpkm\" }],\n [\"path\", { d: \"m16.852 12.228-.383-.923\", key: \"13v3q0\" }],\n [\"path\", { d: \"m16.852 17.772-.383.924\", key: \"1i8mnm\" }],\n [\"path\", { d: \"m19.148 12.228.383-.923\", key: \"1q8j1v\" }],\n [\"path\", { d: \"m19.53 18.696-.382-.924\", key: \"vk1qj3\" }],\n [\"path\", { d: \"m20.772 13.852.924-.383\", key: \"n880s0\" }],\n [\"path\", { d: \"m20.772 16.148.924.383\", key: \"1g6xey\" }],\n [\"circle\", { cx: \"18\", cy: \"15\", r: \"3\", key: \"gjjjvw\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }]\n];\nconst UserCog = createLucideIcon(\"user-cog\", __iconNode);\n\nexport { __iconNode, UserCog as default };\n//# sourceMappingURL=user-cog.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"11\", y2: \"11\", key: \"1shjgl\" }]\n];\nconst UserMinus = createLucideIcon(\"user-minus\", __iconNode);\n\nexport { __iconNode, UserMinus as default };\n//# sourceMappingURL=user-minus.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }],\n [\"line\", { x1: \"19\", x2: \"19\", y1: \"8\", y2: \"14\", key: \"1bvyxn\" }],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"11\", y2: \"11\", key: \"1shjgl\" }]\n];\nconst UserPlus = createLucideIcon(\"user-plus\", __iconNode);\n\nexport { __iconNode, UserPlus as default };\n//# sourceMappingURL=user-plus.mjs.map\n","import {\n CircleUser,\n Globe,\n Key,\n User,\n UserCog,\n UserMinus,\n UserPlus,\n} from \"lucide-react\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Twilio,\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 USER_LOGGED_IN: \"userLoggedIn\",\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]: CircleUser,\n [ACTIONS.USER_SIGNED_UP]: UserPlus,\n [ACTIONS.USER_LOGGED_IN]: User,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserCog,\n [ACTIONS.CREATED_ROLE]: UserPlus,\n [ACTIONS.UPDATED_ROLE]: UserCog,\n [ACTIONS.DELETED_ROLE]: UserMinus,\n [ACTIONS.INTEGRATION_CONNECTED]: UserCog,\n [ACTIONS.INTEGRATION_DISCONNECTED]: UserCog,\n [ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER]: UserCog,\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]: Globe,\n [ACTIONS.CREATED_API_KEY]: Key,\n [ACTIONS.DELETED_API_KEY]: Key,\n [ACTIONS.UPDATED_API_KEY]: Key,\n};\n\nexport const DEFAULT_AUDIT_ICON = User;\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 twilio: Twilio,\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 twilio: \"Twilio\",\n zoom: \"Zoom\",\n};\n","import { globalProps } from \"neetocommons/v2/initializers\";\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 Bold: <span className=\"font-semibold\" />,\n Code: (\n <code className=\"bg-muted/70 rounded px-1.5 py-px font-mono text-xs\" />\n ),\n Semibold: <span />,\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\";\nimport { UAParser } from \"ua-parser-js\";\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\nconst formatUserAgent = userAgent => {\n const { browser, os } = UAParser(userAgent);\n\n const browserName = browser.name ?? \"Unknown Browser\";\n const browserVersion = browser.version?.split(\".\")[0] ?? \"\";\n const osName = os.name ?? \"Unknown OS\";\n const osVersion = os.version ?? \"\";\n\n return `${browserName} ${browserVersion} on ${osName} ${osVersion}`.trim();\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 fullName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ipAddress,\n browserDetails,\n loginMethod,\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 case ACTIONS.USER_LOGGED_IN: {\n const userIdentifier = fullName || organizationRole || email || \"User\";\n const userAgent = formatUserAgent(browserDetails);\n\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.userLoggedIn\"\n additionalValues={{\n userIdentifier,\n ipAddress,\n userAgent,\n loginMethod: loginMethod || \"Unknown method\",\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, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalf\";\n } else if (integrationOwner) {\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 integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED: {\n const { integrationName: rawName, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf\";\n } else if (integrationOwner) {\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 integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER: {\n const { integrationName: rawName } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || 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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/v2/utils\";\n\nimport {\n ACTIONS,\n AUDIT_ICON_MAP,\n DEFAULT_AUDIT_ICON,\n INTEGRATION_ICON_MAP,\n} 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 =\n (isIntegrationAction\n ? INTEGRATION_ICON_MAP[metadata?.integrationName] ||\n AUDIT_ICON_MAP[action]\n : AUDIT_ICON_MAP[action]) || DEFAULT_AUDIT_ICON;\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"border-border flex w-full items-start gap-x-3 border-r border-b border-l px-4 py-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"bg-muted mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full\">\n <Icon className=\"text-muted-foreground\" size={18} />\n </div>\n <div\n className=\"flex min-w-0 flex-col gap-y-1\"\n data-testid=\"audit-log-content\"\n >\n <Typography asChild variant=\"body2\">\n <span className=\"leading-snug\" data-testid=\"audit-log-text\">\n {auditText}\n </span>\n </Typography>\n <Typography asChild color=\"muted\" variant=\"nano\">\n <span data-testid=\"audit-log-timestamp\">{performedAt}</span>\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/v2/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/v2/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 { Empty, Spinner, Pagination } from \"@bigbinary/neeto-atoms\";\nimport { ScrollText } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils/general\";\nimport propTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\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\nimport Container from \"../Container\";\nimport Header from \"../Header\";\n\nconst AuditLogsPagination = ({ count, pageNo, pageSize }) => {\n const history = useHistory();\n const { pathname } = useLocation();\n const queryParams = useQueryParams();\n\n const navigateToPage = page => {\n history.push(buildUrl(pathname, mergeLeft({ page }, queryParams)));\n };\n\n return (\n <Pagination {...{ count, pageNo, pageSize }} navigate={navigateToPage} />\n );\n};\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 title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto\">\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 <Empty\n description={noDataHelpText}\n icon={ScrollText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end py-4\">\n <div className=\"w-auto\">\n <AuditLogsPagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\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 when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be displayed when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["__iconNode","AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","USER_LOGGED_IN","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","CircleUser","UserPlus","User","UserCog","UserMinus","StripeTypeface","Stripe","Zoom","Globe","Key","DEFAULT_AUDIT_ICON","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","twilio","Twilio","zoom","INTEGRATION_DISPLAY_NAME_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Bold","className","Code","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","formatUserAgent","userAgent","_browser$name","_browser$version$spli","_browser$version","_os$name","_os$version","_UAParser","UAParser","browser","os","browserName","browserVersion","version","split","osName","osVersion","trim","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","fullName","lastName","email","_ref3$changes","status","message","errorMessage","ipAddress","browserDetails","loginMethod","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","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","rawName","integrationName","integrationOwner","detail","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","isIntegrationAction","Icon","classnames","size","Typography","asChild","variant","color","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogsPagination","count","pageNo","pageSize","history","useHistory","_useLocation","useLocation","pathname","queryParams","useQueryParams","navigateToPage","page","push","buildUrl","mergeLeft","Pagination","navigate","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","_useQueryParams$page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","_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","Empty","icon","ScrollText","parseInt"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
1
+ {"version":3,"file":"AuditLogs.js","sources":["../../node_modules/lucide-react/dist/esm/icons/circle-user.mjs","../../node_modules/lucide-react/dist/esm/icons/key.mjs","../../node_modules/lucide-react/dist/esm/icons/scroll-text.mjs","../../node_modules/lucide-react/dist/esm/icons/user-cog.mjs","../../node_modules/lucide-react/dist/esm/icons/user-minus.mjs","../../node_modules/lucide-react/dist/esm/icons/user-plus.mjs","../../src/v2/components/AuditLogs/constants.js","../../src/v2/components/AuditLogs/Trans.jsx","../../src/v2/components/AuditLogs/utils.jsx","../../src/v2/components/AuditLogs/Card.jsx","../../src/v2/components/AuditLogs/api.js","../../src/v2/components/AuditLogs/useAuditLogsApi.js","../../src/v2/components/AuditLogs/useCountriesApi.js","../../src/v2/components/AuditLogs/usePermissionsApi.js","../../src/v2/components/AuditLogs/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }],\n [\"path\", { d: \"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662\", key: \"154egf\" }]\n];\nconst CircleUser = createLucideIcon(\"circle-user\", __iconNode);\n\nexport { __iconNode, CircleUser as default };\n//# sourceMappingURL=circle-user.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4\", key: \"g0fldk\" }],\n [\"path\", { d: \"m21 2-9.6 9.6\", key: \"1j0ho8\" }],\n [\"circle\", { cx: \"7.5\", cy: \"15.5\", r: \"5.5\", key: \"yqb3hr\" }]\n];\nconst Key = createLucideIcon(\"key\", __iconNode);\n\nexport { __iconNode, Key as default };\n//# sourceMappingURL=key.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 12h-5\", key: \"r7krc0\" }],\n [\"path\", { d: \"M15 8h-5\", key: \"1khuty\" }],\n [\"path\", { d: \"M19 17V5a2 2 0 0 0-2-2H4\", key: \"zz82l3\" }],\n [\n \"path\",\n {\n d: \"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3\",\n key: \"1ph1d7\"\n }\n ]\n];\nconst ScrollText = createLucideIcon(\"scroll-text\", __iconNode);\n\nexport { __iconNode, ScrollText as default };\n//# sourceMappingURL=scroll-text.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 15H6a4 4 0 0 0-4 4v2\", key: \"1nfge6\" }],\n [\"path\", { d: \"m14.305 16.53.923-.382\", key: \"1itpsq\" }],\n [\"path\", { d: \"m15.228 13.852-.923-.383\", key: \"eplpkm\" }],\n [\"path\", { d: \"m16.852 12.228-.383-.923\", key: \"13v3q0\" }],\n [\"path\", { d: \"m16.852 17.772-.383.924\", key: \"1i8mnm\" }],\n [\"path\", { d: \"m19.148 12.228.383-.923\", key: \"1q8j1v\" }],\n [\"path\", { d: \"m19.53 18.696-.382-.924\", key: \"vk1qj3\" }],\n [\"path\", { d: \"m20.772 13.852.924-.383\", key: \"n880s0\" }],\n [\"path\", { d: \"m20.772 16.148.924.383\", key: \"1g6xey\" }],\n [\"circle\", { cx: \"18\", cy: \"15\", r: \"3\", key: \"gjjjvw\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }]\n];\nconst UserCog = createLucideIcon(\"user-cog\", __iconNode);\n\nexport { __iconNode, UserCog as default };\n//# sourceMappingURL=user-cog.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"11\", y2: \"11\", key: \"1shjgl\" }]\n];\nconst UserMinus = createLucideIcon(\"user-minus\", __iconNode);\n\nexport { __iconNode, UserMinus as default };\n//# sourceMappingURL=user-minus.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }],\n [\"line\", { x1: \"19\", x2: \"19\", y1: \"8\", y2: \"14\", key: \"1bvyxn\" }],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"11\", y2: \"11\", key: \"1shjgl\" }]\n];\nconst UserPlus = createLucideIcon(\"user-plus\", __iconNode);\n\nexport { __iconNode, UserPlus as default };\n//# sourceMappingURL=user-plus.mjs.map\n","import {\n CircleUser,\n Globe,\n Key,\n User,\n UserCog,\n UserMinus,\n UserPlus,\n} from \"lucide-react\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Twilio,\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 USER_LOGGED_IN: \"userLoggedIn\",\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]: CircleUser,\n [ACTIONS.USER_SIGNED_UP]: UserPlus,\n [ACTIONS.USER_LOGGED_IN]: User,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserCog,\n [ACTIONS.CREATED_ROLE]: UserPlus,\n [ACTIONS.UPDATED_ROLE]: UserCog,\n [ACTIONS.DELETED_ROLE]: UserMinus,\n [ACTIONS.INTEGRATION_CONNECTED]: UserCog,\n [ACTIONS.INTEGRATION_DISCONNECTED]: UserCog,\n [ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER]: UserCog,\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]: Globe,\n [ACTIONS.CREATED_API_KEY]: Key,\n [ACTIONS.DELETED_API_KEY]: Key,\n [ACTIONS.UPDATED_API_KEY]: Key,\n};\n\nexport const DEFAULT_AUDIT_ICON = User;\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 twilio: Twilio,\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 twilio: \"Twilio\",\n zoom: \"Zoom\",\n};\n","import 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 values={{ ...additionalValues }}\n components={{\n Bold: <span className=\"font-semibold\" />,\n Code: (\n <code className=\"bg-muted/70 rounded px-1.5 py-px font-mono text-xs\" />\n ),\n Semibold: <span />,\n ...additionalComponents,\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\";\nimport { UAParser } from \"ua-parser-js\";\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\nconst formatUserAgent = userAgent => {\n const { browser, os } = UAParser(userAgent);\n\n const browserName = browser.name ?? \"Unknown Browser\";\n const browserVersion = browser.version?.split(\".\")[0] ?? \"\";\n const osName = os.name ?? \"Unknown OS\";\n const osVersion = os.version ?? \"\";\n\n return `${browserName} ${browserVersion} on ${osName} ${osVersion}`.trim();\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 fullName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n ipAddress,\n browserDetails,\n loginMethod,\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 case ACTIONS.USER_LOGGED_IN: {\n const userIdentifier = fullName || organizationRole || email || \"User\";\n const userAgent = formatUserAgent(browserDetails);\n\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.userLoggedIn\"\n additionalValues={{\n userIdentifier,\n ipAddress,\n userAgent,\n loginMethod: loginMethod || \"Unknown method\",\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, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalf\";\n } else if (integrationOwner) {\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 integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED: {\n const { integrationName: rawName, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf\";\n } else if (integrationOwner) {\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 integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER: {\n const { integrationName: rawName } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || 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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/v2/utils\";\n\nimport {\n ACTIONS,\n AUDIT_ICON_MAP,\n DEFAULT_AUDIT_ICON,\n INTEGRATION_ICON_MAP,\n} 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 =\n (isIntegrationAction\n ? INTEGRATION_ICON_MAP[metadata?.integrationName] ||\n AUDIT_ICON_MAP[action]\n : AUDIT_ICON_MAP[action]) || DEFAULT_AUDIT_ICON;\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"border-border flex w-full items-start gap-x-3 border-r border-b border-l px-4 py-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"bg-muted mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full\">\n <Icon className=\"text-muted-foreground\" size={18} />\n </div>\n <div\n className=\"flex min-w-0 flex-col gap-y-1\"\n data-testid=\"audit-log-content\"\n >\n <Typography asChild variant=\"body2\">\n <span className=\"leading-snug\" data-testid=\"audit-log-text\">\n {auditText}\n </span>\n </Typography>\n <Typography asChild color=\"muted\" variant=\"nano\">\n <span data-testid=\"audit-log-timestamp\">{performedAt}</span>\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/v2/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/v2/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 { Empty, Spinner, Pagination } from \"@bigbinary/neeto-atoms\";\nimport { ScrollText } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/v2/constants\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils/general\";\nimport propTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\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\nimport Container from \"../Container\";\nimport Header from \"../Header\";\n\nconst AuditLogsPagination = ({ count, pageNo, pageSize }) => {\n const history = useHistory();\n const { pathname } = useLocation();\n const queryParams = useQueryParams();\n\n const navigateToPage = page => {\n history.push(buildUrl(pathname, mergeLeft({ page }, queryParams)));\n };\n\n return (\n <Pagination {...{ count, pageNo, pageSize }} navigate={navigateToPage} />\n );\n};\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 title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto\">\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 <Empty\n description={noDataHelpText}\n icon={ScrollText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end py-4\">\n <div className=\"w-auto\">\n <AuditLogsPagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\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 when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be displayed when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["__iconNode","AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","USER_LOGGED_IN","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","CircleUser","UserPlus","User","UserCog","UserMinus","StripeTypeface","Stripe","Zoom","Globe","Key","DEFAULT_AUDIT_ICON","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","twilio","Twilio","zoom","INTEGRATION_DISPLAY_NAME_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","values","_objectSpread","components","Bold","className","Code","Semibold","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","formatUserAgent","userAgent","_browser$name","_browser$version$spli","_browser$version","_os$name","_os$version","_UAParser","UAParser","browser","os","browserName","browserVersion","version","split","osName","osVersion","trim","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","fullName","lastName","email","_ref3$changes","status","message","errorMessage","ipAddress","browserDetails","loginMethod","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","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","rawName","integrationName","integrationOwner","detail","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","isIntegrationAction","Icon","classnames","size","Typography","asChild","variant","color","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogsPagination","count","pageNo","pageSize","history","useHistory","_useLocation","useLocation","pathname","queryParams","useQueryParams","navigateToPage","page","push","buildUrl","mergeLeft","Pagination","navigate","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","_useQueryParams$page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","_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","Empty","icon","ScrollText","parseInt"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -1,12 +1,12 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import { Fragment } from 'react';
4
3
  import { DropdownMenu, Typography, Button } from '@bigbinary/neeto-atoms';
5
4
  import { findBy, noop } from '@bigbinary/neeto-cist';
6
5
  import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/v2/utils/general';
7
6
  import { mergeLeft, uniqBy, prop, isEmpty } from 'ramda';
8
7
  import { jsx, jsxs } from 'react/jsx-runtime';
9
8
  import { c as createLucideIcon } from '../createLucideIcon--oLqczpc.js';
9
+ import 'react';
10
10
 
11
11
  /**
12
12
  * @license lucide-react v1.24.0 - ISC
@@ -82,50 +82,73 @@ var DynamicVariables = function DynamicVariables(_ref) {
82
82
  dropdownProps = _objectWithoutProperties(_ref, _excluded);
83
83
  if (isEmpty(variables)) return null;
84
84
  var parsedVariables = parseVariables(variables);
85
- return /*#__PURE__*/jsx(DropdownMenu, _objectSpread(_objectSpread({
86
- customTarget: /*#__PURE__*/jsx(Button, _objectSpread({
87
- "data-testid": "dynamic-variables-button",
88
- icon: Braces,
89
- size: "icon",
90
- variant: "outline"
91
- }, buttonProps))
92
- }, dropdownProps), {}, {
93
- dropdownProps: _objectSpread({
94
- className: "min-w-56"
95
- }, dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.dropdownProps),
96
- children: /*#__PURE__*/jsx("div", {
97
- className: "flex max-w-[22.5rem] min-w-[11.5rem] flex-col gap-1.5 p-2",
98
- "data-testid": "dynamic-variables-list",
99
- children: parsedVariables.map(function (_ref2) {
100
- var label = _ref2.label,
101
- variables = _ref2.variables;
102
- return /*#__PURE__*/jsxs(Fragment, {
103
- children: [label && /*#__PURE__*/jsxs("div", {
104
- className: "flex flex-row items-center gap-x-2",
105
- children: [/*#__PURE__*/jsx(Typography, {
106
- variant: "h6",
107
- children: label
108
- }), /*#__PURE__*/jsx("hr", {
109
- className: "border-border flex flex-grow"
85
+ return (
86
+ /*#__PURE__*/
87
+ // End-aligned with collision padding: the trigger usually sits at the
88
+ // content's right edge (e.g. the editor's variables button), so a
89
+ // start-aligned panel would hang past the viewport and get clipped.
90
+ jsx(DropdownMenu, _objectSpread(_objectSpread({
91
+ position: "bottom-end",
92
+ customTarget:
93
+ /*#__PURE__*/
94
+ // The inline-flex wrapper keeps the popper anchor button-sized;
95
+ // otherwise the trigger element can stretch with its container and
96
+ // end-align the panel far past the visible button.
97
+ jsx("div", {
98
+ className: "inline-flex",
99
+ children: /*#__PURE__*/jsx(Button, _objectSpread({
100
+ "data-testid": "dynamic-variables-button",
101
+ icon: Braces,
102
+ size: "icon",
103
+ variant: "outline"
104
+ }, buttonProps))
105
+ })
106
+ }, dropdownProps), {}, {
107
+ dropdownProps: _objectSpread({
108
+ // w-max frees the popup from the content wrapper's default
109
+ // trigger-width lock (which clips the chip grid via its
110
+ // overflow-x-hidden).
111
+ className: "w-max",
112
+ collisionPadding: 8
113
+ }, dropdownProps === null || dropdownProps === void 0 ? void 0 : dropdownProps.dropdownProps),
114
+ children: /*#__PURE__*/jsx("div", {
115
+ className: "flex max-w-[22.5rem] min-w-64 flex-col gap-3 p-3",
116
+ "data-testid": "dynamic-variables-list",
117
+ children: parsedVariables.map(function (_ref2) {
118
+ var label = _ref2.label,
119
+ variables = _ref2.variables;
120
+ return /*#__PURE__*/jsxs("div", {
121
+ className: "flex flex-col gap-1.5",
122
+ children: [label && /*#__PURE__*/jsxs("div", {
123
+ className: "flex flex-row items-center gap-x-2",
124
+ children: [/*#__PURE__*/jsx(Typography, {
125
+ className: "uppercase",
126
+ color: "muted",
127
+ variant: "caption",
128
+ weight: "medium",
129
+ children: label
130
+ }), /*#__PURE__*/jsx("hr", {
131
+ className: "border-border flex flex-grow"
132
+ })]
133
+ }), /*#__PURE__*/jsx("div", {
134
+ className: "flex flex-wrap items-center gap-2",
135
+ "data-testid": joinHyphenCase("dynamic-variables-list", label),
136
+ children: variables.map(function (item) {
137
+ return /*#__PURE__*/jsx("button", {
138
+ className: "border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary cursor-pointer rounded-md border px-1.5 py-1 text-start text-sm leading-tight transition-colors select-none focus:outline-none",
139
+ "data-testid": joinHyphenCase("dynamic-variables-list-item", item.label),
140
+ onClick: function onClick() {
141
+ return onVariableClick(item);
142
+ },
143
+ children: item.label
144
+ }, item.label);
145
+ })
110
146
  })]
111
- }), /*#__PURE__*/jsx("div", {
112
- className: "flex flex-wrap items-center gap-2",
113
- "data-testid": joinHyphenCase("dynamic-variables-list", label),
114
- children: variables.map(function (item) {
115
- return /*#__PURE__*/jsx("button", {
116
- className: "border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary rounded-md border p-1.5 text-start transition-colors select-none focus:outline-none",
117
- "data-testid": joinHyphenCase("dynamic-variables-list-item", item.label),
118
- onClick: function onClick() {
119
- return onVariableClick(item);
120
- },
121
- children: item.label
122
- }, item.label);
123
- })
124
- })]
125
- }, label);
147
+ }, label);
148
+ })
126
149
  })
127
- })
128
- }));
150
+ }))
151
+ );
129
152
  };
130
153
 
131
154
  export { DynamicVariables as default };
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicVariables.js","sources":["../../node_modules/lucide-react/dist/esm/icons/braces.mjs","../../src/v2/components/DynamicVariables/utils.js","../../src/v2/components/DynamicVariables/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n { d: \"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1\", key: \"ezmyqa\" }\n ],\n [\n \"path\",\n {\n d: \"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\",\n key: \"e1hn23\"\n }\n ]\n];\nconst Braces = createLucideIcon(\"braces\", __iconNode);\n\nexport { __iconNode, Braces as default };\n//# sourceMappingURL=braces.mjs.map\n","import { findBy } from \"neetocist\";\nimport { prop, isEmpty, uniqBy, mergeLeft } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(\n mergeLeft({ category, categoryLabel: label })\n );\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import { Fragment } from \"react\";\n\nimport { Button, DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Braces } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport { parseVariables } from \"./utils\";\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n buttonProps,\n ...dropdownProps\n}) => {\n if (isEmpty(variables)) return null;\n\n const parsedVariables = parseVariables(variables);\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n data-testid=\"dynamic-variables-button\"\n icon={Braces}\n size=\"icon\"\n variant=\"outline\"\n {...buttonProps}\n />\n }\n {...dropdownProps}\n dropdownProps={{\n className: \"min-w-56\",\n ...dropdownProps?.dropdownProps,\n }}\n >\n <div\n className=\"flex max-w-[22.5rem] min-w-[11.5rem] flex-col gap-1.5 p-2\"\n data-testid=\"dynamic-variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <Fragment key={label}>\n {label && (\n <div className=\"flex flex-row items-center gap-x-2\">\n <Typography variant=\"h6\">{label}</Typography>\n <hr className=\"border-border flex flex-grow\" />\n </div>\n )}\n <div\n className=\"flex flex-wrap items-center gap-2\"\n data-testid={joinHyphenCase(\"dynamic-variables-list\", label)}\n >\n {variables.map(item => (\n <button\n className=\"border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary rounded-md border p-1.5 text-start transition-colors select-none focus:outline-none\"\n key={item.label}\n data-testid={joinHyphenCase(\n \"dynamic-variables-list-item\",\n item.label\n )}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </Fragment>\n ))}\n </div>\n </DropdownMenu>\n );\n};\n\nDynamicVariables.propTypes = {\n onVariableClick: PropTypes.func,\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n};\n\nexport default DynamicVariables;\n"],"names":["parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","mergeLeft","categoryLabel","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","buttonProps","dropdownProps","_objectWithoutProperties","_excluded","_jsx","DropdownMenu","_objectSpread","customTarget","Button","icon","Braces","size","variant","className","children","_ref2","_jsxs","Fragment","Typography","joinHyphenCase","item","onClick"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE;AACF,IAAI,MAAM;AACV,IAAI,EAAE,CAAC,EAAE,sEAAsE,EAAE,GAAG,EAAE,QAAQ;AAC9F,GAAG;AACH,EAAE;AACF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,CAAC,EAAE,0EAA0E;AACnF,MAAM,GAAG,EAAE;AACX;AACA;AACA,CAAC;AACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC;;ACnB9C,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,GAAyB;AAAA,EAAA,IAArBC,WAAW,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAC7C,IAAMG,aAAa,GAAG,EAAE;EACxB,IAAMC,gBAAgB,GAAG,EAAE;AAC3B,EAAA,IAAMC,WAAW,GAAG,IAAIC,GAAG,EAAE;AAE7BP,EAAAA,WAAW,CAACQ,OAAO,CAAC,UAAAC,QAAQ,EAAI;AAC9B,IAAA,IAAQC,QAAQ,GAAuBD,QAAQ,CAAvCC,QAAQ;MAAEC,KAAK,GAAgBF,QAAQ,CAA7BE,KAAK;MAAEC,SAAS,GAAKH,QAAQ,CAAtBG,SAAS;IAClC,IAAIF,QAAQ,IAAIE,SAAS,EAAE;AACzB,MAAA,IAAMC,eAAe,GAAGD,SAAS,CAACE,GAAG,CACnCC,SAAS,CAAC;AAAEL,QAAAA,QAAQ,EAARA,QAAQ;AAAEM,QAAAA,aAAa,EAAEL;AAAM,OAAC,CAC9C,CAAC;AAED,MAAA,IAAI,CAACL,WAAW,CAACW,GAAG,CAACP,QAAQ,CAAC,EAAE;AAC9BJ,QAAAA,WAAW,CAACY,GAAG,CAACR,QAAQ,CAAC;QACzBL,gBAAgB,CAACc,IAAI,CAAC;AAAER,UAAAA,KAAK,EAALA,KAAK;AAAEC,UAAAA,SAAS,EAAEC;AAAgB,SAAC,CAAC;AAC9D,MAAA,CAAC,MAAM;QACL,IAAMO,aAAa,GAAGC,MAAM,CAAC;AAAEV,UAAAA,KAAK,EAALA;SAAO,EAAEN,gBAAgB,CAAC;AAEzDe,QAAAA,aAAa,CAACR,SAAS,GAAGU,MAAM,CAC9BC,IAAI,CAAC,KAAK,CAAC,EACXH,aAAa,CAACR,SAAS,CAACY,MAAM,CAACX,eAAe,CAChD,CAAC;AACH,MAAA;AACF,IAAA,CAAC,MAAM;AACLT,MAAAA,aAAa,CAACe,IAAI,CAACV,QAAQ,CAAC;AAC9B,IAAA;AACF,EAAA,CAAC,CAAC;AAEF,EAAA,IAAI,CAACgB,OAAO,CAACrB,aAAa,CAAC,EAAE;IAC3BC,gBAAgB,CAACc,IAAI,CAAC;MACpBR,KAAK,EAAE,CAACc,OAAO,CAACpB,gBAAgB,CAAC,GAAG,QAAQ,GAAG,IAAI;AACnDO,MAAAA,SAAS,EAAER;AACb,KAAC,CAAC;AACJ,EAAA;AAEA,EAAA,OAAOC,gBAAgB;AACzB,CAAC;;;;;AC5BD,IAAMqB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKhB;AAAA,EAAA,IAAAC,oBAAA,GAAAD,IAAA,CAJJE,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAGE,IAAI,GAAAF,oBAAA;IAAAG,cAAA,GAAAJ,IAAA,CACtBf,SAAS;AAATA,IAAAA,SAAS,GAAAmB,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IACdC,WAAW,GAAAL,IAAA,CAAXK,WAAW;AACRC,IAAAA,aAAa,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA;AAEhB,EAAA,IAAIV,OAAO,CAACb,SAAS,CAAC,EAAE,OAAO,IAAI;AAEnC,EAAA,IAAMC,eAAe,GAAGd,cAAc,CAACa,SAAS,CAAC;AAEjD,EAAA,oBACEwB,GAAA,CAACC,YAAY,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACXC,IAAAA,YAAY,eACVH,GAAA,CAACI,MAAM,EAAAF,aAAA,CAAA;AACL,MAAA,aAAA,EAAY,0BAA0B;AACtCG,MAAAA,IAAI,EAAEC,MAAO;AACbC,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,OAAO,EAAC;AAAS,KAAA,EACbZ,WAAW,CAChB;AACF,GAAA,EACGC,aAAa,CAAA,EAAA,EAAA,EAAA;AACjBA,IAAAA,aAAa,EAAAK,aAAA,CAAA;AACXO,MAAAA,SAAS,EAAE;AAAU,KAAA,EAClBZ,aAAa,KAAA,IAAA,IAAbA,aAAa,uBAAbA,aAAa,CAAEA,aAAa,CAC/B;AAAAa,IAAAA,QAAA,eAEFV,GAAA,CAAA,KAAA,EAAA;AACES,MAAAA,SAAS,EAAC,2DAA2D;AACrE,MAAA,aAAA,EAAY,wBAAwB;AAAAC,MAAAA,QAAA,EAEnCjC,eAAe,CAACC,GAAG,CAAC,UAAAiC,KAAA,EAAA;AAAA,QAAA,IAAGpC,KAAK,GAAAoC,KAAA,CAALpC,KAAK;UAAEC,SAAS,GAAAmC,KAAA,CAATnC,SAAS;QAAA,oBACtCoC,IAAA,CAACC,QAAQ,EAAA;UAAAH,QAAA,EAAA,CACNnC,KAAK,iBACJqC,IAAA,CAAA,KAAA,EAAA;AAAKH,YAAAA,SAAS,EAAC,oCAAoC;YAAAC,QAAA,EAAA,cACjDV,GAAA,CAACc,UAAU,EAAA;AAACN,cAAAA,OAAO,EAAC,IAAI;AAAAE,cAAAA,QAAA,EAAEnC;aAAkB,CAAC,eAC7CyB,GAAA,CAAA,IAAA,EAAA;AAAIS,cAAAA,SAAS,EAAC;AAA8B,aAAE,CAAC;WAC5C,CACN,eACDT,GAAA,CAAA,KAAA,EAAA;AACES,YAAAA,SAAS,EAAC,mCAAmC;AAC7C,YAAA,aAAA,EAAaM,cAAc,CAAC,wBAAwB,EAAExC,KAAK,CAAE;AAAAmC,YAAAA,QAAA,EAE5DlC,SAAS,CAACE,GAAG,CAAC,UAAAsC,IAAI,EAAA;AAAA,cAAA,oBACjBhB,GAAA,CAAA,QAAA,EAAA;AACES,gBAAAA,SAAS,EAAC,mNAAmN;AAE7N,gBAAA,aAAA,EAAaM,cAAc,CACzB,6BAA6B,EAC7BC,IAAI,CAACzC,KACP,CAAE;gBACF0C,OAAO,EAAE,SAATA,OAAOA,GAAA;kBAAA,OAAQxB,eAAe,CAACuB,IAAI,CAAC;gBAAA,CAAC;gBAAAN,QAAA,EAEpCM,IAAI,CAACzC;eAAK,EAPNyC,IAAI,CAACzC,KAQJ,CAAC;YAAA,CACV;AAAC,WACC,CAAC;AAAA,SAAA,EAxBOA,KAyBL,CAAC;MAAA,CACZ;KACE;AAAC,GAAA,CACM,CAAC;AAEnB;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"DynamicVariables.js","sources":["../../node_modules/lucide-react/dist/esm/icons/braces.mjs","../../src/v2/components/DynamicVariables/utils.js","../../src/v2/components/DynamicVariables/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n { d: \"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1\", key: \"ezmyqa\" }\n ],\n [\n \"path\",\n {\n d: \"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\",\n key: \"e1hn23\"\n }\n ]\n];\nconst Braces = createLucideIcon(\"braces\", __iconNode);\n\nexport { __iconNode, Braces as default };\n//# sourceMappingURL=braces.mjs.map\n","import { findBy } from \"neetocist\";\nimport { prop, isEmpty, uniqBy, mergeLeft } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(\n mergeLeft({ category, categoryLabel: label })\n );\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import { Button, DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Braces } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport { parseVariables } from \"./utils\";\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n buttonProps,\n ...dropdownProps\n}) => {\n if (isEmpty(variables)) return null;\n\n const parsedVariables = parseVariables(variables);\n\n return (\n // End-aligned with collision padding: the trigger usually sits at the\n // content's right edge (e.g. the editor's variables button), so a\n // start-aligned panel would hang past the viewport and get clipped.\n <DropdownMenu\n position=\"bottom-end\"\n customTarget={\n // The inline-flex wrapper keeps the popper anchor button-sized;\n // otherwise the trigger element can stretch with its container and\n // end-align the panel far past the visible button.\n <div className=\"inline-flex\">\n <Button\n data-testid=\"dynamic-variables-button\"\n icon={Braces}\n size=\"icon\"\n variant=\"outline\"\n {...buttonProps}\n />\n </div>\n }\n {...dropdownProps}\n dropdownProps={{\n // w-max frees the popup from the content wrapper's default\n // trigger-width lock (which clips the chip grid via its\n // overflow-x-hidden).\n className: \"w-max\",\n collisionPadding: 8,\n ...dropdownProps?.dropdownProps,\n }}\n >\n {/* Groups own their label-to-chips gap; the outer column spaces the\n groups themselves (the editor's old h6-based margin rule no longer\n matches now that the label is a caption span). */}\n <div\n className=\"flex max-w-[22.5rem] min-w-64 flex-col gap-3 p-3\"\n data-testid=\"dynamic-variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <div className=\"flex flex-col gap-1.5\" key={label}>\n {label && (\n <div className=\"flex flex-row items-center gap-x-2\">\n {/* Group label, not a heading: caption keeps the v1 12px;\n medium weight so the uppercase run still reads muted. */}\n <Typography\n className=\"uppercase\"\n color=\"muted\"\n variant=\"caption\"\n weight=\"medium\"\n >\n {label}\n </Typography>\n <hr className=\"border-border flex flex-grow\" />\n </div>\n )}\n <div\n className=\"flex flex-wrap items-center gap-2\"\n data-testid={joinHyphenCase(\"dynamic-variables-list\", label)}\n >\n {variables.map(item => (\n <button\n className=\"border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary cursor-pointer rounded-md border px-1.5 py-1 text-start text-sm leading-tight transition-colors select-none focus:outline-none\"\n key={item.label}\n data-testid={joinHyphenCase(\n \"dynamic-variables-list-item\",\n item.label\n )}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </div>\n ))}\n </div>\n </DropdownMenu>\n );\n};\n\nDynamicVariables.propTypes = {\n onVariableClick: PropTypes.func,\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n};\n\nexport default DynamicVariables;\n"],"names":["parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","mergeLeft","categoryLabel","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","buttonProps","dropdownProps","_objectWithoutProperties","_excluded","_jsx","DropdownMenu","_objectSpread","position","customTarget","className","children","Button","icon","Braces","size","variant","collisionPadding","_ref2","_jsxs","Typography","color","weight","joinHyphenCase","item","onClick"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "5.2.20",
3
+ "version": "5.2.22",
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>",
@@ -377,14 +377,14 @@
377
377
  "integrationDisconnectedOnBehalfWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>disconnected {{integrationName, anyCase}}</Semibold> for <Code>{{integrationOwner, anyCase}}</Code>.",
378
378
  "integrationDisconnectedByProvider": "<Bold>{{integrationName, anyCase}}</Bold> <Semibold>disconnected</Semibold> for <Code>{{detail, anyCase}}</Code> (connected by {{performedBy, anyCase}}).",
379
379
  "integrationDisconnectedByProviderWithoutDetail": "<Bold>{{integrationName, anyCase}}</Bold> <Semibold>disconnected</Semibold> (connected by {{performedBy, anyCase}}).",
380
- "connectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>connected to Stripe integration</Semibold> with account ID: <Code>{{stripeAccountId, anyCase}}</Code> on {{productSuffix, anyCase}}.",
381
- "disconnectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>disconnected the Stripe integration</Semibold> on {{productSuffix, anyCase}}.",
382
- "connectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>connected to Zoom integration</Semibold> with account ID: <Code>{{zoomAccountId, anyCase}}</Code> on {{productSuffix, anyCase}}.",
383
- "disconnectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>disconnected the Zoom integration</Semibold> on {{productSuffix, anyCase}}.",
384
- "connectedCustomDomain": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>connected Custom Domain:</Semibold> <Code>{{hostname, anyCase}}</Code> on {{productSuffix, anyCase}}.",
385
- "createdApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>created</Semibold> an API key with label <Semibold>{{label, anyCase}}</Semibold> on {{productSuffix, anyCase}}.",
386
- "deletedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>deleted</Semibold> an API key with label <Semibold>{{label, anyCase}}</Semibold> on {{productSuffix, anyCase}}.",
387
- "updatedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>updated</Semibold> an API key with label <Semibold>{{label, anyCase}}</Semibold> on {{productSuffix, anyCase}}."
380
+ "connectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>connected to Stripe integration</Semibold> with account ID: <Code>{{stripeAccountId, anyCase}}</Code>.",
381
+ "disconnectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>disconnected the Stripe integration</Semibold>.",
382
+ "connectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>connected to Zoom integration</Semibold> with account ID: <Code>{{zoomAccountId, anyCase}}</Code>.",
383
+ "disconnectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>disconnected the Zoom integration</Semibold>.",
384
+ "connectedCustomDomain": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>connected Custom Domain:</Semibold> <Code>{{hostname, anyCase}}</Code>.",
385
+ "createdApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>created</Semibold> an API key with label <Semibold>{{label, anyCase}}</Semibold>.",
386
+ "deletedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>deleted</Semibold> an API key with label <Semibold>{{label, anyCase}}</Semibold>.",
387
+ "updatedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>updated</Semibold> an API key with label <Semibold>{{label, anyCase}}</Semibold>."
388
388
  },
389
389
  "details": {
390
390
  "emails": {