@bigbinary/neeto-access-control-frontend 1.3.17 → 1.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
package/dist/index.cjs.js
CHANGED
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n {\n selectedCount: selectedEmails.length,\n count: totalCount,\n }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { filterBy, nullSafe } from \"neetocist\";\nimport { equals, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n .trim()\n .test(\n \"unique-keyword\",\n t(\"neetoAccessControl.inputs.validation.duplicateKeywords\"),\n (value, testContext) => {\n if (!value || !testContext.parent) return true;\n\n const trimmedValue = value?.trim();\n if (!trimmedValue) return true;\n\n const duplicateIndices = nullSafe(pluck)(\n \"index\",\n filterBy(\n { item: trimmedValue },\n testContext.parent.map((item, index) => ({\n item: item?.trim(),\n index,\n }))\n )\n );\n\n const currentIndex = testContext.path\n .split(\"[\")\n .pop()\n .split(\"]\")[0];\n\n const isLastOccurrence =\n duplicateIndices[duplicateIndices.length - 1] ===\n parseInt(currentIndex);\n\n return !isLastOccurrence || duplicateIndices.length === 1;\n }\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n const handleAddKeyword = () => {\n allowedKeywords.forEach((_, index) => {\n arrayHelpers.form.setFieldTouched(`${name}.${index}`, true);\n });\n arrayHelpers.push(\"\");\n };\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={handleAddKeyword}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","selectedCount","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","value","testContext","parent","trimmedValue","duplicateIndices","nullSafe","filterBy","item","map","index","currentIndex","path","split","pop","isLastOccurrence","parseInt","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","handleAddKeyword","forEach","setFieldTouched","Label","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,wBAAwB,GAAG,gBAAgB;;ACIxD,IAAMC,eAAe,GAAA,EAAA,CAAAC,MAAA,CAAMF,wBAAwB,EAA4B,4BAAA,CAAA;AAE/E,IAAMG,IAAI,GAAG,SAAPA,IAAIA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAACL,eAAe,EAAE;AAAEG,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE7D,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAAA,OAC5CL,KAAK,CAACM,IAAI,CAAA,EAAA,CAAAT,MAAA,CAAID,eAAe,EAAgBS,cAAAA,CAAAA,EAAAA,OAAO,EAAE;AACpDN,IAAAA,MAAM,EAAE;AAAEQ,MAAAA,iCAAiC,EAAEH;AAAgB;AAC/D,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAML,eAAe,GAAAK,KAAA,CAAfL,eAAe;IAAEC,OAAO,GAAAI,KAAA,CAAPJ,OAAO;EAAA,OAC7CL,KAAK,CAACM,IAAI,CAAA,EAAA,CAAAT,MAAA,CAAID,eAAe,EAAiBS,eAAAA,CAAAA,EAAAA,OAAO,EAAE;AACrDN,IAAAA,MAAM,EAAE;AAAEQ,MAAAA,iCAAiC,EAAEH;AAAgB;AAC/D,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMM,cAAc,GAAG;AAAEZ,EAAAA,IAAI,EAAJA,IAAI;AAAEU,EAAAA,WAAW,EAAXA,WAAW;AAAEN,EAAAA,UAAU,EAAVA;AAAW,CAAC;;AClBjD,IAAMS,UAAU,GAAG;AACxBC,EAAAA,4BAA4B,EAAE,8BAA8B;AAC5DC,EAAAA,wCAAwC,EACtC;AACJ,CAAC;;;;;ACGD,IAAQA,0CAAwC,GAAKF,UAAU,CAAvDE,wCAAwC;AAEzC,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAX,IAAA,EAE7BY,OAAO,EAAA;AAAA,EAAA,IADLC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,SAAS,GAAAd,IAAA,CAATc,SAAS;AAAKC,IAAAA,WAAW,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA,CAAA;EAAA,OAGpCC,mBAAQ,CAAAC,eAAA,CAAA;IACNC,QAAQ,EAAE,CACRV,0CAAwC,EACxCI,SAAS,EACTD,OAAO,EACPE,WAAW,CACZ;IACDM,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQd,cAAc,CAACZ,IAAI,CAACoB,WAAW,CAAC;AAAA,KAAA;AAC/CO,IAAAA,SAAS,EAAEC;GACRX,EAAAA,OAAO,CACX,CAAC;AAAA,CAAA;AAEG,IAAMY,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAlB,KAAA,EAEnCM,OAAO,EAAA;AAAA,EAAA,IADLX,eAAe,GAAAK,KAAA,CAAfL,eAAe;IAAEY,OAAO,GAAAP,KAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,KAAA,CAATQ,SAAS;EAAA,OAGrCW,sCAA2B,CACzB,UAAAvB,OAAO,EAAA;IAAA,OAAIK,cAAc,CAACR,UAAU,CAAC;AAAEE,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,GAAA,EAAAiB,eAAA,CAAA;IAEhEO,gBAAgB,EAAE,CAChB,CAAChB,0CAAwC,EAAEI,SAAS,EAAED,OAAO,CAAC;GAE7DD,EAAAA,OAAO,CAEd,CAAC;AAAA,CAAA;AAEI,IAAMe,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,KAAA,EAEpChB,OAAO,EAAA;AAAA,EAAA,IADLX,eAAe,GAAA2B,KAAA,CAAf3B,eAAe;IAAEY,OAAO,GAAAe,KAAA,CAAPf,OAAO;IAAEC,SAAS,GAAAc,KAAA,CAATd,SAAS;EAAA,OAGrCW,sCAA2B,CACzB,UAAAvB,OAAO,EAAA;IAAA,OAAIK,cAAc,CAACF,WAAW,CAAC;AAAEJ,MAAAA,eAAe,EAAfA,eAAe;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,GAAA,EAAAiB,eAAA,CAAA;IAEjEO,gBAAgB,EAAE,CAChB,CAAChB,0CAAwC,EAAEI,SAAS,EAAED,OAAO,CAAC;GAE7DD,EAAAA,OAAO,CAEd,CAAC;AAAA,CAAA;;AC/CI,IAAMiB,eAAe,GAAG,EAAE;AAE1B,IAAMC,2BAA2B,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAG,CAAC;AAElD,IAAMC,gCAAgC,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjEJ,EAAAA,MAAM,EAAEE,cAAG,CACRG,KAAK,EAAE,CACPC,IAAI,CACH,sBAAsB,EACtBC,SAAC,CAAC,mDAAmD,CAAC,EACtD,UAAAP,MAAM,EAAA;IAAA,OAAIA,MAAM,CAACQ,KAAK,CAACC,UAAI,CAAC,OAAO,CAAC,CAAC;GACvC;AACJ,CAAC,CAAC;;ACHF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAzC,IAAA,EAAgD;AAAA,EAAA,IAA1CC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAEa,SAAS,GAAAd,IAAA,CAATc,SAAS;IAAED,OAAO,GAAAb,IAAA,CAAPa,OAAO;AACtD,EAAA,IAAA6B,eAAA,GAAcC,2BAAc,EAAE;IAAtBL,CAAC,GAAAI,eAAA,CAADJ,CAAC;AAET,EAAA,IAAMM,cAAc,GAAGC,YAAM,EAAE;EAE/B,IAAAC,qBAAA,GAA8BtB,wBAAwB,CAAC;AACrDvB,MAAAA,eAAe,EAAfA,eAAe;AACfa,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAJckC,SAAS,GAAAD,qBAAA,CAAjBE,MAAM;EAMd,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA3C,KAAA,EAAAsB,KAAA,EAAiD;AAAA,IAAA,IAA3CG,MAAM,GAAAzB,KAAA,CAANyB,MAAM;AAAA,IAAA,IAAMmB,aAAa,GAAAtB,KAAA,CAAbsB,aAAa;MAAEC,SAAS,GAAAvB,KAAA,CAATuB,SAAS;AAC7D,IAAA,IAAMjD,OAAO,GAAG;AAAE6B,MAAAA,MAAM,EAAEqB,WAAK,CAAC,OAAO,EAAErB,MAAM;KAAG;IAElDgB,SAAS,CAAC7C,OAAO,EAAE;AACjBmD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfH,aAAa,CAAC,KAAK,CAAC;AACpBC,QAAAA,SAAS,EAAE;OACZ;MACDG,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQJ,aAAa,CAAC,KAAK,CAAC;AAAA;AACrC,KAAC,CAAC;GACH;EAED,oBACEK,eAAA,CAACC,IAAI,EAAA;AACHC,IAAAA,SAAS,EAAC,4BAA4B;AACtCC,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAE7B,2BAA2B;AAC1C8B,MAAAA,QAAQ,EAAEX,eAAe;AACzBY,MAAAA,gBAAgB,EAAE7B;KAClB;AAAA8B,IAAAA,QAAA,gBAEFC,cAAA,CAAA,KAAA,EAAA;AAAKN,MAAAA,SAAS,EAAC,WAAW;MAAAK,QAAA,eACxBC,cAAA,CAACC,eAAe,EAAA;AACdC,QAAAA,QAAQ,EAAE3B,CAAC,CAAC,uCAAuC,CAAE;AACrD4B,QAAAA,KAAK,EAAE5B,CAAC,CAAC,kCAAkC,CAAE;AAC7C6B,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,WAAW,EAAE9B,CAAC,CAAC,0CAA0C,CAAE;AAC3D+B,QAAAA,GAAG,EAAEzB;OACN;AAAC,KACC,CAAC,eAGNmB,cAAA,CAACO,MAAM,EAAA;AACLb,MAAAA,SAAS,EAAC,6CAA6C;AACvDS,MAAAA,KAAK,EAAE5B,CAAC,CAAC,mCAAmC,CAAE;AAC9CiC,MAAAA,IAAI,EAAC;AAAQ,KACd,CAAC;AAAA,GACE,CAAC;AAEX,CAAC;;ACvDD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAxE,IAAA,EAAA;AAAA,EAAA,IAAMyE,QAAQ,GAAAzE,IAAA,CAARyE,QAAQ;AAAA,EAAA,OAAO,CAC1C;AACEC,IAAAA,KAAK,EAAEpC,SAAC,CAAC,kCAAkC,CAAC;AAC5CqC,IAAAA,SAAS,EAAE,OAAO;AAClBC,IAAAA,GAAG,EAAE,OAAO;AACZC,IAAAA,KAAK,EAAE,EAAE;AACTC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGC,KAAK,EAAEC,UAAU,EAAA;AAAA,MAAA,oBACxBzB,eAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,2CAA2C;QAAAK,QAAA,EAAA,cACxDC,cAAA,CAACkB,OAAO,EAAA;AAACC,UAAAA,OAAO,EAAEH,KAAM;AAACI,UAAAA,QAAQ,EAAEJ,KAAK,CAACK,MAAM,GAAGvD,eAAgB;UAAAiC,QAAA,eAChEC,cAAA,CAACsB,UAAU,EAAA;AAACC,YAAAA,KAAK,EAAC,OAAO;AAAAxB,YAAAA,QAAA,EACtByB,kBAAQ,CAACR,KAAK,EAAElD,eAAe;WACtB;AAAC,SACN,CAAC,eACVkC,cAAA,CAACyB,YAAY,EAAA;AACXC,UAAAA,aAAa,EAAE;AAAEC,YAAAA,QAAQ,EAAE,OAAO;YAAEC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;cAAA,OAAQC,QAAQ,CAACC,IAAI;AAAA;WAAG;AACpEC,UAAAA,SAAS,EAAE,CACT;AACElB,YAAAA,GAAG,EAAE,QAAQ;AACbV,YAAAA,KAAK,EAAE5B,SAAC,CAAC,kCAAkC,CAAC;YAC5CyD,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQtB,QAAQ,CAACO,UAAU,CAAC;AAAA;WACpC;AACD,SACH,CAAC;AAAA,OACC,CAAC;AAAA;AAEV,GAAC,EACD;AACEN,IAAAA,KAAK,EAAEpC,SAAC,CAAC,kCAAkC,CAAC;AAC5CqC,IAAAA,SAAS,EAAE,QAAQ;AACnBC,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,KAAK,EAAE,EAAE;AACTC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEkB,MAAM,EAAA;MAAA,OAAIC,kBAAQ,CAACD,MAAM,CAAC;AAAA;AACpC,GAAC,CACF;AAAA,CAAA;AAED,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAItB,GAAG,EAAEuB,CAAC,EAAEC,CAAC,EAAK;EAChC,IAAMC,KAAK,GAAGC,oBAAc,CAACC,aAAO,CAAC/D,UAAI,CAACoC,GAAG,CAAC,EAAEuB,CAAC,CAAC,EAAEI,aAAO,CAAC/D,UAAI,CAACoC,GAAG,CAAC,EAAEwB,CAAC,CAAC,CAAC;EAE1E,OAAOI,YAAM,CAACH,KAAK,CAAC;AACtB,CAAC;AAEM,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAnG,KAAA,EAAA;AAAA,EAAA,IAAMmE,QAAQ,GAAAnE,KAAA,CAARmE,QAAQ;IAAAiC,qBAAA,GAAApG,KAAA,CAAEqG,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAAA,EAAA,OAChER,UAAU,CAAC,KAAK,EAAE1B,iBAAiB,CAAC;AAAEC,IAAAA,QAAQ,EAARA;GAAU,CAAC,EAAEkC,gBAAgB,CAAC;AAAA,CAAA;;;;ACvBtE,IAAMC,aAAW,GAAG,SAAdA,WAAWA,CAAA5G,IAAA,EAUX;AAAA,EAAA,IAAA6G,gBAAA;AAAA,EAAA,IAAAC,qBAAA,GAAA9G,IAAA,CATJ2G,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAG,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrB7G,eAAe,GAAAD,IAAA,CAAfC,eAAe;IAAA8G,cAAA,GAAA/G,IAAA,CACfc,SAAS;AAATA,IAAAA,SAAS,GAAAiG,cAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,cAAA;IAAAC,YAAA,GAAAhH,IAAA,CAChBa,OAAO;AAAPA,IAAAA,OAAO,GAAAmG,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;IACdC,MAAM,GAAAjH,IAAA,CAANiH,MAAM;IACNC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IAAAC,qBAAA,GAAAnH,IAAA,CACPoH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAArH,IAAA,CACzBsH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAvH,IAAA,CACtBwH,2BAA2B;AAA3BA,IAAAA,2BAA2B,GAAAD,qBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,qBAAA;AAElC,EAAA,IAAAG,SAAA,GAA4CC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAI,UAAA,GAA8CL,cAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAG,UAAA,GAAwBT,cAAQ,CAACU,4BAAkB,CAAC;IAAAC,UAAA,GAAAT,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAA7CG,IAAAA,IAAI,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,IAAA5F,eAAA,GAAcC,2BAAc,EAAE;IAAtBL,CAAC,GAAAI,eAAA,CAADJ,CAAC;EAET,IAAAmG,mBAAA,GAII9H,kBAAkB,CACpB;AACEP,MAAAA,iCAAiC,EAAEH,eAAe;AAClDa,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,OAAO,EAAPA,OAAO;AACP0H,MAAAA,IAAI,EAAJA,IAAI;AACJG,MAAAA,QAAQ,EAAEC;AACZ,KAAC,EACD;AAAEC,MAAAA,OAAO,EAAE3B;AAAO,KACpB,CAAC;IAAA4B,qBAAA,GAAAJ,mBAAA,CAZCK,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAyC,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAAvCE,WAAW;AAAXA,IAAAA,WAAW,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA,CAAEI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,sBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,sBAAA;IACxCE,UAAU,GAAAX,mBAAA,CAAVW,UAAU;IACVC,SAAS,GAAAZ,mBAAA,CAATY,SAAS;EAYX,IAAAC,qBAAA,GAAkD3H,yBAAyB,CAAC;AAC1E1B,MAAAA,eAAe,EAAfA,eAAe;AACfa,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAJc0I,kBAAkB,GAAAD,qBAAA,CAA1BtG,MAAM;IAAsBwG,SAAS,GAAAF,qBAAA,CAATE,SAAS;AAM7C,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1BvC,IAAAA,OAAO,EAAE;IACTa,iBAAiB,CAAC,EAAE,CAAC;GACtB;AAED,EAAA,IAAM2B,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrC,IAAA,IAAMxJ,OAAO,GAAG;AAAE6B,MAAAA,MAAM,EAAEqB,WAAK,CAAC,OAAO,EAAE0E,cAAc;KAAG;IAE1DyB,kBAAkB,CAACrJ,OAAO,EAAE;AAC1BmD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACf0E,iBAAiB,CAAC,EAAE,CAAC;QACrBI,kBAAkB,CAAC,KAAK,CAAC;AACzBX,QAAAA,2BAA2B,EAAE;AAC/B;AACF,KAAC,CAAC;GACH;AAED,EAAA,IAAMmC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG3E,UAAU,EAAI;AACvC+C,IAAAA,iBAAiB,CAAC,CAAC/C,UAAU,CAAC,CAAC;IAC/BmD,kBAAkB,CAAC,IAAI,CAAC;GACzB;EAED,oBACE5E,eAAA,CAAAqG,mBAAA,EAAA;IAAA9F,QAAA,EAAA,cACEP,eAAA,CAACsG,IAAI,EAAA;AAAO5C,MAAAA,MAAM,EAANA,MAAM;AAAI6C,MAAAA,IAAI,EAAC,OAAO;AAAC5C,MAAAA,OAAO,EAAEuC,aAAc;AAAA3F,MAAAA,QAAA,EACxDC,cAAAA,cAAA,CAAC8F,IAAI,CAACE,MAAM,EAAA;QAAAjG,QAAA,eACVC,cAAA,CAACsB,UAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,IAAI;AAAC0E,UAAAA,MAAM,EAAC,UAAU;UAAAlG,QAAA,EACrCxB,CAAC,CAAC,uCAAuC;SAChC;AAAC,OACF,CAAC,eACdiB,eAAA,CAACsG,IAAI,CAACI,IAAI,EAAA;AAACxG,QAAAA,SAAS,EAAC,gBAAgB;AAAAK,QAAAA,QAAA,GAClCoG,oBAAU,CAAC5C,iBAAiB,CAAC,iBAC5BvD,cAAA,CAAA,KAAA,EAAA;AAAKN,UAAAA,SAAS,EAAC,yBAAyB;UAAAK,QAAA,eACtCC,cAAA,CAACO,QAAM,EAAAnD,eAAA,CAAA,EAAA,EAAKmG,iBAAiB,CAAG;AAAC,SAC9B,CACN,EACA,CAACF,iBAAiB,iBACjBrD,cAAA,CAACtB,SAAS,EAAA;AAAOxC,UAAAA,eAAe,EAAfA,eAAe;AAAEY,UAAAA,OAAO,EAAPA,OAAO;AAAEC,UAAAA,SAAS,EAATA;SAAc,CAC1D,EACAoJ,oBAAU,CAACjB,WAAW,CAAC,gBACtB1F,eAAA,CAAAqG,mBAAA,EAAA;UAAA9F,QAAA,EAAA,cACEC,cAAA,CAACoG,SAAS,EAAA;YACRC,eAAe,EACbC,aAAO,CAACvC,cAAc,CAAC,gBACrB/D,cAAA,CAACsB,UAAU,EAAA;AAAC5B,cAAAA,SAAS,EAAC,SAAS;AAAC6G,cAAAA,SAAS,EAAC,IAAI;AAAChF,cAAAA,KAAK,EAAC,IAAI;AAAAxB,cAAAA,QAAA,EACtDxB,CAAC,CAAC,2CAA2C,EAAE;AAC9CiI,gBAAAA,KAAK,EAAEpB;eACR;aACS,CAAC,gBAEb5F,eAAA,CAAA,KAAA,EAAA;AAAKE,cAAAA,SAAS,EAAC,2BAA2B;cAAAK,QAAA,EAAA,cACxCC,cAAA,CAACsB,UAAU,EAAA;AAACC,gBAAAA,KAAK,EAAC,IAAI;AAAAxB,gBAAAA,QAAA,EACnBxB,CAAC,CACA,mDAAmD,EACnD;kBACEkI,aAAa,EAAE1C,cAAc,CAAC1C,MAAM;AACpCmF,kBAAAA,KAAK,EAAEpB;iBAEX;AAAC,eACS,CAAC,eACbpF,cAAA,CAACO,QAAM,EAAA;AACLmG,gBAAAA,IAAI,EAAEC,MAAO;AACbpF,gBAAAA,KAAK,EAAC,WAAW;AACjBqF,gBAAAA,YAAY,EAAE;kBACZzF,OAAO,EAAE5C,CAAC,CAAC,kCAAkC;iBAC7C;gBACFyD,OAAO,EAAE,SAATA,OAAOA,GAAA;kBAAA,OAAQoC,kBAAkB,CAAC,IAAI,CAAC;AAAA;AAAC,eACzC,CAAC;aACC;AAER,WACF,CAAC,eACFpE,cAAA,CAAC6G,YAAY,EAAA;YAACC,aAAa,EAAE1B,UAAU,GAAGR,2BAAkB;YAAA7E,QAAA,eAC1DC,cAAA,CAAC+G,KAAK,EAAA;AACE3B,cAAAA,UAAU,EAAVA,UAAU;cAChB4B,WAAW,EAAA,IAAA;cACXC,YAAY,EAAA,IAAA;AACZC,cAAAA,iBAAiB,EAAE1C,IAAK;AACxB2C,cAAAA,gBAAgB,EAAE1C,OAAQ;AAC1B2C,cAAAA,OAAO,EAAE/B,UAAW;AACpBgC,cAAAA,OAAO,EAAEnC,WAAY;AACrBoC,cAAAA,eAAe,EAAEjI,WAAK,CAAC,IAAI,EAAE0E,cAAc,CAAE;cAC7CwD,UAAU,EAAE7E,gBAAgB,CAAC;AAC3BhC,gBAAAA,QAAQ,EAAEkF,kBAAkB;AAC5BhD,gBAAAA,gBAAgB,EAAhBA;AACF,eAAC,CAAE;AACH4E,cAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAGC,CAAC,EAAEC,YAAY,EAAA;gBAAA,OAC3B1D,iBAAiB,CAAC0D,YAAY,CAAC;AAAA;aAElC;AAAC,WACU,CAAC;SACf,CAAC,gBAEHlI,eAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,mCAAmC;AAAAK,UAAAA,QAAA,GAC/C,CAACuF,SAAS,iBACTtF,cAAA,CAAC2H,MAAM,EAAA;YAAChH,KAAK,EAAEpC,CAAC,CAAC,yCAAyC;AAAE,WAAE,CAC/D,EACA+G,SAAS,iBACRtF,cAAA,CAAA,KAAA,EAAA;AAAKN,YAAAA,SAAS,EAAC,gDAAgD;AAAAK,YAAAA,QAAA,eAC7DC,cAAA,CAAC4H,OAAO,EAAE,EAAA;AAAC,WACR,CACN;AAAA,SACE,CACN;AAAA,OACQ,CAAC;AAAA,KACR,CAAC,eACP5H,cAAA,CAAC6H,KAAK,EAAA;AACJ3E,MAAAA,MAAM,EAAEiB,eAAgB;AACxB2D,MAAAA,YAAY,EAAErC,SAAU;AACxBsC,MAAAA,iBAAiB,EAAExJ,CAAC,CAAC,kCAAkC,CAAE;MACzDyJ,OAAO,eACLhI,cAAA,CAACiI,kBAAK,EAAA;AACJC,QAAAA,UAAU,EAAE,CAAC;UAAEC,MAAM,eAAEnI,cAAA,CAAS,QAAA,EAAA,EAAA;AAAE,SAAC,CAAE;AACrCoI,QAAAA,OAAO,EAAC,mDAAmD;AAC3D3F,QAAAA,MAAM,EAAE;UACN+D,KAAK,EAAEzC,cAAc,CAAC1C,MAAM;UAC5BL,KAAK,EAAA,CAAA8B,gBAAA,GAAEiB,cAAc,CAAC,CAAC,CAAC,MAAAjB,IAAAA,IAAAA,gBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAmB9B;AAC5B;AAAE,OACH,CACF;AACDL,MAAAA,KAAK,EAAEpC,CAAC,CAAC,iDAAiD,EAAE;QAC1DiI,KAAK,EAAEzC,cAAc,CAAC1C;AACxB,OAAC,CAAE;MACH8B,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQiB,kBAAkB,CAAC,KAAK,CAAC;OAAC;AACzCvE,MAAAA,QAAQ,EAAE8F;AAAyB,KACpC,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;AC7LD,IAAM0C,iBAAiB,GAAA,EAAA,CAAA1M,MAAA,CAAMF,wBAAwB,EAAgB,gBAAA,CAAA;AAErE,IAAM6M,IAAI,GAAG,SAAPA,IAAIA,CAAGzM,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAACsM,iBAAiB,EAAE;AAAExM,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE/D,IAAM0M,MAAM,GAAG,SAATA,MAAMA,CAAAtM,IAAA,EAAA;AAAA,EAAA,IAAMa,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,SAAS,GAAAd,IAAA,CAATc,SAAS;IAAEZ,OAAO,GAAAF,IAAA,CAAPE,OAAO;AAAA,EAAA,OAC3CL,KAAK,CAAC0M,GAAG,CACPH,iBAAiB,EACjB;AAAEI,IAAAA,aAAa,EAAEtM;AAAQ,GAAC,EAC1B;AAAEN,IAAAA,MAAM,EAAE;AAAEiB,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA;AAAU;AAAE,GACnC,CAAC;AAAA,CAAA;AAEH,IAAM2L,iBAAiB,GAAG;AAAEJ,EAAAA,IAAI,EAAJA,IAAI;AAAEC,EAAAA,MAAM,EAANA;AAAO,CAAC;;;;ACP1C,IACE7L,4BAA4B,GAE1BD,UAAU,CAFZC,4BAA4B;EAC5BC,wCAAwC,GACtCF,UAAU,CADZE,wCAAwC;IAG7BgM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA1M,IAAA,EAAA;AAAA,EAAA,IAAMa,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,SAAS,GAAAd,IAAA,CAATc,SAAS;AAAA,EAAA,OACvDI,mBAAQ,CAAC;AACPE,IAAAA,QAAQ,EAAE,CAACX,4BAA4B,EAAEK,SAAS,EAAED,OAAO,CAAC;IAC5DQ,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQoL,iBAAiB,CAACJ,IAAI,CAAC;AAAEvL,QAAAA,SAAS,EAATA,SAAS;AAAED,QAAAA,OAAO,EAAPA;AAAQ,OAAC,CAAC;AAAA,KAAA;AAC7D8L,IAAAA,MAAM,EAAEnK,UAAI,CAAC,eAAe,CAAC;AAC7BlB,IAAAA,SAAS,EAAEC;AACb,GAAC,CAAC;AAAA;AAEG,IAAMqL,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAtM,KAAA,EAA4BM,OAAO,EAAA;AAAA,EAAA,IAA7BC,OAAO,GAAAP,KAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,KAAA,CAATQ,SAAS;EAAA,OACzDW,sCAA2B,CACzB,UAAAvB,OAAO,EAAA;IAAA,OAAIuM,iBAAiB,CAACH,MAAM,CAAC;AAAEzL,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA,SAAS;AAAEZ,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,GAAA,EAAAiB,eAAA,CAAA;AAElEO,IAAAA,gBAAgB,EAAE,CAChB,CAACjB,4BAA4B,EAAEK,SAAS,EAAED,OAAO,CAAC,EAClD,CAACH,wCAAwC,EAAEI,SAAS,EAAED,OAAO,CAAC;GAE7DD,EAAAA,OAAO,CAEd,CAAC;AAAA,CAAA;;AC1BI,IAAMiM,IAAI,GAAG;AAClBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE;AACX,CAAC;AAEM,IAAMC,+BAA+B,GAAGlL,cAAG,CAACC,MAAM,CAAC;AACxDkL,EAAAA,IAAI,EAAEnL,cAAG,CACNoL,MAAM,EAAE,CACRC,QAAQ,CAAChL,SAAC,CAAC,mDAAmD,CAAC,CAAC;AACnEiL,EAAAA,QAAQ,EAAEtL,cAAG,CACVoL,MAAM,EAAE,CACRG,QAAQ,EAAE,CACVC,IAAI,CAAC,MAAM,EAAE;AACZC,IAAAA,EAAE,EAAEC,YAAM,CAACd,IAAI,CAACG,KAAK,CAAC;AACtBY,IAAAA,IAAI,EAAE3L,cAAG,CACNoL,MAAM,EAAE,CACRG,QAAQ,EAAE,CACVK,IAAI,EAAE,CACNC,GAAG,CAAC,CAAC,EAAExL,SAAC,CAAC,wDAAwD,CAAC,CAAC,CACnEgL,QAAQ,CAAChL,SAAC,CAAC,uDAAuD,CAAC;AACxE,GAAC,CAAC;EACJyL,eAAe,EAAE9L,cAAG,CAACG,KAAK,EAAE,CAACqL,IAAI,CAAC,MAAM,EAAE;AACxCC,IAAAA,EAAE,EAAEC,YAAM,CAACd,IAAI,CAACE,KAAK,CAAC;AACtBa,IAAAA,IAAI,EAAE3L,cAAG,CAACG,KAAK,EAAE,CAAC4L,EAAE,CAClB/L,cAAG,CACAoL,MAAM,EAAE,CACRC,QAAQ,CAAChL,SAAC,CAAC,sDAAsD,CAAC,CAAC,CACnE2L,GAAG,CACF,GAAG,EACH3L,SAAC,CAAC,gDAAgD,EAAE;AAAE8C,MAAAA,MAAM,EAAE;AAAI,KAAC,CACrE,CAAC,CACA8I,OAAO,CACN,oBAAoB,EACpB5L,SAAC,CAAC,wDAAwD,CAC5D,CAAC,CACAuL,IAAI,EAAE,CACNxL,IAAI,CACH,gBAAgB,EAChBC,SAAC,CAAC,wDAAwD,CAAC,EAC3D,UAAC6L,KAAK,EAAEC,WAAW,EAAK;MACtB,IAAI,CAACD,KAAK,IAAI,CAACC,WAAW,CAACC,MAAM,EAAE,OAAO,IAAI;MAE9C,IAAMC,YAAY,GAAGH,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAEN,IAAI,EAAE;AAClC,MAAA,IAAI,CAACS,YAAY,EAAE,OAAO,IAAI;MAE9B,IAAMC,gBAAgB,GAAGC,kBAAQ,CAACpL,WAAK,CAAC,CACtC,OAAO,EACPqL,kBAAQ,CACN;AAAEC,QAAAA,IAAI,EAAEJ;OAAc,EACtBF,WAAW,CAACC,MAAM,CAACM,GAAG,CAAC,UAACD,IAAI,EAAEE,KAAK,EAAA;QAAA,OAAM;UACvCF,IAAI,EAAEA,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEb,IAAI,EAAE;AAClBe,UAAAA,KAAK,EAALA;SACD;OAAC,CACJ,CACF,CAAC;MAED,IAAMC,YAAY,GAAGT,WAAW,CAACU,IAAI,CAClCC,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,EAAE,CACLD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAA,IAAME,gBAAgB,GACpBV,gBAAgB,CAACA,gBAAgB,CAACnJ,MAAM,GAAG,CAAC,CAAC,KAC7C8J,QAAQ,CAACL,YAAY,CAAC;AAExB,MAAA,OAAO,CAACI,gBAAgB,IAAIV,gBAAgB,CAACnJ,MAAM,KAAK,CAAC;AAC3D,KACF,CACJ;GACD;AACH,CAAC,CAAC;AAEK,IAAM+J,4BAA4B,GAAG;EAC1C/B,IAAI,EAAEP,IAAI,CAACC,EAAE;AACbS,EAAAA,QAAQ,EAAE,EAAE;EACZQ,eAAe,EAAE,CAAC,EAAE;AACtB,CAAC;;;;AC9EM,IAAMqB,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAG5C,aAAa,EAAI;AAC9D,EAAA,IAAIA,aAAa,CAACY,IAAI,KAAKP,IAAI,CAACC,EAAE,EAAE;AAClC,IAAA,OAAOqC,4BAA4B;AACrC;AAEA,EAAA,IAAI9E,aAAO,CAACmC,aAAa,CAACuB,eAAe,CAAC,EAAE;AAC1CvB,IAAAA,aAAa,CAACuB,eAAe,CAACsB,IAAI,CAAC,EAAE,CAAC;AACxC;AAEA,EAAA,OAAO7C,aAAa;AACtB,CAAC;AAEM,IAAM8C,aAAa,GAAG,SAAhBA,aAAaA,CAAAtP,IAAA,EAAiD;AAAA,EAAA,IAA3CuP,YAAY,GAAAvP,IAAA,CAAZuP,YAAY;IAAEX,KAAK,GAAA5O,IAAA,CAAL4O,KAAK;IAAEb,eAAe,GAAA/N,IAAA,CAAf+N,eAAe;AAClE,EAAA,IAAIA,eAAe,CAAC3I,MAAM,KAAK,CAAC,EAAE;AAChCmK,IAAAA,YAAY,CAACC,MAAM,CAACZ,KAAK,CAAC;AAC1BW,IAAAA,YAAY,CAACF,IAAI,CAAC,EAAE,CAAC;AAErB,IAAA;AACF;AACAE,EAAAA,YAAY,CAACC,MAAM,CAACZ,KAAK,CAAC;AAC5B,CAAC;AAEM,IAAMa,YAAY,GAAG,SAAfA,YAAYA,CAAGjJ,MAAM,EAAI;EACpC,IAAMtG,OAAO,GAAGwP,UAAI,CAAC,CAAC,MAAM,CAAC,EAAElJ,MAAM,CAAC;AAEtC,EAAA,IAAIA,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACG,KAAK,EAAE;AAC9B9M,IAAAA,OAAO,CAAC,UAAU,CAAC,GAAGsG,MAAM,CAAC+G,QAAQ;AAErC,IAAA,OAAOrN,OAAO;AAChB;AAEA,EAAA,IAAIsG,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACE,KAAK,EAAE;IAC9B,IAAM4C,mBAAmB,GAAGC,YAAM,CAACC,UAAI,CAAChC,UAAI,EAAExD,aAAO,CAAC,CAAC;IACvDnK,OAAO,CAAC,iBAAiB,CAAC,GAAGyP,mBAAmB,CAACnJ,MAAM,CAACuH,eAAe,CAAC;AAExE,IAAA,OAAO7N,OAAO;AAChB;AAEA,EAAA,OAAOA,OAAO;AAChB,CAAC;AAEM,IAAM4P,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAxP,KAAA,EAAA;AAAA,EAAA,IAAMyP,aAAa,GAAAzP,KAAA,CAAbyP,aAAa;EAAA,oBAC3DhM,cAAA,CAACiI,kBAAK,EAAA;AACJG,IAAAA,OAAO,EAAC,+CAA+C;AACvDF,IAAAA,UAAU,EAAE;MACV+D,MAAM,eACJjM,cAAA,CAACO,QAAM,EAAA;AACLb,QAAAA,SAAS,EAAC,MAAM;AAChBqG,QAAAA,IAAI,EAAC,OAAO;AACZxE,QAAAA,KAAK,EAAC,MAAM;AACZS,QAAAA,OAAO,EAAEgK;OACV;AAEL;AAAE,GACH,CAAC;AAAA,CACH;AAEM,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAArO,KAAA,EAAA;AAAA,EAAA,IAAMsO,kBAAkB,GAAAtO,KAAA,CAAlBsO,kBAAkB;IAAEC,UAAU,GAAAvO,KAAA,CAAVuO,UAAU;AAAA,EAAA,OAAO,CACpE;AACEjM,IAAAA,KAAK,eACHH,cAAA,CAACiI,kBAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAA4B,KAAA,EAChCgE,UAAU,CAACtD,IAAI,CAACC,EAAE,CAAC,CACxB,CACF;IACDqB,KAAK,EAAEtB,IAAI,CAACC,EAAE;AACd,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACE5I,IAAAA,KAAK,eACHH,cAAA,CAACiI,kBAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAA+B,KAAA,EACnCgE,UAAU,CAACtD,IAAI,CAACG,KAAK,CAAC,CAC3B,CACF;IACDmB,KAAK,EAAEtB,IAAI,CAACG,KAAK;AACjB,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACE9I,IAAAA,KAAK,eACHH,cAAA,CAACiI,kBAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAAiC,KAAA,EACrCgE,UAAU,CAACtD,IAAI,CAACK,OAAO,CAAC,CAC7B,CACF;IACDiB,KAAK,EAAEtB,IAAI,CAACK,OAAO;AACnB,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACEhJ,IAAAA,KAAK,eACHH,cAAA,CAACiI,kBAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAA+B,KAAA,EACnCgE,UAAU,CAACtD,IAAI,CAACE,KAAK,CAAC,CAC3B,CACF;IACDoB,KAAK,EAAEtB,IAAI,CAACE,KAAK;AACjB,IAAA,SAAS,EAAE;AACb,GAAC,EACD;AACE7I,IAAAA,KAAK,eACHH,cAAA,CAACiI,kBAAK,EAAA7K,eAAA,CAAA;AACJiP,MAAAA,OAAO,EAAEF,kBAAmB;AAC5B/D,MAAAA,OAAO,EAAC;AAAiC,KAAA,EACrCgE,UAAU,CAACtD,IAAI,CAACI,OAAO,CAAC,CAC7B,CACF;IACDkB,KAAK,EAAEtB,IAAI,CAACI,OAAO;AACnB,IAAA,SAAS,EAAE;AACb,GAAC,CACF;AAAA,CAAA;;AC9GD,IAAMoD,eAAe,GAAGC,gBAAK,CAAC,UAAAtQ,IAAA,EAAA;AAAA,EAAA,IAAGsC,CAAC,GAAAtC,IAAA,CAADsC,CAAC;IAAE6B,IAAI,GAAAnE,IAAA,CAAJmE,IAAI;IAAAoM,UAAA,GAAAvQ,IAAA,CAAEkE,KAAK;AAALA,IAAAA,KAAK,GAAAqM,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;EAAA,oBAClDxM,cAAA,CAACyM,iBAAU,EAAA;AAAOrM,IAAAA,IAAI,EAAJA,IAAI;AAAAL,IAAAA,QAAA,EACnB,SAAAA,QAAAyL,CAAAA,YAAY,EAAI;MACf,IAAMxB,eAAe,GAAGwB,YAAY,CAACkB,IAAI,CAACjK,MAAM,CAACrC,IAAI,CAAC;AACtD,MAAA,IAAMuM,gBAAgB,GACpB3C,eAAe,CAAC3I,MAAM,GAAG,CAAC,IAAI8E,oBAAU,CAAC6D,eAAe,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAA,IAAM4C,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B5C,QAAAA,eAAe,CAAC6C,OAAO,CAAC,UAACpF,CAAC,EAAEoD,KAAK,EAAK;AACpCW,UAAAA,YAAY,CAACkB,IAAI,CAACI,eAAe,IAAAnR,MAAA,CAAIyE,IAAI,EAAA,GAAA,CAAA,CAAAzE,MAAA,CAAIkP,KAAK,CAAA,EAAI,IAAI,CAAC;AAC7D,SAAC,CAAC;AACFW,QAAAA,YAAY,CAACF,IAAI,CAAC,EAAE,CAAC;OACtB;AAED,MAAA,oBACE9L,eAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,gBAAgB;QAAAK,QAAA,EAAA,cAC7BC,cAAA,CAAC+M,KAAK,EAAA;AAACrN,UAAAA,SAAS,EAAC,cAAc;AAAAK,UAAAA,QAAA,EAAEI;SAAa,CAAC,eAC/CX,eAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,wDAAwD;UAAAK,QAAA,EAAA,CACpEiK,eAAe,CAACY,GAAG,CAAC,UAACnD,CAAC,EAAEoD,KAAK,EAAA;YAAA,oBAC5B7K,cAAA,CAACgN,KAAK,EAAA;AACJtN,cAAAA,SAAS,EAAC,QAAQ;cAElBU,IAAI,EAAA,EAAA,CAAAzE,MAAA,CAAKyE,IAAI,OAAAzE,MAAA,CAAIkP,KAAK,CAAG;AACzBxK,cAAAA,WAAW,EAAE9B,CAAC,CACZ,qDACF,CAAE;AACF0O,cAAAA,MAAM,EACJN,gBAAgB,iBACd3M,cAAA,CAACO,QAAM,EAAA;AACL,gBAAA,SAAA,EAAQ,+BAA+B;AACvCmG,gBAAAA,IAAI,EAAEC,MAAO;AACbZ,gBAAAA,IAAI,EAAC,OAAO;AACZxE,gBAAAA,KAAK,EAAC,MAAM;gBACZS,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,kBAAA,OACLuJ,aAAa,CAAC;AACZV,oBAAAA,KAAK,EAALA,KAAK;AACLb,oBAAAA,eAAe,EAAfA,eAAe;AACfwB,oBAAAA,YAAY,EAAZA;AACF,mBAAC,CAAC;AAAA;eAEL;AAEJ,aAAA,EArBIX,KAsBN,CAAC;AAAA,WACH,CAAC,eACF7K,cAAA,CAACO,QAAM,EAAA;AACLb,YAAAA,SAAS,EAAC,MAAM;AAChB,YAAA,SAAA,EAAQ,4BAA4B;AACpCS,YAAAA,KAAK,EAAE5B,CAAC,CAAC,uCAAuC,CAAE;AAClDgD,YAAAA,KAAK,EAAC,MAAM;AACZS,YAAAA,OAAO,EAAE4K;AAAiB,WAC3B,CAAC;AAAA,SACC,CAAC;AAAA,OACH,CAAC;AAEV;AAAC,GACS,CAAC;AAAA,CACd,CAAC;;;;AChEF,IAAM5G,MAAM,GAAG,SAATA,MAAMA,CAAA/J,IAAA,EAAwB;AAAA,EAAA,IAAlBiR,WAAW,GAAAjR,IAAA,CAAXiR,WAAW;AAC3B,EAAA,IAAQvM,KAAK,GAA4BuM,WAAW,CAA5CvM,KAAK;IAAEwM,QAAQ,GAAkBD,WAAW,CAArCC,QAAQ;IAAEC,WAAW,GAAKF,WAAW,CAA3BE,WAAW;AAEpC,EAAA,oBACEpN,cAAA,CAACqN,WAAW,EAAAjQ,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACD8P,WAAW,CAAA,EAAA,EAAA,EAAA;AAAEvM,IAAAA,KAAK,EAALA;AAAK,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAC3B2M,IAAAA,qBAAqB,EAAE;AACrBF,MAAAA,WAAW,EAAXA,WAAW;AACXzM,MAAAA,KAAK,EAALA,KAAK;AACL4M,MAAAA,aAAa,EAAE;AAAEC,QAAAA,IAAI,EAAEL;AAAS;AAClC;AAAE,GAAA,CACH,CAAC;AAEN,CAAC;;;;ACkBD,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAAxR,IAAA,EAmBb;AAAA,EAAA,IAlBJa,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,SAAS,GAAAd,IAAA,CAATc,SAAS;IACT2Q,OAAO,GAAAzR,IAAA,CAAPyR,OAAO;IACPpO,UAAS,GAAArD,IAAA,CAATqD,SAAS;IACT4N,WAAW,GAAAjR,IAAA,CAAXiR,WAAW;IACXxN,SAAS,GAAAzD,IAAA,CAATyD,SAAS;IAAAiO,iBAAA,GAAA1R,IAAA,CACT2R,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAGjK,KAAAA,CAAAA,GAAAA,cAAI,GAAAiK,iBAAA;IAAAE,qBAAA,GAAA5R,IAAA,CACnB6R,kCAAkC;AAAlCA,IAAAA,kCAAkC,GAAAD,qBAAA,KAAGnK,KAAAA,CAAAA,GAAAA,cAAI,GAAAmK,qBAAA;IAAAE,qBAAA,GAAA9R,IAAA,CACzC+R,gCAAgC;AAAhCA,IAAAA,gCAAgC,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAhS,IAAA,CACrCiS,+BAA+B;AAA/BA,IAAAA,+BAA+B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAlS,IAAA,CACvCmS,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAA3K,qBAAA,GAAAvH,IAAA,CAChCwH,2BAA2B;AAA3BA,IAAAA,2BAA2B,GAAAD,qBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,qBAAA;IAAAF,qBAAA,GAAArH,IAAA,CAClCsH,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAA+K,qBAAA,GAAApS,IAAA,CACtBqS,6BAA6B;AAA7BA,IAAAA,6BAA6B,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAClCtO,QAAQ,GAAA9D,IAAA,CAAR8D,QAAQ;IACRwO,aAAa,GAAAtS,IAAA,CAAbsS,aAAa;IACbpC,kBAAkB,GAAAlQ,IAAA,CAAlBkQ,kBAAkB;IAAAqC,eAAA,GAAAvS,IAAA,CAClBmQ,UAAU;AAAVA,IAAAA,UAAU,GAAAoC,eAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,eAAA;AAEf,EAAA,IAAA7K,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9D8K,IAAAA,mBAAmB,GAAA5K,UAAA,CAAA,CAAA,CAAA;AAAE6K,IAAAA,sBAAsB,GAAA7K,UAAA,CAAA,CAAA,CAAA;AAElD,EAAA,IAAM8K,aAAa,GAAGJ,aAAa,IAAIK,cAAQ;AAE/C,EAAA,IAAAjQ,eAAA,GAAcC,2BAAc,EAAE;IAAtBL,CAAC,GAAAI,eAAA,CAADJ,CAAC;EAET,IAAAsQ,qBAAA,GAIIlG,oBAAoB,CAAC;AAAE7L,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;IAAA+R,sBAAA,GAAAD,qBAAA,CAH9C9J,IAAI;AAAE0D,IAAAA,aAAa,GAAAqG,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IACxBxJ,SAAS,GAAAuJ,qBAAA,CAATvJ,SAAS;IACTD,UAAU,GAAAwJ,qBAAA,CAAVxJ,UAAU;EAGZ,IAAM0J,0BAA0B,GAAGC,eAAS,CAC1C3D,+BAA+B,CAAC5C,aAAa,CAAC,EAC9C6F,6BACF,CAAC;EAED,IAAAW,qBAAA,GAAwCpG,sBAAsB,CAC5D;AAAE/L,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,SAAS,EAATA;AAAU,KAAC,EACtB;AACEuC,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEmD,MAAM,EAAI;AACnB,QAAA,IAAAyM,qBAAA,GAAyCzM,MAAM,CAAvCgG,aAAa;AAAA0G,UAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAa,EAAE,GAAAA,qBAAA;UAAX7F,IAAI,GAAA8F,sBAAA,CAAJ9F,IAAI;AAC7B,QAAA,IAAIA,IAAI,KAAKP,IAAI,CAACK,OAAO,EAAE;AACzBiG,UAAAA,qBAAqB,EAAE;AACzB;QACA9P,UAAS,CAACmD,MAAM,CAAC;AACnB;AACF,KACF,CAAC;IAXe4M,mBAAmB,GAAAJ,qBAAA,CAA3BhQ,MAAM;EAad,IAAMqQ,YAAY,GAAG,SAAfA,YAAYA,CAAI7M,MAAM,EAAAlG,KAAA,EAAwB;AAAA,IAAA,IAApB4C,aAAa,GAAA5C,KAAA,CAAb4C,aAAa;AAC3C,IAAA,IAAMhD,OAAO,GAAG6S,eAAS,CACvBtD,YAAY,CAACjJ,MAAM,CAAC,EACpBkJ,UAAI,CAAC4D,UAAI,CAACjB,6BAA6B,CAAC,EAAE7L,MAAM,CAClD,CAAC;IAED4M,mBAAmB,CAAClT,OAAO,EAAE;MAAEqT,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OAAQrQ,aAAa,CAAC,KAAK,CAAC;AAAA;AAAC,KAAC,CAAC;GACxE;AAED,EAAA,IAAMiQ,qBAAqB,GACzBtB,kCAAkC,KAAKpK,cAAI,GACvC,YAAA;IAAA,OAAMgL,sBAAsB,CAAC,IAAI,CAAC;AAAA,GAAA,GAClCZ,kCAAkC;EAExC,oBACEtO,eAAA,CAACiQ,SAAS,EAAA;IAAA1P,QAAA,EAAA,cACRC,cAAA,CAACgG,MAAM,EAAA;AAAOkH,MAAAA,WAAW,EAAXA;AAAW,KAAK,CAAC,EAC9B5H,SAAS,gBACRtF,cAAA,CAAA,KAAA,EAAA;AAAKN,MAAAA,SAAS,EAAC,gDAAgD;AAAAK,MAAAA,QAAA,eAC7DC,cAAA,CAAC4H,OAAO,EAAE,EAAA;KACP,CAAC,gBAENpI,eAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,0BAA0B;MAAAK,QAAA,EAAA,cACvCC,cAAA,CAACP,IAAI,EAAA;AACHC,QAAAA,SAAS,EAAEgQ,UAAU,CAAChQ,SAAS,CAAE;AACjCC,QAAAA,WAAW,EAAE;AACXC,UAAAA,aAAa,EAAEmP,0BAA0B;AACzCjP,UAAAA,gBAAgB,EAAEsJ,+BAA+B;AACjDvJ,UAAAA,QAAQ,EAAEyP,YAAY;AACtB5B,UAAAA,OAAO,EAAPA,OAAO;AACPiC,UAAAA,kBAAkB,EAAE;SACpB;QAAA5P,QAAA,EAED,SAAAA,QAAAA,CAAAlC,KAAA,EAAA;AAAA,UAAA,IAAG4E,MAAM,GAAA5E,KAAA,CAAN4E,MAAM;UAAA,oBACRjD,eAAA,CAACoQ,UAAU,EAAA;YACTC,WAAW,eACT7P,cAAA,CAAC8P,WAAW,EAAA;AACVC,cAAAA,iBAAiB,EAAE;AAAE/N,gBAAAA,OAAO,EAAE4L;eAAe;cAC7CoC,iBAAiB,EACfvN,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACK,OAAO,GACxB;gBACEhJ,KAAK,EAAE5B,CAAC,CACN,iDACF;AACF,eAAC,GACD;AACL,aACF,CACF;YAAAwB,QAAA,EAAA,cAEDP,eAAA,CAACmP,aAAa,EAAA;cAAA5O,QAAA,EAAA,cACZC,cAAA,CAACiQ,KAAK,EAAA;gBAACC,OAAO,EAAA,IAAA;AAAC9P,gBAAAA,IAAI,EAAC,MAAM;gBAAAL,QAAA,EACvBmM,cAAc,CAAC;AAAEC,kBAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEC,kBAAAA,UAAU,EAAVA;AAAW,iBAAC,CAAC,CAACxB,GAAG,CACrD,UAAAuF,KAAK,EAAA;kBAAA,oBACHC,mBAAA,CAACH,KAAK,CAACI,IAAI,EAAAjT,aAAA,CAAAA,aAAA,CAAA,EAAA,EACL+S,KAAK,CAAA,EAAA,EAAA,EAAA;oBACTtP,GAAG,EAAEsP,KAAK,CAAC/F,KAAM;oBACjB1K,SAAS,EAAEgQ,UAAU,CAAC;sBACpB,aAAa,EACX,CAAAjH,aAAa,KAAbA,IAAAA,IAAAA,aAAa,uBAAbA,aAAa,CAAEY,IAAI,MAAK8G,KAAK,CAAC/F,KAAK,IACnC,CAAA3B,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEY,IAAI,MAAKP,IAAI,CAACK;AACjC,qBAAC,CAAE;AACHhJ,oBAAAA,KAAK,EACH,CAAAsI,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEY,IAAI,MAAK8G,KAAK,CAAC/F,KAAK,IACnC,CAAA3B,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEY,IAAI,MAAKP,IAAI,CAACK,OAAO,GAChC4C,6BAA6B,CAAC;sBAC5BC,aAAa,EAAE,SAAfA,aAAaA,GAAA;wBAAA,OACX0C,sBAAsB,CAAC,IAAI,CAAC;AAAA;AAChC,qBAAC,CAAC,GACFyB,KAAK,CAAChQ,KACX;AACDmQ,oBAAAA,UAAU,EAAE;sBACV5Q,SAAS,EAAEgQ,UAAU,CAAC;wBACpB,yCAAyC,EACvC,CAAAjH,aAAa,KAAbA,IAAAA,IAAAA,aAAa,uBAAbA,aAAa,CAAEY,IAAI,MAAK8G,KAAK,CAAC/F,KAAK,IACnC,CAAA3B,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEY,IAAI,MAAKP,IAAI,CAACK;uBAChC;AACH;AAAE,mBAAA,CACH,CAAC;iBAEN;eACK,CAAC,EACP1G,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACG,KAAK,iBACzBjJ,cAAA,CAAA,KAAA,EAAA;AAAKN,gBAAAA,SAAS,EAAC,qBAAqB;gBAAAK,QAAA,eAClCC,cAAA,CAACgN,KAAK,EAAA;kBACJuD,SAAS,EAAA,IAAA;kBACThH,QAAQ,EAAA,IAAA;kBACRiH,cAAc,EAAA,IAAA;AACd9Q,kBAAAA,SAAS,EAAC,QAAQ;AAClBS,kBAAAA,KAAK,EAAE5B,CAAC,CAAC,2CAA2C,CAAE;AACtD6B,kBAAAA,IAAI,EAAC,UAAU;kBACfC,WAAW,EAAE9B,CAAC,CACZ,sDACF;iBACD;AAAC,eACC,CACN,EACAkE,MAAM,CAAC4G,IAAI,KAAKP,IAAI,CAACE,KAAK,iBACzBhJ,cAAA,CAACsM,eAAe,EAAA;AACdnM,gBAAAA,KAAK,EAAE5B,CAAC,CAAC,2CAA2C,CAAE;AACtD6B,gBAAAA,IAAI,EAAC;AAAiB,eACvB,CACF;aACY,CAAC,EACfgO,wBAAwB,iBAAIpO,cAAA,CAACyQ,eAAe,IAAE,CAAC;AAAA,WACtC,CAAC;AAAA;AACd,OACG,CAAC,eACPzQ,cAAA,CAAC6C,aAAW,EAAA;AAERU,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBE,QAAAA,2BAA2B,EAA3BA,2BAA2B;AAC3B3G,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,SAAS,EAATA,SAAS;QAEXb,eAAe,EAAEuM,aAAa,CAACiI,EAAG;AAClC9N,QAAAA,gBAAgB,EAAEoL,gCAAiC;AACnD3K,QAAAA,iBAAiB,EAAE6K,+BAAgC;AACnDhL,QAAAA,MAAM,EAAEuL,mBAAmB,IAAI,CAACpJ,UAAW;QAC3ClC,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQuL,sBAAsB,CAAC,KAAK,CAAC;AAAA;OAC7C,CAAC,EACD3O,QAAQ;AAAA,KACN,CACN;AAAA,GACQ,CAAC;AAEhB;;AC3MA,IAAkD4Q,qBAAqB,GACrElU,UAAU,CADJE,wCAAwC;AAGhD,IAAMkG,WAAW,GAAG;AAClB+N,EAAAA,eAAe,EAAfA,aAAe;AACfnT,EAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBkT,EAAAA,qBAAqB,EAArBA;AACF;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n {\n selectedCount: selectedEmails.length,\n count: totalCount,\n }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n enableColumnFreeze={false}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { filterBy, nullSafe } from \"neetocist\";\nimport { equals, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n .trim()\n .test(\n \"unique-keyword\",\n t(\"neetoAccessControl.inputs.validation.duplicateKeywords\"),\n (value, testContext) => {\n if (!value || !testContext.parent) return true;\n\n const trimmedValue = value?.trim();\n if (!trimmedValue) return true;\n\n const duplicateIndices = nullSafe(pluck)(\n \"index\",\n filterBy(\n { item: trimmedValue },\n testContext.parent.map((item, index) => ({\n item: item?.trim(),\n index,\n }))\n )\n );\n\n const currentIndex = testContext.path\n .split(\"[\")\n .pop()\n .split(\"]\")[0];\n\n const isLastOccurrence =\n duplicateIndices[duplicateIndices.length - 1] ===\n parseInt(currentIndex);\n\n return !isLastOccurrence || duplicateIndices.length === 1;\n }\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n const handleAddKeyword = () => {\n allowedKeywords.forEach((_, index) => {\n arrayHelpers.form.setFieldTouched(`${name}.${index}`, true);\n });\n arrayHelpers.push(\"\");\n };\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={handleAddKeyword}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","selectedCount","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","enableColumnFreeze","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","value","testContext","parent","trimmedValue","duplicateIndices","nullSafe","filterBy","item","map","index","currentIndex","path","split","pop","isLastOccurrence","parseInt","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","handleAddKeyword","forEach","setFieldTouched","Label","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n {\n selectedCount: selectedEmails.length,\n count: totalCount,\n }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { filterBy, nullSafe } from \"neetocist\";\nimport { equals, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n .trim()\n .test(\n \"unique-keyword\",\n t(\"neetoAccessControl.inputs.validation.duplicateKeywords\"),\n (value, testContext) => {\n if (!value || !testContext.parent) return true;\n\n const trimmedValue = value?.trim();\n if (!trimmedValue) return true;\n\n const duplicateIndices = nullSafe(pluck)(\n \"index\",\n filterBy(\n { item: trimmedValue },\n testContext.parent.map((item, index) => ({\n item: item?.trim(),\n index,\n }))\n )\n );\n\n const currentIndex = testContext.path\n .split(\"[\")\n .pop()\n .split(\"]\")[0];\n\n const isLastOccurrence =\n duplicateIndices[duplicateIndices.length - 1] ===\n parseInt(currentIndex);\n\n return !isLastOccurrence || duplicateIndices.length === 1;\n }\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n const handleAddKeyword = () => {\n allowedKeywords.forEach((_, index) => {\n arrayHelpers.form.setFieldTouched(`${name}.${index}`, true);\n });\n arrayHelpers.push(\"\");\n };\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={handleAddKeyword}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","selectedCount","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","value","testContext","parent","trimmedValue","duplicateIndices","nullSafe","filterBy","item","map","index","currentIndex","path","split","pop","isLastOccurrence","parseInt","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","handleAddKeyword","forEach","setFieldTouched","Label","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", appendTo: () => document.body }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n inviteButtonProps = {},\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-4 pt-2\">\n {isNotEmpty(inviteButtonProps) && (\n <div className=\"flex w-full justify-end\">\n <Button {...inviteButtonProps} />\n </div>\n )}\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n {\n selectedCount: selectedEmails.length,\n count: totalCount,\n }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n enableColumnFreeze={false}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { filterBy, nullSafe } from \"neetocist\";\nimport { equals, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup.array().of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n .max(\n 254,\n t(\"neetoAccessControl.inputs.validation.maxLength\", { length: 254 })\n )\n .matches(\n /^[A-Z0-9._%+-@]+$/i,\n t(\"neetoAccessControl.inputs.validation.invalidCharacters\")\n )\n .trim()\n .test(\n \"unique-keyword\",\n t(\"neetoAccessControl.inputs.validation.duplicateKeywords\"),\n (value, testContext) => {\n if (!value || !testContext.parent) return true;\n\n const trimmedValue = value?.trim();\n if (!trimmedValue) return true;\n\n const duplicateIndices = nullSafe(pluck)(\n \"index\",\n filterBy(\n { item: trimmedValue },\n testContext.parent.map((item, index) => ({\n item: item?.trim(),\n index,\n }))\n )\n );\n\n const currentIndex = testContext.path\n .split(\"[\")\n .pop()\n .split(\"]\")[0];\n\n const isLastOccurrence =\n duplicateIndices[duplicateIndices.length - 1] ===\n parseInt(currentIndex);\n\n return !isLastOccurrence || duplicateIndices.length === 1;\n }\n )\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n\nexport const getAuthOptions = ({ translationContext, transProps }) => [\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.no\"\n {...transProps[AUTH.NO]}\n />\n ),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.basic\"\n {...transProps[AUTH.BASIC]}\n />\n ),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.invited\"\n {...transProps[AUTH.INVITED]}\n />\n ),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.email\"\n {...transProps[AUTH.EMAIL]}\n />\n ),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: (\n <Trans\n context={translationContext}\n i18nKey=\"neetoAccessControl.auth.session\"\n {...transProps[AUTH.SESSION]}\n />\n ),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n const handleAddKeyword = () => {\n allowedKeywords.forEach((_, index) => {\n arrayHelpers.form.setFieldTouched(`${name}.${index}`, true);\n });\n arrayHelpers.push(\"\");\n };\n\n return (\n <div className=\"space-y-4 pt-4\">\n <Label className=\"leading-snug\">{label}</Label>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={handleAddKeyword}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...{ ...headerProps, title }}\n titleHelpPopoverProps={{\n description,\n title,\n helpLinkProps: { href: helpLink },\n }}\n />\n );\n};\n\nexport default Header;\n","import { Fragment, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport {\n ActionBlock,\n Form,\n Input,\n Radio,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { keys, mergeLeft, pick } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { AUTH, CONFIGURATION_VALIDATION_SCHEMA } from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n getAuthOptions,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n enableNavigationBlocking = false,\n onDestroyInvitationsSuccess = noop,\n inviteButtonProps = {},\n additionalFieldsInitialValues = {},\n children,\n fieldsWrapper,\n translationContext,\n transProps = {},\n}) => {\n const [showInvitationsPane, setShowInvitationsPane] = useState(false);\n\n const FieldsWrapper = fieldsWrapper || Fragment;\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues = mergeLeft(\n buildConfigurationInitialValues(configuration),\n additionalFieldsInitialValues\n );\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = mergeLeft(\n buildPayload(values),\n pick(keys(additionalFieldsInitialValues), values)\n );\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInvitationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <div className=\"min-h-0 w-full flex-grow\">\n <Form\n className={classNames(className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <CardLayout\n actionBlock={\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n }\n >\n <FieldsWrapper>\n <Radio stacked name=\"auth\">\n {getAuthOptions({ translationContext, transProps }).map(\n props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () =>\n setShowInvitationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n )\n )}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2 pt-4\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n </FieldsWrapper>\n {enableNavigationBlocking && <BlockNavigation />}\n </CardLayout>\n )}\n </Form>\n <Invitations\n {...{\n inviteButtonProps,\n onDestroyInvitationsSuccess,\n ownerId,\n ownerType,\n }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInvitationsPane && !isFetching}\n onClose={() => setShowInvitationsPane(false)}\n />\n {children}\n </div>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","appendTo","document","body","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$inviteButtonProp","inviteButtonProps","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","selectedCount","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","enableColumnFreeze","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","max","matches","value","testContext","parent","trimmedValue","duplicateIndices","nullSafe","filterBy","item","map","index","currentIndex","path","split","pop","isLastOccurrence","parseInt","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","getAuthOptions","translationContext","transProps","context","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","handleAddKeyword","forEach","setFieldTouched","Label","Input","suffix","headerProps","helpLink","description","NeetoHeader","titleHelpPopoverProps","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","_ref$enableNavigation","enableNavigationBlocking","_ref$additionalFields","additionalFieldsInitialValues","fieldsWrapper","_ref$transProps","showInvitationsPane","setShowInvitationsPane","FieldsWrapper","Fragment","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","keys","onSettled","Container","classNames","enableReinitialize","CardLayout","actionBlock","ActionBlock","cancelButtonProps","submitButtonProps","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","BlockNavigation","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-access-control-frontend",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.18",
|
|
4
4
|
"description": "Neeto access control",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-access-control-nano",
|
|
@@ -49,13 +49,13 @@
|
|
|
49
49
|
"@babel/preset-typescript": "7.26.0",
|
|
50
50
|
"@babel/runtime": "7.26.10",
|
|
51
51
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
52
|
-
"@bigbinary/eslint-plugin-neeto": "1.
|
|
52
|
+
"@bigbinary/eslint-plugin-neeto": "1.7.0",
|
|
53
53
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
54
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
55
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
54
|
+
"@bigbinary/neeto-commons-frontend": "4.13.48",
|
|
55
|
+
"@bigbinary/neeto-filters-frontend": "4.3.23",
|
|
56
56
|
"@bigbinary/neeto-icons": "1.20.53",
|
|
57
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
58
|
-
"@bigbinary/neetoui": "8.3.
|
|
57
|
+
"@bigbinary/neeto-molecules": "3.16.96",
|
|
58
|
+
"@bigbinary/neetoui": "8.3.18",
|
|
59
59
|
"@emotion/is-prop-valid": "1.2.0",
|
|
60
60
|
"@faker-js/faker": "8.2.0",
|
|
61
61
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -160,11 +160,11 @@
|
|
|
160
160
|
"peerDependencies": {
|
|
161
161
|
"@babel/runtime": "7.26.10",
|
|
162
162
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
163
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
164
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
163
|
+
"@bigbinary/neeto-commons-frontend": "4.13.48",
|
|
164
|
+
"@bigbinary/neeto-filters-frontend": "4.3.23",
|
|
165
165
|
"@bigbinary/neeto-icons": "1.20.53",
|
|
166
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
167
|
-
"@bigbinary/neetoui": "8.3.
|
|
166
|
+
"@bigbinary/neeto-molecules": "3.16.96",
|
|
167
|
+
"@bigbinary/neetoui": "8.3.18",
|
|
168
168
|
"@honeybadger-io/js": "6.10.1",
|
|
169
169
|
"@honeybadger-io/react": "6.1.25",
|
|
170
170
|
"@tailwindcss/container-queries": "^0.1.1",
|