@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.
Files changed (39) hide show
  1. package/dist/cjs/components/Choice.js +9 -9
  2. package/dist/cjs/components/DatePicker.js +9 -7
  3. package/dist/cjs/components/FormField.js +4 -4
  4. package/dist/cjs/components/Pagination.js +26 -22
  5. package/dist/cjs/components/Select.js +252 -1220
  6. package/dist/cjs/context/Notifications.js +3 -2
  7. package/dist/components/Choice.js +9 -9
  8. package/dist/components/DatePicker.js +9 -7
  9. package/dist/components/FormField.js +4 -4
  10. package/dist/components/Pagination.js +27 -23
  11. package/dist/components/Select.js +252 -1220
  12. package/dist/context/Notifications.js +3 -2
  13. package/dist/css/components/Choice/Choice.css +32 -16
  14. package/dist/css/components/Choice/css/__item/choice__item.css +5 -5
  15. package/dist/types/components/Accordion/Accordion.interface.d.ts +3 -3
  16. package/dist/types/components/Choice/Choice.interface.d.ts +9 -8
  17. package/dist/types/components/DatePicker/DatePicker.interface.d.ts +1 -1
  18. package/dist/types/components/Pagination/Pagination.d.ts +0 -10
  19. package/dist/types/components/Select/Select.interface.d.ts +91 -0
  20. package/dist/types/components/Select/SelectClearIndicator.d.ts +4 -11
  21. package/dist/types/components/Select/SelectContainer.d.ts +4 -1
  22. package/dist/types/components/Select/SelectControl.d.ts +4 -11
  23. package/dist/types/components/Select/SelectDropdownIndicator.d.ts +4 -13
  24. package/dist/types/components/Select/SelectGroupHeading.d.ts +4 -7
  25. package/dist/types/components/Select/SelectIndicatorsContainer.d.ts +4 -4
  26. package/dist/types/components/Select/SelectInput.d.ts +4 -12
  27. package/dist/types/components/Select/SelectLoadingIndicator.d.ts +5 -7
  28. package/dist/types/components/Select/SelectMenu.d.ts +4 -11
  29. package/dist/types/components/Select/SelectMultiValueContainer.d.ts +4 -1
  30. package/dist/types/components/Select/SelectMultiValueLabel.d.ts +4 -4
  31. package/dist/types/components/Select/SelectMultiValueRemove.d.ts +4 -4
  32. package/dist/types/components/Select/SelectNoOptions.d.ts +4 -12
  33. package/dist/types/components/Select/SelectOption.d.ts +4 -16
  34. package/dist/types/components/Select/SelectPlaceholder.d.ts +4 -11
  35. package/dist/types/components/Select/SelectSingleValue.d.ts +4 -12
  36. package/dist/types/components/Select/SelectValueContainer.d.ts +4 -11
  37. package/dist/types/components/Select/index.d.ts +3 -5
  38. package/dist/types/types/componentProps/sizeInterface.d.ts +1 -1
  39. 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()), !isDisabled
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
- "fill_active_".concat(appearanceConfig.fillHover)
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: 'width_',
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", label: date.getDate().toString(), labelTextColor: datePickerProps.dayTextColor, labelTextSize: datePickerProps.dayTextSize, shape: datePickerProps.dayTextShape, size: datePickerProps.daySize }));
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 monthDate = _a.monthDate, decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth;
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
- 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), 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, {
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, value = props.value, inputProps = props.inputProps, inputIcon = props.inputIcon;
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'), label: clearLabel, labelTextColor: clearLabelTextColor, labelTextSize: clearLabelTextSize, 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 }))] }));
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 allItemsCount = props.allItemsCount, className = props.className, marginPagesDisplayed = props.marginPagesDisplayed, nextLabel = props.nextLabel, _a = props.pageCountArray, pageCountArray = _a === void 0 ? [10, 20, 50, 100] : _a, 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, pageCountDropdownItemLabelColor = props.pageCountDropdownItemLabelColor, pageCountDropdownItemLabelColorActive = props.pageCountDropdownItemLabelColorActive, pageCountDropdownItemLabelSize = props.pageCountDropdownItemLabelSize, pageCountDropdownItemLabelWrap = props.pageCountDropdownItemLabelWrap, pageCountDropdownItemSize = props.pageCountDropdownItemSize, pageCountDropdownItemLabelAlign = props.pageCountDropdownItemLabelAlign, pageCountDropdownItemWidth = props.pageCountDropdownItemWidth, pageCountDropdownItemShowDivider = props.pageCountDropdownItemShowDivider, pageCountDropdownSet = props.pageCountDropdownSet, pageCountDropdownShape = props.pageCountDropdownShape, pageCountInputIcon = props.pageCountInputIcon, pageCountInputIconColor = props.pageCountInputIconColor, pageCountInputIconFillSize = props.pageCountInputIconFillSize, pageCountInputTextColor = props.pageCountInputTextColor, pageCountInputTextSize = props.pageCountInputTextSize, pageNumber = props.pageNumber, pageRangeDisplayed = props.pageRangeDisplayed, _b = props.perPageCount, perPageCount = _b === void 0 ? 0 : _b, previousLabel = props.previousLabel, isPageCount = props.isPageCount, isPageCountDropdownReversed = props.isPageCountDropdownReversed; props.onChangePage; props.onChangePerPageCount;
31
- var /**
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 _c = React.useState(false), isOpenDropdown = _c[0], setIsOpenDropdown = _c[1];
40
- var _d = React.useState(true), showPagination = _d[0]; _d[1];
41
- var _e = React.useState([]), pageCountDropdownArray = _e[0], setPageCountDropdownArray = _e[1];
42
- var _f = React.useState(10), activeDropdownItem = _f[0], setActiveDropdownItem = _f[1];
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
- onPerPageCountChange && onPerPageCountChange(item);
64
+ _onChangePerPageCount && _onChangePerPageCount(item);
50
65
  setActiveDropdownItem(item);
51
66
  setIsOpenDropdown(false);
52
- }, [onPerPageCountChange]);
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
- React.useEffect(function () {
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 })), 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, { alignment: pageCountDropdownAlignment, elevation: pageCountDropdownElevation, fill: pageCountDropdownFill, isOpen: isOpenDropdown, set: pageCountDropdownSet, shape: pageCountDropdownShape, setIsOpen: setIsOpenDropdown, children: pageCountDropdownArray.map(function (item, index) {
100
- return activeDropdownItem === item ? (jsxRuntime.jsx(DropdownItem.DropdownItem, { dividerDirection: pageCountDropdownItemDividerDirection, dividerFill: pageCountDropdownItemDividerFill, dividerSize: pageCountDropdownItemDividerSize, fill: pageCountDropdownItemFill, fillActive: pageCountDropdownItemFillActive, fillActiveHover: pageCountDropdownItemFillActiveHover, fillHover: pageCountDropdownItemFillHover, isActive: true, label: item.toString(), labelTextAlign: pageCountDropdownItemLabelAlign, labelTextColor: pageCountDropdownItemLabelColor, labelTextColorActive: pageCountDropdownItemLabelColorActive, labelTextSize: pageCountDropdownItemLabelSize, labelTextWrap: pageCountDropdownItemLabelWrap, size: pageCountDropdownItemSize, width: pageCountDropdownItemWidth, showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider, onClick: function (event) { return handleDropdownItemClick(event, item); } }, item)) : (jsxRuntime.jsx(DropdownItem.DropdownItem, { dividerDirection: pageCountDropdownItemDividerDirection, dividerFill: pageCountDropdownItemDividerFill, dividerSize: pageCountDropdownItemDividerSize, fill: pageCountDropdownItemFill, fillHover: pageCountDropdownItemFillHover, isActive: false, label: item.toString(), labelTextAlign: pageCountDropdownItemLabelAlign, labelTextColor: pageCountDropdownItemLabelColor, labelTextColorActive: pageCountDropdownItemLabelColorActive, labelTextSize: pageCountDropdownItemLabelSize, labelTextWrap: pageCountDropdownItemLabelWrap, size: pageCountDropdownItemSize, width: pageCountDropdownItemWidth, showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider, onClick: function (event) { return handleDropdownItemClick(event, item); } }, item));
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;