@elliemae/ds-page-number 1.56.1 → 1.57.0-rc.11

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,11 +8,9 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
8
8
  var React = require('react');
9
9
  var reactDesc = require('react-desc');
10
10
  var dsClassnames = require('@elliemae/ds-classnames');
11
- var ChevronSmallDown = require('@elliemae/ds-icons/ChevronSmallDown');
12
- var ChevronSmallUp = require('@elliemae/ds-icons/ChevronSmallUp');
11
+ var dsIcons = require('@elliemae/ds-icons');
13
12
  var DSButton = require('@elliemae/ds-button');
14
- var DSInputGroup = require('@elliemae/ds-form/InputGroup');
15
- var DSInput = require('@elliemae/ds-form/Input');
13
+ var dsForm = require('@elliemae/ds-form');
16
14
  var components_utils = require('./components/utils.js');
17
15
 
18
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -21,15 +19,11 @@ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
21
19
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
22
20
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
23
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
- var ChevronSmallDown__default = /*#__PURE__*/_interopDefaultLegacy(ChevronSmallDown);
25
- var ChevronSmallUp__default = /*#__PURE__*/_interopDefaultLegacy(ChevronSmallUp);
26
22
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
27
- var DSInputGroup__default = /*#__PURE__*/_interopDefaultLegacy(DSInputGroup);
28
- var DSInput__default = /*#__PURE__*/_interopDefaultLegacy(DSInput);
29
23
 
30
24
  var _excluded = ["className", "disabled", "value", "onChange", "containerProps", "currentPage", "totalPages", "separator"];
31
25
  var blockName = 'page-number-block';
32
- var PageNumberInputContainer = dsClassnames.aggregatedClasses(DSInputGroup__default['default'])(blockName);
26
+ var PageNumberInputContainer = dsClassnames.aggregatedClasses(dsForm.DSInputGroup)(blockName);
33
27
 
34
28
  var DSPageNumber = function DSPageNumber(_ref) {
35
29
  var className = _ref.className,
@@ -95,7 +89,7 @@ var DSPageNumber = function DSPageNumber(_ref) {
95
89
  className: "".concat(cssClassName)
96
90
  }, containerProps, otherProps), /*#__PURE__*/React__default['default'].createElement(PageNumberInputContainer, null, /*#__PURE__*/React__default['default'].createElement("div", {
97
91
  className: "".concat(classNameElement('pages'))
98
- }, /*#__PURE__*/React__default['default'].createElement(DSInput__default['default'], {
92
+ }, /*#__PURE__*/React__default['default'].createElement(dsForm.DSInput, {
99
93
  className: "".concat(classNameElement('input')),
100
94
  "data-testid": "page-number__current-page",
101
95
  onChange: handleUpdateInput,
@@ -118,14 +112,14 @@ var DSPageNumber = function DSPageNumber(_ref) {
118
112
  buttonType: "text",
119
113
  className: "dropdown-indicator",
120
114
  "data-testid": "page-number__increase",
121
- icon: /*#__PURE__*/React__default['default'].createElement(ChevronSmallUp__default['default'], null),
115
+ icon: /*#__PURE__*/React__default['default'].createElement(dsIcons.ChevronSmallUp, null),
122
116
  onClick: handleIncrease
123
117
  }), /*#__PURE__*/React__default['default'].createElement(DSButton__default['default'], {
124
118
  "aria-label": "dropdown-indicator",
125
119
  buttonType: "text",
126
120
  className: "dropdown-indicator",
127
121
  "data-testid": "page-number__decrease",
128
- icon: /*#__PURE__*/React__default['default'].createElement(ChevronSmallDown__default['default'], null),
122
+ icon: /*#__PURE__*/React__default['default'].createElement(dsIcons.ChevronSmallDown, null),
129
123
  onClick: handleDecrease
130
124
  })));
131
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DSPageNumber.js","sources":["../../src/DSPageNumber.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport {\n aggregatedClasses,\n convertPropToCssClassName,\n} from '@elliemae/ds-classnames';\nimport ChevronSmallDown from '@elliemae/ds-icons/ChevronSmallDown';\nimport ChevronSmallUp from '@elliemae/ds-icons/ChevronSmallUp';\nimport DSButton from '@elliemae/ds-button';\nimport DSInputGroup from '@elliemae/ds-form/InputGroup';\nimport DSInput from '@elliemae/ds-form/Input';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName(\n 'page-number',\n className,\n {\n disabled,\n },\n );\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div\n data-testid=\"ds-page-number\"\n className={`${cssClassName}`}\n {...containerProps}\n {...otherProps}\n >\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div\n className={`${classNameElement('total')}`}\n data-testid=\"page-number__total-pages\"\n >\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n disabled: PropTypes.bool\n .description('Whether the component is disabled or not')\n .defaultValue(false),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n ]).description('page number value'),\n onChange: PropTypes.func.description(\n 'function executed when the page number changes',\n ),\n currentPage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Amount of pages')\n .defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\n\nconst PageNumberWithSchema = describe(DSPageNumber);\nPageNumberWithSchema.propTypes = pageNumberProps;\n\nDSPageNumber.defaultProps = {\n className: '',\n disabled: false,\n onChange: () => null,\n containerProps: {},\n value: undefined,\n currentPage: undefined,\n totalPages: 1,\n separator: '/',\n};\n\nexport { DSPageNumber, PageNumberWithSchema };\nexport default DSPageNumber;\n"],"names":["blockName","PageNumberInputContainer","aggregatedClasses","DSInputGroup","DSPageNumber","className","disabled","value","onChange","containerProps","currentPage","totalPages","separator","otherProps","safeTotal","cleanPage","ref","useRef","convertPropToCssClassName","cssClassName","classNameElement","useState","page","setPage","size","setSize","useEffect","current","getBoundingClientRect","width","calculatedWidth","lengthToSize","handleUpdateInput","e","newValue","target","handleIncrease","parseInt","handleDecrease","React","DSInput","DSButton","ChevronSmallUp","ChevronSmallDown","pageNumberProps","PropTypes","string","description","object","bool","defaultValue","oneOfType","number","func","propTypes","PageNumberWithSchema","describe","defaultProps","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"DSPageNumber.js","sources":["../../src/DSPageNumber.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronSmallDown, ChevronSmallUp } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { DSInput, DSInputGroup } from '@elliemae/ds-form';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName('page-number', className, {\n disabled,\n });\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div data-testid=\"ds-page-number\" className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div className={`${classNameElement('total')}`} data-testid=\"page-number__total-pages\">\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('Whether the component is disabled or not').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('page number value'),\n onChange: PropTypes.func.description('function executed when the page number changes'),\n currentPage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Amount of pages').defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\n\nconst PageNumberWithSchema = describe(DSPageNumber);\nPageNumberWithSchema.propTypes = pageNumberProps;\n\nDSPageNumber.defaultProps = {\n className: '',\n disabled: false,\n onChange: () => null,\n containerProps: {},\n value: undefined,\n currentPage: undefined,\n totalPages: 1,\n separator: '/',\n};\n\nexport { DSPageNumber, PageNumberWithSchema };\nexport default DSPageNumber;\n"],"names":["blockName","PageNumberInputContainer","aggregatedClasses","DSInputGroup","DSPageNumber","className","disabled","value","onChange","containerProps","currentPage","totalPages","separator","otherProps","safeTotal","cleanPage","ref","useRef","convertPropToCssClassName","cssClassName","classNameElement","useState","page","setPage","size","setSize","useEffect","current","getBoundingClientRect","width","calculatedWidth","lengthToSize","handleUpdateInput","e","newValue","target","handleIncrease","parseInt","handleDecrease","React","DSInput","DSButton","ChevronSmallUp","ChevronSmallDown","pageNumberProps","PropTypes","string","description","object","bool","defaultValue","oneOfType","number","func","propTypes","PageNumberWithSchema","describe","defaultProps","undefined"],"mappings":"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"}
package/cjs/index.js CHANGED
@@ -9,11 +9,9 @@ require('@babel/runtime/helpers/objectWithoutProperties');
9
9
  require('react');
10
10
  require('react-desc');
11
11
  require('@elliemae/ds-classnames');
12
- require('@elliemae/ds-icons/ChevronSmallDown');
13
- require('@elliemae/ds-icons/ChevronSmallUp');
12
+ require('@elliemae/ds-icons');
14
13
  require('@elliemae/ds-button');
15
- require('@elliemae/ds-form/InputGroup');
16
- require('@elliemae/ds-form/Input');
14
+ require('@elliemae/ds-form');
17
15
  require('./components/utils.js');
18
16
 
19
17
 
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -4,11 +4,9 @@ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutPr
4
4
  import React, { useRef, useState, useEffect } from 'react';
5
5
  import { PropTypes, describe } from 'react-desc';
6
6
  import { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';
7
- import ChevronSmallDown from '@elliemae/ds-icons/ChevronSmallDown';
8
- import ChevronSmallUp from '@elliemae/ds-icons/ChevronSmallUp';
7
+ import { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';
9
8
  import DSButton from '@elliemae/ds-button';
10
- import DSInputGroup from '@elliemae/ds-form/InputGroup';
11
- import DSInput from '@elliemae/ds-form/Input';
9
+ import { DSInputGroup, DSInput } from '@elliemae/ds-form';
12
10
  import { cleanPage, lengthToSize } from './components/utils.js';
13
11
 
14
12
  var _excluded = ["className", "disabled", "value", "onChange", "containerProps", "currentPage", "totalPages", "separator"];
@@ -1 +1 @@
1
- {"version":3,"file":"DSPageNumber.js","sources":["../../src/DSPageNumber.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport {\n aggregatedClasses,\n convertPropToCssClassName,\n} from '@elliemae/ds-classnames';\nimport ChevronSmallDown from '@elliemae/ds-icons/ChevronSmallDown';\nimport ChevronSmallUp from '@elliemae/ds-icons/ChevronSmallUp';\nimport DSButton from '@elliemae/ds-button';\nimport DSInputGroup from '@elliemae/ds-form/InputGroup';\nimport DSInput from '@elliemae/ds-form/Input';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName(\n 'page-number',\n className,\n {\n disabled,\n },\n );\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div\n data-testid=\"ds-page-number\"\n className={`${cssClassName}`}\n {...containerProps}\n {...otherProps}\n >\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div\n className={`${classNameElement('total')}`}\n data-testid=\"page-number__total-pages\"\n >\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n disabled: PropTypes.bool\n .description('Whether the component is disabled or not')\n .defaultValue(false),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n ]).description('page number value'),\n onChange: PropTypes.func.description(\n 'function executed when the page number changes',\n ),\n currentPage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Amount of pages')\n .defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\n\nconst PageNumberWithSchema = describe(DSPageNumber);\nPageNumberWithSchema.propTypes = pageNumberProps;\n\nDSPageNumber.defaultProps = {\n className: '',\n disabled: false,\n onChange: () => null,\n containerProps: {},\n value: undefined,\n currentPage: undefined,\n totalPages: 1,\n separator: '/',\n};\n\nexport { DSPageNumber, PageNumberWithSchema };\nexport default DSPageNumber;\n"],"names":["blockName","PageNumberInputContainer","aggregatedClasses","DSInputGroup","DSPageNumber","className","disabled","value","onChange","containerProps","currentPage","totalPages","separator","otherProps","safeTotal","cleanPage","ref","useRef","convertPropToCssClassName","cssClassName","classNameElement","useState","page","setPage","size","setSize","useEffect","current","getBoundingClientRect","width","calculatedWidth","lengthToSize","handleUpdateInput","e","newValue","target","handleIncrease","parseInt","handleDecrease","pageNumberProps","PropTypes","string","description","object","bool","defaultValue","oneOfType","number","func","propTypes","PageNumberWithSchema","describe","defaultProps","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"DSPageNumber.js","sources":["../../src/DSPageNumber.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronSmallDown, ChevronSmallUp } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { DSInput, DSInputGroup } from '@elliemae/ds-form';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName('page-number', className, {\n disabled,\n });\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div data-testid=\"ds-page-number\" className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div className={`${classNameElement('total')}`} data-testid=\"page-number__total-pages\">\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('Whether the component is disabled or not').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('page number value'),\n onChange: PropTypes.func.description('function executed when the page number changes'),\n currentPage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Amount of pages').defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\n\nconst PageNumberWithSchema = describe(DSPageNumber);\nPageNumberWithSchema.propTypes = pageNumberProps;\n\nDSPageNumber.defaultProps = {\n className: '',\n disabled: false,\n onChange: () => null,\n containerProps: {},\n value: undefined,\n currentPage: undefined,\n totalPages: 1,\n separator: '/',\n};\n\nexport { DSPageNumber, PageNumberWithSchema };\nexport default DSPageNumber;\n"],"names":["blockName","PageNumberInputContainer","aggregatedClasses","DSInputGroup","DSPageNumber","className","disabled","value","onChange","containerProps","currentPage","totalPages","separator","otherProps","safeTotal","cleanPage","ref","useRef","convertPropToCssClassName","cssClassName","classNameElement","useState","page","setPage","size","setSize","useEffect","current","getBoundingClientRect","width","calculatedWidth","lengthToSize","handleUpdateInput","e","newValue","target","handleIncrease","parseInt","handleDecrease","pageNumberProps","PropTypes","string","description","object","bool","defaultValue","oneOfType","number","func","propTypes","PageNumberWithSchema","describe","defaultProps","undefined"],"mappings":"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"}
package/esm/index.js CHANGED
@@ -5,10 +5,8 @@ import '@babel/runtime/helpers/esm/objectWithoutProperties';
5
5
  import 'react';
6
6
  import 'react-desc';
7
7
  import '@elliemae/ds-classnames';
8
- import '@elliemae/ds-icons/ChevronSmallDown';
9
- import '@elliemae/ds-icons/ChevronSmallUp';
8
+ import '@elliemae/ds-icons';
10
9
  import '@elliemae/ds-button';
11
- import '@elliemae/ds-form/InputGroup';
12
- import '@elliemae/ds-form/Input';
10
+ import '@elliemae/ds-form';
13
11
  import './components/utils.js';
14
12
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-page-number",
3
- "version": "1.56.1",
3
+ "version": "1.57.0-rc.11",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Page Number",
6
6
  "module": "esm/index.js",
@@ -16,10 +16,10 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-button": "1.56.1",
20
- "@elliemae/ds-classnames": "1.56.1",
21
- "@elliemae/ds-form": "1.56.1",
22
- "@elliemae/ds-icons": "1.56.1",
19
+ "@elliemae/ds-button": "1.57.0-rc.11",
20
+ "@elliemae/ds-classnames": "1.57.0-rc.11",
21
+ "@elliemae/ds-form": "1.57.0-rc.11",
22
+ "@elliemae/ds-icons": "1.57.0-rc.11",
23
23
  "react-desc": "^4.1.2"
24
24
  },
25
25
  "devDependencies": {