@bigbinary/neeto-tags-frontend 2.2.8 → 2.2.9
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/NeetoTags.js +3 -4
- package/dist/NeetoTags.js.map +1 -1
- package/dist/cjs/NeetoTags.js +3 -4
- package/dist/cjs/NeetoTags.js.map +1 -1
- package/package.json +11 -10
package/dist/NeetoTags.js
CHANGED
|
@@ -668,8 +668,7 @@ var List = function List(_ref) {
|
|
|
668
668
|
isSource: isSource,
|
|
669
669
|
sourceTags: sourceTags
|
|
670
670
|
});
|
|
671
|
-
}, [isSource, sourceTags, destinationTags]
|
|
672
|
-
);
|
|
671
|
+
}, [isSource, sourceTags, destinationTags]);
|
|
673
672
|
var filteredTags = orderBySourceTags(tagList, sourceTags).filter(function (tag) {
|
|
674
673
|
var _tag$name;
|
|
675
674
|
return tag === null || tag === void 0 || (_tag$name = tag.name) === null || _tag$name === void 0 || (_tag$name = _tag$name.toLowerCase()) === null || _tag$name === void 0 ? void 0 : _tag$name.includes(searchTerm.toLowerCase().trim());
|
|
@@ -681,7 +680,7 @@ var List = function List(_ref) {
|
|
|
681
680
|
style: "h4",
|
|
682
681
|
children: listType.label
|
|
683
682
|
}), /*#__PURE__*/jsx(Input$1, {
|
|
684
|
-
className: "
|
|
683
|
+
className: "grow-0",
|
|
685
684
|
"data-cy": "neeto-tags-merge-".concat(listType.value, "-search-text-input-field"),
|
|
686
685
|
placeholder: t("neetoTags.placeholder.searchTags"),
|
|
687
686
|
value: searchTerm,
|
|
@@ -1474,7 +1473,7 @@ var Tags = function Tags(_ref) {
|
|
|
1474
1473
|
});
|
|
1475
1474
|
};
|
|
1476
1475
|
|
|
1477
|
-
var css = ".ntm-empty-state{height:100%;margin:auto;width:100%}.ntm-empty-state,.ntm-empty-state__image{align-items:center;display:flex;justify-content:center}.ntm-empty-state__image{margin-left:0 auto 4rem auto}.ntm-empty-state__title{font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem;text-align:center}.ntm-empty-state__description{margin-bottom:1.5rem;text-align:center}.ntm-empty-state__action-block{display:flex;justify-content:center}.neeto-tags-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));padding:0 1.5rem;width:100%}.neeto-tags-table__column{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.neeto-tags-card-title-block:hover p{color:rgb(var(--neeto-ui-accent-800))!important}.neeto-tags-merge__container{display:flex;flex-direction:row;flex-grow:1;justify-content:space-between;min-height:0;padding-bottom:1.5rem;width:100%}.neeto-tags-merge__container .neeto-tags-merge__list{width:48%}.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;margin-top:.75rem;overflow-y:auto}@media screen and (min-width:768px){.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{margin-top:1rem}}
|
|
1476
|
+
var css = ".ntm-empty-state{height:100%;margin:auto;width:100%}.ntm-empty-state,.ntm-empty-state__image{align-items:center;display:flex;justify-content:center}.ntm-empty-state__image{margin-left:0 auto 4rem auto}.ntm-empty-state__title{font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem;text-align:center}.ntm-empty-state__description{margin-bottom:1.5rem;text-align:center}.ntm-empty-state__action-block{display:flex;justify-content:center}.neeto-tags-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));padding:0 1.5rem;width:100%}.neeto-tags-table__column{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.neeto-tags-card-title-block:hover p{color:rgb(var(--neeto-ui-accent-800))!important}.neeto-tags-merge__container{display:flex;flex-direction:row;flex-grow:1;justify-content:space-between;min-height:0;padding-bottom:1.5rem;width:100%}.neeto-tags-merge__container .neeto-tags-merge__list{width:48%}.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;margin-top:.75rem;overflow-y:auto}.neeto-tags-border{border-width:thin}@media screen and (min-width:768px){.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{margin-top:1rem}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL2VtcHR5LXN0YXRlLmNzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9wYWdlcy9kYXNoYm9hcmQuY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL3BhZ2VzL21lcmdlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFJRSxXQUFZLENBRVosV0FBWSxDQURaLFVBRUYsQ0FFQSx5Q0FQRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLHNCQVdGLENBTEEsd0JBQ0UsNEJBSUYsQ0FFQSx3QkFHRSxpQkFBa0IsQ0FDbEIsbUJBQW9CLENBSHBCLGtCQUFtQixDQUNuQixpQkFHRixDQUVBLDhCQUNFLG9CQUFxQixDQUNyQixpQkFDRixDQUVBLCtCQUNFLFlBQWEsQ0FDYixzQkFDRixDQy9CQSwyQkFFRSw0S0FJQyxDQUNELGdCQUFpQixDQU5qQixVQU9GLENBRUEsMEJBR0Usa0JBQW1CLENBRm5CLFlBQWEsQ0FHYixTQUFXLENBRlgsNkJBR0YsQ0FFQSxxQ0FDRSwrQ0FDRixDQ25CQSw2QkFDRSxZQUFhLENBQ2Isa0JBQW1CLENBR25CLFdBQVksQ0FGWiw2QkFBOEIsQ0FHOUIsWUFBYSxDQUNiLHFCQUFzQixDQUh0QixVQUlGLENBRUEscURBQ0UsU0FDRixDQUVBLDhFQUdFLFlBQWEsQ0FDYixxQkFBc0IsQ0FGdEIsV0FBWSxDQUdaLFNBQVcsQ0FDWCxpQkFBbUIsQ0FMbkIsZUFNRixDQUVBLG1CQUNFLGlCQUNGLENBRUEsb0NBQ0UsOEVBQ0UsZUFDRixDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLm50bS1lbXB0eS1zdGF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5udG0tZW1wdHktc3RhdGVfX2ltYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gYXV0byA0cmVtIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubnRtLWVtcHR5LXN0YXRlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbn1cblxuLm50bS1lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm50bS1lbXB0eS1zdGF0ZV9fYWN0aW9uLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iLCIubmVldG8tdGFncy10YWJsZV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoXG4gICAgMTAwdmggLSB2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpIC1cbiAgICAgIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1zdWItaGVhZGVyLWhlaWdodCkgLVxuICAgICAgdmFyKC0tbmVldG8tbW9sZWN1bGVzLXN1Yi1oZWFkZXItYm90dG9tLW1hcmdpbilcbiAgKTtcbiAgcGFkZGluZzogMCAxLjVyZW07XG59XG5cbi5uZWV0by10YWdzLXRhYmxlX19jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ubmVldG8tdGFncy1jYXJkLXRpdGxlLWJsb2NrOmhvdmVyIHAge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWFjY2VudC04MDApKSAhaW1wb3J0YW50O1xufVxuIiwiLm5lZXRvLXRhZ3MtbWVyZ2VfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cblxuLm5lZXRvLXRhZ3MtbWVyZ2VfX2NvbnRhaW5lciAubmVldG8tdGFncy1tZXJnZV9fbGlzdCB7XG4gIHdpZHRoOiA0OCU7XG59XG5cbi5uZWV0by10YWdzLW1lcmdlX19jb250YWluZXIgLm5lZXRvLXRhZ3MtbWVyZ2VfX2xpc3QgLm5lZXRvLXRhZ3MtbWVyZ2VfX2l0ZW1zIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLm5lZXRvLXRhZ3MtYm9yZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiB0aGluO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmVldG8tdGFncy1tZXJnZV9fY29udGFpbmVyIC5uZWV0by10YWdzLW1lcmdlX19saXN0IC5uZWV0by10YWdzLW1lcmdlX19pdGVtcyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuIl19 */";
|
|
1478
1477
|
n(css,{});
|
|
1479
1478
|
|
|
1480
1479
|
var App = function App(_ref) {
|
package/dist/NeetoTags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoTags.js","sources":["../app/javascript/src/components/Menu.jsx","../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/components/Dashboard/Header.jsx","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx","../app/javascript/src/components/Dashboard/utils.jsx","../app/javascript/src/components/Dashboard/Table.jsx","../app/javascript/src/components/Dashboard/index.jsx","../app/javascript/src/components/Merge/constants.js","../app/javascript/src/components/Merge/utils.js","../app/javascript/src/components/Merge/List.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/Merge/MergeAlert.jsx","../app/javascript/src/components/Merge/index.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/index.jsx","../app/javascript/src/index.jsx"],"sourcesContent":["import { Tab } from \"neetoui\";\n\nconst Menu = ({ tagTypes, tagType, setTagType }) => (\n <Tab className=\"mb-6\">\n {Object.values(tagTypes).map(tag => (\n <Tab.Item\n active={tagType.id === tag.id}\n description={tag.description}\n key={tag.id}\n onClick={() => {\n setTagType(tag);\n }}\n >\n {tag.label}\n </Tab.Item>\n ))}\n </Tab>\n);\n\nexport default Menu;\n","import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { noop } from \"neetocist\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { handleMetaClick, useFuncDebounce } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"src/common/constants\";\n\nconst Header = ({\n breadcrumbs,\n title,\n tagsMergable = false,\n setPaneType,\n setSelectedTag,\n goToFirstPage = noop,\n tagsPath = \"\",\n data,\n showFilters = true,\n titleHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const resetPage = useFuncDebounce(() => goToFirstPage());\n\n return (\n <NeetoHeader\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={title || t(\"neetoTags.common.tag\", PLURAL)}\n actionBlock={\n <>\n {tagsMergable && (\n <Button\n data-cy=\"neeto-tags-merge-tags-button\"\n disabled={data?.tags.length < PLURAL.count}\n label={t(\"neetoTags.common.mergeTag\", PLURAL)}\n style=\"secondary\"\n onClick={handleMetaClick(history, `${tagsPath}/merge`)}\n />\n )}\n <Button\n data-cy=\"add-new-tag-button\"\n label={t(\"neetoTags.common.addNewTag\", SINGULAR)}\n onClick={() => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n }}\n />\n </>\n }\n searchProps={\n showFilters && {\n \"data-cy\": \"neeto-tags-search-text-input-field\",\n onChange: resetPage,\n placeholder: t(\"neetoTags.placeholder.searchTags\"),\n }\n }\n />\n );\n};\n\nexport default Header;\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: () => {\n !isEdit && goToFirstPage();\n tagOperation?.onSuccess?.callback();\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES, TAG_STYLES } from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-cy=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-cy=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n <Select\n name=\"style\"\n options={Object.values(TAG_STYLES).map(toLabelAndValue)}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Tag } from \"neetoui\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst renderDropdownButton = ({\n handleEdit = noop,\n handleDelete = noop,\n tag = {},\n}) => (\n <div onClick={e => e.stopPropagation()}>\n <Dropdown\n autoWidth\n appendTo={() => document.body}\n buttonProps={{ style: \"text\", className: \"mr-1 my-1\" }}\n icon={MenuHorizontal}\n position=\"bottom-end\"\n strategy=\"fixed\"\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"tags-edit-button\"\n onClick={() => handleEdit(tag)}\n >\n {t(\"neetoTags.button.edit\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-cy=\"tags-delete-button\"\n onClick={() => handleDelete(tag)}\n >\n {t(\"neetoTags.button.delete\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n);\n\nexport const renderColumnData = (handleEdit, handleDelete, columns = []) => [\n {\n title: t(\"neetoTags.common.name\"),\n dataIndex: \"name\",\n key: \"name\",\n width: 300,\n render: (name, tag) => (\n <div className=\"neeto-tags-table__column\">\n <Tag label={name} style={tag.style} />\n {renderDropdownButton({ handleEdit, handleDelete, tag })}\n </div>\n ),\n },\n {\n title: t(\"neetoTags.common.description\"),\n dataIndex: \"description\",\n key: \"description\",\n width: 400,\n render: description => (\n <Typography className=\"whitespace-normal\">{description}</Typography>\n ),\n },\n ...columns,\n];\n","import TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderColumnData } from \"./utils\";\n\nconst Table = ({\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n noDataProps,\n}) => {\n const { t } = useTranslation();\n\n if (!isLoading && !data?.tags?.length) {\n return (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps, ...noDataProps }}\n title={t(\"neetoTags.title.noTagsToShow\")}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > filters.pageSize}>\n <NeetoUITable\n fixedHeight\n allowRowClick={!!onTagRowClick}\n columnData={renderColumnData(handleEdit, handleDelete, tagType.columns)}\n currentPageNumber={filters.page}\n defaultPageSize={filters.pageSize}\n loading={isLoading}\n paginationProps={{ showSizeChanger: false }}\n rowData={data?.tags}\n rowSelection={false}\n scroll={{ x: 0 }}\n totalCount={data?.totalCount}\n onChange={handleOnChange}\n onRowClick={(event, record, rowIndex) =>\n onTagRowClick({ event, tag: record, rowIndex })\n }\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, SINGULAR } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr, buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Alert, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"common/constants\";\nimport Menu from \"components/Menu\";\nimport { useDeleteTag, useFetchTags } from \"src/hooks/useTagsApi\";\n\nimport { DEFAULT_FILTERS, NEETO_FILTERS } from \"./constants\";\nimport Header from \"./Header\";\nimport ManageTags from \"./ManageTags\";\nimport Table from \"./Table\";\n\nconst Dashboard = ({\n breadcrumbs,\n title,\n createTags,\n deleteTags,\n displayMenu,\n onTagRowClick,\n tagsMergable = false,\n tagsPath,\n tagType,\n updateTags,\n setTagType,\n tagTypes,\n noDataProps = {},\n titleHelpPopoverProps = {},\n}) => {\n const history = useHistory();\n const queryParams = useQueryParams();\n const { searchTerm = \"\" } = queryParams;\n\n const searchKeywordProps = {\n node: \"name\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [selectedTag, setSelectedTag] = useState(null);\n const [paneType, setPaneType] = useState(null);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [filters, setFilters] = useState(DEFAULT_FILTERS);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [neetoFilters, setNeetoFilters] = useState(\n buildFiltersFromURL([...NEETO_FILTERS, searchKeywordProps])\n );\n\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n neetoFilters,\n ...filters,\n });\n\n const { t } = useTranslation();\n\n const primaryButtonProps = {\n \"data-cy\": \"add-new-tag-button\",\n label: t(\"neetoTags.common.addNewTag\", SINGULAR),\n onClick: () => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n },\n };\n\n const handleEdit = tag => {\n setSelectedTag(tag);\n setPaneType(PANE_TYPES.EDIT);\n };\n\n const handleDelete = tag => {\n setSelectedTag(tag);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedTag(null);\n };\n\n const handleOnChange = (\n { current: page },\n _,\n { field: sortBy, order: orderBy }\n ) => setFilters(mergeLeft({ page, sortBy: orderBy && sortBy, orderBy }));\n\n const { mutate, isPending: isDeletingTag } = useDeleteTag();\n\n const handleConfirmDelete = () => {\n const payload = { url: tagType.url, id: selectedTag?.id };\n const isNotDeleting = !isDeletingTag && isDeleteAlertOpen;\n isNotDeleting &&\n mutate(payload, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n if (data?.tags?.length === 1) {\n setFilters(mergeLeft({ page: filters.page - 1 }));\n }\n deleteTags?.onSuccess?.callback();\n // @ts-ignore\n showThumbsUpToastr();\n },\n });\n };\n\n const handleFiltersChange = filters => {\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n setNeetoFilters(filters);\n };\n\n const resetPage = () => setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }));\n\n const showFilters = isPresent(neetoFilters) || data?.totalCount > 0;\n\n return (\n <>\n <Container>\n <Header\n {...{\n breadcrumbs,\n data,\n displayMenu,\n setPaneType,\n setSelectedTag,\n showFilters,\n tagsMergable,\n tagsPath,\n title,\n titleHelpPopoverProps,\n }}\n goToFirstPage={resetPage}\n />\n {showFilters && (\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800\"\n data-cy=\"neeto-tags-filtered-tags-count-text\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoTags.helper.tagWithCount\", {\n count: data?.totalCount || 0,\n type: tagType?.label || \"\",\n })}\n </Typography>\n }\n rightActionBlock={\n <SubHeader.RightBlock\n filterProps={{\n columns: NEETO_FILTERS,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n keyword: searchKeywordProps,\n }}\n />\n }\n />\n )}\n <FiltersBar\n columns={NEETO_FILTERS}\n isOpen={isFiltersPaneOpen}\n keyword={searchKeywordProps}\n onChange={handleFiltersChange}\n />\n {displayMenu && <Menu {...{ setTagType, tagType, tagTypes }} />}\n <Table\n {...{\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n noDataProps,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n }}\n />\n </Container>\n <ManageTags\n {...{ createTags, tagType, updateTags }}\n goToFirstPage={resetPage}\n tag={selectedTag}\n type={paneType}\n onClose={() => setPaneType(null)}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTags.button.cancel\")}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeletingTag}\n submitButtonLabel={t(\"neetoTags.button.delete\")}\n title={t(\"neetoTags.alert.title.deleteTag\")}\n message={\n <Trans\n i18nKey=\"neetoTags.alert.message.deleteTag_\"\n values={{ name: selectedTag?.name }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleConfirmDelete}\n />\n </>\n );\n};\n\nexport default Dashboard;\n","import { t } from \"i18next\";\n\nexport const NO_DATA_PRIMARY_BUTTON_PROPS = {\n \"data-cy\": \"neeto-tags-go-back-button\",\n size: \"small\",\n label: t(\"neetoTags.button.goBack\"),\n};\n","import { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { pluck } from \"ramda\";\n\nexport const getListType = ({\n destinationTags = [],\n isSource = false,\n sourceTags = [],\n}) =>\n isSource\n ? {\n label: t(\"neetoTags.title.selectSourceTag\", SINGULAR),\n value: \"source\",\n tagIds: pluck(\"id\", sourceTags),\n counterTagIds: pluck(\"id\", destinationTags),\n }\n : {\n label: t(\"neetoTags.title.selectDestinationTag\", SINGULAR),\n value: \"destination\",\n tagIds: pluck(\"id\", destinationTags),\n counterTagIds: pluck(\"id\", sourceTags),\n };\n\nexport const orderBySourceTags = (tags, sourceTags) => {\n const withoutSourceTags = tags.filter(tag =>\n sourceTags.every(sourceTag => sourceTag.id !== tag.id)\n );\n\n return [...sourceTags, ...withoutSourceTags];\n};\n","import { useMemo, useState } from \"react\";\n\nimport classames from \"classnames\";\nimport { Check } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getListType, orderBySourceTags } from \"./utils\";\n\nconst List = ({\n isSource = false,\n destinationTags = [],\n onSelect,\n sourceTags = [],\n tagList = [],\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const listType = useMemo(\n () => getListType({ destinationTags, isSource, sourceTags }),\n [isSource, sourceTags, destinationTags] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const filteredTags = orderBySourceTags(tagList, sourceTags).filter(tag =>\n tag?.name?.toLowerCase()?.includes(searchTerm.toLowerCase().trim())\n );\n\n return (\n <div className=\"neeto-tags-merge__list neeto-tags-border neeto-ui-border-gray-300 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-flex neeto-ui-flex-col p-3 md:p-4 lg:p-6\">\n <Typography className=\"neeto-ui-mb-3\" style=\"h4\">\n {listType.label}\n </Typography>\n <Input\n className=\"flex-grow-0\"\n data-cy={`neeto-tags-merge-${listType.value}-search-text-input-field`}\n placeholder={t(\"neetoTags.placeholder.searchTags\")}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n />\n <div\n className=\"neeto-tags-merge__items\"\n data-cy={`neeto-tags-merge-${listType.value}-tags-list`}\n >\n {filteredTags.map(tag => {\n const selectedTagIds = listType.tagIds.includes(tag.id);\n const selectedCounterTags = listType.counterTagIds.includes(tag.id);\n\n return (\n <div\n data-cy={`neeto-tags-merge-${listType.value}-tags`}\n key={tag.id}\n className={classames(\n \"neeto-ui-flex neeto-ui-justify-between neeto-ui-items-center neeto-tags-border neeto-ui-border-white neeto-ui-p-2 neeto-ui-rounded-lg neeto-ui-cursor-pointer\",\n {\n \"neeto-ui-bg-gray-200 neeto-ui-border-primary-600\":\n selectedTagIds,\n \"hover:neeto-ui-bg-gray-100\": !selectedTagIds,\n \"neeto-ui-cursor-not-allowed neeto-ui-bg-gray-100 neeto-ui-text-gray-500\":\n selectedCounterTags,\n }\n )}\n onClick={() =>\n !selectedCounterTags && onSelect(tag, listType.value)\n }\n >\n <span>{tag.name}</span>\n {selectedTagIds && <Check size={18} />}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default List;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nconst MergeAlert = withT(\n ({\n t,\n destinationTags = [],\n handleSubmit,\n isSubmitting = false,\n setShowModal,\n showModal = false,\n sourceTags = [],\n tagType = \"\",\n }) => (\n <Modal isOpen={showModal} onClose={() => setShowModal(false)}>\n <Modal.Header>\n <Typography id=\"dialog1Title\" style=\"h2\">\n {t(\"neetoTags.common.mergeTag\", PLURAL)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography lineHeight=\"normal\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTags.helper.mergeTagsMessage\"\n values={{\n count: sourceTags.length,\n sourceTags: pluck(\"name\", sourceTags),\n destinationTag: pluck(\"name\", destinationTags),\n entities: pluralize(tagType.label.toLowerCase()),\n }}\n />\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-cy=\"neeto-tags-merge-cancel-button\"\n label={t(\"neetoTags.button.cancel\")}\n style=\"tertiary\"\n onClick={() => setShowModal(false)}\n />\n <Button\n data-cy=\"neeto-tags-merge-proceed-button\"\n disabled={isSubmitting}\n label={t(\"neetoTags.button.proceed\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n </Modal.Footer>\n </Modal>\n )\n);\n\nexport default MergeAlert;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\nimport { useState, useMemo } from \"react\";\n\nimport { removeById, existsById } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Merge as NeetoUITagMergeIcon } from \"neetoicons\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Button, NoData, Spinner } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchTags, useMergeTags } from \"src/hooks/useTagsApi\";\n\nimport { NO_DATA_PRIMARY_BUTTON_PROPS } from \"./constants\";\nimport List from \"./List\";\nimport MergeAlert from \"./MergeAlert\";\n\nconst Merge = ({ breadcrumbs, mergeTags, tagsPath, tagType }) => {\n const [sourceTags, setSourceTags] = useState([]);\n const [destinationTags, setDestinationTags] = useState([]);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const isMergeButtonDisabled = isEmpty(sourceTags) || isEmpty(destinationTags);\n const { t } = useTranslation();\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n skipPagination: true,\n });\n\n const { mutate, isPending: isSubmitting } = useMergeTags();\n const primaryButtonProps = { ...NO_DATA_PRIMARY_BUTTON_PROPS, to: tagsPath };\n\n const updatedBreadcrumbs = useMemo(\n () => [...breadcrumbs, { text: t(\"neetoTags.common.mergeTag\", PLURAL) }],\n [breadcrumbs]\n );\n\n const getTagState = type => ({\n tags: type === \"source\" ? sourceTags : destinationTags,\n setTags: type === \"source\" ? setSourceTags : setDestinationTags,\n });\n\n const handleOnTagSelect = (tag, type) => {\n const { tags, setTags } = getTagState(type);\n const isTagPresent = existsById(tag.id, tags);\n let filteredTags = type === \"source\" ? [...tags, tag] : [tag];\n if (isTagPresent) {\n filteredTags = removeById(tag.id, tags);\n }\n setTags(filteredTags);\n };\n\n const handleSubmit = () => {\n const payload = {\n tags: {\n primary_id: pluck(\"id\", destinationTags),\n secondary_id: pluck(\"id\", sourceTags),\n },\n };\n\n mutate(\n { url: tagType.url, payload },\n {\n onSuccess: () => {\n setDestinationTags([]);\n setSourceTags([]);\n mergeTags?.onSuccess?.callback();\n setIsModalOpen(false);\n },\n }\n );\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n breadcrumbs={updatedBreadcrumbs}\n title={t(\"neetoTags.common.mergeTag\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"neeto-tags-merge-button\"\n disabled={isMergeButtonDisabled}\n label={t(\"neetoTags.button.merge\")}\n onClick={() => {\n setIsModalOpen(true);\n }}\n />\n }\n />\n {!data?.tags?.length ? (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps }}\n title={t(\"neetoTags.noTagsToShow\")}\n />\n </div>\n ) : (\n <div className=\"neeto-tags-merge__container\">\n <List\n {...{ destinationTags, sourceTags }}\n isSource\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n <NeetoUITagMergeIcon\n className=\"neeto-ui-self-center neeto-ui-text-gray-600 mx-1 md:mx-4 lg:mx-6\"\n size={24}\n />\n <List\n {...{ destinationTags, sourceTags }}\n isSource={false}\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n </div>\n )}\n <MergeAlert\n {...{\n destinationTags,\n handleSubmit,\n isSubmitting,\n sourceTags,\n tagType,\n }}\n setShowModal={setIsModalOpen}\n showModal={isModalOpen}\n />\n </Container>\n );\n};\n\nexport default Merge;\n","import { getQueryParams } from \"neetocommons/utils\";\n\nimport Dashboard from \"./Dashboard\";\nimport Merge from \"./Merge\";\n\nexport const getCurrentTagType = (tagTypes = []) => {\n const { view: tagLabel } = getQueryParams();\n const requiredTagType = tagTypes.find(\n tagType => tagType?.label?.toLowerCase() === tagLabel\n );\n\n return requiredTagType || tagTypes[0];\n};\n\nexport const createRoutes = path => [\n { component: Merge, exact: true, path: `${path}/merge` },\n { component: Dashboard, exact: true, path: path || \"\" },\n];\n","import { useState } from \"react\";\n\nimport { Switch, Route } from \"react-router-dom\";\n\nimport { createRoutes, getCurrentTagType } from \"./utils\";\n\nconst Tags = ({ config }) => {\n const { tagTypes, displayMenu = true } = config;\n\n const [tagType, setTagType] = useState(getCurrentTagType(tagTypes));\n\n const routes = createRoutes(config.tagsPath);\n\n return (\n <Switch>\n {routes.map(({ exact, path, component: Component }) => (\n <Route {...{ exact, path }} key={path}>\n <Component {...{ ...config, displayMenu, setTagType, tagType }} />\n </Route>\n ))}\n </Switch>\n );\n};\n\nexport default Tags;\n","import Tags from \"./components\";\nimport \"./stylesheets/main.scss\";\n\nconst App = ({ config }) => <Tags {...{ config }} />;\n\nexport default App;\n"],"names":["Menu","_ref","tagTypes","tagType","setTagType","_jsx","Tab","className","children","Object","values","map","tag","Item","active","id","description","onClick","label","TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","node","type","Header","breadcrumbs","title","_ref$tagsMergable","tagsMergable","setPaneType","setSelectedTag","_ref$goToFirstPage","goToFirstPage","noop","_ref$tagsPath","tagsPath","data","_ref$showFilters","showFilters","titleHelpPopoverProps","_useTranslation","useTranslation","history","useHistory","resetPage","useFuncDebounce","NeetoHeader","PLURAL","actionBlock","_jsxs","_Fragment","Button","disabled","tags","count","style","handleMetaClick","concat","SINGULAR","PANE_TYPES","CREATE","searchProps","onChange","placeholder","useTagsForm","createTags","isEdit","onClose","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","_ref2","_values$description","resetForm","tagData","url","payload","mergeLeft","trim","value","onSuccess","_tagOperation$onSucce","callback","onError","ManageTags","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","Pane","initialFocusRef","isOpen","Typography","weight","Form","formikProps","_objectSpread","onSubmit","Body","Input","unlimitedChars","maxLength","ref","Textarea","rows","Select","options","TAG_STYLES","toLabelAndValue","Footer","ActionBlock","cancelButtonProps","submitButtonProps","Dropdown","MenuItem","renderDropdownButton","_ref$handleEdit","handleEdit","_ref$handleDelete","handleDelete","_ref$tag","e","stopPropagation","autoWidth","appendTo","document","body","buttonProps","icon","MenuHorizontal","position","strategy","renderColumnData","columns","arguments","undefined","dataIndex","width","render","Tag","_toConsumableArray","Table","_data$tags","filters","handleOnChange","isLoading","onTagRowClick","primaryButtonProps","noDataProps","NoData","TableWrapper","hasPagination","totalCount","NeetoUITable","fixedHeight","allowRowClick","columnData","currentPageNumber","defaultPageSize","loading","paginationProps","showSizeChanger","rowData","rowSelection","scroll","x","onRowClick","event","record","rowIndex","Dashboard","deleteTags","displayMenu","_ref$noDataProps","_ref$titleHelpPopover","queryParams","useQueryParams","_queryParams$searchTe","searchTerm","searchKeywordProps","_useState","useState","_useState2","_slicedToArray","selectedTag","_useState3","_useState4","paneType","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","setFilters","_useState9","_useState10","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState11","buildFiltersFromURL","_useState12","neetoFilters","setNeetoFilters","_useFetchTags","useFetchTags","handleAlertClose","_","_ref3","current","field","order","_useDeleteTag","useDeleteTag","isDeletingTag","handleConfirmDelete","isNotDeleting","_deleteTags$onSuccess","showThumbsUpToastr","handleFiltersChange","push","buildUrl","window","location","pathname","isPresent","Container","SubHeader","leftActionBlock","rightActionBlock","RightBlock","filterProps","setIsOpen","keyword","FiltersBar","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","NO_DATA_PRIMARY_BUTTON_PROPS","size","getListType","_ref$destinationTags","destinationTags","_ref$isSource","isSource","_ref$sourceTags","sourceTags","tagIds","pluck","counterTagIds","orderBySourceTags","withoutSourceTags","filter","every","sourceTag","List","onSelect","_ref$tagList","tagList","setSearchTerm","listType","useMemo","filteredTags","_tag$name","toLowerCase","includes","target","selectedTagIds","selectedCounterTags","classames","Check","require","this","MergeAlert","withT","_ref$isSubmitting","setShowModal","_ref$showModal","showModal","_ref$tagType","Modal","lineHeight","destinationTag","entities","pluralize","Merge","mergeTags","setSourceTags","setDestinationTags","isModalOpen","setIsModalOpen","isMergeButtonDisabled","isEmpty","skipPagination","_useMergeTags","useMergeTags","to","updatedBreadcrumbs","text","getTagState","setTags","handleOnTagSelect","_getTagState","isTagPresent","existsById","removeById","primary_id","secondary_id","_mergeTags$onSuccess","Spinner","NeetoUITagMergeIcon","getCurrentTagType","_getQueryParams","getQueryParams","tagLabel","view","requiredTagType","find","_tagType$label","createRoutes","path","component","exact","Tags","config","_config$displayMenu","routes","Switch","Component","_createElement","Route","App"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,MAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;EAAA,oBAC3CC,GAAA,CAACC,GAAG,EAAA;AAACC,IAAAA,SAAS,EAAC,MAAM;IAAAC,QAAA,EAClBC,MAAM,CAACC,MAAM,CAACR,QAAQ,CAAC,CAACS,GAAG,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,oBAC9BP,GAAA,CAACC,GAAG,CAACO,IAAI,EAAA;AACPC,QAAAA,MAAM,EAAEX,OAAO,CAACY,EAAE,KAAKH,GAAG,CAACG,EAAG;QAC9BC,WAAW,EAAEJ,GAAG,CAACI,WAAY;AAE7BC,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbb,UAAU,CAACQ,GAAG,CAAC;SACf;QAAAJ,QAAA,EAEDI,GAAG,CAACM;OALAN,EAAAA,GAAG,CAACG,EAMD,CAAC;KACZ;AAAC,GACC,CAAC;AAAA,CACP;;ACbM,IAAMI,mBAAmB,GAAG,EAAE;AAE9B,IAAMC,0BAA0B,GAAG,CAAC;AAEpC,IAAMC,0BAA0B,GAAG,GAAG;AAEtC,IAAMC,UAAU,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC3CC,EAAAA,IAAI,EAAEH,GAAG,CACNI,MAAM,EAAE,CACRC,SAAS,CAACC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CACrDC,QAAQ,CAACD,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAChDE,GAAG,CACFZ,mBAAmB,EACnBU,CAAC,CAAC,oCAAoC,EAAE;AACtCG,IAAAA,MAAM,EAAEb;AACV,GAAC,CACH,CAAC;EACHH,WAAW,EAAEO,GAAG,CACbI,MAAM,EAAE,CACRC,SAAS,CAACC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAC5DI,QAAQ,EAAE,CACVF,GAAG,CACFV,0BAA0B,EAC1BQ,CAAC,CAAC,2CAA2C,EAAE;AAC7CG,IAAAA,MAAM,EAAEX;AACV,GAAC,CACH;AACJ,CAAC,CAAC;AAEK,IAAMa,iBAAiB,GAAG;AAC/BC,EAAAA,cAAc,EAAE,IAAI;AACpBC,EAAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,gBAAgB,EAAEf;AACpB,CAAC;AAEM,IAAMgB,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAEC,kBAAkB;AACxBC,EAAAA,QAAQ,EAAEC,iBAAiB;AAC3BC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,OAAO,EAAE;AACX,CAAC;AAEM,IAAMC,aAAa,GAAG,CAC3B;AACEC,EAAAA,GAAG,EAAE,MAAM;AACX5B,EAAAA,KAAK,EAAEW,CAAC,CAAC,uBAAuB,CAAC;AACjCkB,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE;AACR,CAAC,CACF;;AC3CD,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAhD,IAAA,EAWN;AAAA,EAAA,IAVJiD,WAAW,GAAAjD,IAAA,CAAXiD,WAAW;IACXC,KAAK,GAAAlD,IAAA,CAALkD,KAAK;IAAAC,iBAAA,GAAAnD,IAAA,CACLoD,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IACpBE,WAAW,GAAArD,IAAA,CAAXqD,WAAW;IACXC,cAAc,GAAAtD,IAAA,CAAdsD,cAAc;IAAAC,kBAAA,GAAAvD,IAAA,CACdwD,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,kBAAA;IAAAG,aAAA,GAAA1D,IAAA,CACpB2D,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IACbE,IAAI,GAAA5D,IAAA,CAAJ4D,IAAI;IAAAC,gBAAA,GAAA7D,IAAA,CACJ8D,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAClBE,qBAAqB,GAAA/D,IAAA,CAArB+D,qBAAqB;AAErB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AACT,EAAA,IAAMsC,OAAO,GAAGC,UAAU,EAAE;EAC5B,IAAMC,SAAS,GAAGC,eAAe,CAAC,YAAA;IAAA,OAAMb,aAAa,EAAE;GAAC,CAAA;EAExD,oBACEpD,GAAA,CAACkE,WAAW,EAAA;AACJrB,IAAAA,WAAW,EAAXA,WAAW;AAAEc,IAAAA,qBAAqB,EAArBA,qBAAqB;IACxCb,KAAK,EAAEA,KAAK,IAAItB,CAAC,CAAC,sBAAsB,EAAE2C,MAAM,CAAE;IAClDC,WAAW,eACTC,IAAA,CAAAC,QAAA,EAAA;AAAAnE,MAAAA,QAAA,EACG6C,CAAAA,YAAY,iBACXhD,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,8BAA8B;AACtCC,QAAAA,QAAQ,EAAE,CAAAhB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAI,CAAC9C,MAAM,IAAGwC,MAAM,CAACO,KAAM;AAC3C7D,QAAAA,KAAK,EAAEW,CAAC,CAAC,2BAA2B,EAAE2C,MAAM,CAAE;AAC9CQ,QAAAA,KAAK,EAAC,WAAW;QACjB/D,OAAO,EAAEgE,eAAe,CAACd,OAAO,KAAAe,MAAA,CAAKtB,QAAQ,EAAQ,QAAA,CAAA;AAAE,OACxD,CACF,eACDvD,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,oBAAoB;AAC5B1D,QAAAA,KAAK,EAAEW,CAAC,CAAC,4BAA4B,EAAEsD,QAAQ,CAAE;AACjDlE,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbsC,cAAc,CAAC,IAAI,CAAC;AACpBD,UAAAA,WAAW,CAAC8B,UAAU,CAACC,MAAM,CAAC;AAChC;AAAE,OACH,CAAC;AAAA,KACF,CACH;IACDC,WAAW,EACTvB,WAAW,IAAI;AACb,MAAA,SAAS,EAAE,oCAAoC;AAC/CwB,MAAAA,QAAQ,EAAElB,SAAS;MACnBmB,WAAW,EAAE3D,CAAC,CAAC,kCAAkC;AACnD;AACD,GACF,CAAC;AAEN,CAAC;;ACxDD,IAAM4D,WAAW,GAAG,SAAdA,WAAWA,CAAAxF,IAAA,EAOX;AAAA,EAAA,IANJyF,UAAU,GAAAzF,IAAA,CAAVyF,UAAU;IACVjC,aAAa,GAAAxD,IAAA,CAAbwD,aAAa;IACbkC,MAAM,GAAA1F,IAAA,CAAN0F,MAAM;IACNC,OAAO,GAAA3F,IAAA,CAAP2F,OAAO;IACPzF,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACP0F,UAAU,GAAA5F,IAAA,CAAV4F,UAAU;AAEV,EAAA,IAAMC,eAAe,GAAGH,MAAM,GAAGI,YAAY,GAAGC,YAAY;AAC5D,EAAA,IAAMC,YAAY,GAAGN,MAAM,GAAGE,UAAU,GAAGH,UAAU;AACrD,EAAA,IAAAQ,gBAAA,GAA4CJ,eAAe,EAAE;IAArDK,MAAM,GAAAD,gBAAA,CAANC,MAAM;IAAaC,YAAY,GAAAF,gBAAA,CAAvBG,SAAS;EAEzB,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAI5F,MAAM,EAAA6F,KAAA,EAAoB;AAAA,IAAA,IAAAC,mBAAA;AAAA,IAAA,IAAhBC,SAAS,GAAAF,KAAA,CAATE,SAAS;AACvC,IAAA,IAAMC,OAAO,GAAG;MACdC,GAAG,EAAExG,OAAO,CAACwG,GAAG;AAChBC,MAAAA,OAAO,EAAE;QACPhG,GAAG,EAAEiG,SAAS,CACZ;AACE7F,UAAAA,WAAW,EAAAwF,CAAAA,mBAAA,GAAE9F,MAAM,CAACM,WAAW,MAAAwF,IAAAA,IAAAA,mBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAoBM,IAAI,EAAE;AACvC9B,UAAAA,KAAK,EAAEtE,MAAM,CAACsE,KAAK,CAAC+B;AACtB,SAAC,EACDrG,MACF;AACF;KACD;AAED,IAAA,IAAIiF,MAAM,EAAE;AACVe,MAAAA,OAAO,CAAC3F,EAAE,GAAGL,MAAM,CAACK,EAAE;AACxB;IAEAoF,MAAM,CAACO,OAAO,EAAE;AACdM,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AAAA,QAAA,IAAAC,qBAAA;AACf,QAAA,CAACtB,MAAM,IAAIlC,aAAa,EAAE;AAC1BwC,QAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAAgB,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAZhB,YAAY,CAAEe,SAAS,MAAA,IAAA,IAAAC,qBAAA,KAAvBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAyBC,QAAQ,EAAE;AACnCtB,QAAAA,OAAO,EAAE;OACV;AACDuB,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbV,QAAAA,SAAS,EAAE;AACb;AACF,KAAC,CAAC;GACH;EAED,OAAO;AAAEH,IAAAA,YAAY,EAAZA,YAAY;AAAEF,IAAAA,YAAY,EAAZA;GAAc;AACvC,CAAC;;;;AC7BD,IAAMgB,UAAU,GAAG,SAAbA,UAAUA,CAAAnH,IAAA,EAQV;AAAA,EAAA,IAPJyF,UAAU,GAAAzF,IAAA,CAAVyF,UAAU;IACVjC,aAAa,GAAAxD,IAAA,CAAbwD,aAAa;IACbmC,OAAO,GAAA3F,IAAA,CAAP2F,OAAO;IACPhF,GAAG,GAAAX,IAAA,CAAHW,GAAG;IACHT,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACP6C,IAAI,GAAA/C,IAAA,CAAJ+C,IAAI;IACJ6C,UAAU,GAAA5F,IAAA,CAAV4F,UAAU;AAEV,EAAA,IAAA5B,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AACT,EAAA,IAAM8D,MAAM,GAAG3C,IAAI,KAAKoC,UAAU,CAACiC,IAAI;AACvC,EAAA,IAAMC,aAAa,GAAG3B,MAAM,GAAG/E,GAAG,GAAG2G,kBAAkB;AACvD,EAAA,IAAMC,cAAc,GAAGC,MAAM,CAAC,IAAI,CAAC;EAEnC,IAAAC,YAAA,GAAuCjC,WAAW,CAAC;AACjDC,MAAAA,UAAU,EAAVA,UAAU;AACVjC,MAAAA,aAAa,EAAbA,aAAa;AACbkC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,OAAO,EAAPA,OAAO;AACPzF,MAAAA,OAAO,EAAPA,OAAO;AACP0F,MAAAA,UAAU,EAAVA;AACF,KAAC,CAAC;IAPMS,YAAY,GAAAoB,YAAA,CAAZpB,YAAY;IAAEF,YAAY,GAAAsB,YAAA,CAAZtB,YAAY;EASlC,oBACE1B,IAAA,CAACiD,IAAI,EAAA;AAAO/B,IAAAA,OAAO,EAAPA,OAAO;AAAIgC,IAAAA,eAAe,EAAEJ,cAAe;IAACK,MAAM,EAAE,CAAC,CAAC7E,IAAK;AAAAxC,IAAAA,QAAA,EACrEH,cAAAA,GAAA,CAACsH,IAAI,CAAC1E,MAAM,EAAA;MAAAzC,QAAA,eACVH,GAAA,CAACyH,UAAU,EAAA;AAAC9C,QAAAA,KAAK,EAAC,IAAI;AAAC+C,QAAAA,MAAM,EAAC,UAAU;AAAAvH,QAAAA,QAAA,EACrCmF,MAAM,GACH9D,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,4BAA4B,EAAEsD,QAAQ;OAClC;AAAC,KACF,CAAC,eACdT,IAAA,CAACsD,IAAI,EAAA;AACHC,MAAAA,WAAW,EAAAC,eAAA,CAAAA,eAAA,KACNhG,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACpBoF,QAAAA,aAAa,EAAbA,aAAa;AACba,QAAAA,QAAQ,EAAE7B;OACV,CAAA;AAAA9F,MAAAA,QAAA,EAEFH,cAAAA,GAAA,CAACsH,IAAI,CAACS,IAAI,EAAA;AAAA5H,QAAAA,QAAA,eACRkE,IAAA,CAAA,KAAA,EAAA;AAAKnE,UAAAA,SAAS,EAAC,gEAAgE;UAAAC,QAAA,EAAA,cAC7EH,GAAA,CAACgI,KAAK,EAAA;YACJvG,QAAQ,EAAA,IAAA;YACRwG,cAAc,EAAA,IAAA;AACd,YAAA,SAAA,EAAQ,qBAAqB;AAC7BpH,YAAAA,KAAK,EAAEW,CAAC,CAAC,uBAAuB,CAAE;AAClC0G,YAAAA,SAAS,EAAEpH,mBAAoB;AAC/BO,YAAAA,IAAI,EAAC,MAAM;AACX8G,YAAAA,GAAG,EAAEhB;AAAe,WACrB,CAAC,eACFnH,GAAA,CAACoI,QAAQ,EAAA;YACPH,cAAc,EAAA,IAAA;AACd,YAAA,SAAA,EAAQ,2BAA2B;AACnCpH,YAAAA,KAAK,EAAEW,CAAC,CAAC,8BAA8B,CAAE;AACzC0G,YAAAA,SAAS,EAAElH,0BAA2B;AACtCK,YAAAA,IAAI,EAAC,aAAa;AAClBgH,YAAAA,IAAI,EAAEtH;AAA2B,WAClC,CAAC,eACFf,GAAA,CAACsI,MAAM,EAAA;AACLjH,YAAAA,IAAI,EAAC,OAAO;YACZkH,OAAO,EAAEnI,MAAM,CAACC,MAAM,CAACmI,UAAU,CAAC,CAAClI,GAAG,CAACmI,eAAe;AAAE,WACzD,CAAC;SACC;AAAC,OACG,CAAC,eACZzI,GAAA,CAACsH,IAAI,CAACoB,MAAM,EAAA;QAAAvI,QAAA,eACVH,GAAA,CAAC2I,WAAW,EAAA;AACJ5C,UAAAA,YAAY,EAAZA,YAAY;AAClB6C,UAAAA,iBAAiB,EAAE;AACjB,YAAA,SAAS,EAAE,qCAAqC;AAChDhI,YAAAA,OAAO,EAAE2E;WACT;AACFsD,UAAAA,iBAAiB,EAAE;AACjB,YAAA,SAAS,EAAE;AACb;SACD;AAAC,OACS,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEX,CAAC;;AC5FD,IAAQlJ,IAAI,GAAemJ,QAAQ,CAA3BnJ,IAAI;EAAEoJ,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ;AAEtB,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAApJ,IAAA,EAAA;AAAA,EAAA,IAAAqJ,eAAA,GAAArJ,IAAA,CACxBsJ,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG5F,KAAAA,CAAAA,GAAAA,IAAI,GAAA4F,eAAA;IAAAE,iBAAA,GAAAvJ,IAAA,CACjBwJ,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG9F,KAAAA,CAAAA,GAAAA,IAAI,GAAA8F,iBAAA;IAAAE,QAAA,GAAAzJ,IAAA,CACnBW,GAAG;AAAHA,IAAAA,GAAG,GAAA8I,QAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,QAAA;AAAA,EAAA,oBAERrJ,GAAA,CAAA,KAAA,EAAA;AAAKY,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAE0I,CAAC,EAAA;AAAA,MAAA,OAAIA,CAAC,CAACC,eAAe,EAAE;KAAC;IAAApJ,QAAA,eACrCH,GAAA,CAAC8I,QAAQ,EAAA;MACPU,SAAS,EAAA,IAAA;MACTC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;QAAA,OAAQC,QAAQ,CAACC,IAAI;OAAC;AAC9BC,MAAAA,WAAW,EAAE;AAAEjF,QAAAA,KAAK,EAAE,MAAM;AAAEzE,QAAAA,SAAS,EAAE;OAAc;AACvD2J,MAAAA,IAAI,EAAEC,cAAe;AACrBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,QAAQ,EAAC,OAAO;MAAA7J,QAAA,eAEhBkE,IAAA,CAAC1E,IAAI,EAAA;AAAAQ,QAAAA,QAAA,EACHH,cAAAA,GAAA,CAAC+I,QAAQ,CAACxE,MAAM,EAAA;AACd,UAAA,SAAA,EAAQ,kBAAkB;UAC1B3D,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQsI,UAAU,CAAC3I,GAAG,CAAC;WAAC;UAAAJ,QAAA,EAE9BqB,CAAC,CAAC,uBAAuB;AAAC,SACZ,CAAC,eAClBxB,GAAA,CAAC+I,QAAQ,CAACxE,MAAM,EAAA;AACd,UAAA,SAAA,EAAQ,oBAAoB;UAC5B3D,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQwI,YAAY,CAAC7I,GAAG,CAAC;WAAC;UAAAJ,QAAA,EAEhCqB,CAAC,CAAC,yBAAyB;AAAC,SACd,CAAC;OACd;KACE;AAAC,GACR,CAAC;AAAA,CACP;AAEM,IAAMyI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIf,UAAU,EAAEE,YAAY,EAAA;AAAA,EAAA,IAAEc,OAAO,GAAAC,SAAA,CAAAxI,MAAA,GAAA,CAAA,IAAAwI,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OACrE,CAAA;AACErH,IAAAA,KAAK,EAAEtB,CAAC,CAAC,uBAAuB,CAAC;AACjC6I,IAAAA,SAAS,EAAE,MAAM;AACjB5H,IAAAA,GAAG,EAAE,MAAM;AACX6H,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGlJ,IAAI,EAAEd,GAAG,EAAA;AAAA,MAAA,oBAChB8D,IAAA,CAAA,KAAA,EAAA;AAAKnE,QAAAA,SAAS,EAAC,0BAA0B;QAAAC,QAAA,EAAA,cACvCH,GAAA,CAACwK,GAAG,EAAA;AAAC3J,UAAAA,KAAK,EAAEQ,IAAK;UAACsD,KAAK,EAAEpE,GAAG,CAACoE;SAAQ,CAAC,EACrCqE,oBAAoB,CAAC;AAAEE,UAAAA,UAAU,EAAVA,UAAU;AAAEE,UAAAA,YAAY,EAAZA,YAAY;AAAE7I,UAAAA,GAAG,EAAHA;AAAI,SAAC,CAAC;AAAA,OACrD,CAAC;AAAA;AAEV,GAAC,EACD;AACEuC,IAAAA,KAAK,EAAEtB,CAAC,CAAC,8BAA8B,CAAC;AACxC6I,IAAAA,SAAS,EAAE,aAAa;AACxB5H,IAAAA,GAAG,EAAE,aAAa;AAClB6H,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAE5J,WAAW,EAAA;MAAA,oBACjBX,GAAA,CAACyH,UAAU,EAAA;AAACvH,QAAAA,SAAS,EAAC,mBAAmB;AAAAC,QAAAA,QAAA,EAAEQ;AAAW,OAAa,CAAC;AAAA;AAExE,GAAC,CAAAkE,CAAAA,MAAA,CAAA4F,kBAAA,CACEP,OAAO,CAAA,CAAA;AAAA,CACX;;;;ACxDD,IAAMQ,KAAK,GAAG,SAARA,KAAKA,CAAA9K,IAAA,EAWL;AAAA,EAAA,IAAA+K,UAAA;AAAA,EAAA,IAVJnH,IAAI,GAAA5D,IAAA,CAAJ4D,IAAI;IACJoH,OAAO,GAAAhL,IAAA,CAAPgL,OAAO;IACPxB,YAAY,GAAAxJ,IAAA,CAAZwJ,YAAY;IACZF,UAAU,GAAAtJ,IAAA,CAAVsJ,UAAU;IACV2B,cAAc,GAAAjL,IAAA,CAAdiL,cAAc;IACdC,SAAS,GAAAlL,IAAA,CAATkL,SAAS;IACTC,aAAa,GAAAnL,IAAA,CAAbmL,aAAa;IACbC,kBAAkB,GAAApL,IAAA,CAAlBoL,kBAAkB;IAClBlL,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPmL,WAAW,GAAArL,IAAA,CAAXqL,WAAW;AAEX,EAAA,IAAArH,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AAET,EAAA,IAAI,CAACsJ,SAAS,IAAI,EAACtH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAAmH,KAAAA,CAAAA,IAAAA,CAAAA,UAAA,GAAJnH,IAAI,CAAEiB,IAAI,MAAAkG,IAAAA,IAAAA,UAAA,eAAVA,UAAA,CAAYhJ,MAAM,CAAE,EAAA;AACrC,IAAA,oBACE3B,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,iBAAiB;AAAC,MAAA,SAAA,EAAQ,uBAAuB;MAAAC,QAAA,eAC9DH,GAAA,CAACkL,MAAM,EAAArD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAA;AACCmD,QAAAA,kBAAkB,EAAlBA;AAAkB,OAAA,EAAKC,WAAW,CAAA,CAAA,EAAA,EAAA,EAAA;QACxCnI,KAAK,EAAEtB,CAAC,CAAC,8BAA8B;OACxC,CAAA;AAAC,KACC,CAAC;AAEV;EAEA,oBACExB,GAAA,CAACmL,YAAY,EAAA;AAACC,IAAAA,aAAa,EAAE,CAAA5H,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE6H,UAAU,IAAGT,OAAO,CAACxI,QAAS;IAAAjC,QAAA,eAC/DH,GAAA,CAACsL,YAAY,EAAA;MACXC,WAAW,EAAA,IAAA;MACXC,aAAa,EAAE,CAAC,CAACT,aAAc;MAC/BU,UAAU,EAAExB,gBAAgB,CAACf,UAAU,EAAEE,YAAY,EAAEtJ,OAAO,CAACoK,OAAO,CAAE;MACxEwB,iBAAiB,EAAEd,OAAO,CAAC1I,IAAK;MAChCyJ,eAAe,EAAEf,OAAO,CAACxI,QAAS;AAClCwJ,MAAAA,OAAO,EAAEd,SAAU;AACnBe,MAAAA,eAAe,EAAE;AAAEC,QAAAA,eAAe,EAAE;OAAQ;AAC5CC,MAAAA,OAAO,EAAEvI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAK;AACpBuH,MAAAA,YAAY,EAAE,KAAM;AACpBC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,CAAC,EAAE;OAAI;AACjBb,MAAAA,UAAU,EAAE7H,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAE6H,UAAW;AAC7BnG,MAAAA,QAAQ,EAAE2F,cAAe;MACzBsB,UAAU,EAAE,SAAZA,UAAUA,CAAGC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAA;AAAA,QAAA,OAClCvB,aAAa,CAAC;AAAEqB,UAAAA,KAAK,EAALA,KAAK;AAAE7L,UAAAA,GAAG,EAAE8L,MAAM;AAAEC,UAAAA,QAAQ,EAARA;AAAS,SAAC,CAAC;AAAA;KAElD;AAAC,GACU,CAAC;AAEnB,CAAC;;;;AC7BD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA3M,IAAA,EAeT;AAAA,EAAA,IAdJiD,WAAW,GAAAjD,IAAA,CAAXiD,WAAW;IACXC,KAAK,GAAAlD,IAAA,CAALkD,KAAK;IACLuC,UAAU,GAAAzF,IAAA,CAAVyF,UAAU;IACVmH,UAAU,GAAA5M,IAAA,CAAV4M,UAAU;IACVC,WAAW,GAAA7M,IAAA,CAAX6M,WAAW;IACX1B,aAAa,GAAAnL,IAAA,CAAbmL,aAAa;IAAAhI,iBAAA,GAAAnD,IAAA,CACboD,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IACpBQ,QAAQ,GAAA3D,IAAA,CAAR2D,QAAQ;IACRzD,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACP0F,UAAU,GAAA5F,IAAA,CAAV4F,UAAU;IACVzF,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVF,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAA6M,gBAAA,GAAA9M,IAAA,CACRqL,WAAW;AAAXA,IAAAA,WAAW,GAAAyB,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,qBAAA,GAAA/M,IAAA,CAChB+D,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAgJ,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;AAE1B,EAAA,IAAM7I,OAAO,GAAGC,UAAU,EAAE;AAC5B,EAAA,IAAM6I,WAAW,GAAGC,cAAc,EAAE;AACpC,EAAA,IAAAC,qBAAA,GAA4BF,WAAW,CAA/BG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAEvB,EAAA,IAAME,kBAAkB,GAAG;AACzBtK,IAAAA,IAAI,EAAE,MAAM;AACZgE,IAAAA,KAAK,EAAEqG,UAAU;AACjBtK,IAAAA,GAAG,EAAE;GACN;AAED,EAAA,IAAAwK,SAAA,GAAsCC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEjK,IAAAA,cAAc,GAAAiK,UAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAG,UAAA,GAAgCJ,QAAQ,CAAC,IAAI,CAAC;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAAvCE,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEtK,IAAAA,WAAW,GAAAsK,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAE,UAAA,GAAkDP,QAAQ,CAAC,KAAK,CAAC;IAAAQ,UAAA,GAAAN,cAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAA8BX,QAAQ,CAACjL,eAAe,CAAC;IAAA6L,UAAA,GAAAV,cAAA,CAAAS,UAAA,EAAA,CAAA,CAAA;AAAhDjD,IAAAA,OAAO,GAAAkD,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAE,UAAA,GAAkDd,QAAQ,CAAC,KAAK,CAAC;IAAAe,WAAA,GAAAb,cAAA,CAAAY,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,WAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,WAAA,GAAwClB,QAAQ,CAC9CmB,mBAAmB,CAAAxJ,EAAAA,CAAAA,MAAA,CAAA4F,kBAAA,CAAKjI,aAAa,CAAA,EAAA,CAAEwK,kBAAkB,CAAA,CAAC,CAC5D,CAAC;IAAAsB,WAAA,GAAAlB,cAAA,CAAAgB,WAAA,EAAA,CAAA,CAAA;AAFMG,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,WAAA,CAAA,CAAA,CAAA;AAIpC,EAAA,IAAAG,aAAA,GAA4BC,YAAY,CAAA7G,eAAA,CAAA;MACtCvB,GAAG,EAAExG,OAAO,CAACwG,GAAG;AAChBiI,MAAAA,YAAY,EAAZA;KACG3D,EAAAA,OAAO,CACX,CAAC;IAJMpH,IAAI,GAAAiL,aAAA,CAAJjL,IAAI;IAAEsH,SAAS,GAAA2D,aAAA,CAAT3D,SAAS;AAMvB,EAAA,IAAAlH,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AAET,EAAA,IAAMwJ,kBAAkB,GAAG;AACzB,IAAA,SAAS,EAAE,oBAAoB;AAC/BnK,IAAAA,KAAK,EAAEW,CAAC,CAAC,4BAA4B,EAAEsD,QAAQ,CAAC;AAChDlE,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACbsC,cAAc,CAAC,IAAI,CAAC;AACpBD,MAAAA,WAAW,CAAC8B,UAAU,CAACC,MAAM,CAAC;AAChC;GACD;AAED,EAAA,IAAMkE,UAAU,GAAG,SAAbA,UAAUA,CAAG3I,GAAG,EAAI;IACxB2C,cAAc,CAAC3C,GAAG,CAAC;AACnB0C,IAAAA,WAAW,CAAC8B,UAAU,CAACiC,IAAI,CAAC;GAC7B;AAED,EAAA,IAAMoC,YAAY,GAAG,SAAfA,YAAYA,CAAG7I,GAAG,EAAI;IAC1B2C,cAAc,CAAC3C,GAAG,CAAC;IACnBqN,oBAAoB,CAAC,IAAI,CAAC;GAC3B;AAED,EAAA,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;IAC7Bf,oBAAoB,CAAC,KAAK,CAAC;IAC3B1K,cAAc,CAAC,IAAI,CAAC;GACrB;EAED,IAAM2H,cAAc,GAAG,SAAjBA,cAAcA,CAAA3E,KAAA,EAElB0I,CAAC,EAAAC,KAAA,EAAA;AAAA,IAAA,IADU3M,IAAI,GAAAgE,KAAA,CAAb4I,OAAO;AAAA,IAAA,IAEAxM,MAAM,GAAAuM,KAAA,CAAbE,KAAK;MAAiBxM,OAAO,GAAAsM,KAAA,CAAdG,KAAK;IAAA,OACnBjB,UAAU,CAACvH,SAAS,CAAC;AAAEtE,MAAAA,IAAI,EAAJA,IAAI;MAAEI,MAAM,EAAEC,OAAO,IAAID,MAAM;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC,CAAC;AAAA,GAAA;AAExE,EAAA,IAAA0M,aAAA,GAA6CC,YAAY,EAAE;IAAnDpJ,MAAM,GAAAmJ,aAAA,CAANnJ,MAAM;IAAaqJ,aAAa,GAAAF,aAAA,CAAxBjJ,SAAS;AAEzB,EAAA,IAAMoJ,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;AAChC,IAAA,IAAM7I,OAAO,GAAG;MAAED,GAAG,EAAExG,OAAO,CAACwG,GAAG;AAAE5F,MAAAA,EAAE,EAAE2M,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAE3M;KAAI;AACzD,IAAA,IAAM2O,aAAa,GAAG,CAACF,aAAa,IAAIxB,iBAAiB;AACzD0B,IAAAA,aAAa,IACXvJ,MAAM,CAACS,OAAO,EAAE;AACdI,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QAAA,IAAAgE,UAAA,EAAA2E,qBAAA;QACf1B,oBAAoB,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAApK,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAAmH,KAAAA,CAAAA,IAAAA,CAAAA,UAAA,GAAJnH,IAAI,CAAEiB,IAAI,MAAA,IAAA,IAAAkG,UAAA,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAYhJ,MAAM,MAAK,CAAC,EAAE;UAC5BoM,UAAU,CAACvH,SAAS,CAAC;AAAEtE,YAAAA,IAAI,EAAE0I,OAAO,CAAC1I,IAAI,GAAG;AAAE,WAAC,CAAC,CAAC;AACnD;AACAsK,QAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAA8C,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAV9C,UAAU,CAAE7F,SAAS,MAAA,IAAA,IAAA2I,qBAAA,KAArBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAuBzI,QAAQ,EAAE;AACjC;AACA0I,QAAAA,kBAAkB,EAAE;AACtB;AACF,KAAC,CAAC;GACL;AAED,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAG5E,OAAO,EAAI;AACrC9G,IAAAA,OAAO,CAAC2L,IAAI,CACVC,QAAQ,CACNC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EACxBrJ,SAAS,CAAC;AAAEtE,MAAAA,IAAI,EAAEC;AAAmB,KAAC,EAAEyK,WAAW,CACrD,CACF,CAAC;IACD4B,eAAe,CAAC5D,OAAO,CAAC;GACzB;AAED,EAAA,IAAM5G,SAAS,GAAG,SAAZA,SAASA,GAAA;IAAA,OAAS+J,UAAU,CAACvH,SAAS,CAAC;AAAEtE,MAAAA,IAAI,EAAEC;AAAmB,KAAC,CAAC,CAAC;AAAA,GAAA;AAE3E,EAAA,IAAMuB,WAAW,GAAGoM,SAAS,CAACvB,YAAY,CAAC,IAAI,CAAA/K,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAE6H,UAAU,IAAG,CAAC;EAEnE,oBACEhH,IAAA,CAAAC,QAAA,EAAA;IAAAnE,QAAA,EAAA,cACEkE,IAAA,CAAC0L,SAAS,EAAA;MAAA5P,QAAA,EAAA,cACRH,GAAA,CAAC4C,MAAM,EAAA;AAEHC,QAAAA,WAAW,EAAXA,WAAW;AACXW,QAAAA,IAAI,EAAJA,IAAI;AACJiJ,QAAAA,WAAW,EAAXA,WAAW;AACXxJ,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,cAAc,EAAdA,cAAc;AACdQ,QAAAA,WAAW,EAAXA,WAAW;AACXV,QAAAA,YAAY,EAAZA,YAAY;AACZO,QAAAA,QAAQ,EAARA,QAAQ;AACRT,QAAAA,KAAK,EAALA,KAAK;AACLa,QAAAA,qBAAqB,EAArBA,qBAAqB;AAEvBP,QAAAA,aAAa,EAAEY;AAAU,OAC1B,CAAC,EACDN,WAAW,iBACV1D,GAAA,CAACgQ,SAAS,EAAA;AACR9P,QAAAA,SAAS,EAAC,MAAM;QAChB+P,eAAe,eACbjQ,GAAA,CAACyH,UAAU,EAAA;AACTvH,UAAAA,SAAS,EAAC,mBAAmB;AAC7B,UAAA,SAAA,EAAQ,qCAAqC;AAC7CyE,UAAAA,KAAK,EAAC,IAAI;AACV+C,UAAAA,MAAM,EAAC,UAAU;AAAAvH,UAAAA,QAAA,EAEhBqB,CAAC,CAAC,+BAA+B,EAAE;YAClCkD,KAAK,EAAE,CAAAlB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAE6H,UAAU,KAAI,CAAC;YAC5B1I,IAAI,EAAE,CAAA7C,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEe,KAAK,KAAI;WACzB;AAAC,SACQ,CACb;AACDqP,QAAAA,gBAAgB,eACdlQ,GAAA,CAACgQ,SAAS,CAACG,UAAU,EAAA;AACnBC,UAAAA,WAAW,EAAE;AACXlG,YAAAA,OAAO,EAAE1H,aAAa;AACtBgF,YAAAA,MAAM,EAAE0G,iBAAiB;AACzBmC,YAAAA,SAAS,EAAElC,oBAAoB;AAC/BjJ,YAAAA,QAAQ,EAAEsK,mBAAmB;AAC7Bc,YAAAA,OAAO,EAAEtD;AACX;SACD;AACF,OACF,CACF,eACDhN,GAAA,CAACuQ,UAAU,EAAA;AACTrG,QAAAA,OAAO,EAAE1H,aAAc;AACvBgF,QAAAA,MAAM,EAAE0G,iBAAkB;AAC1BoC,QAAAA,OAAO,EAAEtD,kBAAmB;AAC5B9H,QAAAA,QAAQ,EAAEsK;AAAoB,OAC/B,CAAC,EACD/C,WAAW,iBAAIzM,GAAA,CAACL,MAAI,EAAA;AAAOI,QAAAA,UAAU,EAAVA,UAAU;AAAED,QAAAA,OAAO,EAAPA,OAAO;AAAED,QAAAA,QAAQ,EAARA;AAAQ,OAAK,CAAC,eAC/DG,GAAA,CAAC0K,KAAK,EAAA;AAEFlH,QAAAA,IAAI,EAAJA,IAAI;AACJoH,QAAAA,OAAO,EAAPA,OAAO;AACPxB,QAAAA,YAAY,EAAZA,YAAY;AACZF,QAAAA,UAAU,EAAVA,UAAU;AACV2B,QAAAA,cAAc,EAAdA,cAAc;AACdC,QAAAA,SAAS,EAATA,SAAS;AACTG,QAAAA,WAAW,EAAXA,WAAW;AACXF,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBlL,QAAAA,OAAO,EAAPA;AAAO,OAEV,CAAC;AAAA,KACO,CAAC,eACZE,GAAA,CAAC+G,UAAU,EAAA;AACH1B,MAAAA,UAAU,EAAVA,UAAU;AAAEvF,MAAAA,OAAO,EAAPA,OAAO;AAAE0F,MAAAA,UAAU,EAAVA,UAAU;AACrCpC,MAAAA,aAAa,EAAEY,SAAU;AACzBzD,MAAAA,GAAG,EAAE8M,WAAY;AACjB1K,MAAAA,IAAI,EAAE6K,QAAS;MACfjI,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQtC,WAAW,CAAC,IAAI,CAAC;AAAA;AAAC,KAClC,CAAC,eACFjD,GAAA,CAACwQ,KAAK,EAAA;AACJC,MAAAA,iBAAiB,EAAEjP,CAAC,CAAC,yBAAyB,CAAE;AAChDgG,MAAAA,MAAM,EAAEmG,iBAAkB;AAC1B5H,MAAAA,YAAY,EAAEoJ,aAAc;AAC5BuB,MAAAA,iBAAiB,EAAElP,CAAC,CAAC,yBAAyB,CAAE;AAChDsB,MAAAA,KAAK,EAAEtB,CAAC,CAAC,iCAAiC,CAAE;MAC5CmP,OAAO,eACL3Q,GAAA,CAAC4Q,KAAK,EAAA;AACJC,QAAAA,OAAO,EAAC,oCAAoC;AAC5CxQ,QAAAA,MAAM,EAAE;AAAEgB,UAAAA,IAAI,EAAEgM,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEhM;AAAK;AAAE,OACrC,CACF;AACDkE,MAAAA,OAAO,EAAEoJ,gBAAiB;AAC1B7G,MAAAA,QAAQ,EAAEsH;AAAoB,KAC/B,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;AC5NM,IAAM0B,4BAA4B,GAAG;AAC1C,EAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,IAAI,EAAE,OAAO;EACblQ,KAAK,EAAEW,CAAC,CAAC,yBAAyB;AACpC,CAAC;;ACFM,IAAMwP,WAAW,GAAG,SAAdA,WAAWA,CAAApR,IAAA,EAAA;AAAA,EAAA,IAAAqR,oBAAA,GAAArR,IAAA,CACtBsR,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IAAAE,aAAA,GAAAvR,IAAA,CACpBwR,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,eAAA,GAAAzR,IAAA,CAChB0R,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;AAAA,EAAA,OAEfD,QAAQ,GACJ;AACEvQ,IAAAA,KAAK,EAAEW,CAAC,CAAC,iCAAiC,EAAEsD,QAAQ,CAAC;AACrD4B,IAAAA,KAAK,EAAE,QAAQ;AACf6K,IAAAA,MAAM,EAAEC,KAAK,CAAC,IAAI,EAAEF,UAAU,CAAC;AAC/BG,IAAAA,aAAa,EAAED,KAAK,CAAC,IAAI,EAAEN,eAAe;AAC5C,GAAC,GACD;AACErQ,IAAAA,KAAK,EAAEW,CAAC,CAAC,sCAAsC,EAAEsD,QAAQ,CAAC;AAC1D4B,IAAAA,KAAK,EAAE,aAAa;AACpB6K,IAAAA,MAAM,EAAEC,KAAK,CAAC,IAAI,EAAEN,eAAe,CAAC;AACpCO,IAAAA,aAAa,EAAED,KAAK,CAAC,IAAI,EAAEF,UAAU;GACtC;AAAA,CAAA;AAEA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIjN,IAAI,EAAE6M,UAAU,EAAK;AACrD,EAAA,IAAMK,iBAAiB,GAAGlN,IAAI,CAACmN,MAAM,CAAC,UAAArR,GAAG,EAAA;AAAA,IAAA,OACvC+Q,UAAU,CAACO,KAAK,CAAC,UAAAC,SAAS,EAAA;AAAA,MAAA,OAAIA,SAAS,CAACpR,EAAE,KAAKH,GAAG,CAACG,EAAE;KAAC,CAAA;AAAA,GACxD,CAAC;EAED,OAAAmE,EAAAA,CAAAA,MAAA,CAAA4F,kBAAA,CAAW6G,UAAU,CAAA7G,EAAAA,kBAAA,CAAKkH,iBAAiB,CAAA,CAAA;AAC7C,CAAC;;ACpBD,IAAMI,IAAI,GAAG,SAAPA,IAAIA,CAAAnS,IAAA,EAMJ;AAAA,EAAA,IAAAuR,aAAA,GAAAvR,IAAA,CALJwR,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAF,oBAAA,GAAArR,IAAA,CAChBsR,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IACpBe,QAAQ,GAAApS,IAAA,CAARoS,QAAQ;IAAAX,eAAA,GAAAzR,IAAA,CACR0R,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAY,YAAA,GAAArS,IAAA,CACfsS,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;AAEZ,EAAA,IAAArO,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AACT,EAAA,IAAAyL,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCF,IAAAA,UAAU,GAAAI,UAAA,CAAA,CAAA,CAAA;AAAEgF,IAAAA,aAAa,GAAAhF,UAAA,CAAA,CAAA,CAAA;EAChC,IAAMiF,QAAQ,GAAGC,OAAO,CACtB,YAAA;AAAA,IAAA,OAAMrB,WAAW,CAAC;AAAEE,MAAAA,eAAe,EAAfA,eAAe;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEE,MAAAA,UAAU,EAAVA;AAAW,KAAC,CAAC;AAAA,GAAA,EAC5D,CAACF,QAAQ,EAAEE,UAAU,EAAEJ,eAAe,CAAC;GACxC;AAED,EAAA,IAAMoB,YAAY,GAAGZ,iBAAiB,CAACQ,OAAO,EAAEZ,UAAU,CAAC,CAACM,MAAM,CAAC,UAAArR,GAAG,EAAA;AAAA,IAAA,IAAAgS,SAAA;AAAA,IAAA,OACpEhS,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,IAAA,CAAAgS,SAAA,GAAHhS,GAAG,CAAEc,IAAI,cAAAkR,SAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,SAAA,GAATA,SAAA,CAAWC,WAAW,EAAE,cAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,SAAA,CAA0BE,QAAQ,CAAC1F,UAAU,CAACyF,WAAW,EAAE,CAAC/L,IAAI,EAAE,CAAC;AAAA,GACrE,CAAC;AAED,EAAA,oBACEpC,IAAA,CAAA,KAAA,EAAA;AAAKnE,IAAAA,SAAS,EAAC,4JAA4J;IAAAC,QAAA,EAAA,cACzKH,GAAA,CAACyH,UAAU,EAAA;AAACvH,MAAAA,SAAS,EAAC,eAAe;AAACyE,MAAAA,KAAK,EAAC,IAAI;MAAAxE,QAAA,EAC7CiS,QAAQ,CAACvR;AAAK,KACL,CAAC,eACbb,GAAA,CAACgI,OAAK,EAAA;AACJ9H,MAAAA,SAAS,EAAC,aAAa;AACvB,MAAA,SAAA,EAAA,mBAAA,CAAA2E,MAAA,CAA6BuN,QAAQ,CAAC1L,KAAK,EAA2B,0BAAA,CAAA;AACtEvB,MAAAA,WAAW,EAAE3D,CAAC,CAAC,kCAAkC,CAAE;AACnDkF,MAAAA,KAAK,EAAEqG,UAAW;AAClB7H,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEoE,CAAC,EAAA;AAAA,QAAA,OAAI6I,aAAa,CAAC7I,CAAC,CAACoJ,MAAM,CAAChM,KAAK,CAAC;AAAA;KAC7C,CAAC,eACF1G,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,yBAAyB;AACnC,MAAA,SAAA,EAAA,mBAAA,CAAA2E,MAAA,CAA6BuN,QAAQ,CAAC1L,KAAK,EAAa,YAAA,CAAA;AAAAvG,MAAAA,QAAA,EAEvDmS,YAAY,CAAChS,GAAG,CAAC,UAAAC,GAAG,EAAI;QACvB,IAAMoS,cAAc,GAAGP,QAAQ,CAACb,MAAM,CAACkB,QAAQ,CAAClS,GAAG,CAACG,EAAE,CAAC;QACvD,IAAMkS,mBAAmB,GAAGR,QAAQ,CAACX,aAAa,CAACgB,QAAQ,CAAClS,GAAG,CAACG,EAAE,CAAC;AAEnE,QAAA,oBACE2D,IAAA,CAAA,KAAA,EAAA;AACE,UAAA,SAAA,EAAA,mBAAA,CAAAQ,MAAA,CAA6BuN,QAAQ,CAAC1L,KAAK,EAAQ,OAAA,CAAA;AAEnDxG,UAAAA,SAAS,EAAE2S,UAAS,CAClB,+JAA+J,EAC/J;AACE,YAAA,kDAAkD,EAChDF,cAAc;YAChB,4BAA4B,EAAE,CAACA,cAAc;AAC7C,YAAA,yEAAyE,EACvEC;AACJ,WACF,CAAE;UACFhS,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OACL,CAACgS,mBAAmB,IAAIZ,QAAQ,CAACzR,GAAG,EAAE6R,QAAQ,CAAC1L,KAAK,CAAC;WACtD;AAAAvG,UAAAA,QAAA,gBAEDH,GAAA,CAAA,MAAA,EAAA;YAAAG,QAAA,EAAOI,GAAG,CAACc;AAAI,WAAO,CAAC,EACtBsR,cAAc,iBAAI3S,GAAA,CAAC8S,KAAK,EAAA;AAAC/B,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC;SAhBjCxQ,EAAAA,GAAG,CAACG,EAiBN,CAAC;OAET;AAAC,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;;;;;;;;;;;;;;;;ACvED,CAAA,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE;AAC5B;AACA,GAAE,IAAI,OAAOqS,eAAO,KAAK,UAAU,IAAI,QAAc,KAAK,QAAQ,IAAI,QAAa,KAAK,QAAQ,EAAE;AAClG;KACI,MAAA,CAAA,OAAA,GAAiB,SAAS,EAAE;IAC7B,MAKM;AACT;AACA,KAAI,IAAI,CAAC,SAAS,GAAG,SAAS,EAAE;;EAE/B,EAAEC,cAAI,EAAE,YAAY;AACrB;AACA;AACA,GAAE,IAAI,WAAW,GAAG,EAAE;AACtB,GAAE,IAAI,aAAa,GAAG,EAAE;AACxB,GAAE,IAAI,YAAY,GAAG,EAAE;AACvB,GAAE,IAAI,gBAAgB,GAAG,EAAE;AAC3B,GAAE,IAAI,gBAAgB,GAAG,EAAE;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,YAAY,EAAE,IAAI,EAAE;AAC/B,KAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClC,OAAM,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC;;;KAG1C,OAAO,IAAI;;;AAGf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;AACrC;AACA,KAAI,IAAI,IAAI,KAAK,KAAK,EAAE,OAAO,KAAK;;AAEpC;AACA,KAAI,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE;;AAE/D;AACA,KAAI,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE;;AAE/D;AACA,KAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;OACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;;;AAG1E;AACA,KAAI,OAAO,KAAK,CAAC,WAAW,EAAE;;;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE;KAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE;AAC/D,OAAM,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAC9B,MAAK,CAAC;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;AAChC,KAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,EAAE,KAAK,EAAE;AACzD,OAAM,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;;AAElD,OAAM,IAAI,KAAK,KAAK,EAAE,EAAE;AACxB,SAAQ,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;;;AAGnD,OAAM,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;AACvC,MAAK,CAAC;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;AAC7C;AACA,KAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;OACvD,OAAO,IAAI;;;AAGjB,KAAI,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;;AAE1B;KACI,OAAO,GAAG,EAAE,EAAE;AAClB,OAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;;AAE3B,OAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;;;KAGpD,OAAO,IAAI;;;AAGf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;KAChD,OAAO,UAAU,IAAI,EAAE;AAC3B;AACA,OAAM,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;;AAEpC;AACA,OAAM,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AACzC,SAAQ,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;;;AAGvC;AACA,OAAM,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;SACpC,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;;;AAGnD;OACM,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7C,MAAK;;;AAGL;AACA;AACA;GACE,SAAS,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;KACpD,OAAO,UAAU,IAAI,EAAE;AAC3B,OAAM,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;;OAE9B,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,IAAI;OAC9C,IAAI,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK;;OAElD,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK;AACxD,MAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;AAC9C,KAAI,IAAI,UAAU,GAAG,KAAK,KAAK;AAC/B,SAAQ,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;;KAErD,OAAO,CAAC,SAAS,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,IAAI,UAAU;;;AAGtD;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,MAAM,GAAG,WAAW;AAChC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE;AACxC,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,QAAQ,GAAG,SAAS;AAChC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE;AACxC,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,QAAQ,GAAG,WAAW;AAClC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE;AACxC,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,UAAU,GAAG,SAAS;AAClC,KAAI,gBAAgB,EAAE,gBAAgB,EAAE;AACxC,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,CAAC,aAAa,GAAG,UAAU,IAAI,EAAE,WAAW,EAAE;AACzD,KAAI,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,CAAC,eAAe,GAAG,UAAU,IAAI,EAAE,WAAW,EAAE;AAC3D,KAAI,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AACzD,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,CAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE;AACjD,KAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;OAC5B,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI;AAC7C,OAAM;;;AAGN;KACI,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;KACnC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;AACzC,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;GACE,SAAS,CAAC,gBAAgB,GAAG,UAAU,MAAM,EAAE,MAAM,EAAE;AACzD,KAAI,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;AACjC,KAAI,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;;AAEjC,KAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM;AACrC,KAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM;AACrC,IAAG;;AAEH;AACA;AACA;GACE;AACF;AACA,KAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AACf,KAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAChB,KAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAClB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AACpB,KAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;AAC3B,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC9B,KAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC5B,KAAI,CAAC,SAAS,EAAE,YAAY,CAAC;AAC7B,KAAI,CAAC,SAAS,EAAE,YAAY,CAAC;AAC7B,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC9B,KAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACjB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AACrB,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AACrB;AACA,KAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;AACtB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,SAAS,EAAE,WAAW,CAAC;AAC5B,KAAI,CAAC,SAAS,EAAE,WAAW,CAAC;AAC5B,KAAI,CAAC,SAAS,EAAE,WAAW,CAAC;AAC5B;AACA,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzB;AACA,KAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1B,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC1B,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;AAC9B;AACA,KAAI,CAAC,IAAI,EAAE,MAAM,CAAC;AAClB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACnB,KAAI,CAAC,KAAK,EAAE,OAAO,CAAC;AACpB,KAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AACpB,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AACrB,KAAI,CAAC,OAAO,EAAE,OAAO,CAAC;AACtB,KAAI,CAAC,OAAO,EAAE,OAAO,CAAC;AACtB,KAAI,CAAC,MAAM,EAAE,SAAS,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACxB,KAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzB,KAAI,CAAC,SAAS,EAAE,UAAU,CAAC;AAC3B,KAAI,CAAC,UAAU,EAAE,WAAW;AAC5B,IAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC5B,KAAI,OAAO,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvD,IAAG,CAAC;;AAEJ;AACA;AACA;GACE;AACF,KAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AACjB,KAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC;AAChC,KAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC;AAC7B,KAAI,CAAC,eAAe,EAAE,MAAM,CAAC;AAC7B,KAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC;AAClD,KAAI,CAAC,cAAc,EAAE,KAAK,CAAC;AAC3B,KAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC;AACpD,KAAI,CAAC,2FAA2F,EAAE,KAAK,CAAC;AACxG,KAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;AAC7C,KAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC;AACxC,KAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC;AAC/B,KAAI,CAAC,uHAAuH,EAAE,KAAK,CAAC;AACpI,KAAI,CAAC,oGAAoG,EAAE,KAAK,CAAC;AACjH,KAAI,CAAC,OAAO,EAAE,KAAK,CAAC;AACpB,KAAI,CAAC,0CAA0C,EAAE,SAAS,CAAC;AAC3D,KAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAClC,KAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;AACrC,KAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;AACjC,KAAI,CAAC,+CAA+C,EAAE,QAAQ,CAAC;AAC/D,KAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC;AAC9C,KAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC;AACrC,KAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAClC,KAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;AACpB,KAAI,CAAC,UAAU,EAAE,KAAK,CAAC;AACvB,KAAI,CAAC,MAAM,EAAE,KAAK;AAClB,IAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC5B,KAAI,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,IAAG,CAAC;;AAEJ;AACA;AACA;GACE;AACF,KAAI,CAAC,KAAK,EAAE,EAAE,CAAC;AACf,KAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;AACpB,KAAI,CAAC,+DAA+D,EAAE,MAAM,CAAC;AAC7E,KAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC;AAC9C,KAAI,CAAC,OAAO,EAAE,GAAG,CAAC;AAClB,KAAI,CAAC,sFAAsF,EAAE,MAAM,CAAC;AACpG,KAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;AACjC,KAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC;AACtC,KAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC;AACjC,KAAI,CAAC,0FAA0F,EAAE,IAAI,CAAC;AACtG,KAAI,CAAC,oEAAoE,EAAE,OAAO,CAAC;AACnF,KAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC;AAC5C,KAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC;AACjC,KAAI,CAAC,2FAA2F,EAAE,MAAM,CAAC;AACzG,KAAI,CAAC,wGAAwG,EAAE,MAAM,CAAC;AACtH,KAAI,CAAC,6FAA6F,EAAE,MAAM,CAAC;AAC3G,KAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;AACtC,KAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC;AAC5C,KAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACnC,KAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;AACnC,KAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAC1B,KAAI,CAAC,WAAW,EAAE,IAAI,CAAC;AACvB,KAAI,CAAC,OAAO,EAAE,KAAK;AACnB,IAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAC5B,KAAI,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACtD,IAAG,CAAC;;AAEJ;AACA;AACA;GACE;AACF;AACA,KAAI,WAAW;AACf,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,KAAK;AACT,KAAI,UAAU;AACd,KAAI,SAAS;AACb,KAAI,MAAM;AACV,KAAI,WAAW;AACf,KAAI,OAAO;AACX,KAAI,WAAW;AACf,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,SAAS;AACb,KAAI,QAAQ;AACZ,KAAI,MAAM;AACV,KAAI,MAAM;AACV,KAAI,SAAS;AACb,KAAI,OAAO;AACX,KAAI,UAAU;AACd,KAAI,KAAK;AACT,KAAI,UAAU;AACd,KAAI,aAAa;AACjB,KAAI,OAAO;AACX,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,WAAW;AACf,KAAI,KAAK;AACT,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,WAAW;AACf,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,UAAU;AACd,KAAI,KAAK;AACT,KAAI,SAAS;AACb,KAAI,SAAS;AACb,KAAI,UAAU;AACd,KAAI,UAAU;AACd,KAAI,cAAc;AAClB,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,WAAW;AACf,KAAI,aAAa;AACjB,KAAI,OAAO;AACX,KAAI,SAAS;AACb,KAAI,OAAO;AACX,KAAI,QAAQ;AACZ,KAAI,YAAY;AAChB,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,MAAM;AACV,KAAI,OAAO;AACX,KAAI,MAAM;AACV,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,KAAK;AACT,KAAI,OAAO;AACX,KAAI,MAAM;AACV,KAAI,MAAM;AACV,KAAI,WAAW;AACf,KAAI,MAAM;AACV,KAAI,UAAU;AACd,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,MAAM;AACV,KAAI,UAAU;AACd,KAAI,MAAM;AACV,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,QAAQ;AACZ,KAAI,UAAU;AACd,KAAI,SAAS;AACb,KAAI,OAAO;AACX,KAAI,OAAO;AACX,KAAI,QAAQ;AACZ,KAAI,SAAS;AACb,KAAI,gBAAgB;AACpB,KAAI,OAAO;AACX,KAAI,MAAM;AACV,KAAI,QAAQ;AACZ,KAAI,SAAS;AACb,KAAI,SAAS;AACb,KAAI,YAAY;AAChB,KAAI,UAAU;AACd,KAAI,KAAK;AACT,KAAI,cAAc;AAClB;AACA,KAAI,eAAe;AACnB,KAAI,QAAQ;AACZ,KAAI,QAAQ;AACZ,KAAI,WAAW;AACf,KAAI,UAAU;AACd,KAAI,OAAO;AACX,KAAI;AACJ,IAAG,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC;;GAEvC,OAAO,SAAS;AAClB,EAAC,CAAC,CAAA;;;;;;AC/eF,IAAMC,UAAU,GAAGC,KAAK,CACtB,UAAAtT,IAAA,EAAA;AAAA,EAAA,IACE4B,CAAC,GAAA5B,IAAA,CAAD4B,CAAC;IAAAyP,oBAAA,GAAArR,IAAA,CACDsR,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IACpBhL,YAAY,GAAArG,IAAA,CAAZqG,YAAY;IAAAkN,iBAAA,GAAAvT,IAAA,CACZmG,YAAY;AAAZA,IAAAA,YAAY,GAAAoN,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IACpBC,YAAY,GAAAxT,IAAA,CAAZwT,YAAY;IAAAC,cAAA,GAAAzT,IAAA,CACZ0T,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAhC,eAAA,GAAAzR,IAAA,CACjB0R,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAkC,YAAA,GAAA3T,IAAA,CACfE,OAAO;AAAPA,IAAAA,OAAO,GAAAyT,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;EAAA,oBAEZlP,IAAA,CAACmP,KAAK,EAAA;AAAChM,IAAAA,MAAM,EAAE8L,SAAU;IAAC/N,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ6N,YAAY,CAAC,KAAK,CAAC;KAAC;AAAAjT,IAAAA,QAAA,EAC3DH,cAAAA,GAAA,CAACwT,KAAK,CAAC5Q,MAAM,EAAA;MAAAzC,QAAA,eACXH,GAAA,CAACyH,UAAU,EAAA;AAAC/G,QAAAA,EAAE,EAAC,cAAc;AAACiE,QAAAA,KAAK,EAAC,IAAI;AAAAxE,QAAAA,QAAA,EACrCqB,CAAC,CAAC,2BAA2B,EAAE2C,MAAM;OAC5B;AAAC,KACD,CAAC,eACfnE,GAAA,CAACwT,KAAK,CAACzL,IAAI,EAAA;MAAA5H,QAAA,eACTH,GAAA,CAACyH,UAAU,EAAA;AAACgM,QAAAA,UAAU,EAAC,QAAQ;AAAC9O,QAAAA,KAAK,EAAC,OAAO;QAAAxE,QAAA,eAC3CH,GAAA,CAAC4Q,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,mCAAmC;AAC3CxQ,UAAAA,MAAM,EAAE;YACNqE,KAAK,EAAE4M,UAAU,CAAC3P,MAAM;AACxB2P,YAAAA,UAAU,EAAEE,KAAK,CAAC,MAAM,EAAEF,UAAU,CAAC;AACrCoC,YAAAA,cAAc,EAAElC,KAAK,CAAC,MAAM,EAAEN,eAAe,CAAC;YAC9CyC,QAAQ,EAAEC,SAAS,CAAC9T,OAAO,CAACe,KAAK,CAAC2R,WAAW,EAAE;AACjD;SACD;OACS;AAAC,KACH,CAAC,eACbnO,IAAA,CAACmP,KAAK,CAAC9K,MAAM,EAAA;AAACxI,MAAAA,SAAS,EAAC,WAAW;MAAAC,QAAA,EAAA,cACjCH,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,gCAAgC;AACxC1D,QAAAA,KAAK,EAAEW,CAAC,CAAC,yBAAyB,CAAE;AACpCmD,QAAAA,KAAK,EAAC,UAAU;QAChB/D,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQwS,YAAY,CAAC,KAAK,CAAC;AAAA;AAAC,OACpC,CAAC,eACFpT,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,iCAAiC;AACzCC,QAAAA,QAAQ,EAAEuB,YAAa;AACvBlF,QAAAA,KAAK,EAAEW,CAAC,CAAC,0BAA0B,CAAE;AACrCoK,QAAAA,OAAO,EAAE7F,YAAa;AACtBnF,QAAAA,OAAO,EAAEqF;AAAa,OACvB,CAAC;AAAA,KACU,CAAC;AAAA,GACV,CAAC;AAAA,CAEZ,CAAC;;;;ACpCD,IAAM4N,KAAK,GAAG,SAARA,KAAKA,CAAAjU,IAAA,EAAsD;AAAA,EAAA,IAAA+K,UAAA;AAAA,EAAA,IAAhD9H,WAAW,GAAAjD,IAAA,CAAXiD,WAAW;IAAEiR,SAAS,GAAAlU,IAAA,CAATkU,SAAS;IAAEvQ,QAAQ,GAAA3D,IAAA,CAAR2D,QAAQ;IAAEzD,OAAO,GAAAF,IAAA,CAAPE,OAAO;AACxD,EAAA,IAAAmN,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCqE,IAAAA,UAAU,GAAAnE,UAAA,CAAA,CAAA,CAAA;AAAE4G,IAAAA,aAAa,GAAA5G,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAG,UAAA,GAA8CJ,QAAQ,CAAC,EAAE,CAAC;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAAnD4D,IAAAA,eAAe,GAAA3D,UAAA,CAAA,CAAA,CAAA;AAAEyG,IAAAA,kBAAkB,GAAAzG,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAE,UAAA,GAAsCP,QAAQ,CAAC,KAAK,CAAC;IAAAQ,UAAA,GAAAN,cAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAA9CwG,IAAAA,WAAW,GAAAvG,UAAA,CAAA,CAAA,CAAA;AAAEwG,IAAAA,cAAc,GAAAxG,UAAA,CAAA,CAAA,CAAA;EAClC,IAAMyG,qBAAqB,GAAGC,OAAO,CAAC9C,UAAU,CAAC,IAAI8C,OAAO,CAAClD,eAAe,CAAC;AAC7E,EAAA,IAAAtN,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;EACT,IAAAiN,aAAA,GAA4BC,YAAY,CAAC;MACvCpI,GAAG,EAAExG,OAAO,CAACwG,GAAG;AAChB+N,MAAAA,cAAc,EAAE;AAClB,KAAC,CAAC;IAHM7Q,IAAI,GAAAiL,aAAA,CAAJjL,IAAI;IAAEsH,SAAS,GAAA2D,aAAA,CAAT3D,SAAS;AAKvB,EAAA,IAAAwJ,aAAA,GAA4CC,YAAY,EAAE;IAAlDzO,MAAM,GAAAwO,aAAA,CAANxO,MAAM;IAAaC,YAAY,GAAAuO,aAAA,CAAvBtO,SAAS;AACzB,EAAA,IAAMgF,kBAAkB,GAAAnD,eAAA,CAAAA,eAAA,KAAQiJ,4BAA4B,CAAA,EAAA,EAAA,EAAA;AAAE0D,IAAAA,EAAE,EAAEjR;GAAU,CAAA;EAE5E,IAAMkR,kBAAkB,GAAGpC,OAAO,CAChC,YAAA;AAAA,IAAA,OAAA,EAAA,CAAAxN,MAAA,CAAA4F,kBAAA,CAAU5H,WAAW,CAAE,EAAA,CAAA;AAAE6R,MAAAA,IAAI,EAAElT,CAAC,CAAC,2BAA2B,EAAE2C,MAAM;KAAG,CAAA,CAAA;AAAA,GAAC,EACxE,CAACtB,WAAW,CACd,CAAC;AAED,EAAA,IAAM8R,WAAW,GAAG,SAAdA,WAAWA,CAAGhS,IAAI,EAAA;IAAA,OAAK;AAC3B8B,MAAAA,IAAI,EAAE9B,IAAI,KAAK,QAAQ,GAAG2O,UAAU,GAAGJ,eAAe;AACtD0D,MAAAA,OAAO,EAAEjS,IAAI,KAAK,QAAQ,GAAGoR,aAAa,GAAGC;KAC9C;GAAC;EAEF,IAAMa,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAItU,GAAG,EAAEoC,IAAI,EAAK;AACvC,IAAA,IAAAmS,YAAA,GAA0BH,WAAW,CAAChS,IAAI,CAAC;MAAnC8B,IAAI,GAAAqQ,YAAA,CAAJrQ,IAAI;MAAEmQ,OAAO,GAAAE,YAAA,CAAPF,OAAO;IACrB,IAAMG,YAAY,GAAGC,UAAU,CAACzU,GAAG,CAACG,EAAE,EAAE+D,IAAI,CAAC;AAC7C,IAAA,IAAI6N,YAAY,GAAG3P,IAAI,KAAK,QAAQ,MAAAkC,MAAA,CAAA4F,kBAAA,CAAOhG,IAAI,CAAElE,EAAAA,CAAAA,GAAG,CAAI,CAAA,GAAA,CAACA,GAAG,CAAC;AAC7D,IAAA,IAAIwU,YAAY,EAAE;MAChBzC,YAAY,GAAG2C,UAAU,CAAC1U,GAAG,CAACG,EAAE,EAAE+D,IAAI,CAAC;AACzC;IACAmQ,OAAO,CAACtC,YAAY,CAAC;GACtB;AAED,EAAA,IAAMrM,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMM,OAAO,GAAG;AACd9B,MAAAA,IAAI,EAAE;AACJyQ,QAAAA,UAAU,EAAE1D,KAAK,CAAC,IAAI,EAAEN,eAAe,CAAC;AACxCiE,QAAAA,YAAY,EAAE3D,KAAK,CAAC,IAAI,EAAEF,UAAU;AACtC;KACD;AAEDxL,IAAAA,MAAM,CACJ;MAAEQ,GAAG,EAAExG,OAAO,CAACwG,GAAG;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,EAC7B;AACEI,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AAAA,QAAA,IAAAyO,oBAAA;QACfpB,kBAAkB,CAAC,EAAE,CAAC;QACtBD,aAAa,CAAC,EAAE,CAAC;AACjBD,QAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAAAsB,KAAAA,CAAAA,IAAAA,CAAAA,oBAAA,GAATtB,SAAS,CAAEnN,SAAS,MAAA,IAAA,IAAAyO,oBAAA,KAApBA,KAAAA,CAAAA,IAAAA,oBAAA,CAAsBvO,QAAQ,EAAE;QAChCqN,cAAc,CAAC,KAAK,CAAC;AACvB;AACF,KACF,CAAC;GACF;AAED,EAAA,IAAIpJ,SAAS,EAAE;AACb,IAAA,oBACE9K,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DH,GAAA,CAACqV,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;EAEA,oBACEhR,IAAA,CAAC0L,SAAS,EAAA;IAAA5P,QAAA,EAAA,cACRH,GAAA,CAAC4C,WAAM,EAAA;AACLC,MAAAA,WAAW,EAAE4R,kBAAmB;AAChC3R,MAAAA,KAAK,EAAEtB,CAAC,CAAC,2BAA2B,EAAE2C,MAAM,CAAE;MAC9CC,WAAW,eACTpE,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,yBAAyB;AACjCC,QAAAA,QAAQ,EAAE2P,qBAAsB;AAChCtT,QAAAA,KAAK,EAAEW,CAAC,CAAC,wBAAwB,CAAE;AACnCZ,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbsT,cAAc,CAAC,IAAI,CAAC;AACtB;OACD;AACF,KACF,CAAC,EACD,EAAC1Q,IAAI,KAAJA,IAAAA,IAAAA,IAAI,gBAAAmH,UAAA,GAAJnH,IAAI,CAAEiB,IAAI,cAAAkG,UAAA,KAAA,KAAA,CAAA,IAAVA,UAAA,CAAYhJ,MAAM,iBAClB3B,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,iBAAiB;AAAC,MAAA,SAAA,EAAQ,uBAAuB;MAAAC,QAAA,eAC9DH,GAAA,CAACkL,MAAM,EAAA;AACCF,QAAAA,kBAAkB,EAAlBA,kBAAkB;QACxBlI,KAAK,EAAEtB,CAAC,CAAC,wBAAwB;OAClC;KACE,CAAC,gBAEN6C,IAAA,CAAA,KAAA,EAAA;AAAKnE,MAAAA,SAAS,EAAC,6BAA6B;MAAAC,QAAA,EAAA,cAC1CH,GAAA,CAAC+R,IAAI,EAAA;AACGb,QAAAA,eAAe,EAAfA,eAAe;AAAEI,QAAAA,UAAU,EAAVA,UAAU;QACjCF,QAAQ,EAAA,IAAA;AACRc,QAAAA,OAAO,EAAE1O,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAK;AACpBuN,QAAAA,QAAQ,EAAE6C;AAAkB,OAC7B,CAAC,eACF7U,GAAA,CAACsV,mBAAmB,EAAA;AAClBpV,QAAAA,SAAS,EAAC,kEAAkE;AAC5E6Q,QAAAA,IAAI,EAAE;AAAG,OACV,CAAC,eACF/Q,GAAA,CAAC+R,IAAI,EAAA;AACGb,QAAAA,eAAe,EAAfA,eAAe;AAAEI,QAAAA,UAAU,EAAVA,UAAU;AACjCF,QAAAA,QAAQ,EAAE,KAAM;AAChBc,QAAAA,OAAO,EAAE1O,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAK;AACpBuN,QAAAA,QAAQ,EAAE6C;AAAkB,OAC7B,CAAC;AAAA,KACC,CACN,eACD7U,GAAA,CAACiT,UAAU,EAAA;AAEP/B,MAAAA,eAAe,EAAfA,eAAe;AACfjL,MAAAA,YAAY,EAAZA,YAAY;AACZF,MAAAA,YAAY,EAAZA,YAAY;AACZuL,MAAAA,UAAU,EAAVA,UAAU;AACVxR,MAAAA,OAAO,EAAPA,OAAO;AAETsT,MAAAA,YAAY,EAAEc,cAAe;AAC7BZ,MAAAA,SAAS,EAAEW;AAAY,KACxB,CAAC;AAAA,GACO,CAAC;AAEhB,CAAC;;ACpIM,IAAMsB,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAsB;AAAA,EAAA,IAAlB1V,QAAQ,GAAAsK,SAAA,CAAAxI,MAAA,GAAA,CAAA,IAAAwI,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAC7C,EAAA,IAAAqL,eAAA,GAA2BC,cAAc,EAAE;IAA7BC,QAAQ,GAAAF,eAAA,CAAdG,IAAI;AACZ,EAAA,IAAMC,eAAe,GAAG/V,QAAQ,CAACgW,IAAI,CACnC,UAAA/V,OAAO,EAAA;AAAA,IAAA,IAAAgW,cAAA;AAAA,IAAA,OAAI,CAAAhW,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAgW,KAAAA,CAAAA,IAAAA,CAAAA,cAAA,GAAPhW,OAAO,CAAEe,KAAK,MAAAiV,IAAAA,IAAAA,cAAA,uBAAdA,cAAA,CAAgBtD,WAAW,EAAE,MAAKkD,QAAQ;AAAA,GACvD,CAAC;AAED,EAAA,OAAOE,eAAe,IAAI/V,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC;AAEM,IAAMkW,YAAY,GAAG,SAAfA,YAAYA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAAI,CAClC;AAAEC,IAAAA,SAAS,EAAEpC,KAAK;AAAEqC,IAAAA,KAAK,EAAE,IAAI;IAAEF,IAAI,EAAA,EAAA,CAAAnR,MAAA,CAAKmR,IAAI,EAAA,QAAA;AAAS,GAAC,EACxD;AAAEC,IAAAA,SAAS,EAAE1J,SAAS;AAAE2J,IAAAA,KAAK,EAAE,IAAI;IAAEF,IAAI,EAAEA,IAAI,IAAI;AAAG,GAAC,CACxD;AAAA,CAAA;;;;ACXD,IAAMG,IAAI,GAAG,SAAPA,IAAIA,CAAAvW,IAAA,EAAmB;AAAA,EAAA,IAAbwW,MAAM,GAAAxW,IAAA,CAANwW,MAAM;AACpB,EAAA,IAAQvW,QAAQ,GAAyBuW,MAAM,CAAvCvW,QAAQ;IAAAwW,mBAAA,GAAyBD,MAAM,CAA7B3J,WAAW;AAAXA,IAAAA,WAAW,GAAA4J,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;EAEpC,IAAApJ,SAAA,GAA8BC,QAAQ,CAACqI,iBAAiB,CAAC1V,QAAQ,CAAC,CAAC;IAAAsN,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DnN,IAAAA,OAAO,GAAAqN,UAAA,CAAA,CAAA,CAAA;AAAEpN,IAAAA,UAAU,GAAAoN,UAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,IAAMmJ,MAAM,GAAGP,YAAY,CAACK,MAAM,CAAC7S,QAAQ,CAAC;EAE5C,oBACEvD,GAAA,CAACuW,MAAM,EAAA;AAAApW,IAAAA,QAAA,EACJmW,MAAM,CAAChW,GAAG,CAAC,UAAA4F,KAAA,EAAA;AAAA,MAAA,IAAGgQ,KAAK,GAAAhQ,KAAA,CAALgQ,KAAK;QAAEF,IAAI,GAAA9P,KAAA,CAAJ8P,IAAI;QAAaQ,SAAS,GAAAtQ,KAAA,CAApB+P,SAAS;MAAA,oBACnCQ,aAAA,CAACC,KAAK,EAAA;AAAOR,QAAAA,KAAK,EAALA,KAAK;AAAEF,QAAAA,IAAI,EAAJA,IAAI;AAAIvT,QAAAA,GAAG,EAAEuT;OAC/BhW,eAAAA,GAAA,CAACwW,SAAS,EAAA3O,aAAA,KAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUuO,MAAM,CAAA,EAAA,EAAA,EAAA;AAAE3J,QAAAA,WAAW,EAAXA,WAAW;AAAE1M,QAAAA,UAAU,EAAVA,UAAU;AAAED,QAAAA,OAAO,EAAPA;AAAO,OAAA,CAAA,CAAK,CAC5D,CAAC;KACT;AAAC,GACI,CAAC;AAEb,CAAC;;;;;ACnBD,IAAM6W,GAAG,GAAG,SAANA,GAAGA,CAAA/W,IAAA,EAAA;AAAA,EAAA,IAAMwW,MAAM,GAAAxW,IAAA,CAANwW,MAAM;EAAA,oBAAOpW,GAAA,CAACmW,IAAI,EAAA;AAAOC,IAAAA,MAAM,EAANA;AAAM,GAAK,CAAC;AAAA;;;;","x_google_ignoreList":[11]}
|
|
1
|
+
{"version":3,"file":"NeetoTags.js","sources":["../app/javascript/src/components/Menu.jsx","../app/javascript/src/components/Dashboard/constants.js","../app/javascript/src/components/Dashboard/Header.jsx","../app/javascript/src/hooks/useTagsForm.js","../app/javascript/src/components/Dashboard/ManageTags.jsx","../app/javascript/src/components/Dashboard/utils.jsx","../app/javascript/src/components/Dashboard/Table.jsx","../app/javascript/src/components/Dashboard/index.jsx","../app/javascript/src/components/Merge/constants.js","../app/javascript/src/components/Merge/utils.js","../app/javascript/src/components/Merge/List.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/Merge/MergeAlert.jsx","../app/javascript/src/components/Merge/index.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/index.jsx","../app/javascript/src/index.jsx"],"sourcesContent":["import { Tab } from \"neetoui\";\n\nconst Menu = ({ tagTypes, tagType, setTagType }) => (\n <Tab className=\"mb-6\">\n {Object.values(tagTypes).map(tag => (\n <Tab.Item\n active={tagType.id === tag.id}\n description={tag.description}\n key={tag.id}\n onClick={() => {\n setTagType(tag);\n }}\n >\n {tag.label}\n </Tab.Item>\n ))}\n </Tab>\n);\n\nexport default Menu;\n","import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { noop } from \"neetocist\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { handleMetaClick, useFuncDebounce } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"src/common/constants\";\n\nconst Header = ({\n breadcrumbs,\n title,\n tagsMergable = false,\n setPaneType,\n setSelectedTag,\n goToFirstPage = noop,\n tagsPath = \"\",\n data,\n showFilters = true,\n titleHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const resetPage = useFuncDebounce(() => goToFirstPage());\n\n return (\n <NeetoHeader\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={title || t(\"neetoTags.common.tag\", PLURAL)}\n actionBlock={\n <>\n {tagsMergable && (\n <Button\n data-cy=\"neeto-tags-merge-tags-button\"\n disabled={data?.tags.length < PLURAL.count}\n label={t(\"neetoTags.common.mergeTag\", PLURAL)}\n style=\"secondary\"\n onClick={handleMetaClick(history, `${tagsPath}/merge`)}\n />\n )}\n <Button\n data-cy=\"add-new-tag-button\"\n label={t(\"neetoTags.common.addNewTag\", SINGULAR)}\n onClick={() => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n }}\n />\n </>\n }\n searchProps={\n showFilters && {\n \"data-cy\": \"neeto-tags-search-text-input-field\",\n onChange: resetPage,\n placeholder: t(\"neetoTags.placeholder.searchTags\"),\n }\n }\n />\n );\n};\n\nexport default Header;\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: () => {\n !isEdit && goToFirstPage();\n tagOperation?.onSuccess?.callback();\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES, TAG_STYLES } from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-cy=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-cy=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n <Select\n name=\"style\"\n options={Object.values(TAG_STYLES).map(toLabelAndValue)}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Tag } from \"neetoui\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst renderDropdownButton = ({\n handleEdit = noop,\n handleDelete = noop,\n tag = {},\n}) => (\n <div onClick={e => e.stopPropagation()}>\n <Dropdown\n autoWidth\n appendTo={() => document.body}\n buttonProps={{ style: \"text\", className: \"mr-1 my-1\" }}\n icon={MenuHorizontal}\n position=\"bottom-end\"\n strategy=\"fixed\"\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"tags-edit-button\"\n onClick={() => handleEdit(tag)}\n >\n {t(\"neetoTags.button.edit\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-cy=\"tags-delete-button\"\n onClick={() => handleDelete(tag)}\n >\n {t(\"neetoTags.button.delete\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n);\n\nexport const renderColumnData = (handleEdit, handleDelete, columns = []) => [\n {\n title: t(\"neetoTags.common.name\"),\n dataIndex: \"name\",\n key: \"name\",\n width: 300,\n render: (name, tag) => (\n <div className=\"neeto-tags-table__column\">\n <Tag label={name} style={tag.style} />\n {renderDropdownButton({ handleEdit, handleDelete, tag })}\n </div>\n ),\n },\n {\n title: t(\"neetoTags.common.description\"),\n dataIndex: \"description\",\n key: \"description\",\n width: 400,\n render: description => (\n <Typography className=\"whitespace-normal\">{description}</Typography>\n ),\n },\n ...columns,\n];\n","import TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderColumnData } from \"./utils\";\n\nconst Table = ({\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n noDataProps,\n}) => {\n const { t } = useTranslation();\n\n if (!isLoading && !data?.tags?.length) {\n return (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps, ...noDataProps }}\n title={t(\"neetoTags.title.noTagsToShow\")}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > filters.pageSize}>\n <NeetoUITable\n fixedHeight\n allowRowClick={!!onTagRowClick}\n columnData={renderColumnData(handleEdit, handleDelete, tagType.columns)}\n currentPageNumber={filters.page}\n defaultPageSize={filters.pageSize}\n loading={isLoading}\n paginationProps={{ showSizeChanger: false }}\n rowData={data?.tags}\n rowSelection={false}\n scroll={{ x: 0 }}\n totalCount={data?.totalCount}\n onChange={handleOnChange}\n onRowClick={(event, record, rowIndex) =>\n onTagRowClick({ event, tag: record, rowIndex })\n }\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, SINGULAR } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr, buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Alert, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"common/constants\";\nimport Menu from \"components/Menu\";\nimport { useDeleteTag, useFetchTags } from \"src/hooks/useTagsApi\";\n\nimport { DEFAULT_FILTERS, NEETO_FILTERS } from \"./constants\";\nimport Header from \"./Header\";\nimport ManageTags from \"./ManageTags\";\nimport Table from \"./Table\";\n\nconst Dashboard = ({\n breadcrumbs,\n title,\n createTags,\n deleteTags,\n displayMenu,\n onTagRowClick,\n tagsMergable = false,\n tagsPath,\n tagType,\n updateTags,\n setTagType,\n tagTypes,\n noDataProps = {},\n titleHelpPopoverProps = {},\n}) => {\n const history = useHistory();\n const queryParams = useQueryParams();\n const { searchTerm = \"\" } = queryParams;\n\n const searchKeywordProps = {\n node: \"name\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [selectedTag, setSelectedTag] = useState(null);\n const [paneType, setPaneType] = useState(null);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [filters, setFilters] = useState(DEFAULT_FILTERS);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [neetoFilters, setNeetoFilters] = useState(\n buildFiltersFromURL([...NEETO_FILTERS, searchKeywordProps])\n );\n\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n neetoFilters,\n ...filters,\n });\n\n const { t } = useTranslation();\n\n const primaryButtonProps = {\n \"data-cy\": \"add-new-tag-button\",\n label: t(\"neetoTags.common.addNewTag\", SINGULAR),\n onClick: () => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n },\n };\n\n const handleEdit = tag => {\n setSelectedTag(tag);\n setPaneType(PANE_TYPES.EDIT);\n };\n\n const handleDelete = tag => {\n setSelectedTag(tag);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedTag(null);\n };\n\n const handleOnChange = (\n { current: page },\n _,\n { field: sortBy, order: orderBy }\n ) => setFilters(mergeLeft({ page, sortBy: orderBy && sortBy, orderBy }));\n\n const { mutate, isPending: isDeletingTag } = useDeleteTag();\n\n const handleConfirmDelete = () => {\n const payload = { url: tagType.url, id: selectedTag?.id };\n const isNotDeleting = !isDeletingTag && isDeleteAlertOpen;\n isNotDeleting &&\n mutate(payload, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n if (data?.tags?.length === 1) {\n setFilters(mergeLeft({ page: filters.page - 1 }));\n }\n deleteTags?.onSuccess?.callback();\n // @ts-ignore\n showThumbsUpToastr();\n },\n });\n };\n\n const handleFiltersChange = filters => {\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n setNeetoFilters(filters);\n };\n\n const resetPage = () => setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }));\n\n const showFilters = isPresent(neetoFilters) || data?.totalCount > 0;\n\n return (\n <>\n <Container>\n <Header\n {...{\n breadcrumbs,\n data,\n displayMenu,\n setPaneType,\n setSelectedTag,\n showFilters,\n tagsMergable,\n tagsPath,\n title,\n titleHelpPopoverProps,\n }}\n goToFirstPage={resetPage}\n />\n {showFilters && (\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800\"\n data-cy=\"neeto-tags-filtered-tags-count-text\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoTags.helper.tagWithCount\", {\n count: data?.totalCount || 0,\n type: tagType?.label || \"\",\n })}\n </Typography>\n }\n rightActionBlock={\n <SubHeader.RightBlock\n filterProps={{\n columns: NEETO_FILTERS,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n keyword: searchKeywordProps,\n }}\n />\n }\n />\n )}\n <FiltersBar\n columns={NEETO_FILTERS}\n isOpen={isFiltersPaneOpen}\n keyword={searchKeywordProps}\n onChange={handleFiltersChange}\n />\n {displayMenu && <Menu {...{ setTagType, tagType, tagTypes }} />}\n <Table\n {...{\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n noDataProps,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n }}\n />\n </Container>\n <ManageTags\n {...{ createTags, tagType, updateTags }}\n goToFirstPage={resetPage}\n tag={selectedTag}\n type={paneType}\n onClose={() => setPaneType(null)}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTags.button.cancel\")}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeletingTag}\n submitButtonLabel={t(\"neetoTags.button.delete\")}\n title={t(\"neetoTags.alert.title.deleteTag\")}\n message={\n <Trans\n i18nKey=\"neetoTags.alert.message.deleteTag_\"\n values={{ name: selectedTag?.name }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleConfirmDelete}\n />\n </>\n );\n};\n\nexport default Dashboard;\n","import { t } from \"i18next\";\n\nexport const NO_DATA_PRIMARY_BUTTON_PROPS = {\n \"data-cy\": \"neeto-tags-go-back-button\",\n size: \"small\",\n label: t(\"neetoTags.button.goBack\"),\n};\n","import { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { pluck } from \"ramda\";\n\nexport const getListType = ({\n destinationTags = [],\n isSource = false,\n sourceTags = [],\n}) =>\n isSource\n ? {\n label: t(\"neetoTags.title.selectSourceTag\", SINGULAR),\n value: \"source\",\n tagIds: pluck(\"id\", sourceTags),\n counterTagIds: pluck(\"id\", destinationTags),\n }\n : {\n label: t(\"neetoTags.title.selectDestinationTag\", SINGULAR),\n value: \"destination\",\n tagIds: pluck(\"id\", destinationTags),\n counterTagIds: pluck(\"id\", sourceTags),\n };\n\nexport const orderBySourceTags = (tags, sourceTags) => {\n const withoutSourceTags = tags.filter(tag =>\n sourceTags.every(sourceTag => sourceTag.id !== tag.id)\n );\n\n return [...sourceTags, ...withoutSourceTags];\n};\n","import { useMemo, useState } from \"react\";\n\nimport classames from \"classnames\";\nimport { Check } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getListType, orderBySourceTags } from \"./utils\";\n\nconst List = ({\n isSource = false,\n destinationTags = [],\n onSelect,\n sourceTags = [],\n tagList = [],\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const listType = useMemo(\n () => getListType({ destinationTags, isSource, sourceTags }),\n [isSource, sourceTags, destinationTags]\n );\n\n const filteredTags = orderBySourceTags(tagList, sourceTags).filter(tag =>\n tag?.name?.toLowerCase()?.includes(searchTerm.toLowerCase().trim())\n );\n\n return (\n <div className=\"neeto-tags-merge__list neeto-tags-border neeto-ui-border-gray-300 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-flex neeto-ui-flex-col p-3 md:p-4 lg:p-6\">\n <Typography className=\"neeto-ui-mb-3\" style=\"h4\">\n {listType.label}\n </Typography>\n <Input\n className=\"grow-0\"\n data-cy={`neeto-tags-merge-${listType.value}-search-text-input-field`}\n placeholder={t(\"neetoTags.placeholder.searchTags\")}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n />\n <div\n className=\"neeto-tags-merge__items\"\n data-cy={`neeto-tags-merge-${listType.value}-tags-list`}\n >\n {filteredTags.map(tag => {\n const selectedTagIds = listType.tagIds.includes(tag.id);\n const selectedCounterTags = listType.counterTagIds.includes(tag.id);\n\n return (\n <div\n data-cy={`neeto-tags-merge-${listType.value}-tags`}\n key={tag.id}\n className={classames(\n \"neeto-ui-flex neeto-ui-justify-between neeto-ui-items-center neeto-tags-border neeto-ui-border-white neeto-ui-p-2 neeto-ui-rounded-lg neeto-ui-cursor-pointer\",\n {\n \"neeto-ui-bg-gray-200 neeto-ui-border-primary-600\":\n selectedTagIds,\n \"hover:neeto-ui-bg-gray-100\": !selectedTagIds,\n \"neeto-ui-cursor-not-allowed neeto-ui-bg-gray-100 neeto-ui-text-gray-500\":\n selectedCounterTags,\n }\n )}\n onClick={() =>\n !selectedCounterTags && onSelect(tag, listType.value)\n }\n >\n <span>{tag.name}</span>\n {selectedTagIds && <Check size={18} />}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default List;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nconst MergeAlert = withT(\n ({\n t,\n destinationTags = [],\n handleSubmit,\n isSubmitting = false,\n setShowModal,\n showModal = false,\n sourceTags = [],\n tagType = \"\",\n }) => (\n <Modal isOpen={showModal} onClose={() => setShowModal(false)}>\n <Modal.Header>\n <Typography id=\"dialog1Title\" style=\"h2\">\n {t(\"neetoTags.common.mergeTag\", PLURAL)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography lineHeight=\"normal\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTags.helper.mergeTagsMessage\"\n values={{\n count: sourceTags.length,\n sourceTags: pluck(\"name\", sourceTags),\n destinationTag: pluck(\"name\", destinationTags),\n entities: pluralize(tagType.label.toLowerCase()),\n }}\n />\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-cy=\"neeto-tags-merge-cancel-button\"\n label={t(\"neetoTags.button.cancel\")}\n style=\"tertiary\"\n onClick={() => setShowModal(false)}\n />\n <Button\n data-cy=\"neeto-tags-merge-proceed-button\"\n disabled={isSubmitting}\n label={t(\"neetoTags.button.proceed\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n </Modal.Footer>\n </Modal>\n )\n);\n\nexport default MergeAlert;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\nimport { useState, useMemo } from \"react\";\n\nimport { removeById, existsById } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Merge as NeetoUITagMergeIcon } from \"neetoicons\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Button, NoData, Spinner } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchTags, useMergeTags } from \"src/hooks/useTagsApi\";\n\nimport { NO_DATA_PRIMARY_BUTTON_PROPS } from \"./constants\";\nimport List from \"./List\";\nimport MergeAlert from \"./MergeAlert\";\n\nconst Merge = ({ breadcrumbs, mergeTags, tagsPath, tagType }) => {\n const [sourceTags, setSourceTags] = useState([]);\n const [destinationTags, setDestinationTags] = useState([]);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const isMergeButtonDisabled = isEmpty(sourceTags) || isEmpty(destinationTags);\n const { t } = useTranslation();\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n skipPagination: true,\n });\n\n const { mutate, isPending: isSubmitting } = useMergeTags();\n const primaryButtonProps = { ...NO_DATA_PRIMARY_BUTTON_PROPS, to: tagsPath };\n\n const updatedBreadcrumbs = useMemo(\n () => [...breadcrumbs, { text: t(\"neetoTags.common.mergeTag\", PLURAL) }],\n [breadcrumbs]\n );\n\n const getTagState = type => ({\n tags: type === \"source\" ? sourceTags : destinationTags,\n setTags: type === \"source\" ? setSourceTags : setDestinationTags,\n });\n\n const handleOnTagSelect = (tag, type) => {\n const { tags, setTags } = getTagState(type);\n const isTagPresent = existsById(tag.id, tags);\n let filteredTags = type === \"source\" ? [...tags, tag] : [tag];\n if (isTagPresent) {\n filteredTags = removeById(tag.id, tags);\n }\n setTags(filteredTags);\n };\n\n const handleSubmit = () => {\n const payload = {\n tags: {\n primary_id: pluck(\"id\", destinationTags),\n secondary_id: pluck(\"id\", sourceTags),\n },\n };\n\n mutate(\n { url: tagType.url, payload },\n {\n onSuccess: () => {\n setDestinationTags([]);\n setSourceTags([]);\n mergeTags?.onSuccess?.callback();\n setIsModalOpen(false);\n },\n }\n );\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n breadcrumbs={updatedBreadcrumbs}\n title={t(\"neetoTags.common.mergeTag\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"neeto-tags-merge-button\"\n disabled={isMergeButtonDisabled}\n label={t(\"neetoTags.button.merge\")}\n onClick={() => {\n setIsModalOpen(true);\n }}\n />\n }\n />\n {!data?.tags?.length ? (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps }}\n title={t(\"neetoTags.noTagsToShow\")}\n />\n </div>\n ) : (\n <div className=\"neeto-tags-merge__container\">\n <List\n {...{ destinationTags, sourceTags }}\n isSource\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n <NeetoUITagMergeIcon\n className=\"neeto-ui-self-center neeto-ui-text-gray-600 mx-1 md:mx-4 lg:mx-6\"\n size={24}\n />\n <List\n {...{ destinationTags, sourceTags }}\n isSource={false}\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n </div>\n )}\n <MergeAlert\n {...{\n destinationTags,\n handleSubmit,\n isSubmitting,\n sourceTags,\n tagType,\n }}\n setShowModal={setIsModalOpen}\n showModal={isModalOpen}\n />\n </Container>\n );\n};\n\nexport default Merge;\n","import { getQueryParams } from \"neetocommons/utils\";\n\nimport Dashboard from \"./Dashboard\";\nimport Merge from \"./Merge\";\n\nexport const getCurrentTagType = (tagTypes = []) => {\n const { view: tagLabel } = getQueryParams();\n const requiredTagType = tagTypes.find(\n tagType => tagType?.label?.toLowerCase() === tagLabel\n );\n\n return requiredTagType || tagTypes[0];\n};\n\nexport const createRoutes = path => [\n { component: Merge, exact: true, path: `${path}/merge` },\n { component: Dashboard, exact: true, path: path || \"\" },\n];\n","import { useState } from \"react\";\n\nimport { Switch, Route } from \"react-router-dom\";\n\nimport { createRoutes, getCurrentTagType } from \"./utils\";\n\nconst Tags = ({ config }) => {\n const { tagTypes, displayMenu = true } = config;\n\n const [tagType, setTagType] = useState(getCurrentTagType(tagTypes));\n\n const routes = createRoutes(config.tagsPath);\n\n return (\n <Switch>\n {routes.map(({ exact, path, component: Component }) => (\n <Route {...{ exact, path }} key={path}>\n <Component {...{ ...config, displayMenu, setTagType, tagType }} />\n </Route>\n ))}\n </Switch>\n );\n};\n\nexport default Tags;\n","import Tags from \"./components\";\nimport \"./stylesheets/main.css\";\n\nconst App = ({ config }) => <Tags {...{ config }} />;\n\nexport default App;\n"],"names":["Menu","_ref","tagTypes","tagType","setTagType","_jsx","Tab","className","children","Object","values","map","tag","Item","active","id","description","onClick","label","TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","node","type","Header","breadcrumbs","title","_ref$tagsMergable","tagsMergable","setPaneType","setSelectedTag","_ref$goToFirstPage","goToFirstPage","noop","_ref$tagsPath","tagsPath","data","_ref$showFilters","showFilters","titleHelpPopoverProps","_useTranslation","useTranslation","history","useHistory","resetPage","useFuncDebounce","NeetoHeader","PLURAL","actionBlock","_jsxs","_Fragment","Button","disabled","tags","count","style","handleMetaClick","concat","SINGULAR","PANE_TYPES","CREATE","searchProps","onChange","placeholder","useTagsForm","createTags","isEdit","onClose","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","_ref2","_values$description","resetForm","tagData","url","payload","mergeLeft","trim","value","onSuccess","_tagOperation$onSucce","callback","onError","ManageTags","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","Pane","initialFocusRef","isOpen","Typography","weight","Form","formikProps","_objectSpread","onSubmit","Body","Input","unlimitedChars","maxLength","ref","Textarea","rows","Select","options","TAG_STYLES","toLabelAndValue","Footer","ActionBlock","cancelButtonProps","submitButtonProps","Dropdown","MenuItem","renderDropdownButton","_ref$handleEdit","handleEdit","_ref$handleDelete","handleDelete","_ref$tag","e","stopPropagation","autoWidth","appendTo","document","body","buttonProps","icon","MenuHorizontal","position","strategy","renderColumnData","columns","arguments","undefined","dataIndex","width","render","Tag","_toConsumableArray","Table","_data$tags","filters","handleOnChange","isLoading","onTagRowClick","primaryButtonProps","noDataProps","NoData","TableWrapper","hasPagination","totalCount","NeetoUITable","fixedHeight","allowRowClick","columnData","currentPageNumber","defaultPageSize","loading","paginationProps","showSizeChanger","rowData","rowSelection","scroll","x","onRowClick","event","record","rowIndex","Dashboard","deleteTags","displayMenu","_ref$noDataProps","_ref$titleHelpPopover","queryParams","useQueryParams","_queryParams$searchTe","searchTerm","searchKeywordProps","_useState","useState","_useState2","_slicedToArray","selectedTag","_useState3","_useState4","paneType","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","setFilters","_useState9","_useState10","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState11","buildFiltersFromURL","_useState12","neetoFilters","setNeetoFilters","_useFetchTags","useFetchTags","handleAlertClose","_","_ref3","current","field","order","_useDeleteTag","useDeleteTag","isDeletingTag","handleConfirmDelete","isNotDeleting","_deleteTags$onSuccess","showThumbsUpToastr","handleFiltersChange","push","buildUrl","window","location","pathname","isPresent","Container","SubHeader","leftActionBlock","rightActionBlock","RightBlock","filterProps","setIsOpen","keyword","FiltersBar","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","NO_DATA_PRIMARY_BUTTON_PROPS","size","getListType","_ref$destinationTags","destinationTags","_ref$isSource","isSource","_ref$sourceTags","sourceTags","tagIds","pluck","counterTagIds","orderBySourceTags","withoutSourceTags","filter","every","sourceTag","List","onSelect","_ref$tagList","tagList","setSearchTerm","listType","useMemo","filteredTags","_tag$name","toLowerCase","includes","target","selectedTagIds","selectedCounterTags","classames","Check","require","this","MergeAlert","withT","_ref$isSubmitting","setShowModal","_ref$showModal","showModal","_ref$tagType","Modal","lineHeight","destinationTag","entities","pluralize","Merge","mergeTags","setSourceTags","setDestinationTags","isModalOpen","setIsModalOpen","isMergeButtonDisabled","isEmpty","skipPagination","_useMergeTags","useMergeTags","to","updatedBreadcrumbs","text","getTagState","setTags","handleOnTagSelect","_getTagState","isTagPresent","existsById","removeById","primary_id","secondary_id","_mergeTags$onSuccess","Spinner","NeetoUITagMergeIcon","getCurrentTagType","_getQueryParams","getQueryParams","tagLabel","view","requiredTagType","find","_tagType$label","createRoutes","path","component","exact","Tags","config","_config$displayMenu","routes","Switch","Component","_createElement","Route","App"],"mappings":"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","x_google_ignoreList":[11]}
|
package/dist/cjs/NeetoTags.js
CHANGED
|
@@ -689,8 +689,7 @@ var List = function List(_ref) {
|
|
|
689
689
|
isSource: isSource,
|
|
690
690
|
sourceTags: sourceTags
|
|
691
691
|
});
|
|
692
|
-
}, [isSource, sourceTags, destinationTags]
|
|
693
|
-
);
|
|
692
|
+
}, [isSource, sourceTags, destinationTags]);
|
|
694
693
|
var filteredTags = orderBySourceTags(tagList, sourceTags).filter(function (tag) {
|
|
695
694
|
var _tag$name;
|
|
696
695
|
return tag === null || tag === void 0 || (_tag$name = tag.name) === null || _tag$name === void 0 || (_tag$name = _tag$name.toLowerCase()) === null || _tag$name === void 0 ? void 0 : _tag$name.includes(searchTerm.toLowerCase().trim());
|
|
@@ -702,7 +701,7 @@ var List = function List(_ref) {
|
|
|
702
701
|
style: "h4",
|
|
703
702
|
children: listType.label
|
|
704
703
|
}), /*#__PURE__*/jsxRuntime.jsx(Input$1, {
|
|
705
|
-
className: "
|
|
704
|
+
className: "grow-0",
|
|
706
705
|
"data-cy": "neeto-tags-merge-".concat(listType.value, "-search-text-input-field"),
|
|
707
706
|
placeholder: t("neetoTags.placeholder.searchTags"),
|
|
708
707
|
value: searchTerm,
|
|
@@ -1495,7 +1494,7 @@ var Tags = function Tags(_ref) {
|
|
|
1495
1494
|
});
|
|
1496
1495
|
};
|
|
1497
1496
|
|
|
1498
|
-
var css = ".ntm-empty-state{height:100%;margin:auto;width:100%}.ntm-empty-state,.ntm-empty-state__image{align-items:center;display:flex;justify-content:center}.ntm-empty-state__image{margin-left:0 auto 4rem auto}.ntm-empty-state__title{font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem;text-align:center}.ntm-empty-state__description{margin-bottom:1.5rem;text-align:center}.ntm-empty-state__action-block{display:flex;justify-content:center}.neeto-tags-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));padding:0 1.5rem;width:100%}.neeto-tags-table__column{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.neeto-tags-card-title-block:hover p{color:rgb(var(--neeto-ui-accent-800))!important}.neeto-tags-merge__container{display:flex;flex-direction:row;flex-grow:1;justify-content:space-between;min-height:0;padding-bottom:1.5rem;width:100%}.neeto-tags-merge__container .neeto-tags-merge__list{width:48%}.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;margin-top:.75rem;overflow-y:auto}@media screen and (min-width:768px){.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{margin-top:1rem}}
|
|
1497
|
+
var css = ".ntm-empty-state{height:100%;margin:auto;width:100%}.ntm-empty-state,.ntm-empty-state__image{align-items:center;display:flex;justify-content:center}.ntm-empty-state__image{margin-left:0 auto 4rem auto}.ntm-empty-state__title{font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem;text-align:center}.ntm-empty-state__description{margin-bottom:1.5rem;text-align:center}.ntm-empty-state__action-block{display:flex;justify-content:center}.neeto-tags-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));padding:0 1.5rem;width:100%}.neeto-tags-table__column{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.neeto-tags-card-title-block:hover p{color:rgb(var(--neeto-ui-accent-800))!important}.neeto-tags-merge__container{display:flex;flex-direction:row;flex-grow:1;justify-content:space-between;min-height:0;padding-bottom:1.5rem;width:100%}.neeto-tags-merge__container .neeto-tags-merge__list{width:48%}.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{display:flex;flex-direction:column;flex-grow:1;gap:.5rem;margin-top:.75rem;overflow-y:auto}.neeto-tags-border{border-width:thin}@media screen and (min-width:768px){.neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{margin-top:1rem}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL2VtcHR5LXN0YXRlLmNzcyIsImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9wYWdlcy9kYXNoYm9hcmQuY3NzIiwiYXBwL2phdmFzY3JpcHQvc3JjL3N0eWxlc2hlZXRzL3BhZ2VzL21lcmdlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFJRSxXQUFZLENBRVosV0FBWSxDQURaLFVBRUYsQ0FFQSx5Q0FQRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLHNCQVdGLENBTEEsd0JBQ0UsNEJBSUYsQ0FFQSx3QkFHRSxpQkFBa0IsQ0FDbEIsbUJBQW9CLENBSHBCLGtCQUFtQixDQUNuQixpQkFHRixDQUVBLDhCQUNFLG9CQUFxQixDQUNyQixpQkFDRixDQUVBLCtCQUNFLFlBQWEsQ0FDYixzQkFDRixDQy9CQSwyQkFFRSw0S0FJQyxDQUNELGdCQUFpQixDQU5qQixVQU9GLENBRUEsMEJBR0Usa0JBQW1CLENBRm5CLFlBQWEsQ0FHYixTQUFXLENBRlgsNkJBR0YsQ0FFQSxxQ0FDRSwrQ0FDRixDQ25CQSw2QkFDRSxZQUFhLENBQ2Isa0JBQW1CLENBR25CLFdBQVksQ0FGWiw2QkFBOEIsQ0FHOUIsWUFBYSxDQUNiLHFCQUFzQixDQUh0QixVQUlGLENBRUEscURBQ0UsU0FDRixDQUVBLDhFQUdFLFlBQWEsQ0FDYixxQkFBc0IsQ0FGdEIsV0FBWSxDQUdaLFNBQVcsQ0FDWCxpQkFBbUIsQ0FMbkIsZUFNRixDQUVBLG1CQUNFLGlCQUNGLENBRUEsb0NBQ0UsOEVBQ0UsZUFDRixDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLm50bS1lbXB0eS1zdGF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5udG0tZW1wdHktc3RhdGVfX2ltYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gYXV0byA0cmVtIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubnRtLWVtcHR5LXN0YXRlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbn1cblxuLm50bS1lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm50bS1lbXB0eS1zdGF0ZV9fYWN0aW9uLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iLCIubmVldG8tdGFncy10YWJsZV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoXG4gICAgMTAwdmggLSB2YXIoLS1uZWV0by1tb2xlY3VsZXMtbWFpbi1oZWFkZXItd2l0aC1icmVhZGNydW1icy1oZWlnaHQpIC1cbiAgICAgIHZhcigtLW5lZXRvLW1vbGVjdWxlcy1zdWItaGVhZGVyLWhlaWdodCkgLVxuICAgICAgdmFyKC0tbmVldG8tbW9sZWN1bGVzLXN1Yi1oZWFkZXItYm90dG9tLW1hcmdpbilcbiAgKTtcbiAgcGFkZGluZzogMCAxLjVyZW07XG59XG5cbi5uZWV0by10YWdzLXRhYmxlX19jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ubmVldG8tdGFncy1jYXJkLXRpdGxlLWJsb2NrOmhvdmVyIHAge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWFjY2VudC04MDApKSAhaW1wb3J0YW50O1xufVxuIiwiLm5lZXRvLXRhZ3MtbWVyZ2VfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cblxuLm5lZXRvLXRhZ3MtbWVyZ2VfX2NvbnRhaW5lciAubmVldG8tdGFncy1tZXJnZV9fbGlzdCB7XG4gIHdpZHRoOiA0OCU7XG59XG5cbi5uZWV0by10YWdzLW1lcmdlX19jb250YWluZXIgLm5lZXRvLXRhZ3MtbWVyZ2VfX2xpc3QgLm5lZXRvLXRhZ3MtbWVyZ2VfX2l0ZW1zIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLm5lZXRvLXRhZ3MtYm9yZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiB0aGluO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmVldG8tdGFncy1tZXJnZV9fY29udGFpbmVyIC5uZWV0by10YWdzLW1lcmdlX19saXN0IC5uZWV0by10YWdzLW1lcmdlX19pdGVtcyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuIl19 */";
|
|
1499
1498
|
injectCss.n(css,{});
|
|
1500
1499
|
|
|
1501
1500
|
var App = function App(_ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoTags.js","sources":["../../app/javascript/src/components/Menu.jsx","../../app/javascript/src/components/Dashboard/constants.js","../../app/javascript/src/components/Dashboard/Header.jsx","../../app/javascript/src/hooks/useTagsForm.js","../../app/javascript/src/components/Dashboard/ManageTags.jsx","../../app/javascript/src/components/Dashboard/utils.jsx","../../app/javascript/src/components/Dashboard/Table.jsx","../../app/javascript/src/components/Dashboard/index.jsx","../../app/javascript/src/components/Merge/constants.js","../../app/javascript/src/components/Merge/utils.js","../../app/javascript/src/components/Merge/List.jsx","../../node_modules/pluralize/pluralize.js","../../app/javascript/src/components/Merge/MergeAlert.jsx","../../app/javascript/src/components/Merge/index.jsx","../../app/javascript/src/components/utils.js","../../app/javascript/src/components/index.jsx","../../app/javascript/src/index.jsx"],"sourcesContent":["import { Tab } from \"neetoui\";\n\nconst Menu = ({ tagTypes, tagType, setTagType }) => (\n <Tab className=\"mb-6\">\n {Object.values(tagTypes).map(tag => (\n <Tab.Item\n active={tagType.id === tag.id}\n description={tag.description}\n key={tag.id}\n onClick={() => {\n setTagType(tag);\n }}\n >\n {tag.label}\n </Tab.Item>\n ))}\n </Tab>\n);\n\nexport default Menu;\n","import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { noop } from \"neetocist\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { handleMetaClick, useFuncDebounce } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"src/common/constants\";\n\nconst Header = ({\n breadcrumbs,\n title,\n tagsMergable = false,\n setPaneType,\n setSelectedTag,\n goToFirstPage = noop,\n tagsPath = \"\",\n data,\n showFilters = true,\n titleHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const resetPage = useFuncDebounce(() => goToFirstPage());\n\n return (\n <NeetoHeader\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={title || t(\"neetoTags.common.tag\", PLURAL)}\n actionBlock={\n <>\n {tagsMergable && (\n <Button\n data-cy=\"neeto-tags-merge-tags-button\"\n disabled={data?.tags.length < PLURAL.count}\n label={t(\"neetoTags.common.mergeTag\", PLURAL)}\n style=\"secondary\"\n onClick={handleMetaClick(history, `${tagsPath}/merge`)}\n />\n )}\n <Button\n data-cy=\"add-new-tag-button\"\n label={t(\"neetoTags.common.addNewTag\", SINGULAR)}\n onClick={() => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n }}\n />\n </>\n }\n searchProps={\n showFilters && {\n \"data-cy\": \"neeto-tags-search-text-input-field\",\n onChange: resetPage,\n placeholder: t(\"neetoTags.placeholder.searchTags\"),\n }\n }\n />\n );\n};\n\nexport default Header;\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: () => {\n !isEdit && goToFirstPage();\n tagOperation?.onSuccess?.callback();\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES, TAG_STYLES } from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-cy=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-cy=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n <Select\n name=\"style\"\n options={Object.values(TAG_STYLES).map(toLabelAndValue)}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Tag } from \"neetoui\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst renderDropdownButton = ({\n handleEdit = noop,\n handleDelete = noop,\n tag = {},\n}) => (\n <div onClick={e => e.stopPropagation()}>\n <Dropdown\n autoWidth\n appendTo={() => document.body}\n buttonProps={{ style: \"text\", className: \"mr-1 my-1\" }}\n icon={MenuHorizontal}\n position=\"bottom-end\"\n strategy=\"fixed\"\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"tags-edit-button\"\n onClick={() => handleEdit(tag)}\n >\n {t(\"neetoTags.button.edit\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-cy=\"tags-delete-button\"\n onClick={() => handleDelete(tag)}\n >\n {t(\"neetoTags.button.delete\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n);\n\nexport const renderColumnData = (handleEdit, handleDelete, columns = []) => [\n {\n title: t(\"neetoTags.common.name\"),\n dataIndex: \"name\",\n key: \"name\",\n width: 300,\n render: (name, tag) => (\n <div className=\"neeto-tags-table__column\">\n <Tag label={name} style={tag.style} />\n {renderDropdownButton({ handleEdit, handleDelete, tag })}\n </div>\n ),\n },\n {\n title: t(\"neetoTags.common.description\"),\n dataIndex: \"description\",\n key: \"description\",\n width: 400,\n render: description => (\n <Typography className=\"whitespace-normal\">{description}</Typography>\n ),\n },\n ...columns,\n];\n","import TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderColumnData } from \"./utils\";\n\nconst Table = ({\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n noDataProps,\n}) => {\n const { t } = useTranslation();\n\n if (!isLoading && !data?.tags?.length) {\n return (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps, ...noDataProps }}\n title={t(\"neetoTags.title.noTagsToShow\")}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > filters.pageSize}>\n <NeetoUITable\n fixedHeight\n allowRowClick={!!onTagRowClick}\n columnData={renderColumnData(handleEdit, handleDelete, tagType.columns)}\n currentPageNumber={filters.page}\n defaultPageSize={filters.pageSize}\n loading={isLoading}\n paginationProps={{ showSizeChanger: false }}\n rowData={data?.tags}\n rowSelection={false}\n scroll={{ x: 0 }}\n totalCount={data?.totalCount}\n onChange={handleOnChange}\n onRowClick={(event, record, rowIndex) =>\n onTagRowClick({ event, tag: record, rowIndex })\n }\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, SINGULAR } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr, buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Alert, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"common/constants\";\nimport Menu from \"components/Menu\";\nimport { useDeleteTag, useFetchTags } from \"src/hooks/useTagsApi\";\n\nimport { DEFAULT_FILTERS, NEETO_FILTERS } from \"./constants\";\nimport Header from \"./Header\";\nimport ManageTags from \"./ManageTags\";\nimport Table from \"./Table\";\n\nconst Dashboard = ({\n breadcrumbs,\n title,\n createTags,\n deleteTags,\n displayMenu,\n onTagRowClick,\n tagsMergable = false,\n tagsPath,\n tagType,\n updateTags,\n setTagType,\n tagTypes,\n noDataProps = {},\n titleHelpPopoverProps = {},\n}) => {\n const history = useHistory();\n const queryParams = useQueryParams();\n const { searchTerm = \"\" } = queryParams;\n\n const searchKeywordProps = {\n node: \"name\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [selectedTag, setSelectedTag] = useState(null);\n const [paneType, setPaneType] = useState(null);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [filters, setFilters] = useState(DEFAULT_FILTERS);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [neetoFilters, setNeetoFilters] = useState(\n buildFiltersFromURL([...NEETO_FILTERS, searchKeywordProps])\n );\n\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n neetoFilters,\n ...filters,\n });\n\n const { t } = useTranslation();\n\n const primaryButtonProps = {\n \"data-cy\": \"add-new-tag-button\",\n label: t(\"neetoTags.common.addNewTag\", SINGULAR),\n onClick: () => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n },\n };\n\n const handleEdit = tag => {\n setSelectedTag(tag);\n setPaneType(PANE_TYPES.EDIT);\n };\n\n const handleDelete = tag => {\n setSelectedTag(tag);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedTag(null);\n };\n\n const handleOnChange = (\n { current: page },\n _,\n { field: sortBy, order: orderBy }\n ) => setFilters(mergeLeft({ page, sortBy: orderBy && sortBy, orderBy }));\n\n const { mutate, isPending: isDeletingTag } = useDeleteTag();\n\n const handleConfirmDelete = () => {\n const payload = { url: tagType.url, id: selectedTag?.id };\n const isNotDeleting = !isDeletingTag && isDeleteAlertOpen;\n isNotDeleting &&\n mutate(payload, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n if (data?.tags?.length === 1) {\n setFilters(mergeLeft({ page: filters.page - 1 }));\n }\n deleteTags?.onSuccess?.callback();\n // @ts-ignore\n showThumbsUpToastr();\n },\n });\n };\n\n const handleFiltersChange = filters => {\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n setNeetoFilters(filters);\n };\n\n const resetPage = () => setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }));\n\n const showFilters = isPresent(neetoFilters) || data?.totalCount > 0;\n\n return (\n <>\n <Container>\n <Header\n {...{\n breadcrumbs,\n data,\n displayMenu,\n setPaneType,\n setSelectedTag,\n showFilters,\n tagsMergable,\n tagsPath,\n title,\n titleHelpPopoverProps,\n }}\n goToFirstPage={resetPage}\n />\n {showFilters && (\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800\"\n data-cy=\"neeto-tags-filtered-tags-count-text\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoTags.helper.tagWithCount\", {\n count: data?.totalCount || 0,\n type: tagType?.label || \"\",\n })}\n </Typography>\n }\n rightActionBlock={\n <SubHeader.RightBlock\n filterProps={{\n columns: NEETO_FILTERS,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n keyword: searchKeywordProps,\n }}\n />\n }\n />\n )}\n <FiltersBar\n columns={NEETO_FILTERS}\n isOpen={isFiltersPaneOpen}\n keyword={searchKeywordProps}\n onChange={handleFiltersChange}\n />\n {displayMenu && <Menu {...{ setTagType, tagType, tagTypes }} />}\n <Table\n {...{\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n noDataProps,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n }}\n />\n </Container>\n <ManageTags\n {...{ createTags, tagType, updateTags }}\n goToFirstPage={resetPage}\n tag={selectedTag}\n type={paneType}\n onClose={() => setPaneType(null)}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTags.button.cancel\")}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeletingTag}\n submitButtonLabel={t(\"neetoTags.button.delete\")}\n title={t(\"neetoTags.alert.title.deleteTag\")}\n message={\n <Trans\n i18nKey=\"neetoTags.alert.message.deleteTag_\"\n values={{ name: selectedTag?.name }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleConfirmDelete}\n />\n </>\n );\n};\n\nexport default Dashboard;\n","import { t } from \"i18next\";\n\nexport const NO_DATA_PRIMARY_BUTTON_PROPS = {\n \"data-cy\": \"neeto-tags-go-back-button\",\n size: \"small\",\n label: t(\"neetoTags.button.goBack\"),\n};\n","import { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { pluck } from \"ramda\";\n\nexport const getListType = ({\n destinationTags = [],\n isSource = false,\n sourceTags = [],\n}) =>\n isSource\n ? {\n label: t(\"neetoTags.title.selectSourceTag\", SINGULAR),\n value: \"source\",\n tagIds: pluck(\"id\", sourceTags),\n counterTagIds: pluck(\"id\", destinationTags),\n }\n : {\n label: t(\"neetoTags.title.selectDestinationTag\", SINGULAR),\n value: \"destination\",\n tagIds: pluck(\"id\", destinationTags),\n counterTagIds: pluck(\"id\", sourceTags),\n };\n\nexport const orderBySourceTags = (tags, sourceTags) => {\n const withoutSourceTags = tags.filter(tag =>\n sourceTags.every(sourceTag => sourceTag.id !== tag.id)\n );\n\n return [...sourceTags, ...withoutSourceTags];\n};\n","import { useMemo, useState } from \"react\";\n\nimport classames from \"classnames\";\nimport { Check } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getListType, orderBySourceTags } from \"./utils\";\n\nconst List = ({\n isSource = false,\n destinationTags = [],\n onSelect,\n sourceTags = [],\n tagList = [],\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const listType = useMemo(\n () => getListType({ destinationTags, isSource, sourceTags }),\n [isSource, sourceTags, destinationTags] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const filteredTags = orderBySourceTags(tagList, sourceTags).filter(tag =>\n tag?.name?.toLowerCase()?.includes(searchTerm.toLowerCase().trim())\n );\n\n return (\n <div className=\"neeto-tags-merge__list neeto-tags-border neeto-ui-border-gray-300 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-flex neeto-ui-flex-col p-3 md:p-4 lg:p-6\">\n <Typography className=\"neeto-ui-mb-3\" style=\"h4\">\n {listType.label}\n </Typography>\n <Input\n className=\"flex-grow-0\"\n data-cy={`neeto-tags-merge-${listType.value}-search-text-input-field`}\n placeholder={t(\"neetoTags.placeholder.searchTags\")}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n />\n <div\n className=\"neeto-tags-merge__items\"\n data-cy={`neeto-tags-merge-${listType.value}-tags-list`}\n >\n {filteredTags.map(tag => {\n const selectedTagIds = listType.tagIds.includes(tag.id);\n const selectedCounterTags = listType.counterTagIds.includes(tag.id);\n\n return (\n <div\n data-cy={`neeto-tags-merge-${listType.value}-tags`}\n key={tag.id}\n className={classames(\n \"neeto-ui-flex neeto-ui-justify-between neeto-ui-items-center neeto-tags-border neeto-ui-border-white neeto-ui-p-2 neeto-ui-rounded-lg neeto-ui-cursor-pointer\",\n {\n \"neeto-ui-bg-gray-200 neeto-ui-border-primary-600\":\n selectedTagIds,\n \"hover:neeto-ui-bg-gray-100\": !selectedTagIds,\n \"neeto-ui-cursor-not-allowed neeto-ui-bg-gray-100 neeto-ui-text-gray-500\":\n selectedCounterTags,\n }\n )}\n onClick={() =>\n !selectedCounterTags && onSelect(tag, listType.value)\n }\n >\n <span>{tag.name}</span>\n {selectedTagIds && <Check size={18} />}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default List;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nconst MergeAlert = withT(\n ({\n t,\n destinationTags = [],\n handleSubmit,\n isSubmitting = false,\n setShowModal,\n showModal = false,\n sourceTags = [],\n tagType = \"\",\n }) => (\n <Modal isOpen={showModal} onClose={() => setShowModal(false)}>\n <Modal.Header>\n <Typography id=\"dialog1Title\" style=\"h2\">\n {t(\"neetoTags.common.mergeTag\", PLURAL)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography lineHeight=\"normal\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTags.helper.mergeTagsMessage\"\n values={{\n count: sourceTags.length,\n sourceTags: pluck(\"name\", sourceTags),\n destinationTag: pluck(\"name\", destinationTags),\n entities: pluralize(tagType.label.toLowerCase()),\n }}\n />\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-cy=\"neeto-tags-merge-cancel-button\"\n label={t(\"neetoTags.button.cancel\")}\n style=\"tertiary\"\n onClick={() => setShowModal(false)}\n />\n <Button\n data-cy=\"neeto-tags-merge-proceed-button\"\n disabled={isSubmitting}\n label={t(\"neetoTags.button.proceed\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n </Modal.Footer>\n </Modal>\n )\n);\n\nexport default MergeAlert;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\nimport { useState, useMemo } from \"react\";\n\nimport { removeById, existsById } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Merge as NeetoUITagMergeIcon } from \"neetoicons\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Button, NoData, Spinner } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchTags, useMergeTags } from \"src/hooks/useTagsApi\";\n\nimport { NO_DATA_PRIMARY_BUTTON_PROPS } from \"./constants\";\nimport List from \"./List\";\nimport MergeAlert from \"./MergeAlert\";\n\nconst Merge = ({ breadcrumbs, mergeTags, tagsPath, tagType }) => {\n const [sourceTags, setSourceTags] = useState([]);\n const [destinationTags, setDestinationTags] = useState([]);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const isMergeButtonDisabled = isEmpty(sourceTags) || isEmpty(destinationTags);\n const { t } = useTranslation();\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n skipPagination: true,\n });\n\n const { mutate, isPending: isSubmitting } = useMergeTags();\n const primaryButtonProps = { ...NO_DATA_PRIMARY_BUTTON_PROPS, to: tagsPath };\n\n const updatedBreadcrumbs = useMemo(\n () => [...breadcrumbs, { text: t(\"neetoTags.common.mergeTag\", PLURAL) }],\n [breadcrumbs]\n );\n\n const getTagState = type => ({\n tags: type === \"source\" ? sourceTags : destinationTags,\n setTags: type === \"source\" ? setSourceTags : setDestinationTags,\n });\n\n const handleOnTagSelect = (tag, type) => {\n const { tags, setTags } = getTagState(type);\n const isTagPresent = existsById(tag.id, tags);\n let filteredTags = type === \"source\" ? [...tags, tag] : [tag];\n if (isTagPresent) {\n filteredTags = removeById(tag.id, tags);\n }\n setTags(filteredTags);\n };\n\n const handleSubmit = () => {\n const payload = {\n tags: {\n primary_id: pluck(\"id\", destinationTags),\n secondary_id: pluck(\"id\", sourceTags),\n },\n };\n\n mutate(\n { url: tagType.url, payload },\n {\n onSuccess: () => {\n setDestinationTags([]);\n setSourceTags([]);\n mergeTags?.onSuccess?.callback();\n setIsModalOpen(false);\n },\n }\n );\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n breadcrumbs={updatedBreadcrumbs}\n title={t(\"neetoTags.common.mergeTag\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"neeto-tags-merge-button\"\n disabled={isMergeButtonDisabled}\n label={t(\"neetoTags.button.merge\")}\n onClick={() => {\n setIsModalOpen(true);\n }}\n />\n }\n />\n {!data?.tags?.length ? (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps }}\n title={t(\"neetoTags.noTagsToShow\")}\n />\n </div>\n ) : (\n <div className=\"neeto-tags-merge__container\">\n <List\n {...{ destinationTags, sourceTags }}\n isSource\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n <NeetoUITagMergeIcon\n className=\"neeto-ui-self-center neeto-ui-text-gray-600 mx-1 md:mx-4 lg:mx-6\"\n size={24}\n />\n <List\n {...{ destinationTags, sourceTags }}\n isSource={false}\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n </div>\n )}\n <MergeAlert\n {...{\n destinationTags,\n handleSubmit,\n isSubmitting,\n sourceTags,\n tagType,\n }}\n setShowModal={setIsModalOpen}\n showModal={isModalOpen}\n />\n </Container>\n );\n};\n\nexport default Merge;\n","import { getQueryParams } from \"neetocommons/utils\";\n\nimport Dashboard from \"./Dashboard\";\nimport Merge from \"./Merge\";\n\nexport const getCurrentTagType = (tagTypes = []) => {\n const { view: tagLabel } = getQueryParams();\n const requiredTagType = tagTypes.find(\n tagType => tagType?.label?.toLowerCase() === tagLabel\n );\n\n return requiredTagType || tagTypes[0];\n};\n\nexport const createRoutes = path => [\n { component: Merge, exact: true, path: `${path}/merge` },\n { component: Dashboard, exact: true, path: path || \"\" },\n];\n","import { useState } from \"react\";\n\nimport { Switch, Route } from \"react-router-dom\";\n\nimport { createRoutes, getCurrentTagType } from \"./utils\";\n\nconst Tags = ({ config }) => {\n const { tagTypes, displayMenu = true } = config;\n\n const [tagType, setTagType] = useState(getCurrentTagType(tagTypes));\n\n const routes = createRoutes(config.tagsPath);\n\n return (\n <Switch>\n {routes.map(({ exact, path, component: Component }) => (\n <Route {...{ exact, path }} key={path}>\n <Component {...{ ...config, displayMenu, setTagType, tagType }} />\n </Route>\n ))}\n </Switch>\n );\n};\n\nexport default Tags;\n","import Tags from \"./components\";\nimport \"./stylesheets/main.scss\";\n\nconst App = ({ config }) => <Tags {...{ config }} />;\n\nexport default App;\n"],"names":["Menu","_ref","tagTypes","tagType","setTagType","_jsx","Tab","className","children","Object","values","map","tag","Item","active","id","description","onClick","label","TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","node","type","Header","breadcrumbs","title","_ref$tagsMergable","tagsMergable","setPaneType","setSelectedTag","_ref$goToFirstPage","goToFirstPage","noop","_ref$tagsPath","tagsPath","data","_ref$showFilters","showFilters","titleHelpPopoverProps","_useTranslation","useTranslation","history","useHistory","resetPage","useFuncDebounce","NeetoHeader","PLURAL","actionBlock","_jsxs","_Fragment","Button","disabled","tags","count","style","handleMetaClick","concat","SINGULAR","PANE_TYPES","CREATE","searchProps","onChange","placeholder","useTagsForm","createTags","isEdit","onClose","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","_ref2","_values$description","resetForm","tagData","url","payload","mergeLeft","trim","value","onSuccess","_tagOperation$onSucce","callback","onError","ManageTags","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","Pane","initialFocusRef","isOpen","Typography","weight","Form","formikProps","_objectSpread","onSubmit","Body","Input","unlimitedChars","maxLength","ref","Textarea","rows","Select","options","TAG_STYLES","toLabelAndValue","Footer","ActionBlock","cancelButtonProps","submitButtonProps","Dropdown","MenuItem","renderDropdownButton","_ref$handleEdit","handleEdit","_ref$handleDelete","handleDelete","_ref$tag","e","stopPropagation","autoWidth","appendTo","document","body","buttonProps","icon","MenuHorizontal","position","strategy","renderColumnData","columns","arguments","undefined","dataIndex","width","render","Tag","_toConsumableArray","Table","_data$tags","filters","handleOnChange","isLoading","onTagRowClick","primaryButtonProps","noDataProps","NoData","TableWrapper","hasPagination","totalCount","NeetoUITable","fixedHeight","allowRowClick","columnData","currentPageNumber","defaultPageSize","loading","paginationProps","showSizeChanger","rowData","rowSelection","scroll","x","onRowClick","event","record","rowIndex","Dashboard","deleteTags","displayMenu","_ref$noDataProps","_ref$titleHelpPopover","queryParams","useQueryParams","_queryParams$searchTe","searchTerm","searchKeywordProps","_useState","useState","_useState2","_slicedToArray","selectedTag","_useState3","_useState4","paneType","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","setFilters","_useState9","_useState10","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState11","buildFiltersFromURL","_useState12","neetoFilters","setNeetoFilters","_useFetchTags","useFetchTags","handleAlertClose","_","_ref3","current","field","order","_useDeleteTag","useDeleteTag","isDeletingTag","handleConfirmDelete","isNotDeleting","_deleteTags$onSuccess","showThumbsUpToastr","handleFiltersChange","push","buildUrl","window","location","pathname","isPresent","Container","SubHeader","leftActionBlock","rightActionBlock","RightBlock","filterProps","setIsOpen","keyword","FiltersBar","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","NO_DATA_PRIMARY_BUTTON_PROPS","size","getListType","_ref$destinationTags","destinationTags","_ref$isSource","isSource","_ref$sourceTags","sourceTags","tagIds","pluck","counterTagIds","orderBySourceTags","withoutSourceTags","filter","every","sourceTag","List","onSelect","_ref$tagList","tagList","setSearchTerm","listType","useMemo","filteredTags","_tag$name","toLowerCase","includes","target","selectedTagIds","selectedCounterTags","classames","Check","require","this","MergeAlert","withT","_ref$isSubmitting","setShowModal","_ref$showModal","showModal","_ref$tagType","Modal","lineHeight","destinationTag","entities","pluralize","Merge","mergeTags","setSourceTags","setDestinationTags","isModalOpen","setIsModalOpen","isMergeButtonDisabled","isEmpty","skipPagination","_useMergeTags","useMergeTags","to","updatedBreadcrumbs","text","getTagState","setTags","handleOnTagSelect","_getTagState","isTagPresent","existsById","removeById","primary_id","secondary_id","_mergeTags$onSuccess","Spinner","NeetoUITagMergeIcon","getCurrentTagType","_getQueryParams","getQueryParams","tagLabel","view","requiredTagType","find","_tagType$label","createRoutes","path","component","exact","Tags","config","_config$displayMenu","routes","Switch","Component","_createElement","Route","App"],"mappings":"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","x_google_ignoreList":[11]}
|
|
1
|
+
{"version":3,"file":"NeetoTags.js","sources":["../../app/javascript/src/components/Menu.jsx","../../app/javascript/src/components/Dashboard/constants.js","../../app/javascript/src/components/Dashboard/Header.jsx","../../app/javascript/src/hooks/useTagsForm.js","../../app/javascript/src/components/Dashboard/ManageTags.jsx","../../app/javascript/src/components/Dashboard/utils.jsx","../../app/javascript/src/components/Dashboard/Table.jsx","../../app/javascript/src/components/Dashboard/index.jsx","../../app/javascript/src/components/Merge/constants.js","../../app/javascript/src/components/Merge/utils.js","../../app/javascript/src/components/Merge/List.jsx","../../node_modules/pluralize/pluralize.js","../../app/javascript/src/components/Merge/MergeAlert.jsx","../../app/javascript/src/components/Merge/index.jsx","../../app/javascript/src/components/utils.js","../../app/javascript/src/components/index.jsx","../../app/javascript/src/index.jsx"],"sourcesContent":["import { Tab } from \"neetoui\";\n\nconst Menu = ({ tagTypes, tagType, setTagType }) => (\n <Tab className=\"mb-6\">\n {Object.values(tagTypes).map(tag => (\n <Tab.Item\n active={tagType.id === tag.id}\n description={tag.description}\n key={tag.id}\n onClick={() => {\n setTagType(tag);\n }}\n >\n {tag.label}\n </Tab.Item>\n ))}\n </Tab>\n);\n\nexport default Menu;\n","import { t } from \"i18next\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport * as yup from \"yup\";\n\nexport const TAG_NAME_MAX_LENGTH = 50;\n\nexport const TAG_DESCRIPTION_ROW_LENGTH = 3;\n\nexport const TAG_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const TAG_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .typeError(t(\"neetoTags.validation.nameMustBeString\"))\n .required(t(\"neetoTags.validation.nameRequired\"))\n .max(\n TAG_NAME_MAX_LENGTH,\n t(\"neetoTags.validation.nameMaxLength\", {\n length: TAG_NAME_MAX_LENGTH,\n })\n ),\n description: yup\n .string()\n .typeError(t(\"neetoTags.validation.descriptionMustBeString\"))\n .nullable()\n .max(\n TAG_DESCRIPTION_MAX_LENGTH,\n t(\"neetoTags.validation.descriptionMaxLength\", {\n length: TAG_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const TAGS_FORMIK_PROPS = {\n validateOnBlur: true,\n validateOnChange: true,\n validationSchema: TAG_SCHEMA,\n};\n\nexport const DEFAULT_FILTERS = {\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n sortBy: \"\",\n orderBy: \"\",\n};\n\nexport const NEETO_FILTERS = [\n {\n key: \"name\",\n label: t(\"neetoTags.common.name\"),\n node: \"name\",\n type: \"text\",\n },\n];\n","import { noop } from \"neetocist\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { handleMetaClick, useFuncDebounce } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"src/common/constants\";\n\nconst Header = ({\n breadcrumbs,\n title,\n tagsMergable = false,\n setPaneType,\n setSelectedTag,\n goToFirstPage = noop,\n tagsPath = \"\",\n data,\n showFilters = true,\n titleHelpPopoverProps,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const resetPage = useFuncDebounce(() => goToFirstPage());\n\n return (\n <NeetoHeader\n {...{ breadcrumbs, titleHelpPopoverProps }}\n title={title || t(\"neetoTags.common.tag\", PLURAL)}\n actionBlock={\n <>\n {tagsMergable && (\n <Button\n data-cy=\"neeto-tags-merge-tags-button\"\n disabled={data?.tags.length < PLURAL.count}\n label={t(\"neetoTags.common.mergeTag\", PLURAL)}\n style=\"secondary\"\n onClick={handleMetaClick(history, `${tagsPath}/merge`)}\n />\n )}\n <Button\n data-cy=\"add-new-tag-button\"\n label={t(\"neetoTags.common.addNewTag\", SINGULAR)}\n onClick={() => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n }}\n />\n </>\n }\n searchProps={\n showFilters && {\n \"data-cy\": \"neeto-tags-search-text-input-field\",\n onChange: resetPage,\n placeholder: t(\"neetoTags.placeholder.searchTags\"),\n }\n }\n />\n );\n};\n\nexport default Header;\n","import { mergeLeft } from \"ramda\";\n\nimport { useCreateTag, useUpdateTag } from \"./useTagsApi\";\n\nconst useTagsForm = ({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n}) => {\n const tagModification = isEdit ? useUpdateTag : useCreateTag;\n const tagOperation = isEdit ? updateTags : createTags;\n const { mutate, isPending: isSubmitting } = tagModification();\n\n const handleSubmit = (values, { resetForm }) => {\n const tagData = {\n url: tagType.url,\n payload: {\n tag: mergeLeft(\n {\n description: values.description?.trim(),\n style: values.style.value,\n },\n values\n ),\n },\n };\n\n if (isEdit) {\n tagData.id = values.id;\n }\n\n mutate(tagData, {\n onSuccess: () => {\n !isEdit && goToFirstPage();\n tagOperation?.onSuccess?.callback();\n onClose();\n },\n onError: () => {\n resetForm();\n },\n });\n };\n\n return { handleSubmit, isSubmitting };\n};\n\nexport default useTagsForm;\n","import { useRef } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Select, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES, TAG_STYLES } from \"common/constants\";\nimport useTagsForm from \"src/hooks/useTagsForm\";\n\nimport {\n TAGS_FORMIK_PROPS,\n TAG_DESCRIPTION_MAX_LENGTH,\n TAG_DESCRIPTION_ROW_LENGTH,\n TAG_NAME_MAX_LENGTH,\n} from \"./constants\";\n\nconst ManageTags = ({\n createTags,\n goToFirstPage,\n onClose,\n tag,\n tagType,\n type,\n updateTags,\n}) => {\n const { t } = useTranslation();\n const isEdit = type === PANE_TYPES.EDIT;\n const initialValues = isEdit ? tag : INITIAL_TAG_VALUES;\n const inputReference = useRef(null);\n\n const { handleSubmit, isSubmitting } = useTagsForm({\n createTags,\n goToFirstPage,\n isEdit,\n onClose,\n tagType,\n updateTags,\n });\n\n return (\n <Pane {...{ onClose }} initialFocusRef={inputReference} isOpen={!!type}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {isEdit\n ? t(\"neetoTags.common.editTag\")\n : t(\"neetoTags.common.addNewTag\", SINGULAR)}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n ...TAGS_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4\">\n <Input\n required\n unlimitedChars\n data-cy=\"tag-name-text-field\"\n label={t(\"neetoTags.common.name\")}\n maxLength={TAG_NAME_MAX_LENGTH}\n name=\"name\"\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-cy=\"tag-description-text-area\"\n label={t(\"neetoTags.common.description\")}\n maxLength={TAG_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n rows={TAG_DESCRIPTION_ROW_LENGTH}\n />\n <Select\n name=\"style\"\n options={Object.values(TAG_STYLES).map(toLabelAndValue)}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"neeto-tags-manage-tag-submit-button\",\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default ManageTags;\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Typography, Dropdown, Tag } from \"neetoui\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst renderDropdownButton = ({\n handleEdit = noop,\n handleDelete = noop,\n tag = {},\n}) => (\n <div onClick={e => e.stopPropagation()}>\n <Dropdown\n autoWidth\n appendTo={() => document.body}\n buttonProps={{ style: \"text\", className: \"mr-1 my-1\" }}\n icon={MenuHorizontal}\n position=\"bottom-end\"\n strategy=\"fixed\"\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"tags-edit-button\"\n onClick={() => handleEdit(tag)}\n >\n {t(\"neetoTags.button.edit\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-cy=\"tags-delete-button\"\n onClick={() => handleDelete(tag)}\n >\n {t(\"neetoTags.button.delete\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n);\n\nexport const renderColumnData = (handleEdit, handleDelete, columns = []) => [\n {\n title: t(\"neetoTags.common.name\"),\n dataIndex: \"name\",\n key: \"name\",\n width: 300,\n render: (name, tag) => (\n <div className=\"neeto-tags-table__column\">\n <Tag label={name} style={tag.style} />\n {renderDropdownButton({ handleEdit, handleDelete, tag })}\n </div>\n ),\n },\n {\n title: t(\"neetoTags.common.description\"),\n dataIndex: \"description\",\n key: \"description\",\n width: 400,\n render: description => (\n <Typography className=\"whitespace-normal\">{description}</Typography>\n ),\n },\n ...columns,\n];\n","import TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderColumnData } from \"./utils\";\n\nconst Table = ({\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n noDataProps,\n}) => {\n const { t } = useTranslation();\n\n if (!isLoading && !data?.tags?.length) {\n return (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps, ...noDataProps }}\n title={t(\"neetoTags.title.noTagsToShow\")}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={data?.totalCount > filters.pageSize}>\n <NeetoUITable\n fixedHeight\n allowRowClick={!!onTagRowClick}\n columnData={renderColumnData(handleEdit, handleDelete, tagType.columns)}\n currentPageNumber={filters.page}\n defaultPageSize={filters.pageSize}\n loading={isLoading}\n paginationProps={{ showSizeChanger: false }}\n rowData={data?.tags}\n rowSelection={false}\n scroll={{ x: 0 }}\n totalCount={data?.totalCount}\n onChange={handleOnChange}\n onRowClick={(event, record, rowIndex) =>\n onTagRowClick({ event, tag: record, rowIndex })\n }\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, SINGULAR } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { showThumbsUpToastr, buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar, buildFiltersFromURL } from \"neetofilters\";\nimport Container from \"neetomolecules/Container\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Alert, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PANE_TYPES } from \"common/constants\";\nimport Menu from \"components/Menu\";\nimport { useDeleteTag, useFetchTags } from \"src/hooks/useTagsApi\";\n\nimport { DEFAULT_FILTERS, NEETO_FILTERS } from \"./constants\";\nimport Header from \"./Header\";\nimport ManageTags from \"./ManageTags\";\nimport Table from \"./Table\";\n\nconst Dashboard = ({\n breadcrumbs,\n title,\n createTags,\n deleteTags,\n displayMenu,\n onTagRowClick,\n tagsMergable = false,\n tagsPath,\n tagType,\n updateTags,\n setTagType,\n tagTypes,\n noDataProps = {},\n titleHelpPopoverProps = {},\n}) => {\n const history = useHistory();\n const queryParams = useQueryParams();\n const { searchTerm = \"\" } = queryParams;\n\n const searchKeywordProps = {\n node: \"name\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [selectedTag, setSelectedTag] = useState(null);\n const [paneType, setPaneType] = useState(null);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [filters, setFilters] = useState(DEFAULT_FILTERS);\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [neetoFilters, setNeetoFilters] = useState(\n buildFiltersFromURL([...NEETO_FILTERS, searchKeywordProps])\n );\n\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n neetoFilters,\n ...filters,\n });\n\n const { t } = useTranslation();\n\n const primaryButtonProps = {\n \"data-cy\": \"add-new-tag-button\",\n label: t(\"neetoTags.common.addNewTag\", SINGULAR),\n onClick: () => {\n setSelectedTag(null);\n setPaneType(PANE_TYPES.CREATE);\n },\n };\n\n const handleEdit = tag => {\n setSelectedTag(tag);\n setPaneType(PANE_TYPES.EDIT);\n };\n\n const handleDelete = tag => {\n setSelectedTag(tag);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedTag(null);\n };\n\n const handleOnChange = (\n { current: page },\n _,\n { field: sortBy, order: orderBy }\n ) => setFilters(mergeLeft({ page, sortBy: orderBy && sortBy, orderBy }));\n\n const { mutate, isPending: isDeletingTag } = useDeleteTag();\n\n const handleConfirmDelete = () => {\n const payload = { url: tagType.url, id: selectedTag?.id };\n const isNotDeleting = !isDeletingTag && isDeleteAlertOpen;\n isNotDeleting &&\n mutate(payload, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n if (data?.tags?.length === 1) {\n setFilters(mergeLeft({ page: filters.page - 1 }));\n }\n deleteTags?.onSuccess?.callback();\n // @ts-ignore\n showThumbsUpToastr();\n },\n });\n };\n\n const handleFiltersChange = filters => {\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n setNeetoFilters(filters);\n };\n\n const resetPage = () => setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }));\n\n const showFilters = isPresent(neetoFilters) || data?.totalCount > 0;\n\n return (\n <>\n <Container>\n <Header\n {...{\n breadcrumbs,\n data,\n displayMenu,\n setPaneType,\n setSelectedTag,\n showFilters,\n tagsMergable,\n tagsPath,\n title,\n titleHelpPopoverProps,\n }}\n goToFirstPage={resetPage}\n />\n {showFilters && (\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800\"\n data-cy=\"neeto-tags-filtered-tags-count-text\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoTags.helper.tagWithCount\", {\n count: data?.totalCount || 0,\n type: tagType?.label || \"\",\n })}\n </Typography>\n }\n rightActionBlock={\n <SubHeader.RightBlock\n filterProps={{\n columns: NEETO_FILTERS,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleFiltersChange,\n keyword: searchKeywordProps,\n }}\n />\n }\n />\n )}\n <FiltersBar\n columns={NEETO_FILTERS}\n isOpen={isFiltersPaneOpen}\n keyword={searchKeywordProps}\n onChange={handleFiltersChange}\n />\n {displayMenu && <Menu {...{ setTagType, tagType, tagTypes }} />}\n <Table\n {...{\n data,\n filters,\n handleDelete,\n handleEdit,\n handleOnChange,\n isLoading,\n noDataProps,\n onTagRowClick,\n primaryButtonProps,\n tagType,\n }}\n />\n </Container>\n <ManageTags\n {...{ createTags, tagType, updateTags }}\n goToFirstPage={resetPage}\n tag={selectedTag}\n type={paneType}\n onClose={() => setPaneType(null)}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTags.button.cancel\")}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeletingTag}\n submitButtonLabel={t(\"neetoTags.button.delete\")}\n title={t(\"neetoTags.alert.title.deleteTag\")}\n message={\n <Trans\n i18nKey=\"neetoTags.alert.message.deleteTag_\"\n values={{ name: selectedTag?.name }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleConfirmDelete}\n />\n </>\n );\n};\n\nexport default Dashboard;\n","import { t } from \"i18next\";\n\nexport const NO_DATA_PRIMARY_BUTTON_PROPS = {\n \"data-cy\": \"neeto-tags-go-back-button\",\n size: \"small\",\n label: t(\"neetoTags.button.goBack\"),\n};\n","import { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { pluck } from \"ramda\";\n\nexport const getListType = ({\n destinationTags = [],\n isSource = false,\n sourceTags = [],\n}) =>\n isSource\n ? {\n label: t(\"neetoTags.title.selectSourceTag\", SINGULAR),\n value: \"source\",\n tagIds: pluck(\"id\", sourceTags),\n counterTagIds: pluck(\"id\", destinationTags),\n }\n : {\n label: t(\"neetoTags.title.selectDestinationTag\", SINGULAR),\n value: \"destination\",\n tagIds: pluck(\"id\", destinationTags),\n counterTagIds: pluck(\"id\", sourceTags),\n };\n\nexport const orderBySourceTags = (tags, sourceTags) => {\n const withoutSourceTags = tags.filter(tag =>\n sourceTags.every(sourceTag => sourceTag.id !== tag.id)\n );\n\n return [...sourceTags, ...withoutSourceTags];\n};\n","import { useMemo, useState } from \"react\";\n\nimport classames from \"classnames\";\nimport { Check } from \"neetoicons\";\nimport { Input, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getListType, orderBySourceTags } from \"./utils\";\n\nconst List = ({\n isSource = false,\n destinationTags = [],\n onSelect,\n sourceTags = [],\n tagList = [],\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const listType = useMemo(\n () => getListType({ destinationTags, isSource, sourceTags }),\n [isSource, sourceTags, destinationTags]\n );\n\n const filteredTags = orderBySourceTags(tagList, sourceTags).filter(tag =>\n tag?.name?.toLowerCase()?.includes(searchTerm.toLowerCase().trim())\n );\n\n return (\n <div className=\"neeto-tags-merge__list neeto-tags-border neeto-ui-border-gray-300 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-flex neeto-ui-flex-col p-3 md:p-4 lg:p-6\">\n <Typography className=\"neeto-ui-mb-3\" style=\"h4\">\n {listType.label}\n </Typography>\n <Input\n className=\"grow-0\"\n data-cy={`neeto-tags-merge-${listType.value}-search-text-input-field`}\n placeholder={t(\"neetoTags.placeholder.searchTags\")}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n />\n <div\n className=\"neeto-tags-merge__items\"\n data-cy={`neeto-tags-merge-${listType.value}-tags-list`}\n >\n {filteredTags.map(tag => {\n const selectedTagIds = listType.tagIds.includes(tag.id);\n const selectedCounterTags = listType.counterTagIds.includes(tag.id);\n\n return (\n <div\n data-cy={`neeto-tags-merge-${listType.value}-tags`}\n key={tag.id}\n className={classames(\n \"neeto-ui-flex neeto-ui-justify-between neeto-ui-items-center neeto-tags-border neeto-ui-border-white neeto-ui-p-2 neeto-ui-rounded-lg neeto-ui-cursor-pointer\",\n {\n \"neeto-ui-bg-gray-200 neeto-ui-border-primary-600\":\n selectedTagIds,\n \"hover:neeto-ui-bg-gray-100\": !selectedTagIds,\n \"neeto-ui-cursor-not-allowed neeto-ui-bg-gray-100 neeto-ui-text-gray-500\":\n selectedCounterTags,\n }\n )}\n onClick={() =>\n !selectedCounterTags && onSelect(tag, listType.value)\n }\n >\n <span>{tag.name}</span>\n {selectedTagIds && <Check size={18} />}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default List;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nconst MergeAlert = withT(\n ({\n t,\n destinationTags = [],\n handleSubmit,\n isSubmitting = false,\n setShowModal,\n showModal = false,\n sourceTags = [],\n tagType = \"\",\n }) => (\n <Modal isOpen={showModal} onClose={() => setShowModal(false)}>\n <Modal.Header>\n <Typography id=\"dialog1Title\" style=\"h2\">\n {t(\"neetoTags.common.mergeTag\", PLURAL)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography lineHeight=\"normal\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTags.helper.mergeTagsMessage\"\n values={{\n count: sourceTags.length,\n sourceTags: pluck(\"name\", sourceTags),\n destinationTag: pluck(\"name\", destinationTags),\n entities: pluralize(tagType.label.toLowerCase()),\n }}\n />\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-cy=\"neeto-tags-merge-cancel-button\"\n label={t(\"neetoTags.button.cancel\")}\n style=\"tertiary\"\n onClick={() => setShowModal(false)}\n />\n <Button\n data-cy=\"neeto-tags-merge-proceed-button\"\n disabled={isSubmitting}\n label={t(\"neetoTags.button.proceed\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n </Modal.Footer>\n </Modal>\n )\n);\n\nexport default MergeAlert;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\nimport { useState, useMemo } from \"react\";\n\nimport { removeById, existsById } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Merge as NeetoUITagMergeIcon } from \"neetoicons\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport { Button, NoData, Spinner } from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchTags, useMergeTags } from \"src/hooks/useTagsApi\";\n\nimport { NO_DATA_PRIMARY_BUTTON_PROPS } from \"./constants\";\nimport List from \"./List\";\nimport MergeAlert from \"./MergeAlert\";\n\nconst Merge = ({ breadcrumbs, mergeTags, tagsPath, tagType }) => {\n const [sourceTags, setSourceTags] = useState([]);\n const [destinationTags, setDestinationTags] = useState([]);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const isMergeButtonDisabled = isEmpty(sourceTags) || isEmpty(destinationTags);\n const { t } = useTranslation();\n const { data, isLoading } = useFetchTags({\n url: tagType.url,\n skipPagination: true,\n });\n\n const { mutate, isPending: isSubmitting } = useMergeTags();\n const primaryButtonProps = { ...NO_DATA_PRIMARY_BUTTON_PROPS, to: tagsPath };\n\n const updatedBreadcrumbs = useMemo(\n () => [...breadcrumbs, { text: t(\"neetoTags.common.mergeTag\", PLURAL) }],\n [breadcrumbs]\n );\n\n const getTagState = type => ({\n tags: type === \"source\" ? sourceTags : destinationTags,\n setTags: type === \"source\" ? setSourceTags : setDestinationTags,\n });\n\n const handleOnTagSelect = (tag, type) => {\n const { tags, setTags } = getTagState(type);\n const isTagPresent = existsById(tag.id, tags);\n let filteredTags = type === \"source\" ? [...tags, tag] : [tag];\n if (isTagPresent) {\n filteredTags = removeById(tag.id, tags);\n }\n setTags(filteredTags);\n };\n\n const handleSubmit = () => {\n const payload = {\n tags: {\n primary_id: pluck(\"id\", destinationTags),\n secondary_id: pluck(\"id\", sourceTags),\n },\n };\n\n mutate(\n { url: tagType.url, payload },\n {\n onSuccess: () => {\n setDestinationTags([]);\n setSourceTags([]);\n mergeTags?.onSuccess?.callback();\n setIsModalOpen(false);\n },\n }\n );\n };\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container>\n <Header\n breadcrumbs={updatedBreadcrumbs}\n title={t(\"neetoTags.common.mergeTag\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"neeto-tags-merge-button\"\n disabled={isMergeButtonDisabled}\n label={t(\"neetoTags.button.merge\")}\n onClick={() => {\n setIsModalOpen(true);\n }}\n />\n }\n />\n {!data?.tags?.length ? (\n <div className=\"ntm-empty-state\" data-cy=\"empty-state-container\">\n <NoData\n {...{ primaryButtonProps }}\n title={t(\"neetoTags.noTagsToShow\")}\n />\n </div>\n ) : (\n <div className=\"neeto-tags-merge__container\">\n <List\n {...{ destinationTags, sourceTags }}\n isSource\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n <NeetoUITagMergeIcon\n className=\"neeto-ui-self-center neeto-ui-text-gray-600 mx-1 md:mx-4 lg:mx-6\"\n size={24}\n />\n <List\n {...{ destinationTags, sourceTags }}\n isSource={false}\n tagList={data?.tags}\n onSelect={handleOnTagSelect}\n />\n </div>\n )}\n <MergeAlert\n {...{\n destinationTags,\n handleSubmit,\n isSubmitting,\n sourceTags,\n tagType,\n }}\n setShowModal={setIsModalOpen}\n showModal={isModalOpen}\n />\n </Container>\n );\n};\n\nexport default Merge;\n","import { getQueryParams } from \"neetocommons/utils\";\n\nimport Dashboard from \"./Dashboard\";\nimport Merge from \"./Merge\";\n\nexport const getCurrentTagType = (tagTypes = []) => {\n const { view: tagLabel } = getQueryParams();\n const requiredTagType = tagTypes.find(\n tagType => tagType?.label?.toLowerCase() === tagLabel\n );\n\n return requiredTagType || tagTypes[0];\n};\n\nexport const createRoutes = path => [\n { component: Merge, exact: true, path: `${path}/merge` },\n { component: Dashboard, exact: true, path: path || \"\" },\n];\n","import { useState } from \"react\";\n\nimport { Switch, Route } from \"react-router-dom\";\n\nimport { createRoutes, getCurrentTagType } from \"./utils\";\n\nconst Tags = ({ config }) => {\n const { tagTypes, displayMenu = true } = config;\n\n const [tagType, setTagType] = useState(getCurrentTagType(tagTypes));\n\n const routes = createRoutes(config.tagsPath);\n\n return (\n <Switch>\n {routes.map(({ exact, path, component: Component }) => (\n <Route {...{ exact, path }} key={path}>\n <Component {...{ ...config, displayMenu, setTagType, tagType }} />\n </Route>\n ))}\n </Switch>\n );\n};\n\nexport default Tags;\n","import Tags from \"./components\";\nimport \"./stylesheets/main.css\";\n\nconst App = ({ config }) => <Tags {...{ config }} />;\n\nexport default App;\n"],"names":["Menu","_ref","tagTypes","tagType","setTagType","_jsx","Tab","className","children","Object","values","map","tag","Item","active","id","description","onClick","label","TAG_NAME_MAX_LENGTH","TAG_DESCRIPTION_ROW_LENGTH","TAG_DESCRIPTION_MAX_LENGTH","TAG_SCHEMA","yup","object","shape","name","string","typeError","t","required","max","length","nullable","TAGS_FORMIK_PROPS","validateOnBlur","validateOnChange","validationSchema","DEFAULT_FILTERS","page","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","sortBy","orderBy","NEETO_FILTERS","key","node","type","Header","breadcrumbs","title","_ref$tagsMergable","tagsMergable","setPaneType","setSelectedTag","_ref$goToFirstPage","goToFirstPage","noop","_ref$tagsPath","tagsPath","data","_ref$showFilters","showFilters","titleHelpPopoverProps","_useTranslation","useTranslation","history","useHistory","resetPage","useFuncDebounce","NeetoHeader","PLURAL","actionBlock","_jsxs","_Fragment","Button","disabled","tags","count","style","handleMetaClick","concat","SINGULAR","PANE_TYPES","CREATE","searchProps","onChange","placeholder","useTagsForm","createTags","isEdit","onClose","updateTags","tagModification","useUpdateTag","useCreateTag","tagOperation","_tagModification","mutate","isSubmitting","isPending","handleSubmit","_ref2","_values$description","resetForm","tagData","url","payload","mergeLeft","trim","value","onSuccess","_tagOperation$onSucce","callback","onError","ManageTags","EDIT","initialValues","INITIAL_TAG_VALUES","inputReference","useRef","_useTagsForm","Pane","initialFocusRef","isOpen","Typography","weight","Form","formikProps","_objectSpread","onSubmit","Body","Input","unlimitedChars","maxLength","ref","Textarea","rows","Select","options","TAG_STYLES","toLabelAndValue","Footer","ActionBlock","cancelButtonProps","submitButtonProps","Dropdown","MenuItem","renderDropdownButton","_ref$handleEdit","handleEdit","_ref$handleDelete","handleDelete","_ref$tag","e","stopPropagation","autoWidth","appendTo","document","body","buttonProps","icon","MenuHorizontal","position","strategy","renderColumnData","columns","arguments","undefined","dataIndex","width","render","Tag","_toConsumableArray","Table","_data$tags","filters","handleOnChange","isLoading","onTagRowClick","primaryButtonProps","noDataProps","NoData","TableWrapper","hasPagination","totalCount","NeetoUITable","fixedHeight","allowRowClick","columnData","currentPageNumber","defaultPageSize","loading","paginationProps","showSizeChanger","rowData","rowSelection","scroll","x","onRowClick","event","record","rowIndex","Dashboard","deleteTags","displayMenu","_ref$noDataProps","_ref$titleHelpPopover","queryParams","useQueryParams","_queryParams$searchTe","searchTerm","searchKeywordProps","_useState","useState","_useState2","_slicedToArray","selectedTag","_useState3","_useState4","paneType","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","setFilters","_useState9","_useState10","isFiltersPaneOpen","setIsFiltersPaneOpen","_useState11","buildFiltersFromURL","_useState12","neetoFilters","setNeetoFilters","_useFetchTags","useFetchTags","handleAlertClose","_","_ref3","current","field","order","_useDeleteTag","useDeleteTag","isDeletingTag","handleConfirmDelete","isNotDeleting","_deleteTags$onSuccess","showThumbsUpToastr","handleFiltersChange","push","buildUrl","window","location","pathname","isPresent","Container","SubHeader","leftActionBlock","rightActionBlock","RightBlock","filterProps","setIsOpen","keyword","FiltersBar","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","NO_DATA_PRIMARY_BUTTON_PROPS","size","getListType","_ref$destinationTags","destinationTags","_ref$isSource","isSource","_ref$sourceTags","sourceTags","tagIds","pluck","counterTagIds","orderBySourceTags","withoutSourceTags","filter","every","sourceTag","List","onSelect","_ref$tagList","tagList","setSearchTerm","listType","useMemo","filteredTags","_tag$name","toLowerCase","includes","target","selectedTagIds","selectedCounterTags","classames","Check","require","this","MergeAlert","withT","_ref$isSubmitting","setShowModal","_ref$showModal","showModal","_ref$tagType","Modal","lineHeight","destinationTag","entities","pluralize","Merge","mergeTags","setSourceTags","setDestinationTags","isModalOpen","setIsModalOpen","isMergeButtonDisabled","isEmpty","skipPagination","_useMergeTags","useMergeTags","to","updatedBreadcrumbs","text","getTagState","setTags","handleOnTagSelect","_getTagState","isTagPresent","existsById","removeById","primary_id","secondary_id","_mergeTags$onSuccess","Spinner","NeetoUITagMergeIcon","getCurrentTagType","_getQueryParams","getQueryParams","tagLabel","view","requiredTagType","find","_tagType$label","createRoutes","path","component","exact","Tags","config","_config$displayMenu","routes","Switch","Component","_createElement","Route","App"],"mappings":"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","x_google_ignoreList":[11]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-tags-frontend",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.9",
|
|
4
4
|
"description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-tags-nano",
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"@babel/preset-typescript": "7.26.0",
|
|
61
61
|
"@babel/runtime": "7.26.10",
|
|
62
62
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
63
|
-
"@bigbinary/eslint-plugin-neeto": "1.7.
|
|
63
|
+
"@bigbinary/eslint-plugin-neeto": "1.7.6",
|
|
64
64
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
65
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
65
|
+
"@bigbinary/neeto-commons-frontend": "4.13.69",
|
|
66
66
|
"@bigbinary/neeto-filters-frontend": "4.3.24",
|
|
67
67
|
"@bigbinary/neeto-hotkeys": "1.0.9",
|
|
68
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
69
|
-
"@bigbinary/neeto-molecules": "4.0.
|
|
68
|
+
"@bigbinary/neeto-icons": "1.20.57",
|
|
69
|
+
"@bigbinary/neeto-molecules": "4.0.66",
|
|
70
70
|
"@bigbinary/neetoui": "8.3.36",
|
|
71
71
|
"@emotion/is-prop-valid": "1.2.0",
|
|
72
72
|
"@faker-js/faker": "8.2.0",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"postcss-loader": "^7.0.1",
|
|
136
136
|
"postcss-preset-env": "7.8.2",
|
|
137
137
|
"prettier": "3",
|
|
138
|
-
"prettier-plugin-tailwindcss": "0.6.14",
|
|
138
|
+
"prettier-plugin-tailwindcss": "^0.6.14",
|
|
139
139
|
"process": "0.11.10",
|
|
140
140
|
"qs": "^6.11.2",
|
|
141
141
|
"ramda": "0.29.0",
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"stream-browserify": "^3.0.0",
|
|
160
160
|
"stream-http": "3.2.0",
|
|
161
161
|
"style-loader": "^3.3.1",
|
|
162
|
-
"tailwindcss": "
|
|
162
|
+
"tailwindcss": "^4.1.13",
|
|
163
163
|
"tty-browserify": "0.0.1",
|
|
164
164
|
"url": "^0.11.0",
|
|
165
165
|
"util": "^0.12.5",
|
|
@@ -174,11 +174,11 @@
|
|
|
174
174
|
"peerDependencies": {
|
|
175
175
|
"@babel/runtime": "7.26.10",
|
|
176
176
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
177
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
177
|
+
"@bigbinary/neeto-commons-frontend": "4.13.69",
|
|
178
178
|
"@bigbinary/neeto-filters-frontend": "4.3.24",
|
|
179
179
|
"@bigbinary/neeto-hotkeys": "1.0.9",
|
|
180
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
181
|
-
"@bigbinary/neeto-molecules": "4.0.
|
|
180
|
+
"@bigbinary/neeto-icons": "1.20.57",
|
|
181
|
+
"@bigbinary/neeto-molecules": "4.0.66",
|
|
182
182
|
"@bigbinary/neetoui": "8.3.36",
|
|
183
183
|
"@honeybadger-io/js": "6.10.1",
|
|
184
184
|
"@honeybadger-io/react": "6.1.25",
|
|
@@ -231,6 +231,7 @@
|
|
|
231
231
|
},
|
|
232
232
|
"dependencies": {
|
|
233
233
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
234
|
+
"@tailwindcss/postcss": "^4.1.13",
|
|
234
235
|
"babel-plugin-transform-imports": "^2.0.0",
|
|
235
236
|
"react-router-nav-prompt": "0.4.1"
|
|
236
237
|
},
|