@bigbinary/neeto-molecules 3.8.2 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/LabelledDetail.jsx","../../src/components/AuditLogs/Details/constants.js","../../src/components/AuditLogs/Details/utils.js","../../src/components/AuditLogs/Details/Changelog/Generic.jsx","../../src/components/AuditLogs/Details/Changelog/Permissions.jsx","../../src/components/AuditLogs/Details/Emails.jsx","../../src/components/AuditLogs/Details/Generic.jsx","../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/AddtionalDetails.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LabelledDetail = ({ label, value }) => (\n <Typography className=\"mb-2\" style=\"body1\">\n <Trans\n components={{ strong: <strong /> }}\n i18nKey={`neetoMolecules.auditLogs.additionalDetails.${label}`}\n values={{ value }}\n />\n </Typography>\n);\n\nexport default LabelledDetail;\n","import { t } from \"i18next\";\n\nexport const DATE_FORMATS = {\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const DETAILS_KEYS = {\n CHANGES_MADE_BY: \"changesMadeBy\",\n ERROR_MESSAGE: \"errorMessage\",\n NAME: \"name\",\n ORGANIZATION_ROLE: \"organizationRole\",\n GENERIC_DETAILS: \"details\",\n ADDED_PERMISSIONS: \"addedPermissions\",\n REMOVED_PERMISSIONS: \"removedPermissions\",\n};\n\nexport const EMAILS_TABLE_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.emails.title\"),\n key: \"email\",\n dataIndex: \"email\",\n },\n];\n\nexport const CHANGELOG_COLUMN_DATA = [\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.field\"),\n key: \"field\",\n dataIndex: \"field\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.from\"),\n key: \"from\",\n dataIndex: \"from\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.details.changelog.to\"),\n key: \"to\",\n dataIndex: \"to\",\n },\n];\n","import { t } from \"i18next\";\nimport { _humanize } from \"neetocist\";\n\nimport { DATE_FORMATS, DETAILS_KEYS } from \"./constants\";\n\nconst formatToFromValue = value => {\n if (value === true) {\n return t(\"neetoMolecules.auditLogs.details.changelog.true\");\n }\n\n if (value === false) {\n return t(\"neetoMolecules.auditLogs.details.changelog.false\");\n }\n\n if (value === null) return \"-\";\n\n return value;\n};\n\nconst transformDateFormat = rawDateFormat => DATE_FORMATS[rawDateFormat];\n\nconst getFormattedValue = (field, value) =>\n field === \"dateFormat\"\n ? transformDateFormat(value)\n : formatToFromValue(value);\n\nexport const formatEmails = emails => emails.map(email => ({ email }));\n\nexport const formatChangeLog = changes =>\n Object.entries(changes).map(([field, { from, to }]) => {\n const formattedField = _humanize(field);\n\n return {\n field: formattedField,\n from: getFormattedValue(field, from),\n to: getFormattedValue(field, to),\n };\n });\n\nexport const getFullName = (firstName, lastName = \"\") =>\n `${firstName} ${lastName}`.trim();\n\nexport const getLabel = ({ firstName, lastName, organizationRole }) => {\n if (firstName || lastName) {\n return DETAILS_KEYS.NAME;\n }\n\n if (organizationRole) {\n return DETAILS_KEYS.ORGANIZATION_ROLE;\n }\n\n return DETAILS_KEYS.GENERIC_DETAILS;\n};\n\nexport const formatPermissionsChangeLog = ({ from, to }) => [\n {\n field: t(\"neetoMolecules.auditLogs.details.permissions.description\"),\n from: getFormattedValue(\"description\", from),\n to: getFormattedValue(\"description\", to),\n },\n];\n\nexport const transformPermissions = permissions =>\n permissions\n .map(permission => {\n const humanizedParts = permission.split(\".\").map(_humanize);\n\n return humanizedParts.join(\" - \");\n })\n .join(\", \");\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { CHANGELOG_COLUMN_DATA, DETAILS_KEYS } from \"../constants\";\nimport { formatChangeLog } from \"../utils\";\n\nconst GenericChangelog = ({ details }) => {\n const { t } = useTranslation();\n\n const { email = \"\", changes = {}, errorMessage = \"\", status } = details;\n\n return (\n <div>\n <LabelledDetail label={DETAILS_KEYS.CHANGES_MADE_BY} value={email} />\n {isNotEmpty(changes) && status === \"success\" ? (\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n rowData={formatChangeLog(changes)}\n />\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </div>\n );\n};\n\nexport default GenericChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\n\nimport LabelledDetail from \"components/AuditLogs/LabelledDetail\";\n\nimport { DETAILS_KEYS, CHANGELOG_COLUMN_DATA } from \"../constants\";\nimport { formatPermissionsChangeLog, transformPermissions } from \"../utils\";\n\nconst PermissionsChangelog = ({ details }) => {\n const {\n description = {},\n organizationRole = \"\",\n addedPermissions = [],\n removedPermissions = [],\n } = details;\n\n return (\n <div>\n <LabelledDetail\n label={DETAILS_KEYS.ORGANIZATION_ROLE}\n value={organizationRole}\n />\n {isNotEmpty(addedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.ADDED_PERMISSIONS}\n value={transformPermissions(addedPermissions)}\n />\n )}\n {isNotEmpty(removedPermissions) && (\n <LabelledDetail\n label={DETAILS_KEYS.REMOVED_PERMISSIONS}\n value={transformPermissions(removedPermissions)}\n />\n )}\n {isNotEmpty(description) && (\n <Table\n columnData={CHANGELOG_COLUMN_DATA}\n enableColumnFreeze={false}\n rowData={formatPermissionsChangeLog(description)}\n />\n )}\n </div>\n );\n};\n\nexport default PermissionsChangelog;\n","import { isNotEmpty } from \"neetocist\";\nimport { Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DETAILS_KEYS, EMAILS_TABLE_COLUMN_DATA } from \"./constants\";\nimport { formatEmails } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst Emails = ({ details }) => {\n const { t } = useTranslation();\n\n const { emails = [], status, errorMessage = \"\" } = details;\n\n return (\n <>\n {isNotEmpty(emails) && status === \"success\" ? (\n <Table\n columns={EMAILS_TABLE_COLUMN_DATA}\n loading={false}\n rowData={formatEmails(emails)}\n />\n ) : (\n <LabelledDetail\n label={DETAILS_KEYS.ERROR_MESSAGE}\n value={errorMessage || t(\"neetoMolecules.auditLogs.noError\")}\n />\n )}\n </>\n );\n};\n\nexport default Emails;\n","import { getLabel, getFullName } from \"./utils\";\n\nimport LabelledDetail from \"../LabelledDetail\";\n\nconst GenericDetails = ({ details }) => {\n const { firstName = \"\", lastName = \"\", organizationRole = \"\" } = details;\n\n const name = getFullName(firstName, lastName);\n const label = getLabel({ firstName, lastName, organizationRole });\n const value = name || organizationRole || JSON.stringify(details);\n\n return <LabelledDetail {...{ label, value }} />;\n};\n\nexport default GenericDetails;\n","import GenericChangelog from \"./Details/Changelog/Generic\";\nimport PermissionsChangelog from \"./Details/Changelog/Permissions\";\nimport Emails from \"./Details/Emails\";\nimport GenericDetails from \"./Details/Generic\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const DETAILS_COMPONENT_MAP = {\n [ACTIONS.INVITED_USERS]: Emails,\n [ACTIONS.BULK_UPDATE_USERS]: Emails,\n [ACTIONS.USER_SIGNED_UP]: GenericDetails,\n [ACTIONS.UPDATED_USER]: GenericChangelog,\n [ACTIONS.UPDATED_USER_PROFILE]: GenericChangelog,\n [ACTIONS.CREATED_ROLE]: GenericDetails,\n [ACTIONS.UPDATED_ROLE]: PermissionsChangelog,\n [ACTIONS.DELETED_ROLE]: GenericDetails,\n};\n","import { t } from \"i18next\";\nimport { capitalize, snakeToCamelCase } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\n\nimport { DETAILS_COMPONENT_MAP } from \"./constants\";\nimport GenericDetails from \"./Details/Generic\";\n\nconst transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const transformLogsForTable = logs =>\n logs.map(\n ({\n id,\n key: action,\n metadata: { status, ...restOfMetadata },\n performer: { name: performedBy = \"\" },\n updatedAt: performedAt,\n }) => {\n const transformedAction = transformAction(action);\n const formattedPerformedAt = dateFormat.dateTime(performedAt);\n\n return {\n id,\n action: transformedAction,\n status: capitalize(status),\n performedAt: formattedPerformedAt,\n performedBy,\n additionalDetails: {\n ...restOfMetadata,\n action: transformedAction,\n performedAt: formattedPerformedAt,\n performedBy,\n status,\n },\n };\n }\n );\n\nexport const getColumnData = handleClick => [\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.action\", SINGULAR),\n key: \"action\",\n dataIndex: \"action\",\n render: (action, { additionalDetails }) => (\n <Button\n data-testid=\"action-link-button\"\n label={t(`neetoMolecules.auditLogs.actions.${action}`)}\n style=\"link\"\n onClick={() => handleClick(additionalDetails)}\n />\n ),\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.status\"),\n key: \"status\",\n dataIndex: \"status\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedBy\"),\n key: \"performedBy\",\n dataIndex: \"performedBy\",\n },\n {\n title: t(\"neetoMolecules.auditLogs.table.headers.performedAt\"),\n key: \"performedAt\",\n dataIndex: \"performedAt\",\n },\n];\n\nexport const getComponentForDetail = action =>\n DETAILS_COMPONENT_MAP[action] || GenericDetails;\n","import { _capitalize } from \"neetocist\";\nimport { Typography, Modal } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADDITIONAL_DETAILS_KEYS } from \"./constants\";\nimport LabelledDetail from \"./LabelledDetail\";\nimport { getComponentForDetail } from \"./utils\";\n\nconst AdditionalDetails = ({ additionalDetails, isOpen, onClose }) => {\n const { t } = useTranslation();\n\n const {\n message,\n action: defaultAction,\n performedBy,\n performedAt,\n via: product,\n ...details\n } = additionalDetails;\n\n const action =\n message || t(`neetoMolecules.auditLogs.actions.${defaultAction}`);\n\n const DetailComponent = getComponentForDetail(defaultAction);\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n data-testid=\"additional-details-modal\"\n size=\"large\"\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.auditLogs.additionalDetails.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <>\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.ACTION}\n value={action}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_BY}\n value={performedBy}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PERFORMED_AT}\n value={performedAt}\n />\n <LabelledDetail\n label={ADDITIONAL_DETAILS_KEYS.PRODUCT}\n value={_capitalize(product)}\n />\n <DetailComponent {...{ details }} />\n </>\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default AdditionalDetails;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst auditLogsApi = { fetchAuditLogs };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport AdditionalDetails from \"./AddtionalDetails\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { transformLogsForTable, getColumnData } from \"./utils\";\n\nconst AuditLogs = () => {\n const [isAdditionalDetailsModalOpen, setIsAdditionalDetailsModalOpen] =\n useState(false);\n const [additionalDetails, setAdditionalDetails] = useState({});\n\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page } });\n\n const handleClick = additionalDetails => {\n setIsAdditionalDetailsModalOpen(true);\n setAdditionalDetails(additionalDetails);\n };\n\n const handleClose = () => {\n setIsAdditionalDetailsModalOpen(false);\n setAdditionalDetails({});\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <Container>\n <Header title={t(\"neetoMolecules.auditLogs.title\")} />\n <TableWrapper\n className=\"mt-5\"\n hasPagination={totalCount > DEFAULT_PAGE_SIZE}\n >\n {isPresent(auditLogs) ? (\n <Table\n {...{ totalCount }}\n fixedHeight\n columnData={getColumnData(handleClick)}\n currentPageNumber={parseInt(page)}\n data-testid=\"audit-logs-table\"\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={transformLogsForTable(auditLogs)}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.auditLogs.noData\")} />\n </div>\n )}\n </TableWrapper>\n <AdditionalDetails\n {...{ additionalDetails }}\n isOpen={isAdditionalDetailsModalOpen}\n onClose={handleClose}\n />\n </Container>\n );\n};\n\nexport default AuditLogs;\n"],"names":["LabelledDetail","_ref","label","value","_jsx","Typography","className","style","children","Trans","components","strong","i18nKey","concat","values","DATE_FORMATS","DETAILS_KEYS","CHANGES_MADE_BY","ERROR_MESSAGE","NAME","ORGANIZATION_ROLE","GENERIC_DETAILS","ADDED_PERMISSIONS","REMOVED_PERMISSIONS","EMAILS_TABLE_COLUMN_DATA","title","t","key","dataIndex","CHANGELOG_COLUMN_DATA","formatToFromValue","transformDateFormat","rawDateFormat","getFormattedValue","field","formatEmails","emails","map","email","formatChangeLog","changes","Object","entries","_ref2","_slicedToArray","_ref2$","from","to","formattedField","_humanize","getFullName","firstName","lastName","arguments","length","undefined","trim","getLabel","_ref3","organizationRole","formatPermissionsChangeLog","_ref4","transformPermissions","permissions","permission","humanizedParts","split","join","GenericChangelog","details","_useTranslation","useTranslation","_details$email","_details$changes","_details$errorMessage","errorMessage","status","_jsxs","isNotEmpty","Table","columnData","enableColumnFreeze","rowData","PermissionsChangelog","_details$description","description","_details$organization","_details$addedPermiss","addedPermissions","_details$removedPermi","removedPermissions","Emails","_details$emails","_Fragment","columns","loading","GenericDetails","_details$firstName","_details$lastName","name","JSON","stringify","AUDIT_LOGS_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","ADDITIONAL_DETAILS_KEYS","ACTION","PERFORMED_BY","PERFORMED_AT","PRODUCT","DETAILS_COMPONENT_MAP","_defineProperty","transformAction","action","snakeToCamelCase","replace","transformLogsForTable","logs","id","_ref$metadata","metadata","restOfMetadata","_objectWithoutProperties","_excluded","_ref$performer$name","performer","performedBy","performedAt","updatedAt","transformedAction","formattedPerformedAt","dateFormat","dateTime","capitalize","additionalDetails","_objectSpread","getColumnData","handleClick","SINGULAR","render","Button","onClick","getComponentForDetail","AdditionalDetails","isOpen","onClose","message","defaultAction","product","via","DetailComponent","Modal","size","Header","Body","_capitalize","fetchAuditLogs","params","axios","get","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","AuditLogs","_useState","useState","_useState2","isAdditionalDetailsModalOpen","setIsAdditionalDetailsModalOpen","_useState3","_useState4","setAdditionalDetails","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","totalCount","isLoading","isFetching","handleClose","PageLoader","Container","TableWrapper","hasPagination","DEFAULT_PAGE_SIZE","isPresent","fixedHeight","currentPageNumber","parseInt","defaultPageSize","NoData"],"mappings":"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"}
@@ -36,7 +36,7 @@ var PageLoader = function PageLoader(_ref) {
36
36
  })
37
37
  }));
38
38
  };
39
- var index = /*#__PURE__*/React.memo(PageLoader);
39
+ var PageLoader$1 = /*#__PURE__*/React.memo(PageLoader);
40
40
 
41
- module.exports = index;
41
+ module.exports = PageLoader$1;
42
42
  //# sourceMappingURL=PageLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLoader.js","sources":["../../src/components/PageLoader/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./page-loader.scss\";\n\n// Please update the https://github.com/bigbinary/neeto-commons-backend/blob/main/app/views/shared/_page_loader.html.erb#L1\n// whenever there are some changes in the JSX.\n// Styles changes will be handled by the release process.\nconst PageLoader = ({ text = \"\", ...otherProps }) => (\n <div className=\"neeto-molecules-pageloader__wrapper\" {...otherProps}>\n <div className=\"neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center\">\n <div\n className=\"neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center\"\n data-cy=\"neeto-molecules-pageloader\"\n >\n <div className=\"neeto-molecules-pageloader__loader\" />\n </div>\n {text && (\n <Typography style=\"h5\" weight=\"semibold\">\n {text}\n </Typography>\n )}\n </div>\n </div>\n);\n\nPageLoader.propTypes = {\n /**\n * Text to indicate loading status (optional).\n */\n text: PropTypes.string,\n};\n\nexport default memo(PageLoader);\n"],"names":["PageLoader","_ref","_ref$text","text","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","children","_jsxs","Typography","style","weight","memo"],"mappings":";;;;;;;;;;;;;;;AAUA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAME,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKE,IAAAA,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC5CC,cAAA,CAAA,KAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAAKC,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,EAAKL,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAM,IAAAA,QAAA,eACjEC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,0GAA0G;AAAAC,MAAAA,QAAA,gBACvHH,cAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,wHAAwH;AAClI,QAAA,SAAA,EAAQ,4BAA4B;AAAAC,QAAAA,QAAA,eAEpCH,cAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,oCAAA;SAAsC,CAAA;AAAC,OACnD,CAAC,EACLN,IAAI,iBACHI,cAAA,CAACK,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAJ,QAAAA,QAAA,EACrCP,IAAAA;AAAI,OACK,CACb,CAAA;KACE,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAAA,CACP,CAAA;AASD,YAAeY,aAAAA,UAAI,CAACf,UAAU,CAAC;;;;"}
1
+ {"version":3,"file":"PageLoader.js","sources":["../../src/components/PageLoader/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./page-loader.scss\";\n\n// Please update the https://github.com/bigbinary/neeto-commons-backend/blob/main/app/views/shared/_page_loader.html.erb#L1\n// whenever there are some changes in the JSX.\n// Styles changes will be handled by the release process.\nconst PageLoader = ({ text = \"\", ...otherProps }) => (\n <div className=\"neeto-molecules-pageloader__wrapper\" {...otherProps}>\n <div className=\"neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center\">\n <div\n className=\"neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center\"\n data-cy=\"neeto-molecules-pageloader\"\n >\n <div className=\"neeto-molecules-pageloader__loader\" />\n </div>\n {text && (\n <Typography style=\"h5\" weight=\"semibold\">\n {text}\n </Typography>\n )}\n </div>\n </div>\n);\n\nPageLoader.propTypes = {\n /**\n * Text to indicate loading status (optional).\n */\n text: PropTypes.string,\n};\n\nexport default memo(PageLoader);\n"],"names":["PageLoader","_ref","_ref$text","text","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","children","_jsxs","Typography","style","weight","memo"],"mappings":";;;;;;;;;;;;;;;AAUA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAME,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKE,IAAAA,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC5CC,cAAA,CAAA,KAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAAKC,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,EAAKL,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAM,IAAAA,QAAA,eACjEC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,0GAA0G;AAAAC,MAAAA,QAAA,gBACvHH,cAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,wHAAwH;AAClI,QAAA,SAAA,EAAQ,4BAA4B;AAAAC,QAAAA,QAAA,eAEpCH,cAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,oCAAA;SAAsC,CAAA;AAAC,OACnD,CAAC,EACLN,IAAI,iBACHI,cAAA,CAACK,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAJ,QAAAA,QAAA,EACrCP,IAAAA;AAAI,OACK,CACb,CAAA;KACE,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAAA,CACP,CAAA;AASD,mBAAeY,aAAAA,UAAI,CAACf,UAAU,CAAC;;;;"}
@@ -92,7 +92,9 @@ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
92
92
  _ref$switchProps = _ref.switchProps,
93
93
  switchProps = _ref$switchProps === void 0 ? {} : _ref$switchProps,
94
94
  _ref$editButtonProps = _ref.editButtonProps,
95
- editButtonProps = _ref$editButtonProps === void 0 ? {} : _ref$editButtonProps;
95
+ editButtonProps = _ref$editButtonProps === void 0 ? {} : _ref$editButtonProps,
96
+ _ref$className = _ref.className,
97
+ className = _ref$className === void 0 ? "" : _ref$className;
96
98
  var _useTranslation = reactI18next.useTranslation(),
97
99
  t = _useTranslation.t;
98
100
  var cardRef = React.useRef();
@@ -146,7 +148,7 @@ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
146
148
  "neeto-ui-border-gray-300": !shouldHighlight
147
149
  }, {
148
150
  "toggle-feature-card--highlighted": shouldHighlight
149
- }),
151
+ }, className),
150
152
  children: [/*#__PURE__*/jsxRuntime.jsxs(Label, {
151
153
  className: "flex flex-row items-center gap-2",
152
154
  children: [/*#__PURE__*/jsxRuntime.jsx(TooltipSwitch, _objectSpread(_objectSpread({}, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const { enabledSwitchText, disabledSwitchText, ...neetoUITooltipProps } =\n tooltipProps;\n\n const tooltipContent = enabledCondition\n ? enabledSwitchText\n : disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...neetoUITooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n editButtonProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-cy=\"feature-card-container\"\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n label={t(\"neetoMolecules.common.actions.edit\")}\n size=\"small\"\n style=\"link\"\n type=\"button\"\n onClick={() => setIsEditing(true)}\n {...editButtonProps}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n /**\n * Can be used to add props to the edit button component.\n */\n editButtonProps: PropTypes.shape({\n onClick: PropTypes.func,\n className: PropTypes.string,\n style: PropTypes.string,\n size: PropTypes.string,\n type: PropTypes.string,\n tooltipProps: PropTypes.object,\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","enabledSwitchText","disabledSwitchText","neetoUITooltipProps","_excluded2","tooltipContent","_jsx","Tooltip","_objectSpread","content","disabled","position","children","FormikSwitch","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","inputProps","_ref$switchProps","switchProps","_ref$editButtonProps","editButtonProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","_jsxs","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","label","size","type","onClick","Input","autoFocus","dataCy","placeholder","suffix","icon","Close"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const { enabledSwitchText, disabledSwitchText, ...neetoUITooltipProps } =\n tooltipProps;\n\n const tooltipContent = enabledCondition\n ? enabledSwitchText\n : disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...neetoUITooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n editButtonProps = {},\n className = \"\",\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-cy=\"feature-card-container\"\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight },\n className\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n label={t(\"neetoMolecules.common.actions.edit\")}\n size=\"small\"\n style=\"link\"\n type=\"button\"\n onClick={() => setIsEditing(true)}\n {...editButtonProps}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n /**\n * Can be used to add props to the edit button component.\n */\n editButtonProps: PropTypes.shape({\n onClick: PropTypes.func,\n className: PropTypes.string,\n style: PropTypes.string,\n size: PropTypes.string,\n type: PropTypes.string,\n tooltipProps: PropTypes.object,\n }),\n /**\n * To specify external classnames as overrides to the ToggleFeatureCard wrapper.\n */\n className: PropTypes.string,\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","enabledSwitchText","disabledSwitchText","neetoUITooltipProps","_excluded2","tooltipContent","_jsx","Tooltip","_objectSpread","content","disabled","position","children","FormikSwitch","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","inputProps","_ref$switchProps","switchProps","_ref$editButtonProps","editButtonProps","_ref$className","className","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","_jsxs","ref","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","label","size","type","onClick","Input","autoFocus","dataCy","placeholder","suffix","icon","Close"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.8.2",
3
+ "version": "3.9.0",
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>",
@@ -332,6 +332,59 @@
332
332
  "expired": "Expired"
333
333
  }
334
334
  },
335
+ "auditLogs": {
336
+ "title": "Audit Logs",
337
+ "noData": "No audit logs found.",
338
+ "noError": "Error details are not available. Please check the logs for more information.",
339
+ "table": {
340
+ "headers": {
341
+ "action": "Action",
342
+ "status": "Status",
343
+ "performedBy": "Performed by",
344
+ "performedAt": "Performed at",
345
+ "additionalDetails": "Additional details"
346
+ }
347
+ },
348
+ "actions": {
349
+ "invitedUsers": "Invited users",
350
+ "userSignedUp": "User signed up",
351
+ "updatedUser": "Updated user",
352
+ "bulkUpdateUsers": "Bulk updated users",
353
+ "updatedUserProfile": "Updated user profile",
354
+ "createdRole": "Created organization role",
355
+ "updatedRole": "Updated organization role",
356
+ "deletedRole": "Deleted organization role"
357
+ },
358
+ "additionalDetails": {
359
+ "title": "Additional details",
360
+ "action": "<strong>Action:</strong> {{value, anyCase}}",
361
+ "performedBy": "<strong>Performed by:</strong> {{value, anyCase}}",
362
+ "performedAt": "<strong>Performed at:</strong> {{value, anyCase}}",
363
+ "product": "<strong>Product:</strong> {{value, anyCase}}",
364
+ "changesMadeBy": "<strong>Changes made by:</strong> {{value, anyCase}}",
365
+ "name": "<strong>New user name:</strong> {{value, anyCase}}",
366
+ "organizationRole": "<strong>Organization role:</strong> {{value, anyCase}}",
367
+ "addedPermissions": "<strong>Permissions added:</strong> {{value, anyCase}}",
368
+ "removedPermissions": "<strong>Permissions removed:</strong> {{value, anyCase}}",
369
+ "details": "<strong>Details:</strong> {{value, anyCase}}",
370
+ "errorMessage": "<strong>Error:</strong> {{value, anyCase}}"
371
+ },
372
+ "details": {
373
+ "emails": {
374
+ "title": "Emails"
375
+ },
376
+ "changelog": {
377
+ "field": "Field",
378
+ "from": "From",
379
+ "to": "To",
380
+ "true": "True",
381
+ "false": "False"
382
+ },
383
+ "permissions": {
384
+ "description": "Description"
385
+ }
386
+ }
387
+ },
335
388
  "ipRestriction": {
336
389
  "switchLabel": "Enable IP restriction",
337
390
  "description": "Restrict access to only trusted locations and networks by defining the range of allowed IP addresses.",
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * A full-page component that allows you to track user activities, including
5
+ *
6
+ * sign-ups, profile updates, and invitations. It provides detailed log entries
7
+ *
8
+ * with metadata.
9
+ *
10
+ * @example
11
+ *
12
+ * import NeetoAuditLogs from "@bigbinary/neeto-molecules/AuditLogs";
13
+ *
14
+ * const AuditLogs = () => <NeetoAuditLogs />;
15
+ * @endexample
16
+ */
17
+ const AuditLogs: React.FC<{}>;
18
+ export default AuditLogs;
@@ -30,5 +30,6 @@ const ToggleFeatureCard: React.FC<{
30
30
  inputProps?: InputProps;
31
31
  switchProps?: SwitchProps;
32
32
  editButtonProps?: ButtonProps;
33
+ className?: string;
33
34
  }>;
34
35
  export default ToggleFeatureCard;