@bigbinary/neeto-access-control-frontend 1.3.30 → 1.3.32
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/.ready +1 -1
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/index.js +44 -41
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/index.js +45 -42
- package/dist/v2/index.js.map +1 -1
- package/package.json +24 -19
package/dist/.ready
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Built at 2026-
|
|
1
|
+
Built at 2026-07-29T07:36:34.941Z
|
package/dist/cjs/index.js
CHANGED
|
@@ -118,6 +118,7 @@ var AddEmails = function AddEmails(_ref) {
|
|
|
118
118
|
})
|
|
119
119
|
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
120
120
|
className: "shrink-0 self-center whitespace-nowrap",
|
|
121
|
+
"data-testid": "invite-emails-button",
|
|
121
122
|
label: t("neetoAccessControl.buttons.invite"),
|
|
122
123
|
type: "submit"
|
|
123
124
|
})]
|
|
@@ -138,6 +139,7 @@ var defaultColumnData = function defaultColumnData(_ref) {
|
|
|
138
139
|
content: email,
|
|
139
140
|
disabled: email.length < TRUNCATE_LENGTH,
|
|
140
141
|
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
142
|
+
"data-testid": "invitation-email-text",
|
|
141
143
|
style: "body2",
|
|
142
144
|
children: neetoCist.truncate(email, TRUNCATE_LENGTH)
|
|
143
145
|
})
|
|
@@ -151,6 +153,7 @@ var defaultColumnData = function defaultColumnData(_ref) {
|
|
|
151
153
|
menuItems: [{
|
|
152
154
|
key: "delete",
|
|
153
155
|
label: i18next.t("neetoAccessControl.labels.delete"),
|
|
156
|
+
"data-testid": "invitation-delete-menu-item",
|
|
154
157
|
onClick: function onClick() {
|
|
155
158
|
return onDelete(inviteData);
|
|
156
159
|
}
|
|
@@ -296,6 +299,7 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
296
299
|
count: totalCount
|
|
297
300
|
})
|
|
298
301
|
}), /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
302
|
+
"data-testid": "bulk-delete-invitations-button",
|
|
299
303
|
icon: Delete,
|
|
300
304
|
style: "secondary",
|
|
301
305
|
tooltipProps: {
|
|
@@ -445,6 +449,7 @@ var renderLabelWithViewInvitation = function renderLabelWithViewInvitation(_ref2
|
|
|
445
449
|
components: {
|
|
446
450
|
button: /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
447
451
|
className: "mt-1",
|
|
452
|
+
"data-testid": "view-invites-button",
|
|
448
453
|
size: "small",
|
|
449
454
|
style: "link",
|
|
450
455
|
onClick: onViewInvites
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../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/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":["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=\"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=\"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 { 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-testid\": \"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-testid\": \"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-testid\": \"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-testid\": \"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-testid\": \"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-testid=\"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-testid=\"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 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":["TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_ref","configurationId","ownerType","ownerId","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","useBulkCreateInvitations","addEmails","mutate","handleAddEmails","_ref2","_ref3","setSubmitting","resetForm","payload","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","useListInvitations","neetoAccessControlConfigurationId","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","useBulkDestroyInvitations","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","_objectSpread","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","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","configuration","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","concat","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","useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","useUpdateConfiguration","_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","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","InvitationsPane"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../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/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":["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=\"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=\"shrink-0 self-center whitespace-nowrap\"\n data-testid=\"invite-emails-button\"\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 data-testid=\"invitation-email-text\" 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 \"data-testid\": \"invitation-delete-menu-item\",\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 data-testid=\"bulk-delete-invitations-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 { 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 data-testid=\"view-invites-button\"\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-testid\": \"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-testid\": \"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-testid\": \"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-testid\": \"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-testid\": \"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-testid=\"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-testid=\"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 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":["TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_ref","configurationId","ownerType","ownerId","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","useBulkCreateInvitations","addEmails","mutate","handleAddEmails","_ref2","_ref3","setSubmitting","resetForm","payload","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","useListInvitations","neetoAccessControlConfigurationId","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","useBulkDestroyInvitations","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","_objectSpread","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","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","configuration","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","concat","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","useShowConfiguration","_useShowConfiguration2","configurationInitialValues","mergeLeft","_useUpdateConfigurati","useUpdateConfiguration","_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","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","InvitationsPane"],"mappings":"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"}
|
package/dist/cjs/v2/index.js
CHANGED
|
@@ -12,10 +12,9 @@ var CardLayout = require('@bigbinary/neeto-molecules/v2/CardLayout');
|
|
|
12
12
|
var Container = require('@bigbinary/neeto-molecules/v2/Container');
|
|
13
13
|
var ramda = require('ramda');
|
|
14
14
|
var reactI18next = require('react-i18next');
|
|
15
|
+
var lucideReact = require('lucide-react');
|
|
15
16
|
var constants = require('@bigbinary/neeto-commons-frontend/v2/constants');
|
|
16
|
-
var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
17
17
|
var SubHeader = require('@bigbinary/neeto-molecules/v2/SubHeader');
|
|
18
|
-
var TableWrapper = require('@bigbinary/neeto-molecules/v2/TableWrapper');
|
|
19
18
|
var i18next = require('i18next');
|
|
20
19
|
var yup = require('yup');
|
|
21
20
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -48,7 +47,6 @@ function _interopNamespaceDefault(e) {
|
|
|
48
47
|
|
|
49
48
|
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
50
49
|
|
|
51
|
-
var TRUNCATE_LENGTH = 45;
|
|
52
50
|
var ADD_EMAILS_FORM_INIT_VALUES = {
|
|
53
51
|
emails: []
|
|
54
52
|
};
|
|
@@ -89,7 +87,7 @@ var AddEmails = function AddEmails(_ref) {
|
|
|
89
87
|
});
|
|
90
88
|
};
|
|
91
89
|
return /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
|
|
92
|
-
className: "mb-5 flex w-full
|
|
90
|
+
className: "mb-5 flex w-full gap-x-3",
|
|
93
91
|
formikProps: {
|
|
94
92
|
initialValues: ADD_EMAILS_FORM_INIT_VALUES,
|
|
95
93
|
onSubmit: handleAddEmails,
|
|
@@ -105,7 +103,8 @@ var AddEmails = function AddEmails(_ref) {
|
|
|
105
103
|
ref: emailsInputRef
|
|
106
104
|
})
|
|
107
105
|
}), /*#__PURE__*/jsxRuntime.jsx(formik.Button, {
|
|
108
|
-
className: "shrink-0 self-
|
|
106
|
+
className: "mt-[25px] shrink-0 self-start whitespace-nowrap",
|
|
107
|
+
"data-testid": "invite-emails-button",
|
|
109
108
|
label: t("neetoAccessControl.buttons.invite"),
|
|
110
109
|
type: "submit"
|
|
111
110
|
})]
|
|
@@ -128,18 +127,21 @@ var defaultColumnData = function defaultColumnData(_ref) {
|
|
|
128
127
|
className: "flex items-center justify-between gap-x-3",
|
|
129
128
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
|
|
130
129
|
content: email,
|
|
131
|
-
disabled: email.length < TRUNCATE_LENGTH,
|
|
132
130
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
131
|
+
className: "min-w-0 truncate",
|
|
132
|
+
"data-testid": "invitation-email-text",
|
|
133
133
|
variant: "body2",
|
|
134
|
-
children:
|
|
134
|
+
children: email
|
|
135
135
|
})
|
|
136
136
|
}), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
|
|
137
137
|
dropdownProps: {
|
|
138
|
+
className: "w-max",
|
|
138
139
|
position: "bottom-end"
|
|
139
140
|
},
|
|
140
141
|
menuItems: [{
|
|
141
142
|
key: "delete",
|
|
142
143
|
label: i18next.t("neetoAccessControl.labels.delete"),
|
|
144
|
+
"data-testid": "invitation-delete-menu-item",
|
|
143
145
|
onClick: function onClick() {
|
|
144
146
|
return onDelete(inviteData);
|
|
145
147
|
}
|
|
@@ -270,14 +272,14 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
270
272
|
children: [/*#__PURE__*/jsxRuntime.jsx(SubHeader, {
|
|
271
273
|
leftActionBlock: ramda.isEmpty(selectedEmails) ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
272
274
|
className: "min-h-8",
|
|
273
|
-
variant: "
|
|
275
|
+
variant: "h6",
|
|
274
276
|
children: t("neetoAccessControl.titles.emailsWithCount", {
|
|
275
277
|
count: totalCount
|
|
276
278
|
})
|
|
277
279
|
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
278
280
|
className: "flex items-center gap-x-4",
|
|
279
281
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
280
|
-
variant: "
|
|
282
|
+
variant: "h6",
|
|
281
283
|
children: t("neetoAccessControl.titles.selectedEmailsWithCount", {
|
|
282
284
|
selectedCount: selectedEmails.length,
|
|
283
285
|
count: totalCount
|
|
@@ -285,7 +287,9 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
285
287
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
|
|
286
288
|
content: t("neetoAccessControl.labels.delete"),
|
|
287
289
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
288
|
-
|
|
290
|
+
"aria-label": t("neetoAccessControl.labels.delete"),
|
|
291
|
+
"data-testid": "bulk-delete-invitations-button",
|
|
292
|
+
icon: lucideReact.Trash2,
|
|
289
293
|
variant: "outline",
|
|
290
294
|
onClick: function onClick() {
|
|
291
295
|
return setShowDeleteAlert(true);
|
|
@@ -293,40 +297,38 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
293
297
|
})
|
|
294
298
|
})]
|
|
295
299
|
})
|
|
296
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
return setSelectedEmails(selectedRows);
|
|
324
|
-
}
|
|
325
|
-
})
|
|
300
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DataTable, {
|
|
301
|
+
totalCount: totalCount,
|
|
302
|
+
enableRowSelection: true,
|
|
303
|
+
fixedHeight: true,
|
|
304
|
+
currentPage: page,
|
|
305
|
+
data: invitations,
|
|
306
|
+
enableColumnFreeze: false,
|
|
307
|
+
getRowId: function getRowId(_ref2) {
|
|
308
|
+
var id = _ref2.id;
|
|
309
|
+
return String(id);
|
|
310
|
+
},
|
|
311
|
+
loading: isFetching,
|
|
312
|
+
pageSize: constants.DEFAULT_PAGE_SIZE,
|
|
313
|
+
selectedRowKeys: selectedEmails.map(function (_ref3) {
|
|
314
|
+
var id = _ref3.id;
|
|
315
|
+
return String(id);
|
|
316
|
+
}),
|
|
317
|
+
columns: renderColumnData({
|
|
318
|
+
onDelete: handleDeleteAction,
|
|
319
|
+
extraColumnsData: extraColumnsData
|
|
320
|
+
}),
|
|
321
|
+
onPageChange: function onPageChange(index) {
|
|
322
|
+
return setPage(index);
|
|
323
|
+
},
|
|
324
|
+
onRowSelect: function onRowSelect(_, selectedRows) {
|
|
325
|
+
return setSelectedEmails(selectedRows);
|
|
326
|
+
}
|
|
326
327
|
})]
|
|
327
328
|
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
328
329
|
className: "flex h-full w-full justify-center",
|
|
329
330
|
children: [!isLoading && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Empty, {
|
|
331
|
+
icon: lucideReact.Users,
|
|
330
332
|
title: t("neetoAccessControl.labels.noInvitations")
|
|
331
333
|
}), isLoading && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
332
334
|
className: "flex h-full w-full items-center justify-center",
|
|
@@ -442,6 +444,7 @@ var renderLabelWithViewInvitation = function renderLabelWithViewInvitation(_ref2
|
|
|
442
444
|
components: {
|
|
443
445
|
button: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
444
446
|
className: "mt-1",
|
|
447
|
+
"data-testid": "view-invites-button",
|
|
445
448
|
size: "sm",
|
|
446
449
|
variant: "link",
|
|
447
450
|
onClick: onViewInvites
|
|
@@ -520,7 +523,7 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
|
|
|
520
523
|
placeholder: t("neetoAccessControl.inputs.placeholders.enterKeyword"),
|
|
521
524
|
suffix: showDeleteButton && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
522
525
|
"data-testid": "allowed-keyword-delete-button",
|
|
523
|
-
icon:
|
|
526
|
+
icon: lucideReact.Trash2,
|
|
524
527
|
size: "sm",
|
|
525
528
|
variant: "ghost",
|
|
526
529
|
onClick: function onClick() {
|