@bigbinary/neeto-team-members-frontend 5.0.49 → 5.0.50
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/app/javascript/src/translations/en.json +2 -0
- package/dist/.ready +1 -1
- package/dist/ManageMember.js +8 -3
- package/dist/ManageMember.js.map +1 -1
- package/dist/Profile.js +24 -1
- package/dist/Profile.js.map +1 -1
- package/dist/{ProfileImage-D0i5-rrS.js → ProfileImage-DN5IzFz7.js} +3 -1
- package/dist/ProfileImage-DN5IzFz7.js.map +1 -0
- package/dist/{ProfileImage-CMHNIokr.js → ProfileImage-OoIOAGCe.js} +3 -1
- package/dist/ProfileImage-OoIOAGCe.js.map +1 -0
- package/dist/{RolesRadioGroup-DeHRgUxt.js → RolesRadioGroup-BsARnjvF.js} +6 -3
- package/dist/RolesRadioGroup-BsARnjvF.js.map +1 -0
- package/dist/{RolesRadioGroup-HBzIh4QM.js → RolesRadioGroup-BusIs5tc.js} +6 -3
- package/dist/RolesRadioGroup-BusIs5tc.js.map +1 -0
- package/dist/{RolesRadioGroup-BAcRgBq8.js → RolesRadioGroup-CkqMARV8.js} +6 -3
- package/dist/RolesRadioGroup-CkqMARV8.js.map +1 -0
- package/dist/{RolesRadioGroup-BF_3Aaa-.js → RolesRadioGroup-DsIpgIDf.js} +6 -3
- package/dist/RolesRadioGroup-DsIpgIDf.js.map +1 -0
- package/dist/RolesRadioGroup.js +1 -1
- package/dist/TeamMembers.js +3 -2
- package/dist/TeamMembers.js.map +1 -1
- package/dist/cjs/ManageMember.js +8 -3
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/Profile.js +24 -1
- package/dist/cjs/Profile.js.map +1 -1
- package/dist/cjs/RolesRadioGroup.js +1 -1
- package/dist/cjs/TeamMembers.js +3 -2
- package/dist/cjs/TeamMembers.js.map +1 -1
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/ManageMember.js +3 -2
- package/dist/cjs/v2/ManageMember.js.map +1 -1
- package/dist/cjs/v2/Profile.js +15 -0
- package/dist/cjs/v2/Profile.js.map +1 -1
- package/dist/cjs/v2/RolesRadioGroup.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +3 -2
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/index.js +3 -2
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/{index-BVP8rWFt.js → index-CVADXnpl.js} +8 -3
- package/dist/index-CVADXnpl.js.map +1 -0
- package/dist/{index-ngX40yXy.js → index-D0px8LnB.js} +8 -3
- package/dist/index-D0px8LnB.js.map +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/v2/ManageMember.js +3 -2
- package/dist/v2/ManageMember.js.map +1 -1
- package/dist/v2/Profile.js +15 -0
- package/dist/v2/Profile.js.map +1 -1
- package/dist/v2/RolesRadioGroup.js +1 -1
- package/dist/v2/TeamMembers.js +3 -2
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/index.js +3 -2
- package/dist/v2/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/ProfileImage-CMHNIokr.js.map +0 -1
- package/dist/ProfileImage-D0i5-rrS.js.map +0 -1
- package/dist/RolesRadioGroup-BAcRgBq8.js.map +0 -1
- package/dist/RolesRadioGroup-BF_3Aaa-.js.map +0 -1
- package/dist/RolesRadioGroup-DeHRgUxt.js.map +0 -1
- package/dist/RolesRadioGroup-HBzIh4QM.js.map +0 -1
- package/dist/index-BVP8rWFt.js.map +0 -1
- package/dist/index-ngX40yXy.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamMembers.js","sources":["../../app/javascript/src/v2/components/TeamMembers/ActionBlock/constants.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/utils.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/SubHeader.jsx","../../app/javascript/src/v2/components/TeamMembers/ExportPane/constants.js","../../app/javascript/src/v2/components/TeamMembers/ExportPane/index.jsx","../../app/javascript/src/v2/components/TeamMembers/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\n\nexport const FIXED_COLUMNS = [\"name\", \"actions\"];\n\nexport const MANAGE_ROLES_BUTTON_LABEL = t(\n \"neetoTeamMembers.labels.manageRole\",\n PLURAL\n);\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n isCreatePermissionGranted,\n otherActionBlock,\n onClick = noop,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const isOtherActionBlockVisible = !!otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-testid=\"ntm-manage-roles-button\"\n variant=\"outline\"\n {...rolesButtonProps}\n >\n {MANAGE_ROLES_BUTTON_LABEL}\n </Button>\n ) : null}\n <Tooltip\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n </Button>\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default memo(Header);\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"remove\");\n","import { useState } from \"react\";\n\nimport {\n DropdownMenu,\n Input,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst RolesDropdown = ({\n disabled = false,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n selectedMembersCount = 0,\n setAlertType,\n setBulkUpdateRole,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdatingAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n setBulkUpdateRole(role);\n setAlertType(\"role\");\n };\n\n return (\n <Tooltip\n content={\n !isUpdatingAllowed\n ? t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })\n : null\n }\n >\n <span>\n <DropdownMenu.SubMenu\n contentProps={{ align: \"end\" }}\n label={t(\"neetoTeamMembers.buttons.changeRole\")}\n triggerProps={{ disabled: !isUpdatingAllowed }}\n >\n {isSearchable && (\n <div className=\"px-3 py-2\" onClick={e => e.stopPropagation()}>\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n className=\"ps-8\"\n data-testid=\"ntm-members-roles-search-input\"\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <DropdownMenu.MenuItem\n data-testid={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </DropdownMenu.SubMenu>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport {\n Alert,\n DropdownMenu,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n resetToFirstPage,\n roles,\n selectedRows,\n setSelectedRows,\n selectedRowsCount,\n bulkParams,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [alertType, setAlertType] = useState(\"\");\n const [bulkUpdateRole, setBulkUpdateRole] = useState(\"\");\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n\n const selectedMembersCountValues = {\n count:\n (selectedRowsCount || selectedRows?.keys?.length || filteredCount) ?? 0,\n metaName:\n hasSelectedRows && selectedRows?.keys.length > 1\n ? taxonomies.member.plural\n : taxonomies.member.singular,\n totalCount: filteredCount ?? 0,\n };\n\n const hasDeactivateMembers = selectedRows?.active?.some(active => !active);\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n resetToFirstPage();\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () => {\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n filterParams: bulkParams,\n });\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n filterParams: bulkParams,\n });\n };\n\n const alertTypes = [\n {\n message: \"neetoTeamMembers.alerts.messages.removeMember\",\n onSubmit: handleDeactivateMembers,\n title: t(\"neetoTeamMembers.common.remove_\", {\n what: selectedMembersCountValues?.metaName,\n }),\n type: \"remove\",\n },\n {\n message: \"neetoTeamMembers.alerts.messages.changeRole\",\n onSubmit: handleRoleChange,\n title: t(\"neetoTeamMembers.common.changeRole\"),\n type: \"role\",\n },\n ];\n\n const selectedAlert = findBy({ type: alertType }, alertTypes);\n\n const handleAlertClose = () => {\n selectedAlert.onSubmit(bulkUpdateRole);\n setAlertType(\"\");\n };\n\n const getButtonLabel = type => {\n if (type === \"role\") {\n return t(\"neetoTeamMembers.buttons.changeRole\");\n }\n\n return t(\"neetoTeamMembers.buttons.remove\");\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <Typography data-testid=\"ntm-filtered-members-count\" variant=\"h6\">\n <Trans\n components={{ span: <span className=\"text-muted-foreground\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"neetoTeamMembers.helpers.selectedMembersCount\"\n : \"neetoTeamMembers.helpers.metaNameWithCount\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")\n : null\n }\n >\n <span>\n <DropdownMenu\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n variant: \"outline\",\n \"data-testid\": \"ntm-members-take-action-dropdown-button\",\n }}\n >\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n {...{ roles, setAlertType, setBulkUpdateRole }}\n disabled={hasDeactivateMembers}\n hasUpdatePermission={isUpdatePermissionGranted}\n selectedMembersCount={selectedMembersCountValues?.count}\n />\n )}\n {config?.otherBulkActions?.(resetSelectedRows, selectedRows)}\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <DropdownMenu.MenuItem\n data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu>\n </span>\n </Tooltip>\n )}\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={!!selectedAlert}\n submitButtonLabel={getButtonLabel(selectedAlert?.type)}\n title={selectedAlert?.title}\n message={\n <Trans\n i18nKey={selectedAlert?.message}\n values={{\n ...selectedMembersCountValues,\n person: selectedRows.displayNames[0],\n role: bulkUpdateRole,\n }}\n />\n }\n onClose={() => setAlertType(\"\")}\n onSubmit={handleAlertClose}\n />\n </div>\n );\n};\n\nconst Right = withT(\n ({\n t,\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }) => (\n <SubHeaderMolecule.RightBlock\n columnsButtonProps={{\n columnData: columns,\n fixedColumns: FIXED_COLUMNS,\n tableKey: TABLE_KEYS.TEAM_MEMBERS_TABLE,\n noColumnMessage: t(\"neetoTeamMembers.columns.noColumnsFound\"),\n searchProps: { placeholder: t(\"neetoTeamMembers.columns.search\") },\n }}\n downloadButtonProps={{\n isVisible: true,\n tooltipProps: { content: t(\"neetoTeamMembers.buttons.export\") },\n onClick: () => setIsDownloadPaneOpen(true),\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleNeetoFilterChange,\n keyword: searchKeywordProps,\n }}\n />\n )\n);\n\nconst SubHeader = { Left, Right };\n\nexport default SubHeader;\n","import { t } from \"i18next\";\n\nconst EXPORT_TYPES = { PDF: \"pdf\", CSV: \"csv\", EXCEL: \"xlsx\" };\n\nexport const DEFAULT_EXPORT_OPTIONS = {\n exportType: EXPORT_TYPES.EXCEL,\n};\n\nexport const EXPORT_OPTIONS = [\n {\n type: EXPORT_TYPES.EXCEL,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n }),\n dataTestid: \"download-as-excel-radio-item\",\n },\n {\n type: EXPORT_TYPES.CSV,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.csv\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.csv\"),\n }),\n dataTestid: \"download-as-csv-radio-item\",\n },\n {\n type: EXPORT_TYPES.PDF,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.pdf\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.pdf\"),\n }),\n dataTestid: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { Button, RadioGroup, Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"hooks/teams/useTeamsApi\";\nimport { EVENTS } from \"src/constants\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } from \"./constants\";\n\nconst ExportPane = ({\n isOpen,\n onClose,\n appliedFilters,\n hasBulkSelectedAllRows,\n selectedMemberIds,\n selectedRowsCount,\n}) => {\n const [exportOptions, setExportOptions] = useState(DEFAULT_EXPORT_OPTIONS);\n\n const { t } = useTranslation();\n\n const setExportOption = options => setExportOptions(mergeLeft(options));\n\n const { exportType } = exportOptions;\n\n const getParams = () => ({\n ...exportOptions,\n filters: appliedFilters || undefined,\n considerAllMembers: hasBulkSelectedAllRows,\n memberIds: hasBulkSelectedAllRows ? undefined : selectedMemberIds,\n });\n\n const { mutate: exportMembers } = useExportMembers({\n onSuccess: () => {\n onClose();\n setExportOptions(DEFAULT_EXPORT_OPTIONS);\n\n toast.success(\n <Trans\n i18nKey=\"toastr.success.exportMembers\"\n values={{ email: globalProps.user?.email }}\n />\n );\n\n captureAnalyticsEvent(EVENTS.TEAM_MEMBERS_DOWNLOADED, {\n ...exportOptions,\n });\n },\n onError: error => toast.error(error.message),\n });\n\n const description =\n isNotEmpty(selectedMemberIds) || hasBulkSelectedAllRows\n ? t(\"neetoTeamMembers.exportPane.description.selectedMembers\", {\n count: selectedRowsCount,\n })\n : t(\"neetoTeamMembers.exportPane.description.allMembers\");\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title data-testid=\"export-member-heading\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"space-y-4\">\n <Typography variant=\"body3\">{description}</Typography>\n <RadioGroup\n value={exportType}\n onValueChange={type => setExportOption({ exportType: type })}\n >\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataTestid }) => (\n <RadioGroup.Item\n data-testid={dataTestid}\n id={type}\n key={type}\n label={bulkExportLabel}\n value={type}\n />\n ))}\n </RadioGroup>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n <Button\n data-testid=\"export-submit-button\"\n onClick={() => exportMembers({ export: getParams() })}\n >\n {t(\"neetoTeamMembers.buttons.export\")}\n </Button>\n <Button\n data-testid=\"export-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoTeamMembers.buttons.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { assoc } from \"ramda\";\n\nimport { Header as HeaderActionBlock } from \"./ActionBlock\";\n\nconst Header = ({ config, setIsOpen, searchProps }) => (\n <NeetoHeader\n {...{ searchProps }}\n title={taxonomies.member.plural}\n actionBlock={\n <HeaderActionBlock\n isCreatePermissionGranted={config.permissions.create}\n otherActionBlock={config.header?.otherActionBlock}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n {...config?.header?.otherProps}\n />\n);\n\nexport default memo(Header);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Alert, Empty, Spinner, DataTable } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport { useTableConfigurations } from \"neetomolecules/v2/Columns\";\nimport Container from \"neetomolecules/v2/Container\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport useFilters from \"hooks/useFilters\";\nimport useTeams from \"hooks/useTeams\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { SubHeader as SubHeaderActionBlock } from \"./ActionBlock\";\nimport { DEFAULT_RADIX, DEFAULT_SELECTED_ROWS } from \"./constants\";\nimport ExportPane from \"./ExportPane\";\nimport Header from \"./Header\";\nimport ManageMember from \"./ManageMember\";\nimport {\n generateNoDataContent,\n getColumnData,\n getFilteredRoles,\n handlePageChange,\n renderUpdateAlert,\n} from \"./utils\";\n\nimport withReactQuery from \"../Common/withReactQuery\";\n\nconst TeamMembers = ({ config }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isSize } = useBreakpoints();\n const queryParams = useQueryParams();\n\n const isViewPermissionGranted = config.permissions.view;\n const isCreatePermissionGranted = config.permissions.create;\n\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isDownloadPaneOpen, setIsDownloadPaneOpen] = useState(false);\n const [hasBulkSelectedAllRows, setHasBulkSelectedAllRows] = useState(false);\n\n useEffect(() => {\n handleMemberFilterChange();\n }, []);\n\n const {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n } = useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers({ ...filters }, { enabled: isViewPermissionGranted });\n\n const bulkParams = {\n neetoFilters: filters[\"neetoFilters\"],\n considerAllTeamMembers: hasBulkSelectedAllRows,\n };\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response?.organizationRoles ?? []),\n enabled: isViewPermissionGranted,\n });\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleTableChange,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n const selectedRowsCount = hasBulkSelectedAllRows\n ? team?.membersCount\n : selectedRows.keys.length;\n\n config?.fetchApiResponse?.({ team });\n\n const hasMembers = team?.activeUsersCount > 0;\n\n const updateMemberAlertProps = { member: selectedMember, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n }),\n [config.table?.dropdownProps] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.TEAM_MEMBERS_TABLE, columns);\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_INDEX }));\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n };\n\n const { noDataTitle, noDataDescription, noDataIcon, noDataButtonProps } =\n generateNoDataContent({\n buttonProps: {\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n disabled: !isCreatePermissionGranted,\n },\n });\n\n if (isRolesLoading || isMembersLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Container className=\"pb-10\">\n <Header\n {...{ config, setIsOpen }}\n searchProps={hasMembers ? searchProps : null}\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Left\n {...{\n bulkParams,\n config,\n selectedRows,\n selectedRowsCount,\n setSelectedRows,\n }}\n filteredCount={team?.membersCount}\n roles={filteredRoles}\n resetToFirstPage={() =>\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n )\n }\n />\n )\n }\n rightActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Right\n {...{\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }}\n />\n )\n }\n />\n <FiltersBar\n className=\"mb-4\"\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n <ExportPane\n {...{ hasBulkSelectedAllRows, selectedRowsCount }}\n appliedFilters={filters}\n isOpen={isDownloadPaneOpen}\n selectedMemberIds={selectedRows.keys}\n onClose={() => setIsDownloadPaneOpen(false)}\n />\n {!hasMembers ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={noDataDescription}\n icon={noDataIcon}\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n ) : team?.membersCount === 0 ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n description={t(\n \"neetoTeamMembers.common.memberSearchEmptyDescription\"\n )}\n title={t(\"neetoTeamMembers.common.memberSearchEmptyTitle\", {\n what: taxonomies.member.plural,\n })}\n />\n </div>\n ) : (\n <DataTable\n enableSorting\n fixedHeight\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={parseInt(filters.page, DEFAULT_RADIX)}\n data={team?.members || []}\n data-testid=\"ntm-members-table\"\n loading={isMembersFetching || isTableConfigurationLoading}\n pageSize={filters.pageSize ?? DEFAULT_PAGE_SIZE}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\"neetoTeamMembers.helpers.selectAll\", {\n count: team?.membersCount,\n }),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n onColumnHide={columnId => hideColumn(columnId)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n onSort={handleTableChange}\n />\n )}\n </Container>\n <ManageMember\n {...{ config, selectedMember }}\n componentConfig={{ isOpen: isOpen.manageMember }}\n roles={filteredRoles}\n onComplete={handlePaneClose}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.remove\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleRemoveMember}\n />\n </>\n );\n};\n\nexport default withTitle(withReactQuery(TeamMembers), taxonomies.member.plural);\n"],"names":["FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","t","PLURAL","Header","_ref","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","_useTranslation","useTranslation","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","_objectSpread","variant","Tooltip","content","disabled","what","taxonomies","member","singular","memo","filterBySearchTerm","searchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","selectedRows","config","_config$hiddenBulkAct","active","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","_useState","useState","_useState2","_slicedToArray","setSearchTerm","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","value","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","placeholder","onChange","isNotEmpty","map","_ref3","id","MenuItem","concat","hyphenate","Typography","color","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","setSelectedRows","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","_useState3","_useState4","bulkUpdateRole","hasSelectedRows","keys","selectedMembersCountValues","length","metaName","plural","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","DEFAULT_SELECTED_ROWS","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","emails","filterParams","resetSelectedRows","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","handleAlertClose","getButtonLabel","Trans","components","span","values","i18nKey","buttonProps","otherBulkActions","call","isDisabled","Alert","cancelButtonLabel","isOpen","submitButtonLabel","person","displayNames","onClose","Right","withT","columns","filterColumns","handleNeetoFilterChange","isFiltersPaneOpen","searchKeywordProps","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","searchProps","downloadButtonProps","isVisible","tooltipProps","filterProps","setIsOpen","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","options","mergeLeft","getParams","filters","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","user","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","Title","Body","RadioGroup","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","assoc","otherProps","TeamMembers","_config$fetchApiRespo","_config$table","_config$table$onDropd","_config$table2","_filters$pageSize3","history","useHistory","_useBreakpoints","useBreakpoints","isSize","queryParams","useQueryParams","isViewPermissionGranted","view","isDownloadPaneOpen","_useState5","_useState6","setHasBulkSelectedAllRows","useEffect","handleMemberFilterChange","_useFilters","useFilters","setFilters","_useFetchMembers","useFetchMembers","enabled","team","data","isMembersLoading","isLoading","isMembersFetching","isFetching","neetoFilters","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_filters$pageSize","_config$updateMember","handlePageChange","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","useTeams","handlePaneClose","handleRowSelect","handleTableChange","handleRemoveMember","handleUpdateRole","handleUpdateStatus","selectedMember","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","table","onDropdownClick","useMemo","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","page","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataDescription","noDataIcon","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","Empty","icon","primaryButtonProps","DataTable","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","onRowSelect","onSort","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;AAEzC,IAAMC,yBAAyB,GAAGC,CAAC,CACxC,oCAAoC,EACpCC,MACF,CAAC;;;;ACCD,IAAMC,QAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAKN;AAAA,EAAA,IAJJC,yBAAyB,GAAAD,IAAA,CAAzBC,yBAAyB;IACzBC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB;IAAAC,YAAA,GAAAH,IAAA,CAChBI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAGE,IAAI,GAAAF,YAAA;IACdG,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;AAEhB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBX,CAAC,GAAAU,eAAA,CAADV,CAAC;AAET,EAAA,IAAMY,oBAAoB,GAAG,CAAC,CAACH,gBAAgB;AAC/C,EAAA,IAAMI,yBAAyB,GAAG,CAAC,CAACR,gBAAgB;EAEpD,oBACES,IAAA,CAAAC,QAAA,EAAA;AAAAC,IAAAA,QAAA,EAAA,CACGH,yBAAyB,IAAIR,gBAAgB,EAAE,EAC/CO,oBAAoB,gBACnBK,GAAA,CAACC,MAAM,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACL,MAAA,aAAA,EAAY,yBAAyB;AACrCC,MAAAA,OAAO,EAAC;AAAS,KAAA,EACbX,gBAAgB,CAAA,EAAA,EAAA,EAAA;AAAAO,MAAAA,QAAA,EAEnBjB;AAAyB,KAAA,CACpB,CAAC,GACP,IAAI,eACRkB,GAAA,CAACI,OAAO,EAAA;MACNC,OAAO,EACL,CAAClB,yBAAyB,GACtBJ,CAAC,CAAC,mDAAmD,CAAC,GACtD,IACL;AAAAgB,MAAAA,QAAA,eAEDC,GAAA,CAAA,MAAA,EAAA;QAAAD,QAAA,eACEC,GAAA,CAACC,MAAM,EAAA;AACCX,UAAAA,OAAO,EAAPA,OAAO;AACb,UAAA,aAAA,EAAY,uBAAuB;UACnCgB,QAAQ,EAAE,CAACnB,yBAA0B;AAAAY,UAAAA,QAAA,EAEpChB,CAAC,CAAC,iCAAiC,EAAE;AACpCwB,YAAAA,IAAI,EAAEC,UAAU,CAACC,MAAM,CAACC;WACzB;SACK;OACJ;AAAC,KACA,CAAC;AAAA,GACV,CAAC;AAEP,CAAC;AAED,wBAAA,aAAeC,IAAI,CAAC1B,QAAM,CAAC;;ACrDpB,IAAM2B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,UAAU,EAAEC,KAAK,EAAA;EAAA,OAClDC,MAAM,CACJ,UAAA7B,IAAA,EAAA;AAAA,IAAA,IAAG8B,IAAI,GAAA9B,IAAA,CAAJ8B,IAAI;AAAA,IAAA,OAAOC,QAAQ,CAACC,IAAI,CAACC,OAAO,CAACN,UAAU,CAAC,CAAC,EAAEK,IAAI,CAACC,OAAO,CAACH,IAAI,CAAC,CAAC,CAAC;AAAA,EAAA,CAAA,EACtEF,KACF,CAAC;AAAA,CAAA;AAEI,IAAMM,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,YAAY,EAAEC,MAAM,EAAA;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,OAC9DF,YAAY,CAACG,MAAM,CAACC,IAAI,CAAC,UAAAD,MAAM,EAAA;IAAA,OAAIA,MAAM,KAAK,IAAI;AAAA,EAAA,CAAA,CAAC,IACnD,EAACF,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAND,MAAM,CAAEI,iBAAiB,MAAA,IAAA,IAAAH,qBAAA,KAAA,MAAA,IAAzBA,qBAAA,CAA2BN,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAAA,CAAA;;ACKhD,IAAMU,aAAa,GAAG,SAAhBA,aAAaA,CAAAzC,IAAA,EAQb;AAAA,EAAA,IAAA0C,aAAA,GAAA1C,IAAA,CAPJoB,QAAQ;AAARA,IAAAA,QAAQ,GAAAsB,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAChBC,mBAAmB,GAAA3C,IAAA,CAAnB2C,mBAAmB;IAAAC,iBAAA,GAAA5C,IAAA,CACnB6C,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,UAAA,GAAA9C,IAAA,CACpB4B,KAAK;AAALA,IAAAA,KAAK,GAAAkB,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IAAAC,qBAAA,GAAA/C,IAAA,CACVgD,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,qBAAA;IACxBE,YAAY,GAAAjD,IAAA,CAAZiD,YAAY;IACZC,iBAAiB,GAAAlD,IAAA,CAAjBkD,iBAAiB;AAEjB,EAAA,IAAA3C,eAAA,GAAcC,cAAc,EAAE;IAAtBX,CAAC,GAAAU,eAAA,CAADV,CAAC;AACT,EAAA,IAAAsD,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCxB,IAAAA,UAAU,GAAA0B,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMG,aAAa,GAAG9B,kBAAkB,CAACC,UAAU,EAAEC,KAAK,CAAC;AAC3D,EAAA,IAAM6B,iBAAiB,GAAGd,mBAAmB,IAAI,CAACvB,QAAQ;AAE1D,EAAA,IAAMsC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAgBC,KAAK,GAAAD,KAAA,CAAfE,MAAM,CAAID,KAAK;IAAA,OAASL,aAAa,CAACK,KAAK,CAAC;AAAA,EAAA,CAAA;AAEpE,EAAA,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,IAAI,EAAI;IAC/Bb,iBAAiB,CAACa,IAAI,CAAC;IACvBd,YAAY,CAAC,MAAM,CAAC;EACtB,CAAC;EAED,oBACEnC,GAAA,CAACI,OAAO,EAAA;AACNC,IAAAA,OAAO,EACL,CAACsC,iBAAiB,GACd5D,CAAC,CAAC,8CAA8C,EAAE;AAChDmE,MAAAA,KAAK,EAAEhB;KACR,CAAC,GACF,IACL;AAAAnC,IAAAA,QAAA,eAEDC,GAAA,CAAA,MAAA,EAAA;AAAAD,MAAAA,QAAA,eACEF,IAAA,CAACsD,YAAY,CAACC,OAAO,EAAA;AACnBC,QAAAA,YAAY,EAAE;AAAEC,UAAAA,KAAK,EAAE;SAAQ;AAC/BC,QAAAA,KAAK,EAAExE,CAAC,CAAC,qCAAqC,CAAE;AAChDyE,QAAAA,YAAY,EAAE;AAAElD,UAAAA,QAAQ,EAAE,CAACqC;SAAoB;QAAA5C,QAAA,EAAA,CAE9CgC,YAAY,iBACX/B,GAAA,CAAA,KAAA,EAAA;AAAKyD,UAAAA,SAAS,EAAC,WAAW;AAACnE,UAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoE,CAAC,EAAA;AAAA,YAAA,OAAIA,CAAC,CAACC,eAAe,EAAE;UAAA,CAAC;AAAA5D,UAAAA,QAAA,eAC3DF,IAAA,CAAA,KAAA,EAAA;AAAK4D,YAAAA,SAAS,EAAC,UAAU;YAAA1D,QAAA,EAAA,cACvBC,GAAA,CAAC4D,MAAM,EAAA;AAACH,cAAAA,SAAS,EAAC;AAAuE,aAAE,CAAC,eAC5FzD,GAAA,CAAC6D,KAAK,EAAA;AACJJ,cAAAA,SAAS,EAAC,MAAM;AAChB,cAAA,aAAA,EAAY,gCAAgC;AAC5CK,cAAAA,IAAI,EAAC,QAAQ;AACbhB,cAAAA,KAAK,EAAEjC,UAAW;AAClBkD,cAAAA,WAAW,EAAEhF,CAAC,CACZ,0CAA0C,EAC1CC,MACF,CAAE;AACFgF,cAAAA,QAAQ,EAAEpB;AAAa,aACxB,CAAC;WACC;AAAC,SACH,CACN,EACAqB,UAAU,CAACvB,aAAa,CAAC,GACxBA,aAAa,CAACwB,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,UAAA,IAAGC,EAAE,GAAAD,KAAA,CAAFC,EAAE;YAAEpD,IAAI,GAAAmD,KAAA,CAAJnD,IAAI;AAAA,UAAA,oBAC3BhB,GAAA,CAACmD,YAAY,CAACkB,QAAQ,EAAA;AACpB,YAAA,aAAA,EAAA,cAAA,CAAAC,MAAA,CAA4BC,SAAS,CAACvD,IAAI,CAAC,EAAA,SAAA,CAAU;YAErD1B,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQ0D,gBAAgB,CAAChC,IAAI,CAAC;YAAA,CAAC;AAAAjB,YAAAA,QAAA,EAErCiB;AAAI,WAAA,EAHAoD,EAIgB,CAAC;QAAA,CACzB,CAAC,gBAEFpE,GAAA,CAAA,KAAA,EAAA;AAAKyD,UAAAA,SAAS,EAAC,yBAAyB;UAAA1D,QAAA,eACtCC,GAAA,CAACwE,UAAU,EAAA;AAACC,YAAAA,KAAK,EAAC,OAAO;AAACtE,YAAAA,OAAO,EAAC,OAAO;YAAAJ,QAAA,EACtChB,CAAC,CAAC,uCAAuC;WAChC;AAAC,SACV,CACN;OACmB;KAClB;AAAC,GACA,CAAC;AAEd,CAAC;;;;ACrED,IAAM2F,IAAI,GAAG,SAAPA,IAAIA,CAAAxF,IAAA,EASJ;EAAA,IAAA2D,KAAA,EAAA8B,kBAAA,EAAAC,oBAAA,EAAArD,qBAAA,EAAAsD,qBAAA;AAAA,EAAA,IARJvD,MAAM,GAAApC,IAAA,CAANoC,MAAM;IACNwD,aAAa,GAAA5F,IAAA,CAAb4F,aAAa;IACbC,gBAAgB,GAAA7F,IAAA,CAAhB6F,gBAAgB;IAChBjE,KAAK,GAAA5B,IAAA,CAAL4B,KAAK;IACLO,YAAY,GAAAnC,IAAA,CAAZmC,YAAY;IACZ2D,eAAe,GAAA9F,IAAA,CAAf8F,eAAe;IACfC,iBAAiB,GAAA/F,IAAA,CAAjB+F,iBAAiB;IACjBC,UAAU,GAAAhG,IAAA,CAAVgG,UAAU;AAEV,EAAA,IAAAzF,eAAA,GAAcC,cAAc,EAAE;IAAtBX,CAAC,GAAAU,eAAA,CAADV,CAAC;AAET,EAAA,IAAMoG,yBAAyB,GAAG7D,MAAM,CAAC8D,WAAW,CAACC,MAAM;AAE3D,EAAA,IAAAhD,SAAA,GAAkCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCiD,IAAAA,SAAS,GAAA/C,UAAA,CAAA,CAAA,CAAA;AAAEJ,IAAAA,YAAY,GAAAI,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAgD,UAAA,GAA4CjD,QAAQ,CAAC,EAAE,CAAC;IAAAkD,UAAA,GAAAhD,cAAA,CAAA+C,UAAA,EAAA,CAAA,CAAA;AAAjDE,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEpD,IAAAA,iBAAiB,GAAAoD,UAAA,CAAA,CAAA,CAAA;EACxC,IAAME,eAAe,GAAGzB,UAAU,CAAC5C,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEsE,IAAI,CAAC;AAEtD,EAAA,IAAMC,0BAA0B,GAAG;IACjC1C,KAAK,EAAA,CAAAL,KAAA,GACFoC,iBAAiB,KAAI5D,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,IAAA,CAAAsD,kBAAA,GAAZtD,YAAY,CAAEsE,IAAI,MAAA,IAAA,IAAAhB,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,kBAAA,CAAoBkB,MAAM,CAAA,IAAIf,aAAa,MAAA,IAAA,IAAAjC,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAK,CAAC;IACzEiD,QAAQ,EACNJ,eAAe,IAAI,CAAArE,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEsE,IAAI,CAACE,MAAM,IAAG,CAAC,GAC5CrF,UAAU,CAACC,MAAM,CAACsF,MAAM,GACxBvF,UAAU,CAACC,MAAM,CAACC,QAAQ;AAChCsF,IAAAA,UAAU,EAAElB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAbA,aAAa,GAAI;GAC9B;AAED,EAAA,IAAMmB,oBAAoB,GAAG5E,YAAY,aAAZA,YAAY,KAAA,MAAA,IAAA,CAAAuD,oBAAA,GAAZvD,YAAY,CAAEG,MAAM,MAAA,IAAA,IAAAoD,oBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,oBAAA,CAAsBnD,IAAI,CAAC,UAAAD,MAAM,EAAA;AAAA,IAAA,OAAI,CAACA,MAAM;EAAA,CAAA,CAAC;EAE1E,IAAA0E,qBAAA,GAAqCC,oBAAoB,CAAC;AACxDC,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AAAA,QAAA,IAAAC,qBAAA;QACfrB,eAAe,CAACsB,qBAAqB,CAAC;AACtCvB,QAAAA,gBAAgB,EAAE;QAClBzD,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAA+E,qBAAA,GAAN/E,MAAM,CAAEiF,iBAAiB,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAAzBA,qBAAA,CAA2BD,SAAS,MAAA,IAAA,IAAAC,qBAAA,eAApCA,qBAAA,CAAsCG,QAAQ,EAAE;AAClD,MAAA;AACF,KAAC,CAAC;IANcC,gBAAgB,GAAAP,qBAAA,CAAxBQ,MAAM;AAQd,EAAA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;AACpCF,IAAAA,gBAAgB,CAAC;AACfG,MAAAA,KAAK,EAAE;AAAEpF,QAAAA,MAAM,EAAE,KAAK;AAAEqF,QAAAA,MAAM,EAAExF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEwF;OAAQ;AACtDC,MAAAA,YAAY,EAAE5B;AAChB,KAAC,CAAC;EACJ,CAAC;AAED,EAAA,IAAM6B,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;IAAA,OAAS/B,eAAe,CAACsB,qBAAqB,CAAC;AAAA,EAAA,CAAA;AAEtE,EAAA,IAAMU,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG/D,IAAI,EAAI;AAC/BwD,IAAAA,gBAAgB,CAAC;AACfG,MAAAA,KAAK,EAAE;AACLpF,QAAAA,MAAM,EAAE,IAAI;AACZqF,QAAAA,MAAM,EAAExF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEwF,MAAM;AAC5BI,QAAAA,iBAAiB,EAAEhE;OACpB;AACD6D,MAAAA,YAAY,EAAE5B;AAChB,KAAC,CAAC;EACJ,CAAC;EAED,IAAMgC,UAAU,GAAG,CACjB;AACEC,IAAAA,OAAO,EAAE,+CAA+C;AACxDC,IAAAA,QAAQ,EAAET,uBAAuB;AACjCU,IAAAA,KAAK,EAAEtI,CAAC,CAAC,iCAAiC,EAAE;AAC1CwB,MAAAA,IAAI,EAAEqF,0BAA0B,KAAA,IAAA,IAA1BA,0BAA0B,KAAA,MAAA,GAAA,MAAA,GAA1BA,0BAA0B,CAAEE;AACpC,KAAC,CAAC;AACFhC,IAAAA,IAAI,EAAE;AACR,GAAC,EACD;AACEqD,IAAAA,OAAO,EAAE,6CAA6C;AACtDC,IAAAA,QAAQ,EAAEJ,gBAAgB;AAC1BK,IAAAA,KAAK,EAAEtI,CAAC,CAAC,oCAAoC,CAAC;AAC9C+E,IAAAA,IAAI,EAAE;AACR,GAAC,CACF;EAED,IAAMwD,aAAa,GAAGC,MAAM,CAAC;AAAEzD,IAAAA,IAAI,EAAEwB;GAAW,EAAE4B,UAAU,CAAC;AAE7D,EAAA,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7BF,IAAAA,aAAa,CAACF,QAAQ,CAAC3B,cAAc,CAAC;IACtCtD,YAAY,CAAC,EAAE,CAAC;EAClB,CAAC;AAED,EAAA,IAAMsF,cAAc,GAAG,SAAjBA,cAAcA,CAAG3D,IAAI,EAAI;IAC7B,IAAIA,IAAI,KAAK,MAAM,EAAE;MACnB,OAAO/E,CAAC,CAAC,qCAAqC,CAAC;AACjD,IAAA;IAEA,OAAOA,CAAC,CAAC,iCAAiC,CAAC;EAC7C,CAAC;AAED,EAAA,oBACEc,IAAA,CAAA,KAAA,EAAA;AAAK4D,IAAAA,SAAS,EAAC,yBAAyB;IAAA1D,QAAA,EAAA,cACtCC,GAAA,CAACwE,UAAU,EAAA;AAAC,MAAA,aAAA,EAAY,4BAA4B;AAACrE,MAAAA,OAAO,EAAC,IAAI;MAAAJ,QAAA,eAC/DC,GAAA,CAAC0H,KAAK,EAAA;AACJC,QAAAA,UAAU,EAAE;AAAEC,UAAAA,IAAI,eAAE5H,GAAA,CAAA,MAAA,EAAA;AAAMyD,YAAAA,SAAS,EAAC;WAAyB;SAAI;AACjEoE,QAAAA,MAAM,EAAEjC,0BAA2B;AACnCkC,QAAAA,OAAO,EACLpC,eAAe,GACX,+CAA+C,GAC/C;OAEP;AAAC,KACQ,CAAC,EACZA,eAAe,iBACd1F,GAAA,CAACI,OAAO,EAAA;MACNC,OAAO,EACL,CAAC8E,yBAAyB,GACtBpG,CAAC,CAAC,qDAAqD,CAAC,GACxD,IACL;AAAAgB,MAAAA,QAAA,eAEDC,GAAA,CAAA,MAAA,EAAA;QAAAD,QAAA,eACEF,IAAA,CAACsD,YAAY,EAAA;UACX7C,QAAQ,EAAE,CAAC6E,yBAA0B;AACrC5B,UAAAA,KAAK,EAAExE,CAAC,CAAC,oCAAoC,CAAE;AAC/CgJ,UAAAA,WAAW,EAAE;AACX5H,YAAAA,OAAO,EAAE,SAAS;AAClB,YAAA,aAAa,EAAE;WACf;UAAAJ,QAAA,EAAA,CAED,EAACuB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAND,MAAM,CAAEI,iBAAiB,cAAAH,qBAAA,KAAA,MAAA,IAAzBA,qBAAA,CAA2BN,QAAQ,CAAC,MAAM,CAAC,CAAA,iBAC3CjB,GAAA,CAAC2B,aAAa,EAAA;AACNb,YAAAA,KAAK,EAALA,KAAK;AAAEqB,YAAAA,YAAY,EAAZA,YAAY;AAAEC,YAAAA,iBAAiB,EAAjBA,iBAAiB;AAC5C9B,YAAAA,QAAQ,EAAE2F,oBAAqB;AAC/BpE,YAAAA,mBAAmB,EAAEsD,yBAA0B;AAC/CjD,YAAAA,oBAAoB,EAAE0D,0BAA0B,KAAA,IAAA,IAA1BA,0BAA0B,KAAA,MAAA,GAAA,MAAA,GAA1BA,0BAA0B,CAAE1C;AAAM,WACzD,CACF,EACA5B,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAuD,qBAAA,GAANvD,MAAM,CAAE0G,gBAAgB,MAAA,IAAA,IAAAnD,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAxBA,qBAAA,CAAAoD,IAAA,CAAA3G,MAAM,EAAqByF,iBAAiB,EAAE1F,YAAY,CAAC,EAC3DD,2BAA2B,CAACC,YAAY,EAAEC,MAAM,CAAC,iBAChDtB,GAAA,CAACmD,YAAY,CAACkB,QAAQ,EAAA;AACpB,YAAA,aAAA,EAAY,+BAA+B;YAC3C6D,UAAU,EAAE,CAAC/C,yBAA0B;YACvC7F,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQ6C,YAAY,CAAC,QAAQ,CAAC;YAAA,CAAC;YAAApC,QAAA,EAErChB,CAAC,CAAC,gCAAgC;AAAC,WACf,CACxB;SACW;OACV;AAAC,KACA,CACV,eACDiB,GAAA,CAACmI,KAAK,EAAA;AACJC,MAAAA,iBAAiB,EAAErJ,CAAC,CAAC,iCAAiC,CAAE;MACxDsJ,MAAM,EAAE,CAAC,CAACf,aAAc;MACxBgB,iBAAiB,EAAEb,cAAc,CAACH,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAExD,IAAI,CAAE;AACvDuD,MAAAA,KAAK,EAAEC,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAED,KAAM;MAC5BF,OAAO,eACLnH,GAAA,CAAC0H,KAAK,EAAA;AACJI,QAAAA,OAAO,EAAER,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEH,OAAQ;AAChCU,QAAAA,MAAM,EAAA3H,eAAA,CAAAA,eAAA,KACD0F,0BAA0B,CAAA,EAAA,EAAA,EAAA;AAC7B2C,UAAAA,MAAM,EAAElH,YAAY,CAACmH,YAAY,CAAC,CAAC,CAAC;AACpCvF,UAAAA,IAAI,EAAEwC;AAAc,SAAA;AACpB,OACH,CACF;MACDgD,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQtG,YAAY,CAAC,EAAE,CAAC;MAAA,CAAC;AAChCiF,MAAAA,QAAQ,EAAEI;AAAiB,KAC5B,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;AAED,IAAMkB,KAAK,GAAGC,KAAK,CACjB,UAAAxE,KAAA,EAAA;AAAA,EAAA,IACEpF,CAAC,GAAAoF,KAAA,CAADpF,CAAC;IACD6J,OAAO,GAAAzE,KAAA,CAAPyE,OAAO;IACPC,aAAa,GAAA1E,KAAA,CAAb0E,aAAa;IACbC,uBAAuB,GAAA3E,KAAA,CAAvB2E,uBAAuB;IACvBC,iBAAiB,GAAA5E,KAAA,CAAjB4E,iBAAiB;IACjBC,kBAAkB,GAAA7E,KAAA,CAAlB6E,kBAAkB;IAClBC,qBAAqB,GAAA9E,KAAA,CAArB8E,qBAAqB;IACrBC,oBAAoB,GAAA/E,KAAA,CAApB+E,oBAAoB;AAAA,EAAA,oBAEpBlJ,GAAA,CAACmJ,WAAiB,CAACC,UAAU,EAAA;AAC3BC,IAAAA,kBAAkB,EAAE;AAClBC,MAAAA,UAAU,EAAEV,OAAO;AACnBW,MAAAA,YAAY,EAAE1K,aAAa;MAC3B2K,QAAQ,EAAEC,UAAU,CAACC,kBAAkB;AACvCC,MAAAA,eAAe,EAAE5K,CAAC,CAAC,yCAAyC,CAAC;AAC7D6K,MAAAA,WAAW,EAAE;QAAE7F,WAAW,EAAEhF,CAAC,CAAC,iCAAiC;AAAE;KACjE;AACF8K,IAAAA,mBAAmB,EAAE;AACnBC,MAAAA,SAAS,EAAE,IAAI;AACfC,MAAAA,YAAY,EAAE;QAAE1J,OAAO,EAAEtB,CAAC,CAAC,iCAAiC;OAAG;MAC/DO,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ2J,qBAAqB,CAAC,IAAI,CAAC;AAAA,MAAA;KAC1C;AACFe,IAAAA,WAAW,EAAE;AACXpB,MAAAA,OAAO,EAAEC,aAAa;AACtBR,MAAAA,MAAM,EAAEU,iBAAiB;AACzBkB,MAAAA,SAAS,EAAEf,oBAAoB;AAC/BlF,MAAAA,QAAQ,EAAE8E,uBAAuB;AACjCoB,MAAAA,OAAO,EAAElB;AACX;AAAE,GACH,CAAC;AAAA,CAEN,CAAC;AAED,IAAMmB,SAAS,GAAG;AAAEzF,EAAAA,IAAI,EAAJA,IAAI;AAAEgE,EAAAA,KAAK,EAALA;AAAM,CAAC;;AC5NjC,IAAM0B,YAAY,GAAG;AAAEC,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAO,CAAC;AAEvD,IAAMC,sBAAsB,GAAG;EACpCC,UAAU,EAAEL,YAAY,CAACG;AAC3B,CAAC;AAEM,IAAMG,cAAc,GAAG,CAC5B;EACE5G,IAAI,EAAEsG,YAAY,CAACG,KAAK;AACxBI,EAAAA,qBAAqB,EAAE5L,CAAC,CAAC,sCAAsC,CAAC;AAChE6L,EAAAA,eAAe,EAAE7L,CAAC,CAAC,kCAAkC,EAAE;IACrD8L,MAAM,EAAE9L,CAAC,CAAC,sCAAsC;AAClD,GAAC,CAAC;AACF+L,EAAAA,UAAU,EAAE;AACd,CAAC,EACD;EACEhH,IAAI,EAAEsG,YAAY,CAACE,GAAG;AACtBK,EAAAA,qBAAqB,EAAE5L,CAAC,CAAC,qCAAqC,CAAC;AAC/D6L,EAAAA,eAAe,EAAE7L,CAAC,CAAC,kCAAkC,EAAE;IACrD8L,MAAM,EAAE9L,CAAC,CAAC,qCAAqC;AACjD,GAAC,CAAC;AACF+L,EAAAA,UAAU,EAAE;AACd,CAAC,EACD;EACEhH,IAAI,EAAEsG,YAAY,CAACC,GAAG;AACtBM,EAAAA,qBAAqB,EAAE5L,CAAC,CAAC,qCAAqC,CAAC;AAC/D6L,EAAAA,eAAe,EAAE7L,CAAC,CAAC,kCAAkC,EAAE;IACrD8L,MAAM,EAAE9L,CAAC,CAAC,qCAAqC;AACjD,GAAC,CAAC;AACF+L,EAAAA,UAAU,EAAE;AACd,CAAC,CACF;;;;AClBD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA7L,IAAA,EAOV;AAAA,EAAA,IANJmJ,MAAM,GAAAnJ,IAAA,CAANmJ,MAAM;IACNI,OAAO,GAAAvJ,IAAA,CAAPuJ,OAAO;IACPuC,cAAc,GAAA9L,IAAA,CAAd8L,cAAc;IACdC,sBAAsB,GAAA/L,IAAA,CAAtB+L,sBAAsB;IACtBC,iBAAiB,GAAAhM,IAAA,CAAjBgM,iBAAiB;IACjBjG,iBAAiB,GAAA/F,IAAA,CAAjB+F,iBAAiB;AAEjB,EAAA,IAAA5C,SAAA,GAA0CC,QAAQ,CAACkI,sBAAsB,CAAC;IAAAjI,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAnE8I,IAAAA,aAAa,GAAA5I,UAAA,CAAA,CAAA,CAAA;AAAE6I,IAAAA,gBAAgB,GAAA7I,UAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAA9C,eAAA,GAAcC,cAAc,EAAE;IAAtBX,CAAC,GAAAU,eAAA,CAADV,CAAC;AAET,EAAA,IAAMsM,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,OAAO,EAAA;AAAA,IAAA,OAAIF,gBAAgB,CAACG,SAAS,CAACD,OAAO,CAAC,CAAC;AAAA,EAAA,CAAA;AAEvE,EAAA,IAAQb,UAAU,GAAKU,aAAa,CAA5BV,UAAU;AAElB,EAAA,IAAMe,SAAS,GAAG,SAAZA,SAASA,GAAA;AAAA,IAAA,OAAAtL,eAAA,CAAAA,eAAA,CAAA,EAAA,EACViL,aAAa,CAAA,EAAA,EAAA,EAAA;MAChBM,OAAO,EAAET,cAAc,IAAIU,SAAS;AACpCC,MAAAA,kBAAkB,EAAEV,sBAAsB;AAC1CW,MAAAA,SAAS,EAAEX,sBAAsB,GAAGS,SAAS,GAAGR;AAAiB,KAAA,CAAA;EAAA,CACjE;EAEF,IAAAW,iBAAA,GAAkCC,gBAAgB,CAAC;AACjD1F,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AAAA,QAAA,IAAA2F,iBAAA;AACftD,QAAAA,OAAO,EAAE;QACT2C,gBAAgB,CAACZ,sBAAsB,CAAC;AAExCwB,QAAAA,KAAK,CAACC,OAAO,cACXjM,GAAA,CAAC0H,KAAK,EAAA;AACJI,UAAAA,OAAO,EAAC,8BAA8B;AACtCD,UAAAA,MAAM,EAAE;YAAEqE,KAAK,EAAA,CAAAH,iBAAA,GAAEI,WAAW,CAACC,IAAI,MAAA,IAAA,IAAAL,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkBG;AAAM;AAAE,SAC5C,CACH,CAAC;QAEDG,qBAAqB,CAACC,MAAM,CAACC,uBAAuB,EAAArM,eAAA,CAAA,EAAA,EAC/CiL,aAAa,CACjB,CAAC;MACJ,CAAC;AACDqB,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEC,KAAK,EAAA;AAAA,QAAA,OAAIT,KAAK,CAACS,KAAK,CAACA,KAAK,CAACtF,OAAO,CAAC;AAAA,MAAA;AAC9C,KAAC,CAAC;IAjBcuF,aAAa,GAAAb,iBAAA,CAArBnF,MAAM;AAmBd,EAAA,IAAMiG,WAAW,GACf1I,UAAU,CAACiH,iBAAiB,CAAC,IAAID,sBAAsB,GACnDlM,CAAC,CAAC,yDAAyD,EAAE;AAC3DmE,IAAAA,KAAK,EAAE+B;AACT,GAAC,CAAC,GACFlG,CAAC,CAAC,oDAAoD,CAAC;EAE7D,oBACEc,IAAA,CAAC+M,KAAK,EAAA;AAAOvE,IAAAA,MAAM,EAANA,MAAM;AAAEI,IAAAA,OAAO,EAAPA,OAAO;AAAA1I,IAAAA,QAAA,EAAA,cAC1BC,GAAA,CAAC4M,KAAK,CAAC3N,MAAM,EAAA;AAAAc,MAAAA,QAAA,eACXC,GAAA,CAAC4M,KAAK,CAACC,KAAK,EAAA;AAAC,QAAA,aAAA,EAAY,uBAAuB;QAAA9M,QAAA,EAC7ChB,CAAC,CAAC,mCAAmC;OAC3B;AAAC,KACF,CAAC,eACfiB,GAAA,CAAC4M,KAAK,CAACE,IAAI,EAAA;AAAA/M,MAAAA,QAAA,eACTF,IAAA,CAAA,KAAA,EAAA;AAAK4D,QAAAA,SAAS,EAAC,WAAW;QAAA1D,QAAA,EAAA,cACxBC,GAAA,CAACwE,UAAU,EAAA;AAACrE,UAAAA,OAAO,EAAC,OAAO;AAAAJ,UAAAA,QAAA,EAAE4M;AAAW,SAAa,CAAC,eACtD3M,GAAA,CAAC+M,UAAU,EAAA;AACTjK,UAAAA,KAAK,EAAE2H,UAAW;AAClBuC,UAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAElJ,IAAI,EAAA;AAAA,YAAA,OAAIuH,eAAe,CAAC;AAAEZ,cAAAA,UAAU,EAAE3G;AAAK,aAAC,CAAC;UAAA,CAAC;AAAA/D,UAAAA,QAAA,EAE5D2K,cAAc,CAACxG,GAAG,CAAC,UAAArB,KAAA,EAAA;AAAA,YAAA,IAAGiB,IAAI,GAAAjB,KAAA,CAAJiB,IAAI;cAAE8G,eAAe,GAAA/H,KAAA,CAAf+H,eAAe;cAAEE,UAAU,GAAAjI,KAAA,CAAViI,UAAU;AAAA,YAAA,oBACtD9K,GAAA,CAAC+M,UAAU,CAACE,IAAI,EAAA;AACd,cAAA,aAAA,EAAanC,UAAW;AACxB1G,cAAAA,EAAE,EAAEN,IAAK;AAETP,cAAAA,KAAK,EAAEqH,eAAgB;AACvB9H,cAAAA,KAAK,EAAEgB;AAAK,aAAA,EAFPA,IAGN,CAAC;UAAA,CACH;AAAC,SACQ,CAAC;OACV;AAAC,KACI,CAAC,eACbjE,IAAA,CAAC+M,KAAK,CAACM,MAAM,EAAA;AAACzJ,MAAAA,SAAS,EAAC,SAAS;MAAA1D,QAAA,EAAA,cAC/BC,GAAA,CAACC,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,sBAAsB;QAClCX,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQoN,aAAa,CAAC;AAAE,YAAA,QAAA,EAAQlB,SAAS;AAAG,WAAC,CAAC;QAAA,CAAC;QAAAzL,QAAA,EAErDhB,CAAC,CAAC,iCAAiC;AAAC,OAC/B,CAAC,eACTiB,GAAA,CAACC,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,sBAAsB;AAClCE,QAAAA,OAAO,EAAC,OAAO;AACfb,QAAAA,OAAO,EAAEmJ,OAAQ;QAAA1I,QAAA,EAEhBhB,CAAC,CAAC,iCAAiC;AAAC,OAC/B,CAAC;AAAA,KACG,CAAC;AAAA,GACV,CAAC;AAEZ,CAAC;;;;ACnGD,IAAME,QAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;EAAA,IAAAiO,cAAA,EAAAC,eAAA;AAAA,EAAA,IAAM9L,MAAM,GAAApC,IAAA,CAANoC,MAAM;IAAE2I,SAAS,GAAA/K,IAAA,CAAT+K,SAAS;IAAEL,WAAW,GAAA1K,IAAA,CAAX0K,WAAW;AAAA,EAAA,oBAC9C5J,GAAA,CAACqN,WAAW,EAAAnN,eAAA,CAAA;AACJ0J,IAAAA,WAAW,EAAXA,WAAW;AACjBvC,IAAAA,KAAK,EAAE7G,UAAU,CAACC,MAAM,CAACsF,MAAO;IAChCuH,WAAW,eACTtN,GAAA,CAACuN,iBAAiB,EAAA;AAChBpO,MAAAA,yBAAyB,EAAEmC,MAAM,CAAC8D,WAAW,CAACoI,MAAO;MACrDpO,gBAAgB,EAAA,CAAA+N,cAAA,GAAE7L,MAAM,CAACmM,MAAM,MAAA,IAAA,IAAAN,cAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,cAAA,CAAe/N,gBAAiB;MAClDI,gBAAgB,EAAE8B,MAAM,CAAC9B,gBAAiB;MAC1CF,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ2K,SAAS,CAACyD,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAAA,MAAA;KACtD;AACF,GAAA,EACGpM,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAA8L,eAAA,GAAN9L,MAAM,CAAEmM,MAAM,MAAA,IAAA,IAAAL,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAgBO,UAAU,CAC/B,CAAC;AAAA,CACH;AAED,aAAA,aAAehN,IAAI,CAAC1B,QAAM,CAAC;;;;ACoB3B,IAAM2O,WAAW,GAAG,SAAdA,WAAWA,CAAA1O,IAAA,EAAmB;EAAA,IAAA2O,qBAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,cAAA,EAAAC,kBAAA;AAAA,EAAA,IAAb3M,MAAM,GAAApC,IAAA,CAANoC,MAAM;AAC3B,EAAA,IAAA7B,eAAA,GAAcC,cAAc,EAAE;IAAtBX,CAAC,GAAAU,eAAA,CAADV,CAAC;AACT,EAAA,IAAMmP,OAAO,GAAGC,UAAU,EAAE;AAC5B,EAAA,IAAAC,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,WAAW,GAAGC,cAAc,EAAE;AAEpC,EAAA,IAAMC,uBAAuB,GAAGnN,MAAM,CAAC8D,WAAW,CAACsJ,IAAI;AACvD,EAAA,IAAMvP,yBAAyB,GAAGmC,MAAM,CAAC8D,WAAW,CAACoI,MAAM;AAE3D,EAAA,IAAAnL,SAAA,GAAkDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1D0G,IAAAA,iBAAiB,GAAAxG,UAAA,CAAA,CAAA,CAAA;AAAE2G,IAAAA,oBAAoB,GAAA3G,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAgD,UAAA,GAAoDjD,QAAQ,CAAC,KAAK,CAAC;IAAAkD,UAAA,GAAAhD,cAAA,CAAA+C,UAAA,EAAA,CAAA,CAAA;AAA5DoJ,IAAAA,kBAAkB,GAAAnJ,UAAA,CAAA,CAAA,CAAA;AAAEyD,IAAAA,qBAAqB,GAAAzD,UAAA,CAAA,CAAA,CAAA;AAChD,EAAA,IAAAoJ,UAAA,GAA4DtM,QAAQ,CAAC,KAAK,CAAC;IAAAuM,UAAA,GAAArM,cAAA,CAAAoM,UAAA,EAAA,CAAA,CAAA;AAApE3D,IAAAA,sBAAsB,GAAA4D,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,yBAAyB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAExDE,EAAAA,SAAS,CAAC,YAAM;AACdC,IAAAA,wBAAwB,EAAE;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,WAAA,GAMIC,UAAU,CAAC;AAAE5N,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;IALxBmK,OAAO,GAAAwD,WAAA,CAAPxD,OAAO;IACP0D,UAAU,GAAAF,WAAA,CAAVE,UAAU;IACVtG,aAAa,GAAAoG,WAAA,CAAbpG,aAAa;IACbe,WAAW,GAAAqF,WAAA,CAAXrF,WAAW;IACXZ,kBAAkB,GAAAiG,WAAA,CAAlBjG,kBAAkB;AAGpB,EAAA,IAAAoG,gBAAA,GAIIC,eAAe,CAAAnP,aAAA,CAAA,EAAA,EAAMuL,OAAO,CAAA,EAAI;AAAE6D,MAAAA,OAAO,EAAEb;AAAwB,KAAC,CAAC;IAHjEc,IAAI,GAAAH,gBAAA,CAAVI,IAAI;IACOC,gBAAgB,GAAAL,gBAAA,CAA3BM,SAAS;IACGC,iBAAiB,GAAAP,gBAAA,CAA7BQ,UAAU;AAGZ,EAAA,IAAM1K,UAAU,GAAG;AACjB2K,IAAAA,YAAY,EAAEpE,OAAO,CAAC,cAAc,CAAC;AACrCqE,IAAAA,sBAAsB,EAAE7E;GACzB;EAED,IAAA8E,cAAA,GAAmDC,aAAa,CAAC;AAC/DC,MAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEC,QAAQ,EAAA;AAAA,QAAA,IAAAC,qBAAA;AAAA,QAAA,OAAIC,OAAO,CAAA,CAAAD,qBAAA,GAACD,QAAQ,aAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEG,iBAAiB,MAAA,IAAA,IAAAF,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAC;AAAA,MAAA,CAAA;AAC9Db,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAHY3N,KAAK,GAAAiP,cAAA,CAAXP,IAAI;IAAoBc,cAAc,GAAAP,cAAA,CAAzBL,SAAS;EAK9B,IAAAa,gBAAA,GAA8DC,eAAe,CAC3E;AACEpK,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QAAA,IAAAqK,iBAAA,EAAAC,oBAAA;AACflJ,QAAAA,gBAAgB,EAAE;AAClBmJ,QAAAA,gBAAgB,CAACxB,UAAU,EAAEjB,OAAO,CAAC,CACnC0C,kBAAkB,EAAA,CAAAH,iBAAA,GAClBhF,OAAO,CAACoF,QAAQ,MAAA,IAAA,IAAAJ,iBAAA,cAAAA,iBAAA,GAAIK,iBACtB,CAAC;QACDxP,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAoP,oBAAA,GAANpP,MAAM,CAAEyP,YAAY,MAAA,IAAA,IAAAL,oBAAA,KAAA,MAAA,IAAA,CAAAA,oBAAA,GAApBA,oBAAA,CAAsBtK,SAAS,MAAA,IAAA,IAAAsK,oBAAA,eAA/BA,oBAAA,CAAiClK,QAAQ,EAAE;AAC7C,MAAA;AACF,KACF,CAAC;IAXeuK,YAAY,GAAAR,gBAAA,CAApB7J,MAAM;IAA2BsK,gBAAgB,GAAAT,gBAAA,CAA3BU,SAAS;AAavC,EAAA,IAAMvO,aAAa,GAAGwO,gBAAgB,CAACpQ,KAAK,EAAEQ,MAAM,CAAC;EAErD,IAAA6P,SAAA,GAcIC,QAAQ,CAAC;AAAE9P,MAAAA,MAAM,EAANA,MAAM;AAAEmK,MAAAA,OAAO,EAAPA,OAAO;AAAE0D,MAAAA,UAAU,EAAVA,UAAU;AAAE4B,MAAAA,YAAY,EAAZA;AAAa,KAAC,CAAC;IAbzDvJ,gBAAgB,GAAA2J,SAAA,CAAhB3J,gBAAgB;IAChBwH,wBAAwB,GAAAmC,SAAA,CAAxBnC,wBAAwB;IACxBqC,eAAe,GAAAF,SAAA,CAAfE,eAAe;IACfC,eAAe,GAAAH,SAAA,CAAfG,eAAe;IACfC,iBAAiB,GAAAJ,SAAA,CAAjBI,iBAAiB;IACjBC,kBAAkB,GAAAL,SAAA,CAAlBK,kBAAkB;IAClBC,gBAAgB,GAAAN,SAAA,CAAhBM,gBAAgB;IAChBC,kBAAkB,GAAAP,SAAA,CAAlBO,kBAAkB;IAClBrJ,MAAM,GAAA8I,SAAA,CAAN9I,MAAM;IACNsJ,cAAc,GAAAR,SAAA,CAAdQ,cAAc;IACdtQ,YAAY,GAAA8P,SAAA,CAAZ9P,YAAY;IACZ4I,SAAS,GAAAkH,SAAA,CAATlH,SAAS;IACTjF,eAAe,GAAAmM,SAAA,CAAfnM,eAAe;AAGjB,EAAA,IAAMC,iBAAiB,GAAGgG,sBAAsB,GAC5CsE,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEqC,YAAY,GAClBvQ,YAAY,CAACsE,IAAI,CAACE,MAAM;AAE5BvE,EAAAA,MAAM,aAANA,MAAM,KAAA,MAAA,IAAA,CAAAuM,qBAAA,GAANvM,MAAM,CAAEuQ,gBAAgB,MAAA,IAAA,IAAAhE,qBAAA,eAAxBA,qBAAA,CAAA5F,IAAA,CAAA3G,MAAM,EAAqB;AAAEiO,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC;EAEpC,IAAMuC,UAAU,GAAG,CAAAvC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEwC,gBAAgB,IAAG,CAAC;AAE7C,EAAA,IAAMC,sBAAsB,GAAG;AAAEvR,IAAAA,MAAM,EAAEkR,cAAc;AAAErQ,IAAAA,MAAM,EAANA;GAAQ;EAEjEA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAwM,aAAA,GAANxM,MAAM,CAAE2Q,KAAK,MAAA,IAAA,IAAAnE,aAAA,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAbD,aAAA,CAAeoE,eAAe,MAAA,IAAA,IAAAnE,qBAAA,KAAA,MAAA,IAA9BA,qBAAA,CAAA9F,IAAA,CAAA6F,aAAA,EAAiC;AAAE2D,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAAEC,IAAAA,kBAAkB,EAAlBA;AAAmB,GAAC,CAAC;EAE1E,IAAM9I,OAAO,GAAGuJ,OAAO,CACrB,YAAA;AAAA,IAAA,OACEC,aAAa,CAAC;AACZ9Q,MAAAA,MAAM,EAANA,MAAM;AACNmQ,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBpD,MAAAA,MAAM,EAANA;AACF,KAAC,CAAC;AAAA,EAAA,CAAA,EACJ,CAAA,CAAAN,cAAA,GAAC1M,MAAM,CAAC2Q,KAAK,MAAA,IAAA,IAAAjE,cAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,cAAA,CAAcqE,aAAa,CAAC;GAC9B;EAED,IAAAC,qBAAA,GACEC,sBAAsB,CAAC9I,UAAU,CAACC,kBAAkB,EAAEd,OAAO,CAAC;IADxD4J,2BAA2B,GAAAF,qBAAA,CAA3BE,2BAA2B;IAAEC,iBAAiB,GAAAH,qBAAA,CAAjBG,iBAAiB;IAAEC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;AAGlE,EAAA,IAAM5J,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAG2C,OAAO,EAAI;IACzC0D,UAAU,CAAC5D,SAAS,CAAC;AAAEsE,MAAAA,YAAY,EAAEpE,OAAO;AAAEkH,MAAAA,IAAI,EAAE/B;AAAmB,KAAC,CAAC,CAAC;IAC1E5L,eAAe,CAACsB,qBAAqB,CAAC;AAEtC4H,IAAAA,OAAO,CAAC0E,IAAI,CACVC,QAAQ,CACNC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EACxBzH,SAAS,CAAC;AAAEoH,MAAAA,IAAI,EAAE/B;AAAmB,KAAC,EAAErC,WAAW,CACrD,CACF,CAAC;EACH,CAAC;EAED,IAAA0E,qBAAA,GACEC,qBAAqB,CAAC;AACpBnL,MAAAA,WAAW,EAAE;QACXzI,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQ2K,SAAS,CAACyD,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAAA,QAAA,CAAA;AACrDpN,QAAAA,QAAQ,EAAE,CAACnB;AACb;AACF,KAAC,CAAC;IANIgU,WAAW,GAAAF,qBAAA,CAAXE,WAAW;IAAEC,iBAAiB,GAAAH,qBAAA,CAAjBG,iBAAiB;IAAEC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;IAAEC,iBAAiB,GAAAL,qBAAA,CAAjBK,iBAAiB;EAQrE,IAAIhD,cAAc,IAAIb,gBAAgB,EAAE;AACtC,IAAA,oBACEzP,GAAA,CAAA,KAAA,EAAA;AAAKyD,MAAAA,SAAS,EAAC,6DAA6D;AAAA1D,MAAAA,QAAA,eAC1EC,GAAA,CAACuT,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACE1T,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,cACEF,IAAA,CAAC2T,SAAS,EAAA;AAAC/P,MAAAA,SAAS,EAAC,OAAO;MAAA1D,QAAA,EAAA,cAC1BC,GAAA,CAACf,MAAM,EAAA;AACCqC,QAAAA,MAAM,EAANA,MAAM;AAAE2I,QAAAA,SAAS,EAATA,SAAS;AACvBL,QAAAA,WAAW,EAAEkI,UAAU,GAAGlI,WAAW,GAAG;AAAK,OAC9C,CAAC,eACF5J,GAAA,CAACmK,WAAS,EAAA;AACR1G,QAAAA,SAAS,EAAC,MAAM;AAChBgQ,QAAAA,eAAe,EACb3B,UAAU,iBACR9R,GAAA,CAAC0T,SAAoB,CAAChP,IAAI,EAAA;AAEtBQ,UAAAA,UAAU,EAAVA,UAAU;AACV5D,UAAAA,MAAM,EAANA,MAAM;AACND,UAAAA,YAAY,EAAZA,YAAY;AACZ4D,UAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBD,UAAAA,eAAe,EAAfA,eAAe;AAEjBF,UAAAA,aAAa,EAAEyK,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEqC,YAAa;AAClC9Q,UAAAA,KAAK,EAAE4B,aAAc;UACrBqC,gBAAgB,EAAE,SAAlBA,gBAAgBA,GAAA;AAAA,YAAA,IAAA4O,kBAAA;YAAA,OACdhD,gBAAgB,CAACxB,UAAU,EAAEjB,OAAO,CAAC,CACnC0C,kBAAkB,EAAA,CAAA+C,kBAAA,GAClBlI,OAAO,CAACoF,QAAQ,MAAA,IAAA,IAAA8C,kBAAA,cAAAA,kBAAA,GAAI7C,iBACtB,CAAC;AAAA,UAAA;AACF,SACF,CAEJ;AACD8C,QAAAA,gBAAgB,EACd9B,UAAU,iBACR9R,GAAA,CAAC0T,SAAoB,CAAChL,KAAK,EAAA;AAEvBE,UAAAA,OAAO,EAAPA,OAAO;AACPC,UAAAA,aAAa,EAAbA,aAAa;AACbC,UAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBC,UAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,UAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,UAAAA,oBAAoB,EAApBA;SAEH;AAEJ,OACF,CAAC,eACFlJ,GAAA,CAAC6T,UAAU,EAAA;AACTpQ,QAAAA,SAAS,EAAC,MAAM;AAChBmF,QAAAA,OAAO,EAAEC,aAAc;AACvBqB,QAAAA,OAAO,EAAElB,kBAAmB;AAC5B8K,QAAAA,aAAa,EAAE5K,oBAAqB;AACpClF,QAAAA,QAAQ,EAAE8E;AAAwB,OACnC,CAAC,eACF9I,GAAA,CAAC+K,UAAU,EAAA;AACHE,QAAAA,sBAAsB,EAAtBA,sBAAsB;AAAEhG,QAAAA,iBAAiB,EAAjBA,iBAAiB;AAC/C+F,QAAAA,cAAc,EAAES,OAAQ;AACxBpD,QAAAA,MAAM,EAAEsG,kBAAmB;QAC3BzD,iBAAiB,EAAE7J,YAAY,CAACsE,IAAK;QACrC8C,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQQ,qBAAqB,CAAC,KAAK,CAAC;AAAA,QAAA;AAAC,OAC7C,CAAC,EACD,CAAC6I,UAAU,gBACV9R,GAAA,CAAA,KAAA,EAAA;AAAKyD,QAAAA,SAAS,EAAC,gDAAgD;QAAA1D,QAAA,eAC7DC,GAAA,CAAC+T,KAAK,EAAA;AACJpH,UAAAA,WAAW,EAAEyG,iBAAkB;AAC/BY,UAAAA,IAAI,EAAEX,UAAW;AACjBY,UAAAA,kBAAkB,EAAEX,iBAAkB;AACtCjM,UAAAA,KAAK,EAAE8L;SACR;AAAC,OACC,CAAC,GACJ,CAAA5D,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEqC,YAAY,MAAK,CAAC,gBAC1B5R,GAAA,CAAA,KAAA,EAAA;AAAKyD,QAAAA,SAAS,EAAC,gDAAgD;QAAA1D,QAAA,eAC7DC,GAAA,CAAC+T,KAAK,EAAA;AACJC,UAAAA,IAAI,EAAEpQ,MAAO;AACb+I,UAAAA,WAAW,EAAE5N,CAAC,CACZ,sDACF,CAAE;AACFsI,UAAAA,KAAK,EAAEtI,CAAC,CAAC,gDAAgD,EAAE;AACzDwB,YAAAA,IAAI,EAAEC,UAAU,CAACC,MAAM,CAACsF;WACzB;SACF;AAAC,OACC,CAAC,gBAEN/F,GAAA,CAACkU,SAAS,EAAA;QACRC,aAAa,EAAA,IAAA;QACbC,WAAW,EAAA,IAAA;AACXC,QAAAA,aAAa,EAAE,KAAM;AACrBzL,QAAAA,OAAO,EAAE6J,iBAAkB;QAC3B6B,WAAW,EAAEC,QAAQ,CAAC9I,OAAO,CAACkH,IAAI,EAAE6B,aAAa,CAAE;QACnDhF,IAAI,EAAE,CAAAD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEkF,OAAO,KAAI,EAAG;AAC1B,QAAA,aAAA,EAAY,mBAAmB;QAC/BC,OAAO,EAAE/E,iBAAiB,IAAI6C,2BAA4B;QAC1D3B,QAAQ,EAAA,CAAA5C,kBAAA,GAAExC,OAAO,CAACoF,QAAQ,MAAA,IAAA,IAAA5C,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAI6C,iBAAkB;QAChD6D,eAAe,EAAEtT,YAAY,CAACsE,IAAK;AACnCK,QAAAA,UAAU,EAAEuJ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEqC,YAAa;AAC/BgD,QAAAA,sBAAsB,EAAE;AACtBC,UAAAA,mBAAmB,EAAE9V,CAAC,CACpB,0CAA0C,EAC1C;AAAEmE,YAAAA,KAAK,EAAE+B;AAAkB,WAC7B,CAAC;AACD6P,UAAAA,uBAAuB,EAAE/V,CAAC,CAAC,oCAAoC,EAAE;AAC/DmE,YAAAA,KAAK,EAAEqM,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEqC;AACf,WAAC,CAAC;AACFmD,UAAAA,sBAAsB,EAAEjG;SACxB;AACFkG,QAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEC,QAAQ,EAAA;UAAA,OAAIvC,UAAU,CAACuC,QAAQ,CAAC;QAAA,CAAC;AAC/CC,QAAAA,YAAY,EAAEvE,gBAAgB,CAACxB,UAAU,EAAEjB,OAAO,CAAE;AACpDiH,QAAAA,WAAW,EAAE7D,eAAgB;AAC7B8D,QAAAA,MAAM,EAAE7D;AAAkB,OAC3B,CACF;AAAA,KACQ,CAAC,eACZvR,GAAA,CAACqV,YAAY,EAAA;AACL/T,MAAAA,MAAM,EAANA,MAAM;AAAEqQ,MAAAA,cAAc,EAAdA,cAAc;AAC5B2D,MAAAA,eAAe,EAAE;QAAEjN,MAAM,EAAEA,MAAM,CAACkN;OAAe;AACjDzU,MAAAA,KAAK,EAAE4B,aAAc;AACrB8S,MAAAA,UAAU,EAAEnE;AAAgB,KAC7B,CAAC,eACFrR,GAAA,CAACmI,KAAK,EAAA;AACJC,MAAAA,iBAAiB,EAAErJ,CAAC,CAAC,iCAAiC,CAAE;MACxDsJ,MAAM,EAAEA,MAAM,CAACoN,KAAM;AACrBC,MAAAA,YAAY,EAAE1E,gBAAiB;AAC/B7J,MAAAA,OAAO,EAAEwO,iBAAiB,CAAC,SAAS,EAAE3D,sBAAsB,CAAE;AAC9D1J,MAAAA,iBAAiB,EAAEvJ,CAAC,CAAC,iCAAiC,CAAE;AACxDsI,MAAAA,KAAK,EAAEsO,iBAAiB,CAAC,OAAO,EAAE3D,sBAAsB,CAAE;AAC1DvJ,MAAAA,OAAO,EAAEjB,gBAAiB;AAC1BJ,MAAAA,QAAQ,EAAEoK;AAAmB,KAC9B,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;AAED,YAAeoE,SAAS,CAACC,cAAc,CAACjI,WAAW,CAAC,EAAEpN,UAAU,CAACC,MAAM,CAACsF,MAAM,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"TeamMembers.js","sources":["../../app/javascript/src/v2/components/TeamMembers/ActionBlock/constants.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/utils.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/SubHeader.jsx","../../app/javascript/src/v2/components/TeamMembers/ExportPane/constants.js","../../app/javascript/src/v2/components/TeamMembers/ExportPane/index.jsx","../../app/javascript/src/v2/components/TeamMembers/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\n\nexport const FIXED_COLUMNS = [\"name\", \"actions\"];\n\nexport const MANAGE_ROLES_BUTTON_LABEL = t(\n \"neetoTeamMembers.labels.manageRole\",\n PLURAL\n);\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n isCreatePermissionGranted,\n otherActionBlock,\n onClick = noop,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const isOtherActionBlockVisible = !!otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-testid=\"ntm-manage-roles-button\"\n variant=\"outline\"\n {...rolesButtonProps}\n >\n {MANAGE_ROLES_BUTTON_LABEL}\n </Button>\n ) : null}\n <Tooltip\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n </Button>\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default memo(Header);\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"remove\");\n","import { useState } from \"react\";\n\nimport {\n DropdownMenu,\n Input,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst RolesDropdown = ({\n disabled = false,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n selectedMembersCount = 0,\n setAlertType,\n setBulkUpdateRole,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdatingAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n setBulkUpdateRole(role);\n setAlertType(\"role\");\n };\n\n return (\n <Tooltip\n content={\n !isUpdatingAllowed\n ? t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })\n : null\n }\n >\n <span>\n <DropdownMenu.SubMenu\n contentProps={{ align: \"end\" }}\n label={t(\"neetoTeamMembers.buttons.changeRole\")}\n triggerProps={{ disabled: !isUpdatingAllowed }}\n >\n {isSearchable && (\n <div className=\"px-3 py-2\" onClick={e => e.stopPropagation()}>\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n className=\"ps-8\"\n data-testid=\"ntm-members-roles-search-input\"\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <DropdownMenu.MenuItem\n data-testid={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </DropdownMenu.SubMenu>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport {\n Alert,\n DropdownMenu,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n resetToFirstPage,\n roles,\n selectedRows,\n setSelectedRows,\n selectedRowsCount,\n bulkParams,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [alertType, setAlertType] = useState(\"\");\n const [bulkUpdateRole, setBulkUpdateRole] = useState(\"\");\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n\n const selectedMembersCountValues = {\n count:\n (selectedRowsCount || selectedRows?.keys?.length || filteredCount) ?? 0,\n metaName:\n hasSelectedRows && selectedRows?.keys.length > 1\n ? taxonomies.member.plural\n : taxonomies.member.singular,\n totalCount: filteredCount ?? 0,\n };\n\n const hasDeactivateMembers = selectedRows?.active?.some(active => !active);\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n resetToFirstPage();\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () => {\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n filterParams: bulkParams,\n });\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n filterParams: bulkParams,\n });\n };\n\n const alertTypes = [\n {\n message: \"neetoTeamMembers.alerts.messages.removeMember\",\n onSubmit: handleDeactivateMembers,\n title: t(\"neetoTeamMembers.common.remove_\", {\n what: selectedMembersCountValues?.metaName,\n }),\n type: \"remove\",\n },\n {\n message: \"neetoTeamMembers.alerts.messages.changeRole\",\n onSubmit: handleRoleChange,\n title: t(\"neetoTeamMembers.common.changeRole\"),\n type: \"role\",\n },\n ];\n\n const selectedAlert = findBy({ type: alertType }, alertTypes);\n\n const handleAlertClose = () => {\n selectedAlert.onSubmit(bulkUpdateRole);\n setAlertType(\"\");\n };\n\n const getButtonLabel = type => {\n if (type === \"role\") {\n return t(\"neetoTeamMembers.buttons.changeRole\");\n }\n\n return t(\"neetoTeamMembers.buttons.remove\");\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <Typography data-testid=\"ntm-filtered-members-count\" variant=\"h6\">\n <Trans\n components={{ span: <span className=\"text-muted-foreground\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"neetoTeamMembers.helpers.selectedMembersCount\"\n : \"neetoTeamMembers.helpers.metaNameWithCount\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")\n : null\n }\n >\n <span>\n <DropdownMenu\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n variant: \"outline\",\n \"data-testid\": \"ntm-members-take-action-dropdown-button\",\n }}\n >\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n {...{ roles, setAlertType, setBulkUpdateRole }}\n disabled={hasDeactivateMembers}\n hasUpdatePermission={isUpdatePermissionGranted}\n selectedMembersCount={selectedMembersCountValues?.count}\n />\n )}\n {config?.otherBulkActions?.(resetSelectedRows, selectedRows)}\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <DropdownMenu.MenuItem\n data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu>\n </span>\n </Tooltip>\n )}\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={!!selectedAlert}\n submitButtonLabel={getButtonLabel(selectedAlert?.type)}\n title={selectedAlert?.title}\n message={\n <Trans\n i18nKey={selectedAlert?.message}\n values={{\n ...selectedMembersCountValues,\n person: selectedRows.displayNames[0],\n role: bulkUpdateRole,\n }}\n />\n }\n onClose={() => setAlertType(\"\")}\n onSubmit={handleAlertClose}\n />\n </div>\n );\n};\n\nconst Right = withT(\n ({\n t,\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }) => (\n <SubHeaderMolecule.RightBlock\n columnsButtonProps={{\n columnData: columns,\n fixedColumns: FIXED_COLUMNS,\n tableKey: TABLE_KEYS.TEAM_MEMBERS_TABLE,\n noColumnMessage: t(\"neetoTeamMembers.columns.noColumnsFound\"),\n searchProps: { placeholder: t(\"neetoTeamMembers.columns.search\") },\n }}\n downloadButtonProps={{\n isVisible: true,\n tooltipProps: { content: t(\"neetoTeamMembers.buttons.export\") },\n onClick: () => setIsDownloadPaneOpen(true),\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleNeetoFilterChange,\n keyword: searchKeywordProps,\n }}\n />\n )\n);\n\nconst SubHeader = { Left, Right };\n\nexport default SubHeader;\n","import { t } from \"i18next\";\n\nconst EXPORT_TYPES = { PDF: \"pdf\", CSV: \"csv\", EXCEL: \"xlsx\" };\n\nexport const DEFAULT_EXPORT_OPTIONS = {\n exportType: EXPORT_TYPES.EXCEL,\n};\n\nexport const EXPORT_OPTIONS = [\n {\n type: EXPORT_TYPES.EXCEL,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n }),\n dataTestid: \"download-as-excel-radio-item\",\n },\n {\n type: EXPORT_TYPES.CSV,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.csv\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.csv\"),\n }),\n dataTestid: \"download-as-csv-radio-item\",\n },\n {\n type: EXPORT_TYPES.PDF,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.pdf\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.pdf\"),\n }),\n dataTestid: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { Button, RadioGroup, Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"hooks/teams/useTeamsApi\";\nimport { EVENTS } from \"src/constants\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } from \"./constants\";\n\nconst ExportPane = ({\n isOpen,\n onClose,\n appliedFilters,\n hasBulkSelectedAllRows,\n selectedMemberIds,\n selectedRowsCount,\n}) => {\n const [exportOptions, setExportOptions] = useState(DEFAULT_EXPORT_OPTIONS);\n\n const { t } = useTranslation();\n\n const setExportOption = options => setExportOptions(mergeLeft(options));\n\n const { exportType } = exportOptions;\n\n const getParams = () => ({\n ...exportOptions,\n filters: appliedFilters || undefined,\n considerAllMembers: hasBulkSelectedAllRows,\n memberIds: hasBulkSelectedAllRows ? undefined : selectedMemberIds,\n });\n\n const { mutate: exportMembers } = useExportMembers({\n onSuccess: () => {\n onClose();\n setExportOptions(DEFAULT_EXPORT_OPTIONS);\n\n toast.success(\n <Trans\n i18nKey=\"toastr.success.exportMembers\"\n values={{ email: globalProps.user?.email }}\n />\n );\n\n captureAnalyticsEvent(EVENTS.TEAM_MEMBERS_DOWNLOADED, {\n ...exportOptions,\n });\n },\n onError: error => toast.error(error.message),\n });\n\n const description =\n isNotEmpty(selectedMemberIds) || hasBulkSelectedAllRows\n ? t(\"neetoTeamMembers.exportPane.description.selectedMembers\", {\n count: selectedRowsCount,\n })\n : t(\"neetoTeamMembers.exportPane.description.allMembers\");\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title data-testid=\"export-member-heading\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"space-y-4\">\n <Typography variant=\"body3\">{description}</Typography>\n <RadioGroup\n value={exportType}\n onValueChange={type => setExportOption({ exportType: type })}\n >\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataTestid }) => (\n <RadioGroup.Item\n data-testid={dataTestid}\n id={type}\n key={type}\n label={bulkExportLabel}\n value={type}\n />\n ))}\n </RadioGroup>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n <Button\n data-testid=\"export-submit-button\"\n onClick={() => exportMembers({ export: getParams() })}\n >\n {t(\"neetoTeamMembers.buttons.export\")}\n </Button>\n <Button\n data-testid=\"export-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoTeamMembers.buttons.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { assoc } from \"ramda\";\n\nimport { Header as HeaderActionBlock } from \"./ActionBlock\";\n\nconst Header = ({ config, setIsOpen, searchProps }) => (\n <NeetoHeader\n {...{ searchProps }}\n title={taxonomies.member.plural}\n actionBlock={\n <HeaderActionBlock\n isCreatePermissionGranted={config.permissions.create}\n otherActionBlock={config.header?.otherActionBlock}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n {...config?.header?.otherProps}\n />\n);\n\nexport default memo(Header);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Alert, Empty, Spinner, DataTable } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport { useTableConfigurations } from \"neetomolecules/v2/Columns\";\nimport Container from \"neetomolecules/v2/Container\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport useFilters from \"hooks/useFilters\";\nimport useTeams from \"hooks/useTeams\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { SubHeader as SubHeaderActionBlock } from \"./ActionBlock\";\nimport { DEFAULT_RADIX, DEFAULT_SELECTED_ROWS } from \"./constants\";\nimport ExportPane from \"./ExportPane\";\nimport Header from \"./Header\";\nimport ManageMember from \"./ManageMember\";\nimport {\n generateNoDataContent,\n getColumnData,\n getFilteredRoles,\n handlePageChange,\n renderUpdateAlert,\n} from \"./utils\";\n\nimport withReactQuery from \"../Common/withReactQuery\";\n\nconst TeamMembers = ({ config }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isSize } = useBreakpoints();\n const queryParams = useQueryParams();\n\n const isViewPermissionGranted = config.permissions.view;\n const isCreatePermissionGranted = config.permissions.create;\n\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isDownloadPaneOpen, setIsDownloadPaneOpen] = useState(false);\n const [hasBulkSelectedAllRows, setHasBulkSelectedAllRows] = useState(false);\n\n useEffect(() => {\n handleMemberFilterChange();\n }, []);\n\n const {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n } = useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers({ ...filters }, { enabled: isViewPermissionGranted });\n\n const bulkParams = {\n neetoFilters: filters[\"neetoFilters\"],\n considerAllTeamMembers: hasBulkSelectedAllRows,\n };\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response?.organizationRoles ?? []),\n enabled: isViewPermissionGranted,\n });\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleTableChange,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n const selectedRowsCount = hasBulkSelectedAllRows\n ? team?.membersCount\n : selectedRows.keys.length;\n\n config?.fetchApiResponse?.({ team });\n\n const hasMembers = team?.activeUsersCount > 0;\n\n const updateMemberAlertProps = { member: selectedMember, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n }),\n [config.table?.dropdownProps] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.TEAM_MEMBERS_TABLE, columns);\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_INDEX }));\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n };\n\n const { noDataTitle, noDataDescription, noDataIcon, noDataButtonProps } =\n generateNoDataContent({\n buttonProps: {\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n disabled: !isCreatePermissionGranted,\n },\n });\n\n if (isRolesLoading || isMembersLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Container className=\"pb-10\">\n <Header\n {...{ config, setIsOpen }}\n searchProps={hasMembers ? searchProps : null}\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Left\n {...{\n bulkParams,\n config,\n selectedRows,\n selectedRowsCount,\n setSelectedRows,\n }}\n filteredCount={team?.membersCount}\n roles={filteredRoles}\n resetToFirstPage={() =>\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n )\n }\n />\n )\n }\n rightActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Right\n {...{\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }}\n />\n )\n }\n />\n <FiltersBar\n className=\"mb-4\"\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n <ExportPane\n {...{ hasBulkSelectedAllRows, selectedRowsCount }}\n appliedFilters={filters}\n isOpen={isDownloadPaneOpen}\n selectedMemberIds={selectedRows.keys}\n onClose={() => setIsDownloadPaneOpen(false)}\n />\n {!hasMembers ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={noDataDescription}\n icon={noDataIcon}\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n ) : team?.membersCount === 0 ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n description={t(\n \"neetoTeamMembers.common.memberSearchEmptyDescription\"\n )}\n title={t(\"neetoTeamMembers.common.memberSearchEmptyTitle\", {\n what: taxonomies.member.plural,\n })}\n />\n </div>\n ) : (\n <DataTable\n enableSorting\n fixedHeight\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={parseInt(filters.page, DEFAULT_RADIX)}\n data={team?.members || []}\n data-testid=\"ntm-members-table\"\n loading={isMembersFetching || isTableConfigurationLoading}\n pageSize={filters.pageSize ?? DEFAULT_PAGE_SIZE}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\"neetoTeamMembers.helpers.selectAll\", {\n count: team?.membersCount,\n }),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n onColumnHide={columnId => hideColumn(columnId)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n onSort={handleTableChange}\n />\n )}\n </Container>\n <ManageMember\n {...{ config, selectedMember }}\n componentConfig={{ isOpen: isOpen.manageMember }}\n roles={filteredRoles}\n onComplete={handlePaneClose}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.remove\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleRemoveMember}\n />\n </>\n );\n};\n\nexport default withTitle(withReactQuery(TeamMembers), taxonomies.member.plural);\n"],"names":["FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","t","PLURAL","Header","_ref","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","_useTranslation","useTranslation","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","_objectSpread","variant","Tooltip","content","disabled","what","taxonomies","member","singular","memo","filterBySearchTerm","searchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","selectedRows","config","_config$hiddenBulkAct","active","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","_useState","useState","_useState2","_slicedToArray","setSearchTerm","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","value","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","placeholder","onChange","isNotEmpty","map","_ref3","id","MenuItem","concat","hyphenate","Typography","color","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","setSelectedRows","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","_useState3","_useState4","bulkUpdateRole","hasSelectedRows","keys","selectedMembersCountValues","length","metaName","plural","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","DEFAULT_SELECTED_ROWS","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","emails","filterParams","resetSelectedRows","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","handleAlertClose","getButtonLabel","Trans","components","span","values","i18nKey","buttonProps","otherBulkActions","call","isDisabled","Alert","cancelButtonLabel","isOpen","submitButtonLabel","person","displayNames","onClose","Right","withT","columns","filterColumns","handleNeetoFilterChange","isFiltersPaneOpen","searchKeywordProps","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","searchProps","downloadButtonProps","isVisible","tooltipProps","filterProps","setIsOpen","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","options","mergeLeft","getParams","filters","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","user","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","Title","Body","RadioGroup","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","assoc","otherProps","TeamMembers","_config$fetchApiRespo","_config$table","_config$table$onDropd","_config$table2","_filters$pageSize3","history","useHistory","_useBreakpoints","useBreakpoints","isSize","queryParams","useQueryParams","isViewPermissionGranted","view","isDownloadPaneOpen","_useState5","_useState6","setHasBulkSelectedAllRows","useEffect","handleMemberFilterChange","_useFilters","useFilters","setFilters","_useFetchMembers","useFetchMembers","enabled","team","data","isMembersLoading","isLoading","isMembersFetching","isFetching","neetoFilters","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_filters$pageSize","_config$updateMember","handlePageChange","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","useTeams","handlePaneClose","handleRowSelect","handleTableChange","handleRemoveMember","handleUpdateRole","handleUpdateStatus","selectedMember","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","table","onDropdownClick","useMemo","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","page","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataDescription","noDataIcon","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","Empty","icon","primaryButtonProps","DataTable","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","onRowSelect","onSort","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
|
package/dist/v2/index.js
CHANGED
|
@@ -8,8 +8,8 @@ export { default as Profile } from './Profile.js';
|
|
|
8
8
|
export { default as Roles } from './Roles.js';
|
|
9
9
|
export { P as Permissions } from '../Permissions-Bz0SmJzH.js';
|
|
10
10
|
export { default as TeamMembers } from './TeamMembers.js';
|
|
11
|
-
export { M as ManageMember } from '../index-
|
|
12
|
-
export { R as RolesRadioGroup } from '../RolesRadioGroup-
|
|
11
|
+
export { M as ManageMember } from '../index-CVADXnpl.js';
|
|
12
|
+
export { R as RolesRadioGroup } from '../RolesRadioGroup-CkqMARV8.js';
|
|
13
13
|
export { default as TeamsAndMembersDropdown } from './TeamsAndMembersDropdown.js';
|
|
14
14
|
export { default as TeamsDropdown } from './TeamsDropdown.js';
|
|
15
15
|
import 'i18next';
|
|
@@ -58,6 +58,7 @@ import '@babel/runtime/regenerator';
|
|
|
58
58
|
import '@bigbinary/neeto-atoms/primitives/Card';
|
|
59
59
|
import '@bigbinary/neeto-time-zones';
|
|
60
60
|
import '@bigbinary/neeto-image-uploader-frontend/hooks';
|
|
61
|
+
import '@bigbinary/neeto-molecules/v2/PhoneNumber';
|
|
61
62
|
import 'sonner';
|
|
62
63
|
import '../useProfileApi-Dkt6sE5p.js';
|
|
63
64
|
import '../useCountriesApi-DK00167T.js';
|
package/dist/v2/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-team-members-frontend",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.50",
|
|
4
4
|
"description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-team-members-nano",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"@bigbinary/neeto-filters-frontend": "4.3.38",
|
|
79
79
|
"@bigbinary/neeto-icons": "1.20.88",
|
|
80
80
|
"@bigbinary/neeto-image-uploader-frontend": "4.0.5",
|
|
81
|
-
"@bigbinary/neeto-molecules": "5.1.
|
|
81
|
+
"@bigbinary/neeto-molecules": "5.1.10",
|
|
82
82
|
"@bigbinary/neeto-time-zones": "0.8.25",
|
|
83
83
|
"@bigbinary/neetoui": "8.8.1",
|
|
84
84
|
"@dnd-kit/core": "6.3.1",
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
"@bigbinary/neeto-filters-frontend": "4.3.38",
|
|
196
196
|
"@bigbinary/neeto-icons": "1.20.88",
|
|
197
197
|
"@bigbinary/neeto-image-uploader-frontend": "4.0.5",
|
|
198
|
-
"@bigbinary/neeto-molecules": "5.1.
|
|
198
|
+
"@bigbinary/neeto-molecules": "5.1.10",
|
|
199
199
|
"@bigbinary/neeto-time-zones": "0.8.25",
|
|
200
200
|
"@bigbinary/neetoui": "8.8.1",
|
|
201
201
|
"@dnd-kit/core": "6.3.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileImage-CMHNIokr.js","sources":["../app/javascript/src/components/Profile/constants.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const UPDATE_EMAIL_PATH = \"/auth/email/edit\";\nexport const MANAGE_BILLING_PATH = \"/auth/billing/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useRef } from \"react\";\n\nimport { useField } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Edit } from \"neetoicons\";\nimport { Avatar, Dropdown, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n\n const [field, _, helpers] = useField(\"avatar\");\n const { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n return setValue({\n imageUrl: URL.createObjectURL(imageFile),\n file: imageFile,\n });\n };\n\n const handleChangeImage = () => fileInputRef.current?.click();\n\n const handleRemoveImage = () => setValue({ imageUrl: \"\", file: \"_destroy\" });\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-4 flex flex-col items-center gap-2\">\n <div className=\"relative shrink-0\">\n <div className=\"absolute bottom-0 end-0 z-10\">\n <Dropdown\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n buttonProps={{ className: \"rounded-full\" }}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Edit}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={handleChangeImage}\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"flex flex-col items-center\">\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <input\n hidden\n accept=\"image/*\"\n data-testid=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n ref={fileInputRef}\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","UPDATE_EMAIL_PATH","MANAGE_BILLING_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","dependentFields","selectedCountry","findById","isFetchingCountriesList","Menu","Dropdown","MenuItem","ProfileImage","_useTranslation","useTranslation","fileInputRef","useRef","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","imageUrl","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","URL","createObjectURL","file","handleChangeImage","_fileInputRef$current","current","click","handleRemoveImage","type","size","includes","_jsxs","className","children","_jsx","buttonProps","buttonSize","buttonStyle","icon","Edit","Button","onClick","Avatar","user","Typography","style","Trans","i18nKey","values","limit","hidden","accept","ref","onChange"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileImage-D0i5-rrS.js","sources":["../app/javascript/src/components/Profile/constants.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const UPDATE_EMAIL_PATH = \"/auth/email/edit\";\nexport const MANAGE_BILLING_PATH = \"/auth/billing/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useRef } from \"react\";\n\nimport { useField } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Edit } from \"neetoicons\";\nimport { Avatar, Dropdown, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n\n const [field, _, helpers] = useField(\"avatar\");\n const { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n return setValue({\n imageUrl: URL.createObjectURL(imageFile),\n file: imageFile,\n });\n };\n\n const handleChangeImage = () => fileInputRef.current?.click();\n\n const handleRemoveImage = () => setValue({ imageUrl: \"\", file: \"_destroy\" });\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-4 flex flex-col items-center gap-2\">\n <div className=\"relative shrink-0\">\n <div className=\"absolute bottom-0 end-0 z-10\">\n <Dropdown\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n buttonProps={{ className: \"rounded-full\" }}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Edit}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={handleChangeImage}\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"flex flex-col items-center\">\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <input\n hidden\n accept=\"image/*\"\n data-testid=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n ref={fileInputRef}\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","UPDATE_EMAIL_PATH","MANAGE_BILLING_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","dependentFields","selectedCountry","findById","isFetchingCountriesList","Menu","Dropdown","MenuItem","ProfileImage","_useTranslation","useTranslation","fileInputRef","useRef","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","imageUrl","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","URL","createObjectURL","file","handleChangeImage","_fileInputRef$current","current","click","handleRemoveImage","type","size","includes","_jsxs","className","children","_jsx","buttonProps","buttonSize","buttonStyle","icon","Edit","Button","onClick","Avatar","user","Typography","style","Trans","i18nKey","values","limit","hidden","accept","ref","onChange"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RolesRadioGroup-BAcRgBq8.js","sources":["../app/javascript/src/v2/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/v2/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/v2/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/v2/components/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div {...{ className, ...otherProps }}>{children}</div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div {...{ className, ...otherProps }}>{children}</div>\n);\n\nPage.Header = PageWrapper;\nPage.Title = PageWrapper;\nPage.Description = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { Dialog, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const FEEDBACK_DURATION_MS = 2500;\n\nexport const NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n lastName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n};\n\nexport const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(t(\"neetoTeamMembers.validations.roleRequired\")),\n};\n\nexport const APP_ROLES_SCHEMA = {\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup\n .string()\n .required(t(\"neetoTeamMembers.validations.roleRequired\")),\n })\n ),\n};\n\nexport const FILTER_INVALID_EMAILS = {\n label: t(\"neetoTeamMembers.validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: t(\"neetoTeamMembers.common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Sheet,\n modal: Dialog,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n INVITE_LINK: \"inviteLink\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const NEETO_AUTH_MANAGE_PRODUCT_URL = `${globalProps.organization?.authAppUrl}/admin/admin-panel/general/products`;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { ADMIN_ROLES, ADMIN_ROLE_NAME } from \"common/constants\";\n\nimport {\n NAME_INPUT_VALIDATION_SCHEMA,\n ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n APP_ROLES_SCHEMA,\n} from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? t(\"neetoTeamMembers.labels.neeto_\", {\n product: activeAppRoles[0].appName,\n })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole, appName) => {\n if (appName === globalProps.appName?.substring(5)) {\n return currentAppRole;\n }\n\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentApp = globalProps.appName?.substring(5);\n const currentAppNameIndex = appNames.indexOf(currentApp);\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),\n isEnabled: true,\n isPrimary: currentApp === appName,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, ADMIN_ROLES)\n ? equals(ADMIN_ROLE_NAME)\n : notEquals(ADMIN_ROLE_NAME);\n\nexport const renderInitialValues = ({\n additionalFieldsInitialValues = {},\n globalRoles,\n memberShowData,\n roles,\n selectedMember,\n}) => {\n if (isNotNil(selectedMember)) {\n const keysToPick = [\n \"firstName\",\n \"lastName\",\n \"role\",\n ...keys(additionalFieldsInitialValues),\n ];\n\n return {\n ...additionalFieldsInitialValues,\n ...pick(keysToPick, selectedMember),\n emails: [{ ...toLabelAndValue(selectedMember.email), valid: true }],\n timeZone: selectedMember.timeZone || \"\",\n dateFormat: selectedMember.dateFormat || \"\",\n timeFormat: selectedMember.timeFormat || \"\",\n countryId:\n memberShowData?.member?.countryIdentifier ||\n selectedMember.countryIdentifier ||\n \"\",\n language: selectedMember.language || \"\",\n avatar: {\n imageUrl: selectedMember.profileImageUrl || \"\",\n file: null,\n },\n };\n }\n\n return {\n firstName: \"\",\n lastName: \"\",\n emails: [],\n role: roles[1]?.name ?? \"\",\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n ...additionalFieldsInitialValues,\n };\n};\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role, ...otherValues },\n selectedMember = null\n) => {\n if (selectedMember) {\n const {\n timeZone,\n dateFormat,\n timeFormat,\n countryId,\n language,\n avatar,\n ...rest\n } = otherValues;\n\n const payload = {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...rest,\n };\n\n const profileFields = {\n timeZone,\n dateFormat,\n timeFormat,\n countryIdentifier: countryId,\n language,\n };\n\n const profile = Object.fromEntries(\n Object.entries(profileFields).filter(([, v]) => v)\n );\n\n if (Object.keys(profile).length > 0 || avatar?.file) {\n payload.profile = profile;\n }\n\n return payload;\n }\n\n return {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\n };\n};\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n\nexport const buildValidationSchema = ({\n selectedMember,\n memberLimit,\n activeUsersCount,\n}) =>\n yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n ...APP_ROLES_SCHEMA,\n emails: yup\n .array()\n .min(1, t(\"neetoTeamMembers.validations.minOneEmail\"))\n .test(\n \"are-all-emails-valid\",\n ({ value }) =>\n t(\"neetoTeamMembers.validations.validEmail\", { count: value.length }),\n emails => emails.every(prop(\"valid\"))\n )\n .test(\n \"is-emails-length-within-available-members-capacity\",\n <Trans\n i18nKey=\"neetoTeamMembers.validations.memberLimitExceeded\"\n values={{ limit: memberLimit }}\n components={{\n emailTo: (\n <Button asChild variant=\"link\">\n <a href=\"mailto:support@neeto.com\">support</a>\n </Button>\n ),\n }}\n />,\n emails =>\n isNotNil(selectedMember) ||\n isNil(memberLimit) ||\n emails.length <= memberLimit - activeUsersCount\n )\n .nullable(),\n });\n\nexport const getInviteURL = inviteToken =>\n `${window.location.origin}/invite-link/${inviteToken}`;\n\nexport const remainingExpiryDays = expiryDate => {\n const today = dayjs().startOf(\"day\");\n const expiry = dayjs(expiryDate).startOf(\"day\");\n\n return expiry.diff(today, \"day\");\n};\n\nexport const neetoAuthManageProductUrl = `${globalProps.organization?.authAppUrl}/settings/general/products`;\n","import { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isAdminRole } from \"./utils\";\n\nimport { FormikRadioGroup } from \"../../Common/formik\";\n\nconst RolesRadioGroup = ({\n config,\n globalRoles,\n isEdit,\n role = \"\",\n roles = [],\n}) => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles?.forEach(({ appName, activeRole }, index) => {\n if (appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n return;\n }\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex w-full items-center justify-between\">\n <Label>\n {t(\"neetoTeamMembers.common.role\", SINGULAR)}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <Button asChild variant=\"link\">\n <a href={config.pathToRolesPage}>\n {t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n </a>\n </Button>\n </div>\n <FormikRadioGroup\n stacked\n className=\"w-full grow-0\"\n data-testid=\"ntm-manage-member-roles-group\"\n name=\"role\"\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n if (!isEdit) setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"w-full cursor-pointer py-1 first:pt-0\"\n htmlFor={slugify(name)}\n key={id}\n >\n <FormikRadioGroup.Item\n data-testid=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n value={name}\n />\n </label>\n ))}\n </FormikRadioGroup>\n </div>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Title","Description","Body","Footer","FEEDBACK_DURATION_MS","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appsRoles","array","of","object","shape","appName","isEnabled","FILTER_INVALID_EMAILS","label","COUNTER_PROPS","PLURAL","startsFrom","DEFAULT_COMPONENT_CONFIG","type","isOpen","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","pane","Sheet","modal","Dialog","page","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","INVITE_LINK","EMAIL_REGEX","RegExp","NEETO_AUTH_MANAGE_PRODUCT_URL","concat","_globalProps$organiza","globalProps","organization","authAppUrl","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","roles","currentAppRole","_globalProps$appName","substring","condition","isAdminRole","_findBy","name","generateAppsRolesInitialValue","globalRoles","_globalProps$appName2","appNames","Object","keys","currentApp","currentAppNameIndex","indexOf","appNamesSorted","move","map","isPrimary","includes","ADMIN_ROLES","equals","ADMIN_ROLE_NAME","notEquals","renderInitialValues","_roles$1$name","_roles$","_roles$2","_ref$additionalFields","additionalFieldsInitialValues","memberShowData","selectedMember","isNotNil","_memberShowData$membe","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","timeZone","dateFormat","timeFormat","countryId","member","countryIdentifier","language","avatar","imageUrl","profileImageUrl","file","appRoles","renderPayload","otherValues","arguments","length","undefined","rest","payload","active","organizationRole","value","profileFields","profile","fromEntries","entries","filter","_ref3","_ref4","_slicedToArray","v","user","pluck","getSingleInvitationTranslationProps","_ref5","selectedEmail","count","buildValidationSchema","_ref6","memberLimit","activeUsersCount","min","test","_ref7","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","asChild","variant","href","isNil","nullable","getInviteURL","inviteToken","window","location","origin","remainingExpiryDays","expiryDate","today","dayjs","startOf","expiry","diff","RolesRadioGroup","config","isEdit","_ref$role","_ref$roles","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","_jsxs","Label","SINGULAR","pathToRolesPage","FormikRadioGroup","stacked","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}
|