@itcase/ui 1.2.3 → 1.2.5
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/cjs/components/Choice.js +9 -9
- package/dist/cjs/components/DatePicker.js +9 -7
- package/dist/cjs/components/FormField.js +4 -4
- package/dist/cjs/components/Pagination.js +26 -22
- package/dist/cjs/components/Select.js +252 -1220
- package/dist/cjs/context/Notifications.js +3 -2
- package/dist/components/Choice.js +9 -9
- package/dist/components/DatePicker.js +9 -7
- package/dist/components/FormField.js +4 -4
- package/dist/components/Pagination.js +27 -23
- package/dist/components/Select.js +252 -1220
- package/dist/context/Notifications.js +3 -2
- package/dist/css/components/Choice/Choice.css +32 -16
- package/dist/css/components/Choice/css/__item/choice__item.css +5 -5
- package/dist/types/components/Accordion/Accordion.interface.d.ts +3 -3
- package/dist/types/components/Choice/Choice.interface.d.ts +9 -8
- package/dist/types/components/DatePicker/DatePicker.interface.d.ts +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts +0 -10
- package/dist/types/components/Select/Select.interface.d.ts +91 -0
- package/dist/types/components/Select/SelectClearIndicator.d.ts +4 -11
- package/dist/types/components/Select/SelectContainer.d.ts +4 -1
- package/dist/types/components/Select/SelectControl.d.ts +4 -11
- package/dist/types/components/Select/SelectDropdownIndicator.d.ts +4 -13
- package/dist/types/components/Select/SelectGroupHeading.d.ts +4 -7
- package/dist/types/components/Select/SelectIndicatorsContainer.d.ts +4 -4
- package/dist/types/components/Select/SelectInput.d.ts +4 -12
- package/dist/types/components/Select/SelectLoadingIndicator.d.ts +5 -7
- package/dist/types/components/Select/SelectMenu.d.ts +4 -11
- package/dist/types/components/Select/SelectMultiValueContainer.d.ts +4 -1
- package/dist/types/components/Select/SelectMultiValueLabel.d.ts +4 -4
- package/dist/types/components/Select/SelectMultiValueRemove.d.ts +4 -4
- package/dist/types/components/Select/SelectNoOptions.d.ts +4 -12
- package/dist/types/components/Select/SelectOption.d.ts +4 -16
- package/dist/types/components/Select/SelectPlaceholder.d.ts +4 -11
- package/dist/types/components/Select/SelectSingleValue.d.ts +4 -12
- package/dist/types/components/Select/SelectValueContainer.d.ts +4 -11
- package/dist/types/components/Select/index.d.ts +3 -5
- package/dist/types/types/componentProps/sizeInterface.d.ts +1 -1
- package/package.json +3 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-CKiUdo7p.js');
|
|
3
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var clsx = require('clsx');
|
|
@@ -19,7 +20,6 @@ require('lodash/maxBy');
|
|
|
19
20
|
require('lodash/upperFirst');
|
|
20
21
|
require('../hooks/styleAttributes.js');
|
|
21
22
|
require('../../Link-DQxoFKhI.js');
|
|
22
|
-
require('../../tslib.es6-CKiUdo7p.js');
|
|
23
23
|
require('../../Tooltip-DkTKx9n-.js');
|
|
24
24
|
require('../../Title-zwP6c2U2.js');
|
|
25
25
|
|
|
@@ -30,7 +30,7 @@ var choiceConfig = {
|
|
|
30
30
|
},
|
|
31
31
|
};
|
|
32
32
|
var Choice = React.forwardRef(function Choice(props, ref) {
|
|
33
|
-
var _a = props.isCheckbox, isCheckbox = _a === void 0 ? false : _a, _b = props.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = props.isLoading, isLoading = _c === void 0 ? false : _c, _d = props.active, active = _d === void 0 ? { value: undefined } : _d, activeIcon = props.activeIcon, activeIconItemFill = props.activeIconItemFill, after = props.after, appearance = props.appearance, before = props.before, className = props.className, icon = props.icon, iconFillDisabled = props.iconFillDisabled, iconItemFill = props.iconItemFill, iconSize = props.iconSize, labelTextActiveColor = props.labelTextActiveColor, labelTextActiveColorDisabled = props.labelTextActiveColorDisabled, labelTextColor = props.labelTextColor, labelTextColorDisabled = props.labelTextColorDisabled, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, name = props.name, _e = props.options, options = _e === void 0 ? [] : _e, set = props.set, setActiveSegment = props.setActiveSegment, _f = props.size, size = _f === void 0 ? 'normal' : _f, type = props.type;
|
|
33
|
+
var gap = props.gap, _a = props.isCheckbox, isCheckbox = _a === void 0 ? false : _a, _b = props.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = props.isLoading, isLoading = _c === void 0 ? false : _c, _d = props.active, active = _d === void 0 ? { value: undefined } : _d, activeIcon = props.activeIcon, activeIconItemFill = props.activeIconItemFill, after = props.after, appearance = props.appearance, before = props.before, className = props.className, icon = props.icon, iconFillDisabled = props.iconFillDisabled, iconItemFill = props.iconItemFill, iconSize = props.iconSize, labelTextActiveColor = props.labelTextActiveColor, labelTextActiveColorDisabled = props.labelTextActiveColorDisabled, labelTextColor = props.labelTextColor, labelTextColorDisabled = props.labelTextColorDisabled, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, name = props.name, _e = props.options, options = _e === void 0 ? [] : _e, set = props.set, setActiveSegment = props.setActiveSegment, _f = props.size, size = _f === void 0 ? 'normal' : _f, type = props.type;
|
|
34
34
|
var controlRef = React.useRef(null);
|
|
35
35
|
var optionsRefs = React.useMemo(function () { return new Map(options.map(function (item) { return [item.value, React.createRef()]; })); }, [options]);
|
|
36
36
|
var onChange = React.useCallback(function (event, item) {
|
|
@@ -77,18 +77,18 @@ var Choice = React.forwardRef(function Choice(props, ref) {
|
|
|
77
77
|
var appearanceConfig = (appearance && choiceConfig.appearance && choiceConfig.appearance[appearance]);
|
|
78
78
|
return (jsxRuntime.jsx("div", { className: clsx(className, 'choice', shapeClass ||
|
|
79
79
|
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.shape) &&
|
|
80
|
-
"choice_shape_".concat(appearanceConfig.shape).replace(/([A-Z])/g, '-$1').toLowerCase()),
|
|
81
|
-
? fillClass ||
|
|
82
|
-
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fill) &&
|
|
83
|
-
"fill_".concat(appearanceConfig.fill).replace(/([A-Z])/g, '-$1').toLowerCase())
|
|
84
|
-
: fillDisabledClass, borderColorClass ||
|
|
80
|
+
"choice_shape_".concat(appearanceConfig.shape).replace(/([A-Z])/g, '-$1').toLowerCase()), borderColorClass ||
|
|
85
81
|
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.borderColor) &&
|
|
86
82
|
"border-color_".concat(appearanceConfig.borderColor)
|
|
87
83
|
.replace(/([A-Z])/g, '-$1')
|
|
88
|
-
.toLowerCase()), borderWidthClass, borderTypeClass, set && "choice_set_".concat(set), size && "choice_size_".concat(size), type && "choice_type_".concat(type)), ref: controlRef, children: isLoading ? (jsxRuntime.jsx(Loader.Loader, { width: "fill", height: "fill", fill: "surfacePrimary", itemFill: "surfaceItemAccent", set: "simple" })) : (jsxRuntime.jsx("div", { className: "choice__wrapper", children: options.map(function (item) { return (jsxRuntime.jsxs("div", { className: clsx('choice__item', !isDisabled
|
|
84
|
+
.toLowerCase()), borderWidthClass, borderTypeClass, set && "choice_set_".concat(set), size && "choice_size_".concat(size), type && "choice_type_".concat(type)), ref: controlRef, children: isLoading ? (jsxRuntime.jsx(Loader.Loader, { width: "fill", height: "fill", fill: "surfacePrimary", itemFill: "surfaceItemAccent", set: "simple" })) : (jsxRuntime.jsx("div", { className: "choice__wrapper", style: tslib_es6.__assign({}, (gap && { gap: gap })), children: options.map(function (item) { return (jsxRuntime.jsxs("div", { className: clsx('choice__item', !isDisabled
|
|
85
|
+
? fillClass ||
|
|
86
|
+
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fill) &&
|
|
87
|
+
"fill_".concat(appearanceConfig.fill).replace(/([A-Z])/g, '-$1').toLowerCase())
|
|
88
|
+
: fillDisabledClass, !isDisabled &&
|
|
89
89
|
(fillHoverClass ||
|
|
90
90
|
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fillHover) &&
|
|
91
|
-
"
|
|
91
|
+
"fill_hover_".concat(appearanceConfig.fillHover)
|
|
92
92
|
.replace(/([A-Z])/g, '-$1')
|
|
93
93
|
.toLowerCase())), item.value !== (active === null || active === void 0 ? void 0 : active.value) && isDisabled && 'choice__item_state_disabled', item.value === (active === null || active === void 0 ? void 0 : active.value)
|
|
94
94
|
? !isDisabled
|
|
@@ -6,6 +6,7 @@ var React = require('react');
|
|
|
6
6
|
var clsx = require('clsx');
|
|
7
7
|
var DatePicker = require('react-datepicker');
|
|
8
8
|
var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
|
|
9
|
+
var useStyles = require('../hooks/useStyles.js');
|
|
9
10
|
var Button = require('../../Button-D4y0v6YL.js');
|
|
10
11
|
var Icon = require('../../Icon-Cq4hPF2D.js');
|
|
11
12
|
var Input = require('../../Input-BSpFMsrf.js');
|
|
@@ -17,7 +18,6 @@ require('../context/UIContext.js');
|
|
|
17
18
|
require('prop-types');
|
|
18
19
|
require('../hooks/useMediaQueries.js');
|
|
19
20
|
require('react-responsive');
|
|
20
|
-
require('../hooks/useStyles.js');
|
|
21
21
|
require('lodash/maxBy');
|
|
22
22
|
require('lodash/upperFirst');
|
|
23
23
|
require('../hooks/styleAttributes.js');
|
|
@@ -1073,7 +1073,7 @@ const ru = {
|
|
|
1073
1073
|
function DatePickerInput(props) {
|
|
1074
1074
|
var className = props.className, clearIcon = props.clearIcon, clearIconFill = props.clearIconFill, clearIconFillHover = props.clearIconFillHover, clearIconFillSize = props.clearIconFillSize, clearIconItemFill = props.clearIconItemFill, clearIconItemFillHover = props.clearIconItemFillHover, clearIconShape = props.clearIconShape, clearIconSize = props.clearIconSize, clearIconSrc = props.clearIconSrc, clearLabel = props.clearLabel, clearLabelTextColor = props.clearLabelTextColor, clearLabelTextColorHover = props.clearLabelTextColorHover, clearLabelTextSize = props.clearLabelTextSize, datePickerProps = props.datePickerProps, endValue = props.endValue, inputProps = props.inputProps, labelTextSize = props.labelTextSize, value = props.value, onChange = props.onChange;
|
|
1075
1075
|
var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
1076
|
-
prefix: '
|
|
1076
|
+
prefix: 'datepicker_width_',
|
|
1077
1077
|
propsKey: 'width',
|
|
1078
1078
|
});
|
|
1079
1079
|
var datepickerRef = React.useRef(null);
|
|
@@ -1107,7 +1107,7 @@ function DatePickerInput(props) {
|
|
|
1107
1107
|
setEndDate(newEndDate);
|
|
1108
1108
|
}, [onChange]);
|
|
1109
1109
|
var renderDayContents = React.useCallback(function (day, date) {
|
|
1110
|
-
return (jsxRuntime.jsx(Button.Button, { className: "react-datepicker__day-button",
|
|
1110
|
+
return (jsxRuntime.jsx(Button.Button, { className: "react-datepicker__day-button", labelTextColor: datePickerProps.dayTextColor, labelTextSize: datePickerProps.dayTextSize, label: date.getDate().toString(), shape: datePickerProps.dayTextShape, size: datePickerProps.daySize }));
|
|
1111
1111
|
}, [
|
|
1112
1112
|
datePickerProps.daySize,
|
|
1113
1113
|
datePickerProps.dayTextColor,
|
|
@@ -1115,7 +1115,7 @@ function DatePickerInput(props) {
|
|
|
1115
1115
|
datePickerProps.dayTextSize,
|
|
1116
1116
|
]);
|
|
1117
1117
|
var renderCustomHeader = React.useCallback(function (_a) {
|
|
1118
|
-
var
|
|
1118
|
+
var decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth, monthDate = _a.monthDate;
|
|
1119
1119
|
return (jsxRuntime.jsxs("div", { className: "react-datepicker__header--div", children: [datePickerProps.iconLeft && (jsxRuntime.jsx(Icon.Icon, { className: "react-datepicker__icon", fill: datePickerProps.iconFill, fillHover: datePickerProps.iconFillHover, fillSize: datePickerProps.iconFillSize, iconFill: datePickerProps.iconItemFill, shape: datePickerProps.iconShape, size: datePickerProps.iconSize, SvgImage: datePickerProps.iconLeft, onClick: decreaseMonth })), jsxRuntime.jsxs("div", { className: "react-datepicker__data", children: [jsxRuntime.jsx(Text.Text, { className: "react-datepicker__month", size: datePickerProps.monthTextSize, textColor: datePickerProps.monthTextColor, textWeight: datePickerProps.monthTextWeight, children: monthDate.toLocaleString('ru-RU', { month: 'long' }) }), jsxRuntime.jsx(Text.Text, { className: "react-datepicker__year", size: datePickerProps.yearTextSize, textColor: datePickerProps.yearTextColor, textWeight: datePickerProps.yearTextWeight, children: monthDate.toLocaleString('ru-RU', { year: 'numeric' }) })] }), datePickerProps.iconRight && (jsxRuntime.jsx(Icon.Icon, { className: "react-datepicker__icon", fill: datePickerProps.iconFill, fillHover: datePickerProps.iconFillHover, fillSize: datePickerProps.iconFillSize, iconFill: datePickerProps.iconItemFill, shape: datePickerProps.iconShape, size: datePickerProps.iconSize, SvgImage: datePickerProps.iconRight, onClick: increaseMonth }))] }));
|
|
1120
1120
|
}, [
|
|
1121
1121
|
datePickerProps.iconFill,
|
|
@@ -1139,12 +1139,14 @@ function DatePickerInput(props) {
|
|
|
1139
1139
|
React.useEffect(function () {
|
|
1140
1140
|
setEndDate(end);
|
|
1141
1141
|
}, [end]);
|
|
1142
|
-
|
|
1142
|
+
// @ts-expect-error
|
|
1143
|
+
var datePickerStyles = useStyles.useStyles(props).styles;
|
|
1144
|
+
return (jsxRuntime.jsx("div", { className: clsx(className, 'datepicker', (datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.monthsShown) && 'datepicker_type_multiple-months', (datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.customTimeInput) && 'datepicker_type_button', widthClass), style: datePickerStyles, children: jsxRuntime.jsx(DatePicker, tslib_es6.__assign({ ref: datepickerRef, endDate: (datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.selectsRange) ? endDate : undefined, locale: ru, minDate: (datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.disablePastDays) ? new Date() : undefined, renderCustomHeader: renderCustomHeader, renderDayContents: renderDayContents, selected: startDate, startDate: startDate, customInput: jsxRuntime.jsx(DatePickerCustomInput, { labelTextSize: labelTextSize, clearIcon: clearIcon, clearIconFill: clearIconFill, clearIconFillHover: clearIconFillHover, clearIconFillSize: clearIconFillSize, clearIconItemFill: clearIconItemFill, clearIconItemFillHover: clearIconItemFillHover, clearIconShape: clearIconShape, clearIconSize: clearIconSize, clearIconSrc: clearIconSrc, clearLabel: clearLabel, clearLabelTextColor: clearLabelTextColor, clearLabelTextColorHover: clearLabelTextColorHover, clearLabelTextSize: clearLabelTextSize, datepickerRef: datepickerRef, inputIcon: datePickerProps.inputIcon, inputIconFill: datePickerProps.inputIconFill, inputIconFillHover: datePickerProps.inputIconFillHover, inputIconFillSize: datePickerProps.inputIconFillSize, inputIconItemFill: datePickerProps.inputIconItemFill, inputIconShape: datePickerProps.inputIconShape, inputIconSize: datePickerProps.inputIconSize, inputIconSrc: datePickerProps.inputIconSrc, inputProps: inputProps, isClearable: datePickerProps.isClearable }), popperClassName: (datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.popper) && "react-datepicker-popper-".concat(datePickerProps.popper), onChange: (datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.selectsRange) ? handleChange : onChange }, datePickerProps, {
|
|
1143
1145
|
// Important for use custom clear button
|
|
1144
1146
|
isClearable: false })) }));
|
|
1145
1147
|
}
|
|
1146
1148
|
var DatePickerCustomInput = React.forwardRef(function (props, ref) {
|
|
1147
|
-
var isClearable = props.isClearable,
|
|
1149
|
+
var isClearable = props.isClearable, inputIcon = props.inputIcon, inputProps = props.inputProps, value = props.value;
|
|
1148
1150
|
var multipleValue = React.useMemo(function () {
|
|
1149
1151
|
if (value) {
|
|
1150
1152
|
var twoDates = value.split(' - ');
|
|
@@ -1162,7 +1164,7 @@ function DatePickerClearButton(props) {
|
|
|
1162
1164
|
(_a = datepickerRef === null || datepickerRef === void 0 ? void 0 : datepickerRef.current) === null || _a === void 0 ? void 0 : _a.onClearClick(event);
|
|
1163
1165
|
(_b = datepickerRef === null || datepickerRef === void 0 ? void 0 : datepickerRef.current) === null || _b === void 0 ? void 0 : _b.handleFocus(event);
|
|
1164
1166
|
}, []);
|
|
1165
|
-
return (jsxRuntime.jsxs(React.Fragment, { children: [clearLabel && (jsxRuntime.jsx(Label.Label, { className: clsx('react-datepicker__clear-label', 'cursor_type_pointer'),
|
|
1167
|
+
return (jsxRuntime.jsxs(React.Fragment, { children: [clearLabel && (jsxRuntime.jsx(Label.Label, { className: clsx('react-datepicker__clear-label', 'cursor_type_pointer'), labelTextColor: clearLabelTextColor, labelTextSize: clearLabelTextSize, label: clearLabel, labelTextColorHover: clearLabelTextColorHover, onClick: onClick })), (clearIcon || clearIconSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('react-datepicker__clear-icon', 'cursor_type_pointer'), fill: clearIconFill, fillHover: clearIconFillHover, fillSize: clearIconFillSize, iconFill: clearIconItemFill, iconFillHover: clearIconItemFillHover, imageSrc: clearIconSrc, shape: clearIconShape, size: clearIconSize, SvgImage: clearIcon, onClick: onClick }))] }));
|
|
1166
1168
|
}
|
|
1167
1169
|
DatePickerClearButton.displayName = 'DatePickerClearButton';
|
|
1168
1170
|
function DatePickerInputIcon(props) {
|
|
@@ -9,9 +9,12 @@ var Icon = require('../../Icon-Cq4hPF2D.js');
|
|
|
9
9
|
var useStyles = require('../hooks/useStyles.js');
|
|
10
10
|
var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
|
|
11
11
|
var Radio = require('../../Radio-BQo97TZL.js');
|
|
12
|
+
require('react-select');
|
|
12
13
|
var index = require('./Select.js');
|
|
13
|
-
var Switch = require('../../Switch-B5yVEqxz.js');
|
|
14
14
|
require('react');
|
|
15
|
+
require('../../Badge-2JkquAEb.js');
|
|
16
|
+
require('../../Group-Buo_BxGT.js');
|
|
17
|
+
var Switch = require('../../Switch-B5yVEqxz.js');
|
|
15
18
|
require('react-inlinesvg');
|
|
16
19
|
require('../../Link-DQxoFKhI.js');
|
|
17
20
|
require('../../Tooltip-DkTKx9n-.js');
|
|
@@ -25,10 +28,7 @@ require('lodash/maxBy');
|
|
|
25
28
|
require('lodash/upperFirst');
|
|
26
29
|
require('../hooks/styleAttributes.js');
|
|
27
30
|
require('lodash/castArray');
|
|
28
|
-
require('react-select');
|
|
29
31
|
require('react-select/creatable');
|
|
30
|
-
require('../../Badge-2JkquAEb.js');
|
|
31
|
-
require('../../Group-Buo_BxGT.js');
|
|
32
32
|
|
|
33
33
|
function FormField(props) {
|
|
34
34
|
var id = props.id, children = props.children, afterItem = props.afterItem, dataTestId = props.dataTestId, beforeItem = props.beforeItem, dividerWidth = props.dividerWidth, dividerDirection = props.dividerDirection, set = props.set, className = props.className, dividerSize = props.dividerSize, dividerFill = props.dividerFill, descSize = props.descSize, descTextWeight = props.descTextWeight, descTextColor = props.descTextColor, desc = props.desc, label = props.label, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, labelTextColor = props.labelTextColor, clearIconFill = props.clearIconFill, clearIcon = props.clearIcon, clearIconSize = props.clearIconSize, messageSize = props.messageSize, messageTextWeight = props.messageTextWeight, messageTextColor = props.messageTextColor, message = props.message;
|
|
@@ -27,8 +27,8 @@ require('../../Tooltip-DkTKx9n-.js');
|
|
|
27
27
|
require('../../Title-zwP6c2U2.js');
|
|
28
28
|
|
|
29
29
|
function Pagination(props) {
|
|
30
|
-
var
|
|
31
|
-
|
|
30
|
+
var isPageCount = props.isPageCount, _a = props.isPageCountDropdownReversed, isPageCountDropdownReversed = _a === void 0 ? false : _a, _b = props.allItemsCount, allItemsCount = _b === void 0 ? 0 : _b, className = props.className, marginPagesDisplayed = props.marginPagesDisplayed, nextLabel = props.nextLabel, _c = props.pageCountArray, pageCountArray = _c === void 0 ? [10, 20, 50, 100] : _c, pageCountDesc = props.pageCountDesc, pageCountDescTextColor = props.pageCountDescTextColor, pageCountDescTextSize = props.pageCountDescTextSize, pageCountDropdownAlignment = props.pageCountDropdownAlignment, pageCountDropdownElevation = props.pageCountDropdownElevation, pageCountDropdownFill = props.pageCountDropdownFill, pageCountDropdownItemDividerDirection = props.pageCountDropdownItemDividerDirection, pageCountDropdownItemDividerFill = props.pageCountDropdownItemDividerFill, pageCountDropdownItemDividerSize = props.pageCountDropdownItemDividerSize, pageCountDropdownItemFill = props.pageCountDropdownItemFill, pageCountDropdownItemFillActive = props.pageCountDropdownItemFillActive, pageCountDropdownItemFillActiveHover = props.pageCountDropdownItemFillActiveHover, pageCountDropdownItemFillHover = props.pageCountDropdownItemFillHover, pageCountDropdownItemLabelAlign = props.pageCountDropdownItemLabelAlign, pageCountDropdownItemLabelColor = props.pageCountDropdownItemLabelColor, _d = props.pageCountDropdownItemLabelColorActive, pageCountDropdownItemLabelColorActive = _d === void 0 ? '' : _d, pageCountDropdownItemLabelSize = props.pageCountDropdownItemLabelSize, pageCountDropdownItemLabelWrap = props.pageCountDropdownItemLabelWrap, pageCountDropdownItemShowDivider = props.pageCountDropdownItemShowDivider, pageCountDropdownItemSize = props.pageCountDropdownItemSize, pageCountDropdownItemWidth = props.pageCountDropdownItemWidth, pageCountDropdownSet = props.pageCountDropdownSet, pageCountDropdownShape = props.pageCountDropdownShape, pageCountInputIcon = props.pageCountInputIcon, pageCountInputIconColor = props.pageCountInputIconColor, pageCountInputIconFillSize = props.pageCountInputIconFillSize, pageCountInputTextColor = props.pageCountInputTextColor, pageCountInputTextSize = props.pageCountInputTextSize, _e = props.pageNumber, pageNumber = _e === void 0 ? 0 : _e, pageRangeDisplayed = props.pageRangeDisplayed, _f = props.perPageCount, perPageCount = _f === void 0 ? 0 : _f, previousLabel = props.previousLabel, onChangePage = props.onChangePage, onChangePerPageCount = props.onChangePerPageCount,
|
|
31
|
+
/**
|
|
32
32
|
* @deprecated The method should not be used
|
|
33
33
|
*/
|
|
34
34
|
onPageChange = props.onPageChange,
|
|
@@ -36,20 +36,35 @@ function Pagination(props) {
|
|
|
36
36
|
* @deprecated The method should not be used
|
|
37
37
|
*/
|
|
38
38
|
onPerPageCountChange = props.onPerPageCountChange;
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
var _onChangePage = React.useMemo(function () {
|
|
40
|
+
if (onPageChange) {
|
|
41
|
+
console.warn('@itcase/ui Pagination warning: "onPageChange" is deprecated, use "onChangePage" instead.');
|
|
42
|
+
return onPageChange;
|
|
43
|
+
}
|
|
44
|
+
return onChangePage;
|
|
45
|
+
}, [onChangePage, onPageChange]);
|
|
46
|
+
var _onChangePerPageCount = React.useMemo(function () {
|
|
47
|
+
if (onPerPageCountChange) {
|
|
48
|
+
console.warn('@itcase/ui Pagination warning: "onPerPageCountChange" is deprecated, use "onChangePerPageCount" instead.');
|
|
49
|
+
return onPerPageCountChange;
|
|
50
|
+
}
|
|
51
|
+
return onChangePerPageCount;
|
|
52
|
+
}, [onChangePerPageCount, onPerPageCountChange]);
|
|
53
|
+
var _g = React.useState(false), isOpenDropdown = _g[0], setIsOpenDropdown = _g[1];
|
|
54
|
+
var _h = React.useState(10), activeDropdownItem = _h[0], setActiveDropdownItem = _h[1];
|
|
55
|
+
var pageCountDropdownArray = React.useMemo(function () {
|
|
56
|
+
return isPageCountDropdownReversed ? pageCountArray === null || pageCountArray === void 0 ? void 0 : pageCountArray.reverse() : pageCountArray;
|
|
57
|
+
}, [isPageCountDropdownReversed, pageCountArray]);
|
|
43
58
|
// Toggle command menu
|
|
44
59
|
var onClickCommandMenuButton = React.useCallback(function () {
|
|
45
60
|
setIsOpenDropdown(function (state) { return !state; });
|
|
46
61
|
}, []);
|
|
47
62
|
var handleDropdownItemClick = React.useCallback(function (event, item) {
|
|
48
63
|
event.stopPropagation();
|
|
49
|
-
|
|
64
|
+
_onChangePerPageCount && _onChangePerPageCount(item);
|
|
50
65
|
setActiveDropdownItem(item);
|
|
51
66
|
setIsOpenDropdown(false);
|
|
52
|
-
}, [
|
|
67
|
+
}, [_onChangePerPageCount]);
|
|
53
68
|
var justifyContentClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
54
69
|
prefix: 'pagination_justify-content_',
|
|
55
70
|
propsKey: 'justifyContent',
|
|
@@ -83,10 +98,7 @@ function Pagination(props) {
|
|
|
83
98
|
}
|
|
84
99
|
return 0;
|
|
85
100
|
}, [pageNumber]);
|
|
86
|
-
|
|
87
|
-
setPageCountDropdownArray(isPageCountDropdownReversed ? pageCountArray === null || pageCountArray === void 0 ? void 0 : pageCountArray.reverse() : pageCountArray);
|
|
88
|
-
}, [pageCountArray, isPageCountDropdownReversed]);
|
|
89
|
-
return (jsxRuntime.jsxs("div", { className: "pagination", children: [showPagination && (jsxRuntime.jsx(ReactPaginate, { activeClassName: "pagination__item_state_active cursor_type_default", breakClassName: "pagination__item pagination__item_break", disabledClassName: "pagination__item_state_disabled cursor_type_default", disabledLinkClassName: "pagination__item_state_disabled", marginPagesDisplayed: marginPagesDisplayed, nextClassName: "pagination__item pagination__item_next", pageCount: paginationPagesCount, pageLinkClassName: "pagination__item-link", pageRangeDisplayed: pageRangeDisplayed, previousClassName: "pagination__item pagination__item_previous", onPageChange: onPageChange, activeLinkClassName: "pagination__item-link_state_active",
|
|
101
|
+
return (jsxRuntime.jsxs("div", { className: "pagination", children: [jsxRuntime.jsx(ReactPaginate, { activeClassName: "pagination__item_state_active cursor_type_default", breakClassName: "pagination__item pagination__item_break", disabledClassName: "pagination__item_state_disabled cursor_type_default", disabledLinkClassName: "pagination__item_state_disabled", marginPagesDisplayed: marginPagesDisplayed, nextClassName: "pagination__item pagination__item_next", pageCount: paginationPagesCount, pageLinkClassName: "pagination__item-link", pageRangeDisplayed: pageRangeDisplayed, previousClassName: "pagination__item pagination__item_previous", activeLinkClassName: "pagination__item-link_state_active",
|
|
90
102
|
// previous button
|
|
91
103
|
previousLabel: previousLabel, breakLinkClassName: "pagination__item-link",
|
|
92
104
|
// pages settings
|
|
@@ -96,17 +108,9 @@ function Pagination(props) {
|
|
|
96
108
|
// break element
|
|
97
109
|
breakLabel: "...", previousLinkClassName: "pagination__item-link",
|
|
98
110
|
// next button
|
|
99
|
-
nextLabel: nextLabel })
|
|
100
|
-
return activeDropdownItem === item ? (jsxRuntime.jsx(DropdownItem.DropdownItem, {
|
|
111
|
+
nextLabel: nextLabel, onPageChange: _onChangePage }), isPageCount && (jsxRuntime.jsxs("div", { className: clsx(className, 'pagination__count', gapClass), children: [jsxRuntime.jsx(Text.Text, { size: pageCountDescTextSize, textColor: pageCountDescTextColor, children: pageCountDesc }), jsxRuntime.jsxs("div", { className: clsx('pagination__input', 'cursor_type_pointer', fillClass, fillHoverClass), onClick: onClickCommandMenuButton, children: [jsxRuntime.jsx(Text.Text, { size: pageCountInputTextSize, textColor: pageCountInputTextColor, children: activeDropdownItem }), jsxRuntime.jsx(Icon.Icon, { fillSize: pageCountInputIconFillSize, iconFill: pageCountInputIconColor, SvgImage: pageCountInputIcon }), jsxRuntime.jsx(DropdownItem.Dropdown, { fill: pageCountDropdownFill, alignment: pageCountDropdownAlignment, elevation: pageCountDropdownElevation, shape: pageCountDropdownShape, isOpen: isOpenDropdown, set: pageCountDropdownSet, setIsOpen: setIsOpenDropdown, children: pageCountDropdownArray.map(function (item, index) {
|
|
112
|
+
return activeDropdownItem === item ? (jsxRuntime.jsx(DropdownItem.DropdownItem, { width: pageCountDropdownItemWidth, labelTextColor: pageCountDropdownItemLabelColor, labelTextSize: pageCountDropdownItemLabelSize, fill: pageCountDropdownItemFill, fillHover: pageCountDropdownItemFillHover, dividerDirection: pageCountDropdownItemDividerDirection, dividerFill: pageCountDropdownItemDividerFill, dividerSize: pageCountDropdownItemDividerSize, fillActive: pageCountDropdownItemFillActive, fillActiveHover: pageCountDropdownItemFillActiveHover, label: item.toString(), labelTextAlign: pageCountDropdownItemLabelAlign, labelTextColorActive: pageCountDropdownItemLabelColorActive, labelTextWrap: pageCountDropdownItemLabelWrap, size: pageCountDropdownItemSize, showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider, isActive: true, onClick: function (event) { return handleDropdownItemClick(event, item); } }, item)) : (jsxRuntime.jsx(DropdownItem.DropdownItem, { width: pageCountDropdownItemWidth, labelTextColor: pageCountDropdownItemLabelColor, labelTextSize: pageCountDropdownItemLabelSize, fill: pageCountDropdownItemFill, fillHover: pageCountDropdownItemFillHover, dividerDirection: pageCountDropdownItemDividerDirection, dividerFill: pageCountDropdownItemDividerFill, dividerSize: pageCountDropdownItemDividerSize, label: item.toString(), labelTextAlign: pageCountDropdownItemLabelAlign, labelTextColorActive: pageCountDropdownItemLabelColorActive, labelTextWrap: pageCountDropdownItemLabelWrap, size: pageCountDropdownItemSize, showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider, isActive: false, onClick: function (event) { return handleDropdownItemClick(event, item); } }, item));
|
|
101
113
|
}) })] })] }))] }));
|
|
102
114
|
}
|
|
103
|
-
Pagination.defaultProps = {
|
|
104
|
-
pageNumber: 0,
|
|
105
|
-
perPageCount: 0,
|
|
106
|
-
allItemsCount: 0,
|
|
107
|
-
pageCountArray: [10, 20, 50, 100],
|
|
108
|
-
isPageCountDropdownReversed: false,
|
|
109
|
-
pageCountDropdownItemLabelColorActive: '',
|
|
110
|
-
};
|
|
111
115
|
|
|
112
116
|
exports.Pagination = Pagination;
|