@trafilea/afrodita-components 5.0.0-beta.130 → 5.0.0-beta.131

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/build/index.d.ts CHANGED
@@ -2013,8 +2013,9 @@ interface PaginationProps {
2013
2013
  underlineActive?: boolean;
2014
2014
  boldActive?: boolean;
2015
2015
  disabled?: boolean;
2016
+ showReducedPages?: boolean;
2016
2017
  }
2017
- declare const Pagination: ({ from, to, currentPage, onChange, underlineActive, boldActive, disabled, }: PaginationProps) => JSX.Element;
2018
+ declare const Pagination: ({ from, to, currentPage, onChange, underlineActive, boldActive, disabled, showReducedPages, }: PaginationProps) => JSX.Element;
2018
2019
 
2019
2020
  declare const PaginatorBlog: ({ from, to, currentPage, onChange, }: Pick<PaginationProps, 'from' | 'to' | 'onChange' | 'currentPage'>) => JSX.Element;
2020
2021
 
@@ -12825,7 +12825,7 @@ var PageNumber = newStyled.span(templateObject_4$8 || (templateObject_4$8 = __ma
12825
12825
  }, mediaQueries({
12826
12826
  fontSize: ['1rem', '1.25rem'],
12827
12827
  lineHeight: ['1.5rem', '1.75rem'],
12828
- width: ['1.25rem', '1.875rem'],
12828
+ width: ['1.5rem', '1.875rem'],
12829
12829
  }), function (_a) {
12830
12830
  var background = _a.background;
12831
12831
  return background || 'unset';
@@ -12833,9 +12833,10 @@ var PageNumber = newStyled.span(templateObject_4$8 || (templateObject_4$8 = __ma
12833
12833
  var templateObject_1$r, templateObject_2$g, templateObject_3$g, templateObject_4$8;
12834
12834
 
12835
12835
  var Pagination = function (_a) {
12836
- var from = _a.from, to = _a.to, _b = _a.currentPage, currentPage = _b === void 0 ? from : _b, onChange = _a.onChange, _c = _a.underlineActive, underlineActive = _c === void 0 ? true : _c, _d = _a.boldActive, boldActive = _d === void 0 ? true : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e;
12836
+ var from = _a.from, to = _a.to, _b = _a.currentPage, currentPage = _b === void 0 ? from : _b, onChange = _a.onChange, _c = _a.underlineActive, underlineActive = _c === void 0 ? true : _c, _d = _a.boldActive, boldActive = _d === void 0 ? true : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.showReducedPages, showReducedPages = _f === void 0 ? false : _f;
12837
+ var RANGE_OF_PAGES = 3;
12837
12838
  var theme = useTheme();
12838
- var _f = React__default.useState(currentPage), page = _f[0], setPage = _f[1];
12839
+ var _g = useState(currentPage), page = _g[0], setPage = _g[1];
12839
12840
  var handlePageChange = function (page) {
12840
12841
  if (disabled || page < from || page > to) {
12841
12842
  return;
@@ -12843,7 +12844,39 @@ var Pagination = function (_a) {
12843
12844
  setPage(page);
12844
12845
  onChange(page);
12845
12846
  };
12846
- return (jsxs$1(Container$k, __assign$1({ "data-testid": "PaginationContainer" }, { children: [jsx$1(IconContainer$1, __assign$1({ onClick: function () { return handlePageChange(page - 1); }, "data-testid": "LeftChevron" }, { children: jsx$1(Icon.Arrows.ChevronLeft, { fill: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color }, void 0) }), void 0), jsx$1(PageNumbersContainer, __assign$1({ "data-testid": "PageNumbersContainer", theme: theme }, { children: new Array(to - from + 1).fill(0).map(function (_, i) { return (jsx$1(PageNumber, __assign$1({ onClick: function () { return handlePageChange(i + from); }, bold: boldActive && page === i + from, underline: underlineActive && page === i + from, role: 'button', color: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color, borderColor: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color, theme: theme }, { children: i + from }), i)); }) }), void 0), jsx$1(IconContainer$1, __assign$1({ onClick: function () { return handlePageChange(page + 1); }, "data-testid": "RightChevron" }, { children: jsx$1(Icon.Arrows.ChevronRight, { fill: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color }, void 0) }), void 0)] }), void 0));
12847
+ var reducedPages = useMemo(function () {
12848
+ if (!showReducedPages) {
12849
+ return [];
12850
+ }
12851
+ var pages = [];
12852
+ new Array(to - from + 1).fill(0).map(function (_, i) {
12853
+ var initialRange = page - RANGE_OF_PAGES;
12854
+ var finalRange = page + RANGE_OF_PAGES;
12855
+ if (from + i > initialRange && from + i < finalRange) {
12856
+ pages.push(from + i);
12857
+ }
12858
+ });
12859
+ if (pages[0] === from + RANGE_OF_PAGES - 1) {
12860
+ pages = [from, from + 1].concat(pages);
12861
+ }
12862
+ else if (pages[0] > from + RANGE_OF_PAGES - 1) {
12863
+ pages = [from, -2].concat(pages);
12864
+ }
12865
+ else if (pages[0] === from + 1) {
12866
+ pages = [from].concat(pages);
12867
+ }
12868
+ if (pages[pages.length - 1] === to - RANGE_OF_PAGES + 1) {
12869
+ pages = pages.concat([to - 1, to]);
12870
+ }
12871
+ else if (pages[pages.length - 1] < to - RANGE_OF_PAGES + 1) {
12872
+ pages = pages.concat([-2, to]);
12873
+ }
12874
+ else if (pages[pages.length - 1] === to - 1) {
12875
+ pages = pages.concat([to]);
12876
+ }
12877
+ return pages;
12878
+ }, [from, page, showReducedPages, to]);
12879
+ return (jsxs$1(Container$k, __assign$1({ "data-testid": "PaginationContainer" }, { children: [jsx$1(IconContainer$1, __assign$1({ onClick: function () { return handlePageChange(page - 1); }, "data-testid": "LeftChevron" }, { children: jsx$1(Icon.Arrows.ChevronLeft, { fill: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color }, void 0) }), void 0), !showReducedPages && (jsx$1(PageNumbersContainer, __assign$1({ "data-testid": "PageNumbersContainer", theme: theme }, { children: new Array(to - from + 1).fill(0).map(function (_, i) { return (jsx$1(PageNumber, __assign$1({ onClick: function () { return handlePageChange(i + from); }, bold: boldActive && page === i + from, underline: underlineActive && page === i + from, role: 'button', color: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color, borderColor: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color, theme: theme }, { children: i + from }), i)); }) }), void 0)), showReducedPages && (jsx$1(PageNumbersContainer, __assign$1({ "data-testid": "PageNumbersContainer", theme: theme }, { children: reducedPages.map(function (reducedPage, index) { return (jsx$1(PageNumber, __assign$1({ onClick: function () { return handlePageChange(reducedPage); }, bold: boldActive && page === reducedPage, underline: underlineActive && page === reducedPage, role: 'button', color: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color, borderColor: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color, theme: theme }, { children: reducedPage !== -2 ? reducedPage : '...' }), index)); }) }), void 0)), jsx$1(IconContainer$1, __assign$1({ onClick: function () { return handlePageChange(page + 1); }, "data-testid": "RightChevron" }, { children: jsx$1(Icon.Arrows.ChevronRight, { fill: disabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color }, void 0) }), void 0)] }), void 0));
12847
12880
  };
12848
12881
 
12849
12882
  var PaginatorBlog = function (_a) {