@itcase/ui 1.0.38 → 1.0.40

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.
@@ -8,7 +8,6 @@ var fill = require('../constants/componentProps/fill.js');
8
8
  var direction = require('../constants/componentProps/direction.js');
9
9
  var shape = require('../constants/componentProps/shape.js');
10
10
  var index = require('./Icon.js');
11
- var index$1 = require('../index-2bbb27b7.js');
12
11
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
13
12
  var useStyles = require('../useStyles-e4accb53.js');
14
13
  require('react-inlinesvg');
@@ -37,6 +36,24 @@ var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
37
36
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
38
37
  var castArray__default = /*#__PURE__*/_interopDefault(castArray);
39
38
 
39
+ var ChevronDown16 = function ChevronDown16(props) {
40
+ return /*#__PURE__*/React__default.default.createElement("svg", props, /*#__PURE__*/React__default.default.createElement("path", {
41
+ fillRule: "evenodd",
42
+ clipRule: "evenodd",
43
+ d: "M2.50398 4.75303C2.81229 4.41566 3.31216 4.41566 3.62047 4.75303L8.1611 9.72163C8.22276 9.7891 8.32274 9.7891 8.3844 9.72163L12.925 4.75303C13.2333 4.41566 13.7332 4.41566 14.0415 4.75303C14.3498 5.09039 14.3498 5.63737 14.0415 5.97474L9.50088 10.9433C8.8226 11.6856 7.7229 11.6856 7.04462 10.9433L2.50398 5.97474C2.19567 5.63737 2.19567 5.09039 2.50398 4.75303Z"
44
+ }));
45
+ };
46
+ ChevronDown16.defaultProps = {
47
+ width: "17",
48
+ height: "16",
49
+ xmlns: "http://www.w3.org/2000/svg",
50
+ fill: "none",
51
+ stroke: "none"
52
+ };
53
+ var icon16 = {
54
+ chevron_down: ChevronDown16
55
+ };
56
+
40
57
  /* React, PropTypes, other third-party modules */
41
58
 
42
59
  /* Component */
@@ -86,7 +103,7 @@ function AccordionItem(props) {
86
103
  }, icon || /*#__PURE__*/React__default.default.createElement(index.Icon, {
87
104
  fill: iconFillClass,
88
105
  size: "16",
89
- SvgImage: index$1.icon16.chevron_down
106
+ SvgImage: icon16.chevron_down
90
107
  })), beforeContent && beforeContent, isExpanded && /*#__PURE__*/React__default.default.createElement("div", {
91
108
  className: "accordion-item__content"
92
109
  }, children || content), afterContent && afterContent);
@@ -3,52 +3,60 @@
3
3
  var React = require('react');
4
4
  require('prop-types');
5
5
  var clsx = require('clsx');
6
+ var ceil = require('lodash/ceil');
6
7
  var ReactPaginate = require('react-paginate');
7
- require('./Icon.js');
8
- require('../index-2bbb27b7.js');
9
8
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
10
- require('react-inlinesvg');
11
- require('../constants/componentProps/fill.js');
12
- require('../constants/componentProps/iconSize.js');
13
- require('../constants/componentProps/shape.js');
14
- require('../constants/componentProps/strokeColor.js');
15
- require('./Link.js');
16
- require('../useStyles-e4accb53.js');
9
+ require('lodash/castArray');
17
10
  require('lodash/camelCase');
18
- require('lodash/maxBy');
19
- require('lodash/upperFirst');
20
- require('../hooks/styleAttributes.js');
21
11
  require('../context/UIContext.js');
22
12
  require('../hooks/useMediaQueries.js');
23
13
  require('react-responsive');
24
- require('../constants/componentProps/size.js');
25
- require('../constants/componentProps/textColor.js');
26
- require('../constants/componentProps/textGradient.js');
27
- require('../constants/componentProps/textStyle.js');
28
- require('../constants/componentProps/textWeight.js');
29
- require('../constants/componentProps/type.js');
30
- require('../constants/componentProps/underline.js');
31
- require('lodash/castArray');
32
14
 
33
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
34
16
 
35
17
  var React__default = /*#__PURE__*/_interopDefault(React);
36
18
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
19
+ var ceil__default = /*#__PURE__*/_interopDefault(ceil);
37
20
  var ReactPaginate__default = /*#__PURE__*/_interopDefault(ReactPaginate);
38
21
 
39
22
  function Pagination(props) {
40
- var className = props.className,
41
- forcePage = props.forcePage,
42
- pageCount = props.pageCount,
43
- marginPagesDisplayed = props.marginPagesDisplayed,
23
+ var pageNumber = props.pageNumber,
24
+ perPageCount = props.perPageCount,
25
+ allItemsCount = props.allItemsCount,
26
+ className = props.className;
27
+ props.forcePage;
28
+ props.pageCount;
29
+ var marginPagesDisplayed = props.marginPagesDisplayed,
44
30
  pageRangeDisplayed = props.pageRangeDisplayed,
45
- onPageChange = props.onPageChange,
46
31
  previousLabel = props.previousLabel,
47
- nextLabel = props.nextLabel;
32
+ nextLabel = props.nextLabel,
33
+ onPageChange = props.onPageChange;
48
34
  var justifyContentClass = useDeviceTargetClass.useDeviceTargetClass(props, {
49
35
  prefix: 'pagination_justify-content_',
50
36
  propsKey: 'justifyContent'
51
37
  });
38
+
39
+ // Calculate count of pages for all items
40
+ var paginationPagesCount = React.useMemo(function () {
41
+ if (allItemsCount && allItemsCount > 0) {
42
+ // Round up. "perPageCount" may be is a query params "limit"
43
+ return ceil__default.default(allItemsCount / perPageCount);
44
+ }
45
+ return 0;
46
+ }, [allItemsCount, perPageCount]);
47
+
48
+ // Index for pagination state
49
+ var paginationPageIndex = React.useMemo(function () {
50
+ var intPageNumber = parseInt(pageNumber);
51
+ // For pagination need index of page, not number
52
+ if (!isNaN(intPageNumber) && intPageNumber > 1) {
53
+ return intPageNumber - 1;
54
+ }
55
+ return 0;
56
+ }, [pageNumber]);
57
+ if (paginationPagesCount <= 1) {
58
+ return null;
59
+ }
52
60
  return /*#__PURE__*/React__default.default.createElement(ReactPaginate__default.default, {
53
61
  containerClassName: clsx__default.default(className, 'pagination', justifyContentClass)
54
62
  // page item
@@ -76,12 +84,18 @@ function Pagination(props) {
76
84
  breakLinkClassName: "pagination__item-link"
77
85
  // pages settings
78
86
  ,
79
- forcePage: forcePage,
80
- pageCount: pageCount,
87
+ forcePage: paginationPageIndex,
88
+ pageCount: paginationPagesCount,
81
89
  marginPagesDisplayed: marginPagesDisplayed,
82
90
  pageRangeDisplayed: pageRangeDisplayed,
83
91
  onPageChange: onPageChange
84
92
  });
85
93
  }
94
+ Pagination.propTypes = {};
95
+ Pagination.defaultProps = {
96
+ pageNumber: 0,
97
+ perPageCount: 0,
98
+ allItemsCount: 0
99
+ };
86
100
 
87
101
  exports.Pagination = Pagination;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.0.38",
3
+ "version": "1.0.40",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
-
5
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
-
7
- var React__default = /*#__PURE__*/_interopDefault(React);
8
-
9
- var ChevronDown16 = function ChevronDown16(props) {
10
- return /*#__PURE__*/React__default.default.createElement("svg", props, /*#__PURE__*/React__default.default.createElement("path", {
11
- fillRule: "evenodd",
12
- clipRule: "evenodd",
13
- d: "M2.50398 4.75303C2.81229 4.41566 3.31216 4.41566 3.62047 4.75303L8.1611 9.72163C8.22276 9.7891 8.32274 9.7891 8.3844 9.72163L12.925 4.75303C13.2333 4.41566 13.7332 4.41566 14.0415 4.75303C14.3498 5.09039 14.3498 5.63737 14.0415 5.97474L9.50088 10.9433C8.8226 11.6856 7.7229 11.6856 7.04462 10.9433L2.50398 5.97474C2.19567 5.63737 2.19567 5.09039 2.50398 4.75303Z"
14
- }));
15
- };
16
- ChevronDown16.defaultProps = {
17
- width: "17",
18
- height: "16",
19
- xmlns: "http://www.w3.org/2000/svg",
20
- fill: "none",
21
- stroke: "none"
22
- };
23
- var icon16 = {
24
- chevron_down: ChevronDown16
25
- };
26
-
27
- exports.icon16 = icon16;