@bigbinary/neeto-molecules 4.0.92 → 4.0.94
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 +376 -434
- package/dist/AuditLogs.js.map +1 -1
- package/dist/Settings.js +9 -7
- package/dist/Settings.js.map +1 -1
- package/dist/cjs/AuditLogs.js +373 -431
- package/dist/cjs/AuditLogs.js.map +1 -1
- package/dist/cjs/Settings.js +9 -7
- package/dist/cjs/Settings.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +22 -13
package/dist/AuditLogs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditLogs.js","sources":["../src/components/AuditLogs/LabelledDetail.jsx","../src/components/AuditLogs/Details/constants.js","../src/components/AuditLogs/Details/utils.js","../src/components/AuditLogs/Details/Changelog/Generic.jsx","../src/components/AuditLogs/Details/Changelog/Permissions.jsx","../src/components/AuditLogs/Details/Emails.jsx","../src/components/AuditLogs/Details/Generic.jsx","../src/components/AuditLogs/constants.js","../src/components/AuditLogs/utils.jsx","../src/components/AuditLogs/AddtionalDetails.jsx","../src/components/AuditLogs/api.js","../src/components/AuditLogs/useAuditLogsApi.js","../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LabelledDetail = ({ label, value }) => (\n <Typography className=\"mb-4\" style=\"body2\">\n <Trans\n components={{ strong: <strong /> }}\n i18nKey={`neetoMolecules.auditLogs.additionalDetails.${label}`}\n values={{ value }}\n />\n </Typography>\n);\n\nexport default LabelledDetail;\n","import { t } from \"i18next\";\n\nexport const DATE_FORMATS = {\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const DETAILS_KEYS = {\n AFFECTED_EMAIL: \"affectedEmail\",\n ERROR_MESSAGE: \"errorMessage\",\n NAME: \"name\",\n ORGANIZATION_ROLE: \"organizationRole\",\n GENERIC_DETAILS: \"details\",\n ADDED_PERMISSIONS: \"addedPermissions\",\n REMOVED_PERMISSIONS: \"removedPermissions\",\n};\n\nexport const EMAILS_TABLE_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.emails.title\"),\n key: \"email\",\n dataIndex: \"email\",\n },\n];\n\nexport const CHANGELOG_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.field\"),\n key: \"field\",\n dataIndex: \"field\",\n ellipsis: false,\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.from\"),\n key: \"from\",\n dataIndex: \"from\",\n width: \"38%\",\n ellipsis: false,\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.to\"),\n key: \"to\",\n dataIndex: \"to\",\n width: \"38%\",\n ellipsis: false,\n },\n];\n","import { t } from \"i18next\";\nimport { _humanize } from \"neetocist\";\n\nimport { DATE_FORMATS, DETAILS_KEYS } from \"./constants\";\n\nconst formatToFromValue = value => {\n if (value === true) {\n return t(\"neetoMolecules.auditLogs.details.changelog.true\");\n }\n\n if (value === false) {\n return t(\"neetoMolecules.auditLogs.details.changelog.false\");\n }\n\n if (value === null) return \"-\";\n\n return value;\n};\n\nconst transformDateFormat = rawDateFormat => DATE_FORMATS[rawDateFormat];\n\nconst getFormattedValue = (field, value) =>\n field === \"dateFormat\"\n ? transformDateFormat(value)\n : formatToFromValue(value);\n\nexport const formatEmails = emails => emails.map(email => ({ email }));\n\nexport const formatChangeLog = changes =>\n Object.entries(changes).map(([field, { from, to }]) => {\n const formattedField = _humanize(field);\n\n return {\n field: formattedField,\n from: getFormattedValue(field, from),\n to: getFormattedValue(field, to),\n };\n });\n\nexport const getFullName = (firstName, lastName = \"\") =>\n `${firstName} ${lastName}`.trim();\n\nexport const getLabel = ({ firstName, lastName, organizationRole }) => {\n if (firstName || lastName) {\n return DETAILS_KEYS.NAME;\n }\n\n if (organizationRole) {\n return DETAILS_KEYS.ORGANIZATION_ROLE;\n }\n\n return DETAILS_KEYS.GENERIC_DETAILS;\n};\n\nexport const formatPermissionsChangeLog = ({ from, to }) => [\n {\n field: t(\"neetoMolecules.auditLogs.details.permissions.description\"),\n from: getFormattedValue(\"description\", from),\n to: getFormattedValue(\"description\", to),\n },\n];\n\nexport const transformPermissions = permissions =>\n permissions\n .map(permission => {\n const humanizedParts = permission.split(\".\").map(_humanize);\n\n return humanizedParts.join(\" - \");\n })\n .join(\", \");\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { CHANGELOG_COLUMN_DATA, DETAILS_KEYS } from \"../constants\";\nimport { formatChangeLog } from \"../utils\";\n\nconst GenericChangelog = ({ details }) => {\n const { t } = useTranslation();\n\n const { email = \"\", changes = {}, errorMessage = \"\", status } = details;\n\n return (\n <div>\n <LabelledDetail label={DETAILS_KEYS.AFFECTED_EMAIL} value={email} />\n {isNotEmpty(changes) && status === \"success\" ? (\n <div className=\"w-full min-w-0 max-w-full\">\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n enableColumnResize={false}\n rowData={formatChangeLog(changes)}\n scroll={{ x: \"100%\" }}\n />\n </div>\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </div>\n );\n};\n\nexport default GenericChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { DETAILS_KEYS, CHANGELOG_COLUMN_DATA } from \"../constants\";\nimport { formatPermissionsChangeLog, transformPermissions } from \"../utils\";\n\nconst PermissionsChangelog = ({ details }) => {\n const {\n description = {},\n organizationRole = \"\",\n addedPermissions = [],\n removedPermissions = [],\n } = details;\n\n return (\n <div>\n <LabelledDetail\n label={DETAILS_KEYS.ORGANIZATION_ROLE}\n value={organizationRole}\n />\n {isNotEmpty(addedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.ADDED_PERMISSIONS}\n value={transformPermissions(addedPermissions)}\n />\n )}\n {isNotEmpty(removedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.REMOVED_PERMISSIONS}\n value={transformPermissions(removedPermissions)}\n />\n )}\n {isNotEmpty(description) && (\n <div className=\"w-full min-w-0 max-w-full\">\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n enableColumnResize={false}\n rowData={formatPermissionsChangeLog(description)}\n scroll={{ x: \"100%\" }}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default PermissionsChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DETAILS_KEYS, EMAILS_TABLE_COLUMN_DATA } from \"./constants\";\nimport { formatEmails } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst Emails = ({ details }) => {\n const { t } = useTranslation();\n\n const { emails = [], status, errorMessage = \"\" } = details;\n\n return (\n <>\n {isNotEmpty(emails) && status === \"success\" ? (\n <div className=\"w-full min-w-0 max-w-full\">\n <Table\n columns={EMAILS_TABLE_COLUMN_DATA}\n enableColumnFreeze={false}\n enableColumnResize={false}\n loading={false}\n rowData={formatEmails(emails)}\n scroll={{ x: \"100%\" }}\n />\n </div>\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </>\n );\n};\n\nexport default Emails;\n","import { getLabel, getFullName } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst GenericDetails = ({ details }) => {\n const { firstName = \"\", lastName = \"\", organizationRole = \"\" } = details;\n\n const name = getFullName(firstName, lastName);\n const label = getLabel({ firstName, lastName, organizationRole });\n const value = name || organizationRole || JSON.stringify(details);\n\n return <LabelledDetail {...{ label, value }} />;\n};\n\nexport default GenericDetails;\n","import GenericChangelog from \"./Details/Changelog/Generic\";\nimport PermissionsChangelog from \"./Details/Changelog/Permissions\";\nimport Emails from \"./Details/Emails\";\nimport GenericDetails from \"./Details/Generic\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const DETAILS_COMPONENT_MAP = {\n [ACTIONS.INVITED_USERS]: Emails,\n [ACTIONS.BULK_UPDATE_USERS]: Emails,\n [ACTIONS.USER_SIGNED_UP]: GenericDetails,\n [ACTIONS.UPDATED_USER]: GenericChangelog,\n [ACTIONS.UPDATED_USER_PROFILE]: GenericChangelog,\n [ACTIONS.CREATED_ROLE]: GenericDetails,\n [ACTIONS.UPDATED_ROLE]: PermissionsChangelog,\n [ACTIONS.DELETED_ROLE]: GenericDetails,\n};\n","import { t } from \"i18next\";\nimport { capitalize, snakeToCamelCase } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\n\nimport { DETAILS_COMPONENT_MAP } from \"./constants\";\nimport GenericDetails from \"./Details/Generic\";\n\nconst transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const transformLogsForTable = logs =>\n logs.map(\n ({\n id,\n key: action,\n metadata: { status, ...restOfMetadata },\n performer: { name: performedBy = \"\" },\n updatedAt: performedAt,\n }) => {\n const transformedAction = transformAction(action);\n const formattedPerformedAt = dateFormat.dateTime(performedAt);\n\n return {\n id,\n action: transformedAction,\n status: capitalize(status),\n performedAt: formattedPerformedAt,\n performedBy,\n additionalDetails: {\n ...restOfMetadata,\n action: transformedAction,\n performedAt: formattedPerformedAt,\n performedBy,\n status,\n },\n };\n }\n );\n\nexport const getColumnData = handleClick => [\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.action\", SINGULAR),\n key: \"action\",\n dataIndex: \"action\",\n render: (action, { additionalDetails }) => (\n <Button\n data-testid=\"action-link-button\"\n label={t(`neetoMolecules.auditLogs.actions.${action}`)}\n style=\"link\"\n onClick={() => handleClick(additionalDetails)}\n />\n ),\n width: 200,\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.status\"),\n key: \"status\",\n dataIndex: \"status\",\n width: 150,\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedBy\"),\n key: \"performedBy\",\n dataIndex: \"performedBy\",\n width: 160,\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedAt\"),\n key: \"performedAt\",\n dataIndex: \"performedAt\",\n width: 160,\n },\n];\n\nexport const getComponentForDetail = action =>\n DETAILS_COMPONENT_MAP[action] || GenericDetails;\n","import { _capitalize } from \"neetocist\";\nimport { Typography, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADDITIONAL_DETAILS_KEYS } from \"./constants\";\nimport LabelledDetail from \"./LabelledDetail\";\nimport { getComponentForDetail } from \"./utils\";\n\nconst AdditionalDetails = ({ additionalDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const {\n message,\n action: defaultAction,\n performedBy,\n performedAt,\n via: product,\n ...details\n } = additionalDetails;\n\n const action =\n message || t(`neetoMolecules.auditLogs.actions.${defaultAction}`);\n\n const DetailComponent = getComponentForDetail(defaultAction);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n data-testid=\"additional-details-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.auditLogs.additionalDetails.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body hasFooter={false}>\n <>\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.ACTION}\n value={action}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_BY}\n value={performedBy}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_AT}\n value={performedAt}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PRODUCT}\n value={_capitalize(product)}\n />\n <DetailComponent {...{ details }} />\n </>\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default AdditionalDetails;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst auditLogsApi = { fetchAuditLogs };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Table, Typography, Spinner } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport AdditionalDetails from \"./AddtionalDetails\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { transformLogsForTable, getColumnData } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const [isAdditionalDetailsPaneOpen, setIsAdditionalDetailsPaneOpen] =\n useState(false);\n const [additionalDetails, setAdditionalDetails] = useState({});\n\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page } });\n\n const handleClick = additionalDetails => {\n setIsAdditionalDetailsPaneOpen(true);\n setAdditionalDetails(additionalDetails);\n };\n\n const handleClose = () => {\n setIsAdditionalDetailsPaneOpen(false);\n setAdditionalDetails({});\n };\n\n if (isLoading) {\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>\n <Header title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n <SubHeader\n leftActionBlock={\n isPresent(auditLogs) && (\n <Typography weight=\"semibold\">\n {t(\"neetoMolecules.auditLogs.logsCount\", { count: totalCount })}\n </Typography>\n )\n }\n />\n <TableWrapper\n className=\"mt-5\"\n hasPagination={totalCount > DEFAULT_PAGE_SIZE}\n >\n {isPresent(auditLogs) ? (\n <Table\n {...{ totalCount }}\n fixedHeight\n columnData={getColumnData(handleClick)}\n currentPageNumber={parseInt(page)}\n data-testid=\"audit-logs-table\"\n defaultPageSize={DEFAULT_PAGE_SIZE}\n enableColumnFreeze={false}\n loading={isFetching}\n rowData={transformLogsForTable(auditLogs)}\n />\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 </TableWrapper>\n <AdditionalDetails\n {...{ additionalDetails }}\n isOpen={isAdditionalDetailsPaneOpen}\n onClose={handleClose}\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":["LabelledDetail","_ref","label","value","_jsx","Typography","className","style","children","Trans","components","strong","i18nKey","concat","values","DATE_FORMATS","DETAILS_KEYS","AFFECTED_EMAIL","ERROR_MESSAGE","NAME","ORGANIZATION_ROLE","GENERIC_DETAILS","ADDED_PERMISSIONS","REMOVED_PERMISSIONS","EMAILS_TABLE_COLUMN_DATA","title","t","key","dataIndex","CHANGELOG_COLUMN_DATA","ellipsis","width","formatToFromValue","transformDateFormat","rawDateFormat","getFormattedValue","field","formatEmails","emails","map","email","formatChangeLog","changes","Object","entries","_ref2","_slicedToArray","_ref2$","from","to","formattedField","_humanize","getFullName","firstName","lastName","arguments","length","undefined","trim","getLabel","_ref3","organizationRole","formatPermissionsChangeLog","_ref4","transformPermissions","permissions","permission","humanizedParts","split","join","GenericChangelog","details","_useTranslation","useTranslation","_details$email","_details$changes","_details$errorMessage","errorMessage","status","_jsxs","isNotEmpty","Table","columnData","enableColumnFreeze","enableColumnResize","rowData","scroll","x","PermissionsChangelog","_details$description","description","_details$organization","_details$addedPermiss","addedPermissions","_details$removedPermi","removedPermissions","Emails","_details$emails","_Fragment","columns","loading","GenericDetails","_details$firstName","_details$lastName","name","JSON","stringify","AUDIT_LOGS_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","ADDITIONAL_DETAILS_KEYS","ACTION","PERFORMED_BY","PERFORMED_AT","PRODUCT","DETAILS_COMPONENT_MAP","_defineProperty","transformAction","action","snakeToCamelCase","replace","transformLogsForTable","logs","id","_ref$metadata","metadata","restOfMetadata","_objectWithoutProperties","_excluded","_ref$performer$name","performer","performedBy","performedAt","updatedAt","transformedAction","formattedPerformedAt","dateFormat","dateTime","capitalize","additionalDetails","_objectSpread","getColumnData","handleClick","SINGULAR","render","Button","onClick","getComponentForDetail","AdditionalDetails","isOpen","onClose","message","defaultAction","product","via","DetailComponent","Pane","size","Header","Body","hasFooter","_capitalize","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useState","useState","_useState2","isAdditionalDetailsPaneOpen","setIsAdditionalDetailsPaneOpen","_useState3","_useState4","setAdditionalDetails","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","totalCount","isLoading","isFetching","handleClose","Spinner","Container","SubHeader","leftActionBlock","isPresent","weight","count","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","fixedHeight","currentPageNumber","parseInt","defaultPageSize","NoData","helpText"],"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/index.jsx"],"sourcesContent":["import {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n} from \"neetoicons\";\nimport { GoogleCalendar, Zoom, Stripe, StripeTypeface } from \"neetoicons/misc\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n CONNECTED_GOOGLE_CALENDER: \"connectedGoogleCalendar\",\n DISCONNECTED_GOOGLE_CALENDER: \"disconnectedGoogleCalendar\",\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};\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.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};\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\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 { values } from \"ramda\";\n\nimport { ACTIONS } from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatChangedFields = changes => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n let element;\n\n if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: humanize(field),\n from: change.from,\n to: change.to,\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: humanize(field), to: change.to }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\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 action,\n performedBy,\n emails = [],\n firstName,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n addedPermissions,\n}) => {\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 changedFields = formatChangedFields(changes);\n const affectedUser = email || \"user\";\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser, changedFields }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\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);\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 roleName = organizationRole || \"role\";\n const permissionsArray = values(addedPermissions).map(permission =>\n humanize(permission.split(\".\")[1])\n );\n const addedPermissionsText = permissionsArray.join(\", \");\n\n return (\n // Disabling as we're using the same key for both singular and plural cases\n // eslint-disable-next-line @bigbinary/neeto/no-missing-localization\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedRole\"\n additionalValues={{\n performedBy,\n roleName,\n addedPermissionsText,\n count: permissionsArray.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 additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedGoogleCalender\"\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 default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\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 = ({ auditLog, index, totalCount }) => {\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 action,\n performedBy,\n ...metadata,\n });\n\n const Icon = AUDIT_ICON_MAP[action];\n\n return (\n <div\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\">\n <Typography component=\"span\" lineHeight=\"normal\" style=\"body2\">\n {auditText}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-500 m-0\" style=\"body3\">\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 auditLogsApi = { fetchAuditLogs };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { 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\";\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 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 className=\"relative\">\n <Header title={t(\"neetoMolecules.auditLogs.title\")} {...headerProps} />\n {isPresent(auditLogs) ? (\n <div className=\"w-full\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, index }}\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 <Pagination\n className=\"neeto-ui-bg-white fixed bottom-5 right-6\"\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\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","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","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","GoogleCalendar","StripeTypeface","Stripe","Zoom","CustomDomain","AUDIT_LOGS_PAGE_SIZE","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","components","_objectSpread","Code","Typography","className","component","style","Semibold","values","productSuffix","globalProps","appName","formatChangedFields","changes","fields","Object","keys","map","field","index","change","element","isPresent","from","children","humanize","to","concat","flat","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","performedBy","_ref$emails","emails","firstName","lastName","organizationRole","email","_ref$changes","status","message","errorMessage","addedPermissions","isNotEmpty","emailList","join","name","filter","Boolean","userIdentifier","changedFields","affectedUser","ChangedFields","_Fragment","roleName","permissionsArray","permission","split","addedPermissionsText","count","length","emailAddress","stripeAccountId","zoomAccountId","hostname","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","Icon","_jsxs","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","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","Spinner","Container","Header","title","_createElement","id","NoData","helpText","Pagination","pageNo","parseInt"],"mappings":"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"}
|
package/dist/Settings.js
CHANGED
|
@@ -36,7 +36,7 @@ import '@bigbinary/neeto-commons-frontend/utils';
|
|
|
36
36
|
|
|
37
37
|
var UNSUPPORTED_LINK_PROPS = ["staticContext", "tReady"];
|
|
38
38
|
|
|
39
|
-
var css = ".neeto-molecules-settings-item [data-dark-mode-color=true]{fill:rgb(var(--neeto-ui-black))}";
|
|
39
|
+
var css = ".neeto-molecules-settings-link:active,.neeto-molecules-settings-link:hover{box-shadow:0 0 9.2px 0 rgba(29,33,59,.122)}.neeto-molecules-settings-link:active .neeto-molecules-settings-item-heading,.neeto-molecules-settings-link:hover .neeto-molecules-settings-item-heading{color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-settings-link:focus,.neeto-molecules-settings-link:focus-visible{border-color:rgb(var(--neeto-ui-primary-500));box-shadow:0 0 9.2px 0 rgba(29,33,59,.122)}.neeto-molecules-settings-link:focus .neeto-molecules-settings-item-heading,.neeto-molecules-settings-link:focus-visible .neeto-molecules-settings-item-heading{color:rgb(var(--neeto-ui-primary-500))}.neeto-molecules-settings-item [data-dark-mode-color=true]{fill:rgb(var(--neeto-ui-black))}.neeto-molecules-settings-item svg path{stroke-width:1.2px}";
|
|
40
40
|
n(css,{});
|
|
41
41
|
|
|
42
42
|
var _excluded$1 = ["label", "description", "icon", "path", "href", "dataCy", "className", "children"];
|
|
@@ -56,7 +56,7 @@ var Item = function Item(_ref) {
|
|
|
56
56
|
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
57
57
|
var commonProps = _objectSpread$4({
|
|
58
58
|
"data-cy": dataCy,
|
|
59
|
-
className: classnames("neeto-
|
|
59
|
+
className: classnames("neeto-molecules-settings-link neeto-ui-rounded-lg neeto-ui-border-gray-200 flex cursor-pointer flex-col gap-y-4 border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out group", className)
|
|
60
60
|
}, omit(UNSUPPORTED_LINK_PROPS, otherProps));
|
|
61
61
|
var LinkElement = href ? "a" : Link;
|
|
62
62
|
var linkProps = href ? _objectSpread$4({
|
|
@@ -70,17 +70,19 @@ var Item = function Item(_ref) {
|
|
|
70
70
|
"data-cy": "settings-item-".concat(joinHyphenCase(label)),
|
|
71
71
|
"data-testid": "settings-item-".concat(joinHyphenCase(label)),
|
|
72
72
|
children: [/*#__PURE__*/jsxs("div", {
|
|
73
|
-
className: "mb-2 flex items-center gap-
|
|
73
|
+
className: "mb-2.5 flex items-center gap-3",
|
|
74
74
|
children: [Icon && /*#__PURE__*/jsx(Icon, {
|
|
75
|
-
className: "neeto-ui-text-gray-
|
|
76
|
-
size:
|
|
75
|
+
className: "neeto-ui-text-gray-500",
|
|
76
|
+
size: 24
|
|
77
77
|
}), /*#__PURE__*/jsx(Typography, {
|
|
78
|
+
className: "neeto-molecules-settings-item-heading neeto-ui-text-black transition-color text-lg leading-6 duration-300 ease-in-out",
|
|
78
79
|
"data-cy": "settings-item-heading",
|
|
79
|
-
style: "
|
|
80
|
+
style: "h3",
|
|
80
81
|
weight: "semibold",
|
|
81
82
|
children: label
|
|
82
83
|
})]
|
|
83
84
|
}), /*#__PURE__*/jsx(Typography, {
|
|
85
|
+
className: "neeto-ui-text-gray-600",
|
|
84
86
|
"data-cy": "settings-item-description",
|
|
85
87
|
style: "body2",
|
|
86
88
|
children: description
|
|
@@ -144,7 +146,7 @@ var Category = function Category(_ref) {
|
|
|
144
146
|
weight: "semibold",
|
|
145
147
|
children: label
|
|
146
148
|
}), /*#__PURE__*/jsx("div", {
|
|
147
|
-
className: "grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-
|
|
149
|
+
className: "grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4 xl:grid-cols-3 2xl:grid-cols-4",
|
|
148
150
|
children: items.map(function (item) {
|
|
149
151
|
return /*#__PURE__*/jsx(SettingsCard, _objectSpread$2({}, item), item.label);
|
|
150
152
|
})
|
package/dist/Settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../src/components/Settings/constants.js","../src/components/Settings/Item.jsx","../src/components/Settings/IntegrationItem.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\nimport \"./settings.scss\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-cy\": dataCy,\n className: classnames(\n \"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex cursor-pointer flex-col gap-y-4 border p-6 no-underline outline-none transition-transform duration-300 ease-in-out hover:-translate-y-1\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div\n className=\"neeto-molecules-settings-item\"\n data-cy={`settings-item-${joinHyphenCase(label)}`}\n data-testid={`settings-item-${joinHyphenCase(label)}`}\n >\n <div className=\"mb-2 flex items-center gap-4\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={32} />}\n <Typography\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n </div>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nexport default memo(withRouter(Item));\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default memo(IntegrationItem);\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classNames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography\n className=\"mb-6 mt-2\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n )}\n <div className=\"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", className, {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n {isHeaderVisible && (\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: propTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: propTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: propTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","href","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","commonProps","_objectSpread","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","concat","joinHyphenCase","_jsx","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","hyphenate","replace","Tag","Check","Category","items","id","isIntegration","SettingsCard","isLabelPresent","isPresent","classNames","component","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","NoData","_createElement","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../src/components/Settings/constants.js","../src/components/Settings/Item.jsx","../src/components/Settings/IntegrationItem.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\nimport \"./settings.scss\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-cy\": dataCy,\n className: classnames(\n \"neeto-molecules-settings-link neeto-ui-rounded-lg neeto-ui-border-gray-200 flex cursor-pointer flex-col gap-y-4 border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out group\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div\n className=\"neeto-molecules-settings-item\"\n data-cy={`settings-item-${joinHyphenCase(label)}`}\n data-testid={`settings-item-${joinHyphenCase(label)}`}\n >\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && <Icon className=\"neeto-ui-text-gray-500\" size={24} />}\n <Typography\n className=\"neeto-molecules-settings-item-heading neeto-ui-text-black transition-color text-lg leading-6 duration-300 ease-in-out\"\n data-cy=\"settings-item-heading\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n </div>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-cy=\"settings-item-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nexport default memo(withRouter(Item));\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default memo(IntegrationItem);\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classNames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography\n className=\"mb-6 mt-2\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n )}\n <div className=\"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", className, {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n {isHeaderVisible && (\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: propTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: propTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: propTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","href","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","commonProps","_objectSpread","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","concat","joinHyphenCase","_jsx","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","hyphenate","replace","Tag","Check","Category","items","id","isIntegration","SettingsCard","isLabelPresent","isPresent","classNames","component","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","NoData","_createElement","key"],"mappings":"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"}
|