{"version":3,"file":"static/chunks/5407-43e022ade9162aad.js","mappings":"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","sources":["webpack://_N_E/./src/components/Pagination/hooks/index.js","webpack://_N_E/./src/components/Pagination/Pagination.styled.js","webpack://_N_E/./src/components/Pagination/subcomponents/NumberedButtons.js","webpack://_N_E/./src/components/Pagination/Pagination.js","webpack://_N_E/./src/components/Pagination/index.js","webpack://_N_E/./src/components/Pagination/utils/index.js","webpack://_N_E/./src/components/CharLinksFilter/CharLinksFilter.styled.js","webpack://_N_E/./src/components/CharLinksFilter/CharLinksFilter.js","webpack://_N_E/./src/components/CharLinksFilter/utils/index.js","webpack://_N_E/./src/components/CharLinksFilter/index.js","webpack://_N_E/./src/modules/Categories/subcomponents/Link/Link.styled.js","webpack://_N_E/./src/modules/Categories/subcomponents/Link/Link.js","webpack://_N_E/./src/modules/Categories/subcomponents/Link/index.js","webpack://_N_E/./src/modules/Categories/Categories.styled.js","webpack://_N_E/./src/modules/Categories/utils/index.js","webpack://_N_E/./src/modules/Categories/Categories.js","webpack://_N_E/./src/modules/Categories/index.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useRouter } from \"next/router\";\n\nimport { getPageSize, getPage } from \"../utils\";\nimport { DEFAULT_PAGE, DEFAULT_PAGE_SIZE } from \"../constants\";\n\nexport const usePagination = ({ pageSize } = {}) => {\n const router = useRouter();\n const pageFromUrl = getPage(router.query.page);\n const pageSizeFromUrl = getPageSize(router.query.pageSize || pageSize);\n\n const [pageValue, setPage] = useState(DEFAULT_PAGE);\n const [pageSizeValue, setPageSize] = useState(DEFAULT_PAGE_SIZE);\n\n useEffect(() => {\n setPage(pageFromUrl);\n setPageSize(pageSizeFromUrl);\n }, [router.query]);\n\n return {\n page: pageValue,\n pageSize: pageSizeValue,\n setPage,\n setPageSize\n };\n};\n","import { styled } from \"@linaria/react\";\nimport { breakpoints, sizes, weights } from \"common/styles/config\";\nimport { ButtonAccentText } from \"components/Button/Button.styled\";\nimport ArrowIcon from \"public/icons/new-arrow.svg\";\nexport const Pagination = /*#__PURE__*/styled(\"div\")({\n name: \"Pagination\",\n class: \"Pagination_p1t6kx77\"\n});\nexport const ButtonsWrapper = /*#__PURE__*/styled(\"div\")({\n name: \"ButtonsWrapper\",\n class: \"ButtonsWrapper_b1iz4jvd\"\n});\nexport const PageContainer = /*#__PURE__*/styled(\"div\")({\n name: \"PageContainer\",\n class: \"PageContainer_p1y7o2wk\"\n});\nexport const PreviousIcon = /*#__PURE__*/styled(\"div\")({\n name: \"PreviousIcon\",\n class: \"PreviousIcon_pbr8wep\"\n});\nexport const NextIcon = /*#__PURE__*/styled(PreviousIcon)({\n name: \"NextIcon\",\n class: \"NextIcon_n1pmvtkb\"\n});\nexport const CellButton = /*#__PURE__*/styled(\"button\")({\n name: \"CellButton\",\n class: \"CellButton_c1p6h1hm\",\n vars: {\n \"c1p6h1hm-0\": [({\n isCompact\n }) => isCompact ? \"none\" : \"flex\"],\n \"c1p6h1hm-1\": [({\n isActive\n }) => isActive ? \"#f7f7f8\" : \"#ffffff\"],\n \"c1p6h1hm-2\": [({\n isActive\n }) => isActive ? \"1px solid #c4c4c4\" : \"1px solid #3e5c6d\"],\n \"c1p6h1hm-5\": [({\n isActive\n }) => isActive ? \"#ED5121\" : \"#3e5c6d\"],\n \"c1p6h1hm-6\": [({\n isActive\n }) => isActive ? \"initial\" : \"pointer\"]\n }\n});\nexport const Ellipsis = /*#__PURE__*/styled(\"div\")({\n name: \"Ellipsis\",\n class: \"Ellipsis_e1b0c3an\"\n});\nexport const PaginationActions = /*#__PURE__*/styled(\"div\")({\n name: \"PaginationActions\",\n class: \"PaginationActions_p1hl9tgu\"\n});\nexport const PageSizeWrapper = /*#__PURE__*/styled(\"div\")({\n name: \"PageSizeWrapper\",\n class: \"PageSizeWrapper_p126sept\"\n});\nexport const PageViewingBottomWOPages = /*#__PURE__*/styled(\"p\")({\n name: \"PageViewingBottomWOPages\",\n class: \"PageViewingBottomWOPages_pwt7u3b\"\n});\nexport const ResultsText = /*#__PURE__*/styled(PageViewingBottomWOPages)({\n name: \"ResultsText\",\n class: \"ResultsText_ruw0wqw\"\n});\nexport const PaginationPageSizeActions = /*#__PURE__*/styled(PaginationActions)({\n name: \"PaginationPageSizeActions\",\n class: \"PaginationPageSizeActions_p1yy5xy4\"\n});\n\nrequire(\"./Pagination.styled.linaria.module.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js!./Pagination.styled.js\");","import React, { memo } from \"react\";\nimport * as S from \"../Pagination.styled\";\nimport PropTypes from \"prop-types\";\nconst CURRENT_PAGES_ELLIPSIS_LIMIT = 4;\nconst NumberedButtons = ({\n meta,\n handleSetPage\n}) => {\n const isActive = meta.page === meta.pages;\n if (meta.pages === 1 || meta.pages === null) {\n return 1;\n }\n if (meta.pages <= 5) {\n const buttons = [...new Array(meta.pages)].map((el, index) => handleSetPage(index + 1)} isActive={meta.page === index + 1} key={index + 1}>\n {index + 1}\n );\n return buttons;\n } else {\n if (meta.page < CURRENT_PAGES_ELLIPSIS_LIMIT) {\n const buttons = [...new Array(CURRENT_PAGES_ELLIPSIS_LIMIT)].map((el, index) => handleSetPage(index + 1)} isActive={meta.page === index + 1} key={index + 1}>\n {index + 1}\n );\n return <>\n {buttons}\n \n handleSetPage(meta.pages)} isActive={isActive}>\n {meta.pages}\n \n >;\n }\n return <>\n handleSetPage(1)}>1\n \n {isActive && handleSetPage(meta.page - 2)}>\n {meta.page - 2}\n }\n handleSetPage(meta.page - 1)}>\n {meta.page - 1}\n \n handleSetPage(meta.page)} isActive={true}>\n {meta.page}\n \n {meta.page !== meta.pages && handleSetPage(meta.page + 1)}>\n {meta.page + 1}\n }\n {meta.page < meta.pages - 2 && }\n {meta.page < meta.pages - 1 && handleSetPage(meta.pages)} isActive={isActive}>\n {meta.pages}\n }\n >;\n }\n};\nNumberedButtons.propTypes = {\n meta: PropTypes.shape({\n page: PropTypes.number.isRequired,\n pages: PropTypes.number\n }),\n handleSetPage: PropTypes.func.isRequired\n};\nexport default memo(NumberedButtons);","import React, { memo, useCallback, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useRouter } from \"next/router\";\nimport { isPresentValue } from \"common/utils\";\nimport Button from \"components/Button\";\nimport { ACCENT_TEXT } from \"common/constants/buttonTypes\";\nimport { navigateToPage, getPageSize, getPaginationConfig, PAGINATION_OPTIONS } from \"./utils\";\nimport NumberedButtons from \"./subcomponents/NumberedButtons\";\nimport { DEFAULT_PAGE, PAGINATION_MODES } from \"./constants\";\nimport * as S from \"./Pagination.styled\";\nconst UI_PAGES_STEP = 99;\nconst Pagination = ({\n data,\n wrapper: WrapperComponent,\n basePath,\n defaultPage,\n mode,\n showPageSizeFilter,\n setPageSize,\n isLoading,\n onPrevPageClick,\n onNextPageClick,\n setPage,\n scrollTargetPosY,\n pageRouteProps,\n meta\n}) => {\n const router = useRouter();\n const {\n pageSize: parsedPageSize\n } = router.query;\n const pageSize = getPageSize(parsedPageSize);\n const {\n prevButtonProps,\n nextButtonProps\n } = getPaginationConfig(mode);\n const currentPageContainer = Page {meta.page};\n useEffect(() => {\n if (mode === PAGINATION_MODES.WITH_PAGE_BUTTONS && meta.pages && meta.page > meta.pages) {\n navigateToPage({\n setPage,\n page: meta.pages,\n pageSize,\n router,\n basePath,\n targetPosY: scrollTargetPosY,\n showPageSizeFilter,\n pageRouteProps,\n mode,\n before: meta.before\n });\n }\n }, [meta]);\n const handlePrevPageClick = useCallback(() => {\n if (isPresentValue(onPrevPageClick)) {\n onPrevPageClick();\n return;\n }\n navigateToPage({\n setPage,\n page: meta.page - 1,\n pageSize,\n router,\n basePath,\n targetPosY: scrollTargetPosY,\n showPageSizeFilter,\n pageRouteProps,\n mode,\n before: meta.before\n });\n }, [meta, scrollTargetPosY, pageSize, showPageSizeFilter]);\n const handleNextPageClick = useCallback(() => {\n if (isPresentValue(onNextPageClick)) {\n onNextPageClick();\n return;\n }\n navigateToPage({\n setPage,\n page: meta.page + 1,\n pageSize,\n router,\n basePath,\n targetPosY: scrollTargetPosY,\n showPageSizeFilter,\n pageRouteProps,\n mode,\n after: meta.after\n });\n }, [meta, scrollTargetPosY, pageSize, showPageSizeFilter]);\n const handleSetPage = useCallback(page => {\n navigateToPage({\n setPage,\n page,\n pageSize,\n router,\n basePath,\n targetPosY: scrollTargetPosY,\n showPageSizeFilter,\n pageRouteProps\n });\n }, [meta, scrollTargetPosY, pageSize, showPageSizeFilter]);\n const setPageSizeHandler = useCallback(value => {\n setPage(DEFAULT_PAGE);\n setPageSize(value);\n router.push(`${basePath}?page=${DEFAULT_PAGE}&pageSize=${value}`, undefined, {\n shallow: true\n });\n }, [basePath]);\n if (!data.length || !showPageSizeFilter && (meta.pages === 1 || !meta.pages && !meta.withNextPage && meta.page === 1) && mode !== PAGINATION_MODES.INFINITE || mode === PAGINATION_MODES.INFINITE && !meta.after && !meta.before) {\n return null;\n }\n return \n \n UI_PAGES_STEP} onClick={handlePrevPageClick}>\n \n \n {mode === PAGINATION_MODES.INFINITE ? null : mode === PAGINATION_MODES.DEFAULT ? currentPageContainer : }\n UI_PAGES_STEP} onClick={handleNextPageClick}>\n \n \n \n {showPageSizeFilter && \n Results per page:\n \n {PAGINATION_OPTIONS.map((pageTotal, key) => \n }\n ;\n};\nPagination.propTypes = {\n data: PropTypes.array.isRequired,\n showPageSizeFilter: PropTypes.bool,\n showPagesContent: PropTypes.bool,\n wrapper: PropTypes.elementType,\n basePath: PropTypes.string.isRequired,\n defaultPage: PropTypes.number,\n isLoading: PropTypes.bool,\n onPrevPageClick: PropTypes.func,\n onNextPageClick: PropTypes.func,\n setPage: PropTypes.func.isRequired,\n setPageSize: PropTypes.func,\n scrollTargetPosY: PropTypes.number,\n // next link props see: https://nextjs.org/docs/api-reference/next/link\n pageRouteProps: PropTypes.object,\n mode: PropTypes.string,\n meta: PropTypes.oneOfType([PropTypes.shape({\n count: PropTypes.number,\n itemsPerPage: PropTypes.number,\n page: PropTypes.number,\n pages: PropTypes.number,\n after: PropTypes.string,\n before: PropTypes.string\n }), PropTypes.shape({\n page: PropTypes.number,\n withNextPage: PropTypes.bool,\n withPreviousPage: PropTypes.bool,\n count: PropTypes.number\n })])\n};\nPagination.defaultProps = {\n wrapper: S.Pagination,\n isLoading: false,\n showPageSizeFilter: true,\n showPagesContent: true,\n defaultPage: DEFAULT_PAGE,\n setPageSize: () => {},\n onPrevPageClick: null,\n onNextPageClick: null,\n mode: PAGINATION_MODES.DEFAULT,\n meta: {},\n pageRouteProps: {\n shallow: true\n }\n};\nexport default memo(Pagination);","import Pagination from \"./Pagination\";\n\nexport default Pagination;\n","import React from \"react\";\n\nimport { isEmptyValue, isPresentValue, scrollTo } from \"common/utils\";\n\nimport { DEFAULT_PAGE, DEFAULT_PAGE_SIZE, PAGINATION_MODES } from \"../constants\";\n\nexport const getViewingPageInfo = ({ data, meta, defaultPage = DEFAULT_PAGE }) => {\n if (!data.length) {\n return null;\n }\n\n return (\n <>\n {`Viewing page ${meta.page} `}\n {isEmptyValue(meta.pages) || meta.pages < defaultPage ? \"\" : `of ${meta.pages}`}\n >\n );\n};\n\nexport const navigateToPage = ({\n setPage,\n page,\n router,\n basePath,\n targetPosY,\n pageSize,\n showPageSizeFilter,\n pageRouteProps,\n mode,\n after,\n before\n}) => {\n const hasQuery = basePath.match(/\\?/);\n setPage(page);\n\n if (isPresentValue(targetPosY) && targetPosY !== 0) {\n scrollTo(targetPosY);\n }\n\n if (mode === PAGINATION_MODES.INFINITE) {\n let navigateParam = `?after=${after}`;\n\n if (after) {\n navigateParam = `?after=${after}`;\n } else if (before) {\n navigateParam = `?before=${before}`;\n } else {\n return;\n }\n\n router.push(`${basePath}${navigateParam}`, undefined, pageRouteProps);\n return;\n }\n\n const defaultQueryParams = `${hasQuery ? \"&\" : \"?\"}page=${page}`;\n const queryParams = showPageSizeFilter\n ? `${defaultQueryParams}&pageSize=${pageSize}`\n : defaultQueryParams;\n\n router.push(`${basePath}${queryParams}`, undefined, pageRouteProps);\n};\n\nexport const PAGINATION_OPTIONS = [10, 20, 50, 100];\n\nexport const getPaginationConfig = (mode) => {\n switch (mode) {\n case PAGINATION_MODES.INFINITE:\n return {\n prevButtonProps: {\n getDisabled: ({ before }) => !before\n },\n nextButtonProps: {\n getDisabled: ({ after }) => !after\n }\n };\n case PAGINATION_MODES.WITH_PAGE_BUTTONS:\n return {\n prevButtonProps: {\n getDisabled: ({ isLoading, page, defaultPage }) =>\n page === defaultPage || isLoading\n },\n nextButtonProps: {\n getDisabled: ({ isLoading, page, totalPages }) =>\n page >= totalPages || isLoading\n }\n };\n default:\n return {\n prevButtonProps: {\n getDisabled: ({ withPreviousPage }) => !withPreviousPage\n },\n nextButtonProps: {\n getDisabled: ({ withNextPage }) => !withNextPage\n }\n };\n }\n};\n\nexport const getPage = (value) => {\n const parsedValue = parseInt(value, 10);\n\n return isPresentValue(parsedValue) && parsedValue > 0 ? parsedValue : DEFAULT_PAGE;\n};\n\nexport const getPageSize = (value) => {\n const parsedValue = parseInt(value, 10);\n\n return PAGINATION_OPTIONS.includes(parsedValue) ? parsedValue : DEFAULT_PAGE_SIZE;\n};\n","import { styled } from \"@linaria/react\";\nimport { baseStylesBtnAndLink, accentTextStylesBtnAndLink } from \"common/styles\";\nimport { colors, breakpoints, sizes } from \"common/styles/config\";\nexport const Container = /*#__PURE__*/styled(\"div\")({\n name: \"Container\",\n class: \"Container_cff2oli\"\n});\nexport const Link = /*#__PURE__*/styled(\"a\")({\n name: \"Link\",\n class: \"Link_ldtanri\"\n});\n\nrequire(\"./CharLinksFilter.styled.linaria.module.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js!./CharLinksFilter.styled.js\");","import React, { memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Link from \"next/link\";\nimport { defaultFilterLinks } from \"./utils\";\nimport * as S from \"./CharLinksFilter.styled\";\nconst CharLinksFilter = ({\n links,\n url,\n selectedValue,\n nextLinkProps,\n linkProps\n}) => {\n return \n {links.map(item => \n \n {item.label}\n \n )}\n ;\n};\nCharLinksFilter.propTypes = {\n links: PropTypes.arrayOf(PropTypes.shape({\n key: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedValue: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n nextLinkProps: PropTypes.object,\n linkProps: PropTypes.object\n};\nCharLinksFilter.defaultProps = {\n links: defaultFilterLinks,\n nextLinkProps: {},\n linkProps: {}\n};\nexport default memo(CharLinksFilter);","export const defaultFilterLinks = [\n {\n key: \"\",\n label: \"« Top\"\n },\n {\n key: \"a\",\n label: \"A\"\n },\n {\n key: \"b\",\n label: \"B\"\n },\n {\n key: \"c\",\n label: \"C\"\n },\n {\n key: \"d\",\n label: \"D\"\n },\n {\n key: \"e\",\n label: \"E\"\n },\n {\n key: \"f\",\n label: \"F\"\n },\n {\n key: \"g\",\n label: \"G\"\n },\n {\n key: \"h\",\n label: \"H\"\n },\n {\n key: \"i\",\n label: \"I\"\n },\n {\n key: \"j\",\n label: \"J\"\n },\n {\n key: \"k\",\n label: \"K\"\n },\n {\n key: \"l\",\n label: \"L\"\n },\n {\n key: \"m\",\n label: \"M\"\n },\n {\n key: \"n\",\n label: \"N\"\n },\n {\n key: \"o\",\n label: \"O\"\n },\n {\n key: \"p\",\n label: \"P\"\n },\n {\n key: \"q\",\n label: \"Q\"\n },\n {\n key: \"r\",\n label: \"R\"\n },\n {\n key: \"s\",\n label: \"S\"\n },\n {\n key: \"t\",\n label: \"T\"\n },\n {\n key: \"u\",\n label: \"U\"\n },\n {\n key: \"v\",\n label: \"V\"\n },\n {\n key: \"w\",\n label: \"W\"\n },\n {\n key: \"x\",\n label: \"X\"\n },\n {\n key: \"y\",\n label: \"Y\"\n },\n {\n key: \"z\",\n label: \"Z\"\n }\n];\n","import CharLinksFilter from \"./CharLinksFilter\";\n\nexport default CharLinksFilter;\n","import { styled } from \"@linaria/react\";\nimport { baseStylesBtnAndLink } from \"common/styles\";\nimport { weights, sizes } from \"common/styles/config\";\nexport const LinkContainer = /*#__PURE__*/styled(\"span\")({\n name: \"LinkContainer\",\n class: \"LinkContainer_l1tfs1tv\"\n});\nexport const Link = /*#__PURE__*/styled(\"a\")({\n name: \"Link\",\n class: \"Link_l1uo78fb\"\n});\n\nrequire(\"./Link.styled.linaria.module.css!=!../../../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js!./Link.styled.js\");","import React, { memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport * as NextLink from \"next/link\";\nimport * as S from \"./Link.styled\";\nconst Link = ({\n basePath,\n category\n}) => {\n return \n \n {category.name}\n \n ;\n};\nLink.propTypes = {\n basePath: PropTypes.string.isRequired,\n category: PropTypes.object.isRequired\n};\nexport default memo(Link);","import Link from \"./Link\";\n\nexport default Link;\n","import { styled } from \"@linaria/react\";\nimport { ContentWrapper, PageMainContainer } from \"common/styles\";\nimport { breakpoints, sizes, families } from \"common/styles/config\";\nimport { Link as CategoryLink, LinkContainer as CategoryLinkContainer } from \"./subcomponents/Link/Link.styled\";\nexport const Container = /*#__PURE__*/styled(PageMainContainer)({\n name: \"Container\",\n class: \"Container_c190g22y\"\n});\nexport const Wrapper = /*#__PURE__*/styled(ContentWrapper)({\n name: \"Wrapper\",\n class: \"Wrapper_w1f0d608\"\n});\nexport const PaginationWrapper = /*#__PURE__*/styled(\"div\")({\n name: \"PaginationWrapper\",\n class: \"PaginationWrapper_pnusmht\"\n});\nexport const Title = /*#__PURE__*/styled(\"h1\")({\n name: \"Title\",\n class: \"Title_t1puhciw\"\n});\nexport const SubTitle = /*#__PURE__*/styled(\"h2\")({\n name: \"SubTitle\",\n class: \"SubTitle_s162ze\"\n});\nexport const LinksContainer = /*#__PURE__*/styled(\"ul\")({\n name: \"LinksContainer\",\n class: \"LinksContainer_ls54r92\",\n vars: {\n \"ls54r92-0\": [({\n rows = 1\n }) => rows],\n \"ls54r92-2\": [({\n columns = 1\n }) => columns],\n \"ls54r92-3\": [({\n rows = 1,\n columns = 1\n }) => Math.ceil(rows / columns)]\n }\n});\nexport const LinkParentContainer = /*#__PURE__*/styled(\"div\")({\n name: \"LinkParentContainer\",\n class: \"LinkParentContainer_lsxqvl8\"\n});\nexport const ParentName = /*#__PURE__*/styled(\"span\")({\n name: \"ParentName\",\n class: \"ParentName_pace501\"\n});\nexport const ChildrenLinks = /*#__PURE__*/styled(\"div\")({\n name: \"ChildrenLinks\",\n class: \"ChildrenLinks_cbbd9j6\"\n});\n\nrequire(\"./Categories.styled.linaria.module.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js!./Categories.styled.js\");","import React from \"react\";\nimport { isEmptyValue, isPresentValue, upperFirst } from \"common/utils\";\nimport CharLinksFilter from \"components/CharLinksFilter\";\nimport Link from \"../subcomponents/Link\";\nimport * as S from \"../Categories.styled\";\nexport const BASE_TITLE_AUTHORS = \"Book Authors\";\nexport const BASE_TITLE_PUBLISHERS = \"Book Publishers\";\nexport const BASE_TITLE_CATEGORIES = \"Browse for Books by Category\";\nexport const TOP_RESOURCE_PARAMS = {\n count: 60\n};\nexport const getCategoriesParams = ({\n id,\n page\n}) => ({\n \"order[name]\": \"asc\",\n starts_with: id,\n page\n});\nexport const TOP_CATEGORY_PARAMS = {\n itemsPerPage: 500,\n \"order[name]\": \"asc\"\n};\nexport const getCategoriesTitle = ({\n target,\n baseResourceTitle\n}) => {\n return isEmptyValue(target) ? `Top ${baseResourceTitle}` : `\"${upperFirst(target)}\" ${baseResourceTitle}`;\n};\nexport const renderCharsFilter = ({\n url,\n value\n}) => {\n const selectedValue = isEmptyValue(value) ? \"\" : value;\n return ;\n};\nexport const renderLinks = ({\n columns,\n data,\n linkUrl\n}) => {\n return \n {data.map((item, index) => )}\n ;\n};\nexport const renderCategoryParentLinks = ({\n columns,\n data,\n linkUrl\n}) => {\n return data.map(({\n category,\n categories\n }, index) => !!categories.length && \n \n {isPresentValue(category) ? : Other}\n \n \n {renderLinks({\n columns,\n data: categories,\n linkUrl\n })}\n \n );\n};\nconst getSortedCategoriesByFullName = data => data.sort((a, b) => {\n if (a.categoryFullName < b.categoryFullName) {\n return -1;\n }\n if (b.categoryFullName < a.categoryFullName) {\n return 1;\n }\n return 0;\n});\n\n// accept all categories\nconst getSplittedCategoriesByParent = data => data.reduce((acc, curr) => isPresentValue(curr.parent) ? {\n ...acc,\n childCategoriesWithParent: [...acc.childCategoriesWithParent, curr]\n} : {\n ...acc,\n childCategoriesWOParent: [...acc.childCategoriesWOParent, curr]\n}, {\n childCategoriesWOParent: [],\n childCategoriesWithParent: []\n});\n\n// accept only categories with parent\nconst getRevertedCategories = data => data.reduce((acc, curr) => [...acc, {\n ...curr.parent,\n child: curr\n}], []);\n\n// accept only categories with parent\nconst getParentCategoriesWithChildrens = data => {\n const revertedCategories = getRevertedCategories(data);\n return getSortedCategoriesByFullName(revertedCategories).reduce((acc, curr) => {\n const childCategories = revertedCategories.filter(item => item.id === curr.id).map(item => item.child);\n const isExistCategory = acc.find(item => item.category?.id === curr.id) || null;\n return !isExistCategory ? [...acc, {\n category: {\n ...curr,\n child: null\n },\n categories: getSortedCategoriesByFullName(childCategories)\n }] : [...acc];\n }, []);\n};\nexport const getAllCategories = data => {\n const {\n childCategoriesWOParent,\n childCategoriesWithParent\n } = getSplittedCategoriesByParent(data);\n const uniqCategoriesWOParent = childCategoriesWOParent.filter(child => {\n const duplicatedCategory = childCategoriesWithParent.find(item => item.parent.id === child.id) || null;\n return isEmptyValue(duplicatedCategory);\n });\n return [...getParentCategoriesWithChildrens(childCategoriesWithParent), {\n category: null,\n categories: getSortedCategoriesByFullName(uniqCategoriesWOParent)\n }];\n};","import React, { useMemo, memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useRouter } from \"next/router\";\nimport { isPresentValue } from \"common/utils\";\nimport { CATEGORIES } from \"common/constants/pathRoutes\";\nimport Pagination from \"components/Pagination\";\nimport { usePagination } from \"components/Pagination/hooks\";\nimport { renderCharsFilter, renderLinks, getAllCategories, renderCategoryParentLinks } from \"./utils\";\nimport * as S from \"./Categories.styled\";\nconst Categories = ({\n data,\n meta,\n title,\n renderTopFilter,\n columns,\n basePath,\n linkUrl,\n subTitle\n}) => {\n const {\n query\n } = useRouter();\n const {\n setPage\n } = usePagination();\n const topFilter = useMemo(() => renderTopFilter({\n url: basePath,\n value: query.id\n }), [basePath, query.id]);\n const path = useMemo(() => `${basePath}/${query.id}`, [basePath, query.id]);\n const showPagination = useMemo(() => isPresentValue(query.id), [query.id]);\n const isCategoriesResource = useMemo(() => basePath === CATEGORIES, [basePath]);\n const categoriesData = useMemo(() => isCategoriesResource ? getAllCategories(data) : data, [isCategoriesResource, data]);\n const links = useMemo(() => isCategoriesResource ? renderCategoryParentLinks({\n columns,\n data: categoriesData,\n linkUrl\n }) : renderLinks({\n columns,\n data: categoriesData,\n linkUrl\n }), [columns, categoriesData, linkUrl]);\n return \n \n {title}\n {subTitle}\n {topFilter}\n {links}\n {showPagination && }\n \n ;\n};\nCategories.propTypes = {\n basePath: PropTypes.string.isRequired,\n data: PropTypes.array,\n meta: PropTypes.object,\n linkUrl: PropTypes.string,\n title: PropTypes.string.isRequired,\n columns: PropTypes.number,\n subTitle: PropTypes.string,\n renderTopFilter: PropTypes.func\n};\nCategories.defaultProps = {\n data: [],\n meta: {},\n subTitle: \"\",\n linkUrl: \"\",\n columns: 2,\n renderTopFilter: renderCharsFilter\n};\nexport default memo(Categories);","import Categories from \"./Categories\";\n\nexport default Categories;\n"],"names":["usePagination","pageSize","router","useRouter","pageFromUrl","getPage","query","page","pageSizeFromUrl","getPageSize","useState","DEFAULT_PAGE","pageValue","setPage","DEFAULT_PAGE_SIZE","pageSizeValue","setPageSize","useEffect","Pagination","styled","name","class","ButtonsWrapper","PageContainer","PreviousIcon","NextIcon","CellButton","vars","isCompact","isActive","Ellipsis","PaginationActions","PageSizeWrapper","PageViewingBottomWOPages","ResultsText","PaginationPageSizeActions","require","NumberedButtons","meta","handleSetPage","pages","Array","map","el","index","onClick","key","buttons","memo","data","WrapperComponent","wrapper","basePath","defaultPage","mode","showPageSizeFilter","isLoading","onPrevPageClick","onNextPageClick","scrollTargetPosY","pageRouteProps","parsedPageSize","getPaginationConfig","prevButtonProps","nextButtonProps","currentPageContainer","PAGINATION_MODES","navigateToPage","targetPosY","before","handlePrevPageClick","useCallback","isPresentValue","handleNextPageClick","after","setPageSizeHandler","value","push","undefined","shallow","length","withNextPage","disabled","getDisabled","withPreviousPage","totalPages","PAGINATION_OPTIONS","pageTotal","Button","variant","ACCENT_TEXT","label","defaultProps","S","showPagesContent","hasQuery","match","scrollTo","defaultQueryParams","queryParams","navigateParam","parsedValue","parseInt","includes","Container","Link","CharLinksFilter","links","url","selectedValue","nextLinkProps","linkProps","item","href","passHref","prefetch","className","LinkContainer","category","categoryRoute","PageMainContainer","Wrapper","ContentWrapper","PaginationWrapper","Title","SubTitle","LinksContainer","rows","columns","Math","ceil","LinkParentContainer","ParentName","ChildrenLinks","renderLinks","linkUrl","getSortedCategoriesByFullName","sort","a","b","categoryFullName","getParentCategoriesWithChildrens","revertedCategories","reduce","acc","curr","parent","child","getRevertedCategories","childCategories","filter","id","find","categories","getAllCategories","childCategoriesWithParent","childCategoriesWOParent","getSplittedCategoriesByParent","uniqCategoriesWOParent","duplicatedCategory","isEmptyValue","Categories","title","renderTopFilter","subTitle","topFilter","useMemo","path","showPagination","isCategoriesResource","CATEGORIES","categoriesData","renderCategoryParentLinks"],"sourceRoot":""}