@bigbinary/neeto-tags-frontend 2.1.10 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/NeetoTags.js +12 -6
- package/dist/NeetoTags.js.map +1 -1
- package/dist/cjs/NeetoTags.js +11 -5
- package/dist/cjs/NeetoTags.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +2 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/{useTagsApi-CeXBXe3i.js → useTagsApi-CbashvsV.js} +15 -4
- package/dist/useTagsApi-CbashvsV.js.map +1 -0
- package/dist/{useTagsApi-V3f4Zddm.js → useTagsApi-CmFEGxns.js} +15 -5
- package/dist/useTagsApi-CmFEGxns.js.map +1 -0
- package/dist/utils.js +2 -1
- package/dist/utils.js.map +1 -1
- package/package.json +42 -39
- package/dist/useTagsApi-CeXBXe3i.js.map +0 -1
- package/dist/useTagsApi-V3f4Zddm.js.map +0 -1
package/dist/NeetoTags.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useRef, useState, useMemo, createElement } from 'react';
|
|
|
4
4
|
import { useHistory, Switch, Route } from 'react-router-dom';
|
|
5
5
|
import { showThumbsUpToastr, buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
|
|
6
6
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
7
|
-
import { noop, isPresent, existsById, removeById } from '@bigbinary/neeto-cist';
|
|
7
|
+
import { noop, toLabelAndValue, isPresent, existsById, removeById } from '@bigbinary/neeto-cist';
|
|
8
8
|
import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
|
|
9
9
|
import { useFuncDebounce, handleMetaClick, useQueryParams, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
10
10
|
import FiltersBar from '@bigbinary/neeto-filters-frontend/Bar';
|
|
@@ -15,7 +15,7 @@ import Alert from '@bigbinary/neetoui/Alert';
|
|
|
15
15
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
16
16
|
import { mergeLeft, pluck, isEmpty } from 'ramda';
|
|
17
17
|
import { useTranslation, Trans } from 'react-i18next';
|
|
18
|
-
import { P as PANE_TYPES, u as useUpdateTag, a as useCreateTag, I as INITIAL_TAG_VALUES, b as useFetchTags, c as useDeleteTag, d as useMergeTags } from './useTagsApi-
|
|
18
|
+
import { P as PANE_TYPES, u as useUpdateTag, a as useCreateTag, T as TAG_STYLES, I as INITIAL_TAG_VALUES, b as useFetchTags, c as useDeleteTag, d as useMergeTags } from './useTagsApi-CmFEGxns.js';
|
|
19
19
|
import Tab from '@bigbinary/neetoui/Tab';
|
|
20
20
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
21
21
|
import { t } from 'i18next';
|
|
@@ -26,6 +26,7 @@ import Pane from '@bigbinary/neetoui/Pane';
|
|
|
26
26
|
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
27
27
|
import Form from '@bigbinary/neetoui/formik/Form';
|
|
28
28
|
import Input from '@bigbinary/neetoui/formik/Input';
|
|
29
|
+
import Select from '@bigbinary/neetoui/formik/Select';
|
|
29
30
|
import Textarea from '@bigbinary/neetoui/formik/Textarea';
|
|
30
31
|
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
31
32
|
import NeetoUITable from '@bigbinary/neetoui/Table';
|
|
@@ -157,13 +158,15 @@ var useTagsForm = function useTagsForm(_ref) {
|
|
|
157
158
|
var handleSubmit = function handleSubmit(values, _ref2) {
|
|
158
159
|
var _values$description;
|
|
159
160
|
var resetForm = _ref2.resetForm;
|
|
160
|
-
values.description = values === null || values === void 0 || (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim();
|
|
161
161
|
var tagData = {
|
|
162
|
+
url: tagType.url,
|
|
162
163
|
payload: {
|
|
163
|
-
tag:
|
|
164
|
+
tag: mergeLeft({
|
|
165
|
+
description: (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim(),
|
|
166
|
+
style: values.style.value
|
|
167
|
+
}, values)
|
|
164
168
|
}
|
|
165
169
|
};
|
|
166
|
-
tagData.url = tagType.url;
|
|
167
170
|
if (isEdit) {
|
|
168
171
|
tagData.id = values.id;
|
|
169
172
|
}
|
|
@@ -243,6 +246,9 @@ var ManageTags = function ManageTags(_ref) {
|
|
|
243
246
|
maxLength: TAG_DESCRIPTION_MAX_LENGTH,
|
|
244
247
|
name: "description",
|
|
245
248
|
rows: TAG_DESCRIPTION_ROW_LENGTH
|
|
249
|
+
}), /*#__PURE__*/jsx(Select, {
|
|
250
|
+
name: "style",
|
|
251
|
+
options: Object.values(TAG_STYLES).map(toLabelAndValue)
|
|
246
252
|
})]
|
|
247
253
|
})
|
|
248
254
|
}), /*#__PURE__*/jsx(Pane.Footer, {
|
|
@@ -312,7 +318,7 @@ var renderColumnData = function renderColumnData(handleEdit, handleDelete) {
|
|
|
312
318
|
className: "neeto-tags-table__column",
|
|
313
319
|
children: [/*#__PURE__*/jsx(Tag, {
|
|
314
320
|
label: name,
|
|
315
|
-
style:
|
|
321
|
+
style: tag.style
|
|
316
322
|
}), renderDropdownButton({
|
|
317
323
|
handleEdit: handleEdit,
|
|
318
324
|
handleDelete: handleDelete,
|
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 { 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 values.description = values?.description?.trim();\n const tagData = { payload: { tag: values } };\n tagData.url = tagType.url;\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 { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANE_TYPES, INITIAL_TAG_VALUES } 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 </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 { 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 buttonProps={{ style: \"text\" }}\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: \"300px\",\n render: (name, tag) => (\n <div className=\"neeto-tags-table__column\">\n <Tag label={name} style=\"secondary\" />\n {renderDropdownButton({ handleEdit, handleDelete, tag })}\n </div>\n ),\n },\n {\n title: t(\"neetoTags.common.description\"),\n dataIndex: \"description\",\n key: \"description\",\n width: \"400px\",\n render: description => description || \"-\",\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: \"100%\" }}\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","trim","tagData","payload","url","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","Footer","ActionBlock","cancelButtonProps","submitButtonProps","Dropdown","MenuItem","renderDropdownButton","_ref$handleEdit","handleEdit","_ref$handleDelete","handleDelete","_ref$tag","e","stopPropagation","autoWidth","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","value","_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","mergeLeft","_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;;AC1DD,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/F,IAAAA,MAAM,CAACM,WAAW,GAAGN,MAAM,KAANA,IAAAA,IAAAA,MAAM,gBAAA8F,mBAAA,GAAN9F,MAAM,CAAEM,WAAW,cAAAwF,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqBE,IAAI,EAAE;AAChD,IAAA,IAAMC,OAAO,GAAG;AAAEC,MAAAA,OAAO,EAAE;AAAEhG,QAAAA,GAAG,EAAEF;AAAO;KAAG;AAC5CiG,IAAAA,OAAO,CAACE,GAAG,GAAG1G,OAAO,CAAC0G,GAAG;AACzB,IAAA,IAAIlB,MAAM,EAAE;AACVgB,MAAAA,OAAO,CAAC5F,EAAE,GAAGL,MAAM,CAACK,EAAE;AACxB;IAEAoF,MAAM,CAACQ,OAAO,EAAE;AACdG,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AAAA,QAAA,IAAAC,qBAAA;AACf,QAAA,CAACpB,MAAM,IAAIlC,aAAa,EAAE;AAC1BwC,QAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAAc,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAZd,YAAY,CAAEa,SAAS,MAAA,IAAA,IAAAC,qBAAA,KAAvBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAyBC,QAAQ,EAAE;AACnCpB,QAAAA,OAAO,EAAE;OACV;AACDqB,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbR,QAAAA,SAAS,EAAE;AACb;AACF,KAAC,CAAC;GACH;EAED,OAAO;AAAEH,IAAAA,YAAY,EAAZA,YAAY;AAAEF,IAAAA,YAAY,EAAZA;GAAc;AACvC,CAAC;;;;AClBD,IAAMc,UAAU,GAAG,SAAbA,UAAUA,CAAAjH,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,CAAC+B,IAAI;AACvC,EAAA,IAAMC,aAAa,GAAGzB,MAAM,GAAG/E,GAAG,GAAGyG,kBAAkB;AACvD,EAAA,IAAMC,cAAc,GAAGC,MAAM,CAAC,IAAI,CAAC;EAEnC,IAAAC,YAAA,GAAuC/B,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,GAAAkB,YAAA,CAAZlB,YAAY;IAAEF,YAAY,GAAAoB,YAAA,CAAZpB,YAAY;EASlC,oBACE1B,IAAA,CAAC+C,IAAI,EAAA;AAAO7B,IAAAA,OAAO,EAAPA,OAAO;AAAI8B,IAAAA,eAAe,EAAEJ,cAAe;IAACK,MAAM,EAAE,CAAC,CAAC3E,IAAK;AAAAxC,IAAAA,QAAA,EACrEH,cAAAA,GAAA,CAACoH,IAAI,CAACxE,MAAM,EAAA;MAAAzC,QAAA,eACVH,GAAA,CAACuH,UAAU,EAAA;AAAC5C,QAAAA,KAAK,EAAC,IAAI;AAAC6C,QAAAA,MAAM,EAAC,UAAU;AAAArH,QAAAA,QAAA,EACrCmF,MAAM,GACH9D,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,4BAA4B,EAAEsD,QAAQ;OAClC;AAAC,KACF,CAAC,eACdT,IAAA,CAACoD,IAAI,EAAA;AACHC,MAAAA,WAAW,EAAAC,eAAA,CAAAA,eAAA,KACN9F,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACpBkF,QAAAA,aAAa,EAAbA,aAAa;AACba,QAAAA,QAAQ,EAAE3B;OACV,CAAA;AAAA9F,MAAAA,QAAA,EAEFH,cAAAA,GAAA,CAACoH,IAAI,CAACS,IAAI,EAAA;AAAA1H,QAAAA,QAAA,eACRkE,IAAA,CAAA,KAAA,EAAA;AAAKnE,UAAAA,SAAS,EAAC,gEAAgE;UAAAC,QAAA,EAAA,cAC7EH,GAAA,CAAC8H,KAAK,EAAA;YACJrG,QAAQ,EAAA,IAAA;YACRsG,cAAc,EAAA,IAAA;AACd,YAAA,SAAA,EAAQ,qBAAqB;AAC7BlH,YAAAA,KAAK,EAAEW,CAAC,CAAC,uBAAuB,CAAE;AAClCwG,YAAAA,SAAS,EAAElH,mBAAoB;AAC/BO,YAAAA,IAAI,EAAC,MAAM;AACX4G,YAAAA,GAAG,EAAEhB;AAAe,WACrB,CAAC,eACFjH,GAAA,CAACkI,QAAQ,EAAA;YACPH,cAAc,EAAA,IAAA;AACd,YAAA,SAAA,EAAQ,2BAA2B;AACnClH,YAAAA,KAAK,EAAEW,CAAC,CAAC,8BAA8B,CAAE;AACzCwG,YAAAA,SAAS,EAAEhH,0BAA2B;AACtCK,YAAAA,IAAI,EAAC,aAAa;AAClB8G,YAAAA,IAAI,EAAEpH;AAA2B,WAClC,CAAC;SACC;AAAC,OACG,CAAC,eACZf,GAAA,CAACoH,IAAI,CAACgB,MAAM,EAAA;QAAAjI,QAAA,eACVH,GAAA,CAACqI,WAAW,EAAA;AACJtC,UAAAA,YAAY,EAAZA,YAAY;AAClBuC,UAAAA,iBAAiB,EAAE;AACjB,YAAA,SAAS,EAAE,qCAAqC;AAChD1H,YAAAA,OAAO,EAAE2E;WACT;AACFgD,UAAAA,iBAAiB,EAAE;AACjB,YAAA,SAAS,EAAE;AACb;SACD;AAAC,OACS,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEX,CAAC;;ACvFD,IAAQ5I,IAAI,GAAe6I,QAAQ,CAA3B7I,IAAI;EAAE8I,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ;AAEtB,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA9I,IAAA,EAAA;AAAA,EAAA,IAAA+I,eAAA,GAAA/I,IAAA,CACxBgJ,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAGtF,KAAAA,CAAAA,GAAAA,IAAI,GAAAsF,eAAA;IAAAE,iBAAA,GAAAjJ,IAAA,CACjBkJ,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAGxF,KAAAA,CAAAA,GAAAA,IAAI,GAAAwF,iBAAA;IAAAE,QAAA,GAAAnJ,IAAA,CACnBW,GAAG;AAAHA,IAAAA,GAAG,GAAAwI,QAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,QAAA;AAAA,EAAA,oBAER/I,GAAA,CAAA,KAAA,EAAA;AAAKY,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAA;AAAA,MAAA,OAAIA,CAAC,CAACC,eAAe,EAAE;KAAC;IAAA9I,QAAA,eACrCH,GAAA,CAACwI,QAAQ,EAAA;MACPU,SAAS,EAAA,IAAA;AACTC,MAAAA,WAAW,EAAE;AAAExE,QAAAA,KAAK,EAAE;OAAS;AAC/ByE,MAAAA,IAAI,EAAEC,cAAe;AACrBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,QAAQ,EAAC,OAAO;MAAApJ,QAAA,eAEhBkE,IAAA,CAAC1E,IAAI,EAAA;AAAAQ,QAAAA,QAAA,EACHH,cAAAA,GAAA,CAACyI,QAAQ,CAAClE,MAAM,EAAA;AACd,UAAA,SAAA,EAAQ,kBAAkB;UAC1B3D,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgI,UAAU,CAACrI,GAAG,CAAC;WAAC;UAAAJ,QAAA,EAE9BqB,CAAC,CAAC,uBAAuB;AAAC,SACZ,CAAC,eAClBxB,GAAA,CAACyI,QAAQ,CAAClE,MAAM,EAAA;AACd,UAAA,SAAA,EAAQ,oBAAoB;UAC5B3D,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQkI,YAAY,CAACvI,GAAG,CAAC;WAAC;UAAAJ,QAAA,EAEhCqB,CAAC,CAAC,yBAAyB;AAAC,SACd,CAAC;OACd;KACE;AAAC,GACR,CAAC;AAAA,CACP;AAEM,IAAMgI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIZ,UAAU,EAAEE,YAAY,EAAA;AAAA,EAAA,IAAEW,OAAO,GAAAC,SAAA,CAAA/H,MAAA,GAAA,CAAA,IAAA+H,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OACrE,CAAA;AACE5G,IAAAA,KAAK,EAAEtB,CAAC,CAAC,uBAAuB,CAAC;AACjCoI,IAAAA,SAAS,EAAE,MAAM;AACjBnH,IAAAA,GAAG,EAAE,MAAM;AACXoH,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGzI,IAAI,EAAEd,GAAG,EAAA;AAAA,MAAA,oBAChB8D,IAAA,CAAA,KAAA,EAAA;AAAKnE,QAAAA,SAAS,EAAC,0BAA0B;QAAAC,QAAA,EAAA,cACvCH,GAAA,CAAC+J,GAAG,EAAA;AAAClJ,UAAAA,KAAK,EAAEQ,IAAK;AAACsD,UAAAA,KAAK,EAAC;SAAa,CAAC,EACrC+D,oBAAoB,CAAC;AAAEE,UAAAA,UAAU,EAAVA,UAAU;AAAEE,UAAAA,YAAY,EAAZA,YAAY;AAAEvI,UAAAA,GAAG,EAAHA;AAAI,SAAC,CAAC;AAAA,OACrD,CAAC;AAAA;AAEV,GAAC,EACD;AACEuC,IAAAA,KAAK,EAAEtB,CAAC,CAAC,8BAA8B,CAAC;AACxCoI,IAAAA,SAAS,EAAE,aAAa;AACxBnH,IAAAA,GAAG,EAAE,aAAa;AAClBoH,IAAAA,KAAK,EAAE,OAAO;AACdC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEnJ,WAAW,EAAA;MAAA,OAAIA,WAAW,IAAI,GAAG;AAAA;AAC3C,GAAC,CAAAkE,CAAAA,MAAA,CAAAmF,kBAAA,CACEP,OAAO,CAAA,CAAA;AAAA,CACX;;;;ACrDD,IAAMQ,KAAK,GAAG,SAARA,KAAKA,CAAArK,IAAA,EAWL;AAAA,EAAA,IAAAsK,UAAA;AAAA,EAAA,IAVJ1G,IAAI,GAAA5D,IAAA,CAAJ4D,IAAI;IACJ2G,OAAO,GAAAvK,IAAA,CAAPuK,OAAO;IACPrB,YAAY,GAAAlJ,IAAA,CAAZkJ,YAAY;IACZF,UAAU,GAAAhJ,IAAA,CAAVgJ,UAAU;IACVwB,cAAc,GAAAxK,IAAA,CAAdwK,cAAc;IACdC,SAAS,GAAAzK,IAAA,CAATyK,SAAS;IACTC,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,kBAAkB,GAAA3K,IAAA,CAAlB2K,kBAAkB;IAClBzK,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACP0K,WAAW,GAAA5K,IAAA,CAAX4K,WAAW;AAEX,EAAA,IAAA5G,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AAET,EAAA,IAAI,CAAC6I,SAAS,IAAI,EAAC7G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA0G,KAAAA,CAAAA,IAAAA,CAAAA,UAAA,GAAJ1G,IAAI,CAAEiB,IAAI,MAAAyF,IAAAA,IAAAA,UAAA,eAAVA,UAAA,CAAYvI,MAAM,CAAE,EAAA;AACrC,IAAA,oBACE3B,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,iBAAiB;AAAC,MAAA,SAAA,EAAQ,uBAAuB;MAAAC,QAAA,eAC9DH,GAAA,CAACyK,MAAM,EAAA9C,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAA;AACC4C,QAAAA,kBAAkB,EAAlBA;AAAkB,OAAA,EAAKC,WAAW,CAAA,CAAA,EAAA,EAAA,EAAA;QACxC1H,KAAK,EAAEtB,CAAC,CAAC,8BAA8B;OACxC,CAAA;AAAC,KACC,CAAC;AAEV;EAEA,oBACExB,GAAA,CAAC0K,YAAY,EAAA;AAACC,IAAAA,aAAa,EAAE,CAAAnH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEoH,UAAU,IAAGT,OAAO,CAAC/H,QAAS;IAAAjC,QAAA,eAC/DH,GAAA,CAAC6K,YAAY,EAAA;MACXC,WAAW,EAAA,IAAA;MACXC,aAAa,EAAE,CAAC,CAACT,aAAc;MAC/BU,UAAU,EAAExB,gBAAgB,CAACZ,UAAU,EAAEE,YAAY,EAAEhJ,OAAO,CAAC2J,OAAO,CAAE;MACxEwB,iBAAiB,EAAEd,OAAO,CAACjI,IAAK;MAChCgJ,eAAe,EAAEf,OAAO,CAAC/H,QAAS;AAClC+I,MAAAA,OAAO,EAAEd,SAAU;AACnBe,MAAAA,eAAe,EAAE;AAAEC,QAAAA,eAAe,EAAE;OAAQ;AAC5CC,MAAAA,OAAO,EAAE9H,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAK;AACpB8G,MAAAA,YAAY,EAAE,KAAM;AACpBC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,CAAC,EAAE;OAAS;AACtBb,MAAAA,UAAU,EAAEpH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEoH,UAAW;AAC7B1F,MAAAA,QAAQ,EAAEkF,cAAe;MACzBsB,UAAU,EAAE,SAAZA,UAAUA,CAAGC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAA;AAAA,QAAA,OAClCvB,aAAa,CAAC;AAAEqB,UAAAA,KAAK,EAALA,KAAK;AAAEpL,UAAAA,GAAG,EAAEqL,MAAM;AAAEC,UAAAA,QAAQ,EAARA;AAAS,SAAC,CAAC;AAAA;KAElD;AAAC,GACU,CAAC;AAEnB,CAAC;;;;AC7BD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAlM,IAAA,EAeT;AAAA,EAAA,IAdJiD,WAAW,GAAAjD,IAAA,CAAXiD,WAAW;IACXC,KAAK,GAAAlD,IAAA,CAALkD,KAAK;IACLuC,UAAU,GAAAzF,IAAA,CAAVyF,UAAU;IACV0G,UAAU,GAAAnM,IAAA,CAAVmM,UAAU;IACVC,WAAW,GAAApM,IAAA,CAAXoM,WAAW;IACX1B,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IAAAvH,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;IAAAoM,gBAAA,GAAArM,IAAA,CACR4K,WAAW;AAAXA,IAAAA,WAAW,GAAAyB,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,qBAAA,GAAAtM,IAAA,CAChB+D,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAuI,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;AAE1B,EAAA,IAAMpI,OAAO,GAAGC,UAAU,EAAE;AAC5B,EAAA,IAAMoI,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;AACzB7J,IAAAA,IAAI,EAAE,MAAM;AACZ8J,IAAAA,KAAK,EAAEF,UAAU;AACjB7J,IAAAA,GAAG,EAAE;GACN;AAED,EAAA,IAAAgK,SAAA,GAAsCC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEzJ,IAAAA,cAAc,GAAAyJ,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;AAAE9J,IAAAA,WAAW,GAAA8J,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,CAACzK,eAAe,CAAC;IAAAqL,UAAA,GAAAV,cAAA,CAAAS,UAAA,EAAA,CAAA,CAAA;AAAhDlD,IAAAA,OAAO,GAAAmD,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,CAAAhJ,EAAAA,CAAAA,MAAA,CAAAmF,kBAAA,CAAKxH,aAAa,CAAA,EAAA,CAAE+J,kBAAkB,CAAA,CAAC,CAC5D,CAAC;IAAAuB,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,CAAAvG,eAAA,CAAA;MACtCnB,GAAG,EAAE1G,OAAO,CAAC0G,GAAG;AAChBuH,MAAAA,YAAY,EAAZA;KACG5D,EAAAA,OAAO,CACX,CAAC;IAJM3G,IAAI,GAAAyK,aAAA,CAAJzK,IAAI;IAAE6G,SAAS,GAAA4D,aAAA,CAAT5D,SAAS;AAMvB,EAAA,IAAAzG,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AAET,EAAA,IAAM+I,kBAAkB,GAAG;AACzB,IAAA,SAAS,EAAE,oBAAoB;AAC/B1J,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,IAAM4D,UAAU,GAAG,SAAbA,UAAUA,CAAGrI,GAAG,EAAI;IACxB2C,cAAc,CAAC3C,GAAG,CAAC;AACnB0C,IAAAA,WAAW,CAAC8B,UAAU,CAAC+B,IAAI,CAAC;GAC7B;AAED,EAAA,IAAMgC,YAAY,GAAG,SAAfA,YAAYA,CAAGvI,GAAG,EAAI;IAC1B2C,cAAc,CAAC3C,GAAG,CAAC;IACnB6M,oBAAoB,CAAC,IAAI,CAAC;GAC3B;AAED,EAAA,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;IAC7Bf,oBAAoB,CAAC,KAAK,CAAC;IAC3BlK,cAAc,CAAC,IAAI,CAAC;GACrB;EAED,IAAMkH,cAAc,GAAG,SAAjBA,cAAcA,CAAAlE,KAAA,EAElBkI,CAAC,EAAAC,KAAA,EAAA;AAAA,IAAA,IADUnM,IAAI,GAAAgE,KAAA,CAAboI,OAAO;AAAA,IAAA,IAEAhM,MAAM,GAAA+L,KAAA,CAAbE,KAAK;MAAiBhM,OAAO,GAAA8L,KAAA,CAAdG,KAAK;IAAA,OACnBjB,UAAU,CAACkB,SAAS,CAAC;AAAEvM,MAAAA,IAAI,EAAJA,IAAI;MAAEI,MAAM,EAAEC,OAAO,IAAID,MAAM;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC,CAAC;AAAA,GAAA;AAExE,EAAA,IAAAmM,aAAA,GAA6CC,YAAY,EAAE;IAAnD7I,MAAM,GAAA4I,aAAA,CAAN5I,MAAM;IAAa8I,aAAa,GAAAF,aAAA,CAAxB1I,SAAS;AAEzB,EAAA,IAAM6I,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;AAChC,IAAA,IAAMtI,OAAO,GAAG;MAAEC,GAAG,EAAE1G,OAAO,CAAC0G,GAAG;AAAE9F,MAAAA,EAAE,EAAEmM,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEnM;KAAI;AACzD,IAAA,IAAMoO,aAAa,GAAG,CAACF,aAAa,IAAIzB,iBAAiB;AACzD2B,IAAAA,aAAa,IACXhJ,MAAM,CAACS,OAAO,EAAE;AACdE,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QAAA,IAAAyD,UAAA,EAAA6E,qBAAA;QACf3B,oBAAoB,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAA5J,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA0G,KAAAA,CAAAA,IAAAA,CAAAA,UAAA,GAAJ1G,IAAI,CAAEiB,IAAI,MAAA,IAAA,IAAAyF,UAAA,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAYvI,MAAM,MAAK,CAAC,EAAE;UAC5B4L,UAAU,CAACkB,SAAS,CAAC;AAAEvM,YAAAA,IAAI,EAAEiI,OAAO,CAACjI,IAAI,GAAG;AAAE,WAAC,CAAC,CAAC;AACnD;AACA6J,QAAAA,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAAgD,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAVhD,UAAU,CAAEtF,SAAS,MAAA,IAAA,IAAAsI,qBAAA,KAArBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAuBpI,QAAQ,EAAE;AACjC;AACAqI,QAAAA,kBAAkB,EAAE;AACtB;AACF,KAAC,CAAC;GACL;AAED,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAG9E,OAAO,EAAI;AACrCrG,IAAAA,OAAO,CAACoL,IAAI,CACVC,QAAQ,CACNC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EACxBb,SAAS,CAAC;AAAEvM,MAAAA,IAAI,EAAEC;AAAmB,KAAC,EAAEgK,WAAW,CACrD,CACF,CAAC;IACD6B,eAAe,CAAC7D,OAAO,CAAC;GACzB;AAED,EAAA,IAAMnG,SAAS,GAAG,SAAZA,SAASA,GAAA;IAAA,OAASuJ,UAAU,CAACkB,SAAS,CAAC;AAAEvM,MAAAA,IAAI,EAAEC;AAAmB,KAAC,CAAC,CAAC;AAAA,GAAA;AAE3E,EAAA,IAAMuB,WAAW,GAAG6L,SAAS,CAACxB,YAAY,CAAC,IAAI,CAAAvK,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEoH,UAAU,IAAG,CAAC;EAEnE,oBACEvG,IAAA,CAAAC,QAAA,EAAA;IAAAnE,QAAA,EAAA,cACEkE,IAAA,CAACmL,SAAS,EAAA;MAAArP,QAAA,EAAA,cACRH,GAAA,CAAC4C,MAAM,EAAA;AAEHC,QAAAA,WAAW,EAAXA,WAAW;AACXW,QAAAA,IAAI,EAAJA,IAAI;AACJwI,QAAAA,WAAW,EAAXA,WAAW;AACX/I,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,CAACyP,SAAS,EAAA;AACRvP,QAAAA,SAAS,EAAC,MAAM;QAChBwP,eAAe,eACb1P,GAAA,CAACuH,UAAU,EAAA;AACTrH,UAAAA,SAAS,EAAC,mBAAmB;AAC7B,UAAA,SAAA,EAAQ,qCAAqC;AAC7CyE,UAAAA,KAAK,EAAC,IAAI;AACV6C,UAAAA,MAAM,EAAC,UAAU;AAAArH,UAAAA,QAAA,EAEhBqB,CAAC,CAAC,+BAA+B,EAAE;YAClCkD,KAAK,EAAE,CAAAlB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEoH,UAAU,KAAI,CAAC;YAC5BjI,IAAI,EAAE,CAAA7C,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEe,KAAK,KAAI;WACzB;AAAC,SACQ,CACb;AACD8O,QAAAA,gBAAgB,eACd3P,GAAA,CAACyP,SAAS,CAACG,UAAU,EAAA;AACnBC,UAAAA,WAAW,EAAE;AACXpG,YAAAA,OAAO,EAAEjH,aAAa;AACtB8E,YAAAA,MAAM,EAAEoG,iBAAiB;AACzBoC,YAAAA,SAAS,EAAEnC,oBAAoB;AAC/BzI,YAAAA,QAAQ,EAAE+J,mBAAmB;AAC7Bc,YAAAA,OAAO,EAAExD;AACX;SACD;AACF,OACF,CACF,eACDvM,GAAA,CAACgQ,UAAU,EAAA;AACTvG,QAAAA,OAAO,EAAEjH,aAAc;AACvB8E,QAAAA,MAAM,EAAEoG,iBAAkB;AAC1BqC,QAAAA,OAAO,EAAExD,kBAAmB;AAC5BrH,QAAAA,QAAQ,EAAE+J;AAAoB,OAC/B,CAAC,EACDjD,WAAW,iBAAIhM,GAAA,CAACL,MAAI,EAAA;AAAOI,QAAAA,UAAU,EAAVA,UAAU;AAAED,QAAAA,OAAO,EAAPA,OAAO;AAAED,QAAAA,QAAQ,EAARA;AAAQ,OAAK,CAAC,eAC/DG,GAAA,CAACiK,KAAK,EAAA;AAEFzG,QAAAA,IAAI,EAAJA,IAAI;AACJ2G,QAAAA,OAAO,EAAPA,OAAO;AACPrB,QAAAA,YAAY,EAAZA,YAAY;AACZF,QAAAA,UAAU,EAAVA,UAAU;AACVwB,QAAAA,cAAc,EAAdA,cAAc;AACdC,QAAAA,SAAS,EAATA,SAAS;AACTG,QAAAA,WAAW,EAAXA,WAAW;AACXF,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBzK,QAAAA,OAAO,EAAPA;AAAO,OAEV,CAAC;AAAA,KACO,CAAC,eACZE,GAAA,CAAC6G,UAAU,EAAA;AACHxB,MAAAA,UAAU,EAAVA,UAAU;AAAEvF,MAAAA,OAAO,EAAPA,OAAO;AAAE0F,MAAAA,UAAU,EAAVA,UAAU;AACrCpC,MAAAA,aAAa,EAAEY,SAAU;AACzBzD,MAAAA,GAAG,EAAEsM,WAAY;AACjBlK,MAAAA,IAAI,EAAEqK,QAAS;MACfzH,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQtC,WAAW,CAAC,IAAI,CAAC;AAAA;AAAC,KAClC,CAAC,eACFjD,GAAA,CAACiQ,KAAK,EAAA;AACJC,MAAAA,iBAAiB,EAAE1O,CAAC,CAAC,yBAAyB,CAAE;AAChD8F,MAAAA,MAAM,EAAE6F,iBAAkB;AAC1BpH,MAAAA,YAAY,EAAE6I,aAAc;AAC5BuB,MAAAA,iBAAiB,EAAE3O,CAAC,CAAC,yBAAyB,CAAE;AAChDsB,MAAAA,KAAK,EAAEtB,CAAC,CAAC,iCAAiC,CAAE;MAC5C4O,OAAO,eACLpQ,GAAA,CAACqQ,KAAK,EAAA;AACJC,QAAAA,OAAO,EAAC,oCAAoC;AAC5CjQ,QAAAA,MAAM,EAAE;AAAEgB,UAAAA,IAAI,EAAEwL,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAExL;AAAK;AAAE,OACrC,CACF;AACDkE,MAAAA,OAAO,EAAE4I,gBAAiB;AAC1BvG,MAAAA,QAAQ,EAAEiH;AAAoB,KAC/B,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;AC5NM,IAAM0B,4BAA4B,GAAG;AAC1C,EAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,IAAI,EAAE,OAAO;EACb3P,KAAK,EAAEW,CAAC,CAAC,yBAAyB;AACpC,CAAC;;ACFM,IAAMiP,WAAW,GAAG,SAAdA,WAAWA,CAAA7Q,IAAA,EAAA;AAAA,EAAA,IAAA8Q,oBAAA,GAAA9Q,IAAA,CACtB+Q,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IAAAE,aAAA,GAAAhR,IAAA,CACpBiR,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,eAAA,GAAAlR,IAAA,CAChBmR,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;AAAA,EAAA,OAEfD,QAAQ,GACJ;AACEhQ,IAAAA,KAAK,EAAEW,CAAC,CAAC,iCAAiC,EAAEsD,QAAQ,CAAC;AACrD0H,IAAAA,KAAK,EAAE,QAAQ;AACfwE,IAAAA,MAAM,EAAEC,KAAK,CAAC,IAAI,EAAEF,UAAU,CAAC;AAC/BG,IAAAA,aAAa,EAAED,KAAK,CAAC,IAAI,EAAEN,eAAe;AAC5C,GAAC,GACD;AACE9P,IAAAA,KAAK,EAAEW,CAAC,CAAC,sCAAsC,EAAEsD,QAAQ,CAAC;AAC1D0H,IAAAA,KAAK,EAAE,aAAa;AACpBwE,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,CAAI1M,IAAI,EAAEsM,UAAU,EAAK;AACrD,EAAA,IAAMK,iBAAiB,GAAG3M,IAAI,CAAC4M,MAAM,CAAC,UAAA9Q,GAAG,EAAA;AAAA,IAAA,OACvCwQ,UAAU,CAACO,KAAK,CAAC,UAAAC,SAAS,EAAA;AAAA,MAAA,OAAIA,SAAS,CAAC7Q,EAAE,KAAKH,GAAG,CAACG,EAAE;KAAC,CAAA;AAAA,GACxD,CAAC;EAED,OAAAmE,EAAAA,CAAAA,MAAA,CAAAmF,kBAAA,CAAW+G,UAAU,CAAA/G,EAAAA,kBAAA,CAAKoH,iBAAiB,CAAA,CAAA;AAC7C,CAAC;;ACpBD,IAAMI,IAAI,GAAG,SAAPA,IAAIA,CAAA5R,IAAA,EAMJ;AAAA,EAAA,IAAAgR,aAAA,GAAAhR,IAAA,CALJiR,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAF,oBAAA,GAAA9Q,IAAA,CAChB+Q,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IACpBe,QAAQ,GAAA7R,IAAA,CAAR6R,QAAQ;IAAAX,eAAA,GAAAlR,IAAA,CACRmR,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAY,YAAA,GAAA9R,IAAA,CACf+R,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;AAEZ,EAAA,IAAA9N,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;AACT,EAAA,IAAAiL,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCH,IAAAA,UAAU,GAAAK,UAAA,CAAA,CAAA,CAAA;AAAEiF,IAAAA,aAAa,GAAAjF,UAAA,CAAA,CAAA,CAAA;EAChC,IAAMkF,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,UAAA9Q,GAAG,EAAA;AAAA,IAAA,IAAAyR,SAAA;AAAA,IAAA,OACpEzR,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,IAAA,CAAAyR,SAAA,GAAHzR,GAAG,CAAEc,IAAI,cAAA2Q,SAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,SAAA,GAATA,SAAA,CAAWC,WAAW,EAAE,cAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,SAAA,CAA0BE,QAAQ,CAAC5F,UAAU,CAAC2F,WAAW,EAAE,CAAC5L,IAAI,EAAE,CAAC;AAAA,GACrE,CAAC;AAED,EAAA,oBACEhC,IAAA,CAAA,KAAA,EAAA;AAAKnE,IAAAA,SAAS,EAAC,4JAA4J;IAAAC,QAAA,EAAA,cACzKH,GAAA,CAACuH,UAAU,EAAA;AAACrH,MAAAA,SAAS,EAAC,eAAe;AAACyE,MAAAA,KAAK,EAAC,IAAI;MAAAxE,QAAA,EAC7C0R,QAAQ,CAAChR;AAAK,KACL,CAAC,eACbb,GAAA,CAAC8H,OAAK,EAAA;AACJ5H,MAAAA,SAAS,EAAC,aAAa;AACvB,MAAA,SAAA,EAAA,mBAAA,CAAA2E,MAAA,CAA6BgN,QAAQ,CAACrF,KAAK,EAA2B,0BAAA,CAAA;AACtErH,MAAAA,WAAW,EAAE3D,CAAC,CAAC,kCAAkC,CAAE;AACnDgL,MAAAA,KAAK,EAAEF,UAAW;AAClBpH,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE8D,CAAC,EAAA;AAAA,QAAA,OAAI4I,aAAa,CAAC5I,CAAC,CAACmJ,MAAM,CAAC3F,KAAK,CAAC;AAAA;KAC7C,CAAC,eACFxM,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,yBAAyB;AACnC,MAAA,SAAA,EAAA,mBAAA,CAAA2E,MAAA,CAA6BgN,QAAQ,CAACrF,KAAK,EAAa,YAAA,CAAA;AAAArM,MAAAA,QAAA,EAEvD4R,YAAY,CAACzR,GAAG,CAAC,UAAAC,GAAG,EAAI;QACvB,IAAM6R,cAAc,GAAGP,QAAQ,CAACb,MAAM,CAACkB,QAAQ,CAAC3R,GAAG,CAACG,EAAE,CAAC;QACvD,IAAM2R,mBAAmB,GAAGR,QAAQ,CAACX,aAAa,CAACgB,QAAQ,CAAC3R,GAAG,CAACG,EAAE,CAAC;AAEnE,QAAA,oBACE2D,IAAA,CAAA,KAAA,EAAA;AACE,UAAA,SAAA,EAAA,mBAAA,CAAAQ,MAAA,CAA6BgN,QAAQ,CAACrF,KAAK,EAAQ,OAAA,CAAA;AAEnDtM,UAAAA,SAAS,EAAEoS,UAAS,CAClB,+JAA+J,EAC/J;AACE,YAAA,kDAAkD,EAChDF,cAAc;YAChB,4BAA4B,EAAE,CAACA,cAAc;AAC7C,YAAA,yEAAyE,EACvEC;AACJ,WACF,CAAE;UACFzR,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OACL,CAACyR,mBAAmB,IAAIZ,QAAQ,CAAClR,GAAG,EAAEsR,QAAQ,CAACrF,KAAK,CAAC;WACtD;AAAArM,UAAAA,QAAA,gBAEDH,GAAA,CAAA,MAAA,EAAA;YAAAG,QAAA,EAAOI,GAAG,CAACc;AAAI,WAAO,CAAC,EACtB+Q,cAAc,iBAAIpS,GAAA,CAACuS,KAAK,EAAA;AAAC/B,YAAAA,IAAI,EAAE;AAAG,WAAE,CAAC;SAhBjCjQ,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,OAAO8R,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,UAAA/S,IAAA,EAAA;AAAA,EAAA,IACE4B,CAAC,GAAA5B,IAAA,CAAD4B,CAAC;IAAAkP,oBAAA,GAAA9Q,IAAA,CACD+Q,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IACpBzK,YAAY,GAAArG,IAAA,CAAZqG,YAAY;IAAA2M,iBAAA,GAAAhT,IAAA,CACZmG,YAAY;AAAZA,IAAAA,YAAY,GAAA6M,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IACpBC,YAAY,GAAAjT,IAAA,CAAZiT,YAAY;IAAAC,cAAA,GAAAlT,IAAA,CACZmT,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAhC,eAAA,GAAAlR,IAAA,CACjBmR,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAkC,YAAA,GAAApT,IAAA,CACfE,OAAO;AAAPA,IAAAA,OAAO,GAAAkT,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;EAAA,oBAEZ3O,IAAA,CAAC4O,KAAK,EAAA;AAAC3L,IAAAA,MAAM,EAAEyL,SAAU;IAACxN,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQsN,YAAY,CAAC,KAAK,CAAC;KAAC;AAAA1S,IAAAA,QAAA,EAC3DH,cAAAA,GAAA,CAACiT,KAAK,CAACrQ,MAAM,EAAA;MAAAzC,QAAA,eACXH,GAAA,CAACuH,UAAU,EAAA;AAAC7G,QAAAA,EAAE,EAAC,cAAc;AAACiE,QAAAA,KAAK,EAAC,IAAI;AAAAxE,QAAAA,QAAA,EACrCqB,CAAC,CAAC,2BAA2B,EAAE2C,MAAM;OAC5B;AAAC,KACD,CAAC,eACfnE,GAAA,CAACiT,KAAK,CAACpL,IAAI,EAAA;MAAA1H,QAAA,eACTH,GAAA,CAACuH,UAAU,EAAA;AAAC2L,QAAAA,UAAU,EAAC,QAAQ;AAACvO,QAAAA,KAAK,EAAC,OAAO;QAAAxE,QAAA,eAC3CH,GAAA,CAACqQ,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,mCAAmC;AAC3CjQ,UAAAA,MAAM,EAAE;YACNqE,KAAK,EAAEqM,UAAU,CAACpP,MAAM;AACxBoP,YAAAA,UAAU,EAAEE,KAAK,CAAC,MAAM,EAAEF,UAAU,CAAC;AACrCoC,YAAAA,cAAc,EAAElC,KAAK,CAAC,MAAM,EAAEN,eAAe,CAAC;YAC9CyC,QAAQ,EAAEC,SAAS,CAACvT,OAAO,CAACe,KAAK,CAACoR,WAAW,EAAE;AACjD;SACD;OACS;AAAC,KACH,CAAC,eACb5N,IAAA,CAAC4O,KAAK,CAAC7K,MAAM,EAAA;AAAClI,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,OAAQiS,YAAY,CAAC,KAAK,CAAC;AAAA;AAAC,OACpC,CAAC,eACF7S,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,iCAAiC;AACzCC,QAAAA,QAAQ,EAAEuB,YAAa;AACvBlF,QAAAA,KAAK,EAAEW,CAAC,CAAC,0BAA0B,CAAE;AACrC2J,QAAAA,OAAO,EAAEpF,YAAa;AACtBnF,QAAAA,OAAO,EAAEqF;AAAa,OACvB,CAAC;AAAA,KACU,CAAC;AAAA,GACV,CAAC;AAAA,CAEZ,CAAC;;;;ACpCD,IAAMqN,KAAK,GAAG,SAARA,KAAKA,CAAA1T,IAAA,EAAsD;AAAA,EAAA,IAAAsK,UAAA;AAAA,EAAA,IAAhDrH,WAAW,GAAAjD,IAAA,CAAXiD,WAAW;IAAE0Q,SAAS,GAAA3T,IAAA,CAAT2T,SAAS;IAAEhQ,QAAQ,GAAA3D,IAAA,CAAR2D,QAAQ;IAAEzD,OAAO,GAAAF,IAAA,CAAPE,OAAO;AACxD,EAAA,IAAA2M,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCsE,IAAAA,UAAU,GAAApE,UAAA,CAAA,CAAA,CAAA;AAAE6G,IAAAA,aAAa,GAAA7G,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAG,UAAA,GAA8CJ,QAAQ,CAAC,EAAE,CAAC;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAAnD6D,IAAAA,eAAe,GAAA5D,UAAA,CAAA,CAAA,CAAA;AAAE0G,IAAAA,kBAAkB,GAAA1G,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAE,UAAA,GAAsCP,QAAQ,CAAC,KAAK,CAAC;IAAAQ,UAAA,GAAAN,cAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAA9CyG,IAAAA,WAAW,GAAAxG,UAAA,CAAA,CAAA,CAAA;AAAEyG,IAAAA,cAAc,GAAAzG,UAAA,CAAA,CAAA,CAAA;EAClC,IAAM0G,qBAAqB,GAAGC,OAAO,CAAC9C,UAAU,CAAC,IAAI8C,OAAO,CAAClD,eAAe,CAAC;AAC7E,EAAA,IAAA/M,eAAA,GAAcC,cAAc,EAAE;IAAtBrC,CAAC,GAAAoC,eAAA,CAADpC,CAAC;EACT,IAAAyM,aAAA,GAA4BC,YAAY,CAAC;MACvC1H,GAAG,EAAE1G,OAAO,CAAC0G,GAAG;AAChBsN,MAAAA,cAAc,EAAE;AAClB,KAAC,CAAC;IAHMtQ,IAAI,GAAAyK,aAAA,CAAJzK,IAAI;IAAE6G,SAAS,GAAA4D,aAAA,CAAT5D,SAAS;AAKvB,EAAA,IAAA0J,aAAA,GAA4CC,YAAY,EAAE;IAAlDlO,MAAM,GAAAiO,aAAA,CAANjO,MAAM;IAAaC,YAAY,GAAAgO,aAAA,CAAvB/N,SAAS;AACzB,EAAA,IAAMuE,kBAAkB,GAAA5C,eAAA,CAAAA,eAAA,KAAQ4I,4BAA4B,CAAA,EAAA,EAAA,EAAA;AAAE0D,IAAAA,EAAE,EAAE1Q;GAAU,CAAA;EAE5E,IAAM2Q,kBAAkB,GAAGpC,OAAO,CAChC,YAAA;AAAA,IAAA,OAAA,EAAA,CAAAjN,MAAA,CAAAmF,kBAAA,CAAUnH,WAAW,CAAE,EAAA,CAAA;AAAEsR,MAAAA,IAAI,EAAE3S,CAAC,CAAC,2BAA2B,EAAE2C,MAAM;KAAG,CAAA,CAAA;AAAA,GAAC,EACxE,CAACtB,WAAW,CACd,CAAC;AAED,EAAA,IAAMuR,WAAW,GAAG,SAAdA,WAAWA,CAAGzR,IAAI,EAAA;IAAA,OAAK;AAC3B8B,MAAAA,IAAI,EAAE9B,IAAI,KAAK,QAAQ,GAAGoO,UAAU,GAAGJ,eAAe;AACtD0D,MAAAA,OAAO,EAAE1R,IAAI,KAAK,QAAQ,GAAG6Q,aAAa,GAAGC;KAC9C;GAAC;EAEF,IAAMa,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI/T,GAAG,EAAEoC,IAAI,EAAK;AACvC,IAAA,IAAA4R,YAAA,GAA0BH,WAAW,CAACzR,IAAI,CAAC;MAAnC8B,IAAI,GAAA8P,YAAA,CAAJ9P,IAAI;MAAE4P,OAAO,GAAAE,YAAA,CAAPF,OAAO;IACrB,IAAMG,YAAY,GAAGC,UAAU,CAAClU,GAAG,CAACG,EAAE,EAAE+D,IAAI,CAAC;AAC7C,IAAA,IAAIsN,YAAY,GAAGpP,IAAI,KAAK,QAAQ,MAAAkC,MAAA,CAAAmF,kBAAA,CAAOvF,IAAI,CAAElE,EAAAA,CAAAA,GAAG,CAAI,CAAA,GAAA,CAACA,GAAG,CAAC;AAC7D,IAAA,IAAIiU,YAAY,EAAE;MAChBzC,YAAY,GAAG2C,UAAU,CAACnU,GAAG,CAACG,EAAE,EAAE+D,IAAI,CAAC;AACzC;IACA4P,OAAO,CAACtC,YAAY,CAAC;GACtB;AAED,EAAA,IAAM9L,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMM,OAAO,GAAG;AACd9B,MAAAA,IAAI,EAAE;AACJkQ,QAAAA,UAAU,EAAE1D,KAAK,CAAC,IAAI,EAAEN,eAAe,CAAC;AACxCiE,QAAAA,YAAY,EAAE3D,KAAK,CAAC,IAAI,EAAEF,UAAU;AACtC;KACD;AAEDjL,IAAAA,MAAM,CACJ;MAAEU,GAAG,EAAE1G,OAAO,CAAC0G,GAAG;AAAED,MAAAA,OAAO,EAAPA;AAAQ,KAAC,EAC7B;AACEE,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AAAA,QAAA,IAAAoO,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,CAAE9M,SAAS,MAAA,IAAA,IAAAoO,oBAAA,KAApBA,KAAAA,CAAAA,IAAAA,oBAAA,CAAsBlO,QAAQ,EAAE;QAChCgN,cAAc,CAAC,KAAK,CAAC;AACvB;AACF,KACF,CAAC;GACF;AAED,EAAA,IAAItJ,SAAS,EAAE;AACb,IAAA,oBACErK,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DH,GAAA,CAAC8U,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;EAEA,oBACEzQ,IAAA,CAACmL,SAAS,EAAA;IAAArP,QAAA,EAAA,cACRH,GAAA,CAAC4C,WAAM,EAAA;AACLC,MAAAA,WAAW,EAAEqR,kBAAmB;AAChCpR,MAAAA,KAAK,EAAEtB,CAAC,CAAC,2BAA2B,EAAE2C,MAAM,CAAE;MAC9CC,WAAW,eACTpE,GAAA,CAACuE,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,yBAAyB;AACjCC,QAAAA,QAAQ,EAAEoP,qBAAsB;AAChC/S,QAAAA,KAAK,EAAEW,CAAC,CAAC,wBAAwB,CAAE;AACnCZ,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACb+S,cAAc,CAAC,IAAI,CAAC;AACtB;OACD;AACF,KACF,CAAC,EACD,EAACnQ,IAAI,KAAJA,IAAAA,IAAAA,IAAI,gBAAA0G,UAAA,GAAJ1G,IAAI,CAAEiB,IAAI,cAAAyF,UAAA,KAAA,KAAA,CAAA,IAAVA,UAAA,CAAYvI,MAAM,iBAClB3B,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,iBAAiB;AAAC,MAAA,SAAA,EAAQ,uBAAuB;MAAAC,QAAA,eAC9DH,GAAA,CAACyK,MAAM,EAAA;AACCF,QAAAA,kBAAkB,EAAlBA,kBAAkB;QACxBzH,KAAK,EAAEtB,CAAC,CAAC,wBAAwB;OAClC;KACE,CAAC,gBAEN6C,IAAA,CAAA,KAAA,EAAA;AAAKnE,MAAAA,SAAS,EAAC,6BAA6B;MAAAC,QAAA,EAAA,cAC1CH,GAAA,CAACwR,IAAI,EAAA;AACGb,QAAAA,eAAe,EAAfA,eAAe;AAAEI,QAAAA,UAAU,EAAVA,UAAU;QACjCF,QAAQ,EAAA,IAAA;AACRc,QAAAA,OAAO,EAAEnO,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAK;AACpBgN,QAAAA,QAAQ,EAAE6C;AAAkB,OAC7B,CAAC,eACFtU,GAAA,CAAC+U,mBAAmB,EAAA;AAClB7U,QAAAA,SAAS,EAAC,kEAAkE;AAC5EsQ,QAAAA,IAAI,EAAE;AAAG,OACV,CAAC,eACFxQ,GAAA,CAACwR,IAAI,EAAA;AACGb,QAAAA,eAAe,EAAfA,eAAe;AAAEI,QAAAA,UAAU,EAAVA,UAAU;AACjCF,QAAAA,QAAQ,EAAE,KAAM;AAChBc,QAAAA,OAAO,EAAEnO,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEiB,IAAK;AACpBgN,QAAAA,QAAQ,EAAE6C;AAAkB,OAC7B,CAAC;AAAA,KACC,CACN,eACDtU,GAAA,CAAC0S,UAAU,EAAA;AAEP/B,MAAAA,eAAe,EAAfA,eAAe;AACf1K,MAAAA,YAAY,EAAZA,YAAY;AACZF,MAAAA,YAAY,EAAZA,YAAY;AACZgL,MAAAA,UAAU,EAAVA,UAAU;AACVjR,MAAAA,OAAO,EAAPA,OAAO;AAET+S,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,IAAlBnV,QAAQ,GAAA6J,SAAA,CAAA/H,MAAA,GAAA,CAAA,IAAA+H,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAC7C,EAAA,IAAAuL,eAAA,GAA2BC,cAAc,EAAE;IAA7BC,QAAQ,GAAAF,eAAA,CAAdG,IAAI;AACZ,EAAA,IAAMC,eAAe,GAAGxV,QAAQ,CAACyV,IAAI,CACnC,UAAAxV,OAAO,EAAA;AAAA,IAAA,IAAAyV,cAAA;AAAA,IAAA,OAAI,CAAAzV,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAyV,KAAAA,CAAAA,IAAAA,CAAAA,cAAA,GAAPzV,OAAO,CAAEe,KAAK,MAAA0U,IAAAA,IAAAA,cAAA,uBAAdA,cAAA,CAAgBtD,WAAW,EAAE,MAAKkD,QAAQ;AAAA,GACvD,CAAC;AAED,EAAA,OAAOE,eAAe,IAAIxV,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC;AAEM,IAAM2V,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,CAAA5Q,MAAA,CAAK4Q,IAAI,EAAA,QAAA;AAAS,GAAC,EACxD;AAAEC,IAAAA,SAAS,EAAE5J,SAAS;AAAE6J,IAAAA,KAAK,EAAE,IAAI;IAAEF,IAAI,EAAEA,IAAI,IAAI;AAAG,GAAC,CACxD;AAAA,CAAA;;;;ACXD,IAAMG,IAAI,GAAG,SAAPA,IAAIA,CAAAhW,IAAA,EAAmB;AAAA,EAAA,IAAbiW,MAAM,GAAAjW,IAAA,CAANiW,MAAM;AACpB,EAAA,IAAQhW,QAAQ,GAAyBgW,MAAM,CAAvChW,QAAQ;IAAAiW,mBAAA,GAAyBD,MAAM,CAA7B7J,WAAW;AAAXA,IAAAA,WAAW,GAAA8J,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;EAEpC,IAAArJ,SAAA,GAA8BC,QAAQ,CAACsI,iBAAiB,CAACnV,QAAQ,CAAC,CAAC;IAAA8M,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5D3M,IAAAA,OAAO,GAAA6M,UAAA,CAAA,CAAA,CAAA;AAAE5M,IAAAA,UAAU,GAAA4M,UAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,IAAMoJ,MAAM,GAAGP,YAAY,CAACK,MAAM,CAACtS,QAAQ,CAAC;EAE5C,oBACEvD,GAAA,CAACgW,MAAM,EAAA;AAAA7V,IAAAA,QAAA,EACJ4V,MAAM,CAACzV,GAAG,CAAC,UAAA4F,KAAA,EAAA;AAAA,MAAA,IAAGyP,KAAK,GAAAzP,KAAA,CAALyP,KAAK;QAAEF,IAAI,GAAAvP,KAAA,CAAJuP,IAAI;QAAaQ,SAAS,GAAA/P,KAAA,CAApBwP,SAAS;MAAA,oBACnCQ,aAAA,CAACC,KAAK,EAAA;AAAOR,QAAAA,KAAK,EAALA,KAAK;AAAEF,QAAAA,IAAI,EAAJA,IAAI;AAAIhT,QAAAA,GAAG,EAAEgT;OAC/BzV,eAAAA,GAAA,CAACiW,SAAS,EAAAtO,aAAA,KAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUkO,MAAM,CAAA,EAAA,EAAA,EAAA;AAAE7J,QAAAA,WAAW,EAAXA,WAAW;AAAEjM,QAAAA,UAAU,EAAVA,UAAU;AAAED,QAAAA,OAAO,EAAPA;AAAO,OAAA,CAAA,CAAK,CAC5D,CAAC;KACT;AAAC,GACI,CAAC;AAEb,CAAC;;;;;ACnBD,IAAMsW,GAAG,GAAG,SAANA,GAAGA,CAAAxW,IAAA,EAAA;AAAA,EAAA,IAAMiW,MAAM,GAAAjW,IAAA,CAANiW,MAAM;EAAA,oBAAO7V,GAAA,CAAC4V,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 { 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 buttonProps={{ style: \"text\" }}\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: \"300px\",\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: \"400px\",\n render: description => description || \"-\",\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: \"100%\" }}\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","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
|
@@ -17,7 +17,7 @@ var Alert = require('@bigbinary/neetoui/Alert');
|
|
|
17
17
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
18
18
|
var ramda = require('ramda');
|
|
19
19
|
var reactI18next = require('react-i18next');
|
|
20
|
-
var useTagsApi = require('../useTagsApi-
|
|
20
|
+
var useTagsApi = require('../useTagsApi-CbashvsV.js');
|
|
21
21
|
var Tab = require('@bigbinary/neetoui/Tab');
|
|
22
22
|
var jsxRuntime = require('react/jsx-runtime');
|
|
23
23
|
var i18next = require('i18next');
|
|
@@ -28,6 +28,7 @@ var Pane = require('@bigbinary/neetoui/Pane');
|
|
|
28
28
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
29
29
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
30
30
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
31
|
+
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
31
32
|
var Textarea = require('@bigbinary/neetoui/formik/Textarea');
|
|
32
33
|
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
33
34
|
var NeetoUITable = require('@bigbinary/neetoui/Table');
|
|
@@ -178,13 +179,15 @@ var useTagsForm = function useTagsForm(_ref) {
|
|
|
178
179
|
var handleSubmit = function handleSubmit(values, _ref2) {
|
|
179
180
|
var _values$description;
|
|
180
181
|
var resetForm = _ref2.resetForm;
|
|
181
|
-
values.description = values === null || values === void 0 || (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim();
|
|
182
182
|
var tagData = {
|
|
183
|
+
url: tagType.url,
|
|
183
184
|
payload: {
|
|
184
|
-
tag:
|
|
185
|
+
tag: ramda.mergeLeft({
|
|
186
|
+
description: (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim(),
|
|
187
|
+
style: values.style.value
|
|
188
|
+
}, values)
|
|
185
189
|
}
|
|
186
190
|
};
|
|
187
|
-
tagData.url = tagType.url;
|
|
188
191
|
if (isEdit) {
|
|
189
192
|
tagData.id = values.id;
|
|
190
193
|
}
|
|
@@ -264,6 +267,9 @@ var ManageTags = function ManageTags(_ref) {
|
|
|
264
267
|
maxLength: TAG_DESCRIPTION_MAX_LENGTH,
|
|
265
268
|
name: "description",
|
|
266
269
|
rows: TAG_DESCRIPTION_ROW_LENGTH
|
|
270
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Select, {
|
|
271
|
+
name: "style",
|
|
272
|
+
options: Object.values(useTagsApi.TAG_STYLES).map(neetoCist.toLabelAndValue)
|
|
267
273
|
})]
|
|
268
274
|
})
|
|
269
275
|
}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
@@ -333,7 +339,7 @@ var renderColumnData = function renderColumnData(handleEdit, handleDelete) {
|
|
|
333
339
|
className: "neeto-tags-table__column",
|
|
334
340
|
children: [/*#__PURE__*/jsxRuntime.jsx(Tag, {
|
|
335
341
|
label: name,
|
|
336
|
-
style:
|
|
342
|
+
style: tag.style
|
|
337
343
|
}), renderDropdownButton({
|
|
338
344
|
handleEdit: handleEdit,
|
|
339
345
|
handleDelete: handleDelete,
|