@itcase/ui 1.2.4 → 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 (29) hide show
  1. package/dist/cjs/components/FormField.js +4 -4
  2. package/dist/cjs/components/Pagination.js +26 -22
  3. package/dist/cjs/components/Select.js +252 -1220
  4. package/dist/cjs/context/Notifications.js +3 -2
  5. package/dist/components/FormField.js +4 -4
  6. package/dist/components/Pagination.js +27 -23
  7. package/dist/components/Select.js +252 -1220
  8. package/dist/context/Notifications.js +3 -2
  9. package/dist/types/components/Pagination/Pagination.d.ts +0 -10
  10. package/dist/types/components/Select/Select.interface.d.ts +91 -0
  11. package/dist/types/components/Select/SelectClearIndicator.d.ts +4 -11
  12. package/dist/types/components/Select/SelectContainer.d.ts +4 -1
  13. package/dist/types/components/Select/SelectControl.d.ts +4 -11
  14. package/dist/types/components/Select/SelectDropdownIndicator.d.ts +4 -13
  15. package/dist/types/components/Select/SelectGroupHeading.d.ts +4 -7
  16. package/dist/types/components/Select/SelectIndicatorsContainer.d.ts +4 -4
  17. package/dist/types/components/Select/SelectInput.d.ts +4 -12
  18. package/dist/types/components/Select/SelectLoadingIndicator.d.ts +5 -7
  19. package/dist/types/components/Select/SelectMenu.d.ts +4 -11
  20. package/dist/types/components/Select/SelectMultiValueContainer.d.ts +4 -1
  21. package/dist/types/components/Select/SelectMultiValueLabel.d.ts +4 -4
  22. package/dist/types/components/Select/SelectMultiValueRemove.d.ts +4 -4
  23. package/dist/types/components/Select/SelectNoOptions.d.ts +4 -12
  24. package/dist/types/components/Select/SelectOption.d.ts +4 -16
  25. package/dist/types/components/Select/SelectPlaceholder.d.ts +4 -11
  26. package/dist/types/components/Select/SelectSingleValue.d.ts +4 -12
  27. package/dist/types/components/Select/SelectValueContainer.d.ts +4 -11
  28. package/dist/types/components/Select/index.d.ts +3 -5
  29. package/package.json +3 -2
@@ -38,8 +38,9 @@ function NotificationsProvider(props) {
38
38
  // Check on need to hide, if current notification is target for hide
39
39
  const isNeedToHide = String(notificationItem.id) === String(targetId);
40
40
  // Callback for close if exists
41
- if (isNeedToHide && typeof notificationItem.onClose === 'function') {
42
- notificationItem.onClose();
41
+ if (isNeedToHide) {
42
+ clearTimeout(notificationItem._closeTimeout);
43
+ notificationItem.onClose && notificationItem.onClose();
43
44
  }
44
45
  // Save in state if no need to hide
45
46
  return !isNeedToHide;
@@ -7,9 +7,12 @@ import { I as Icon } from '../Icon-fTLfvlsK.js';
7
7
  import { useStyles } from '../hooks/useStyles.js';
8
8
  import { useDeviceTargetClass } from '../hooks/useDeviceTargetClass.js';
9
9
  import { R as Radio } from '../Radio-oMf0vN7T.js';
10
+ import 'react-select';
10
11
  import { SelectInput } from './Select.js';
11
- import { S as Switch } from '../Switch-DEXsrPCo.js';
12
12
  import 'react';
13
+ import '../Badge-CrhdvxY6.js';
14
+ import '../Group-BXfLh7AZ.js';
15
+ import { S as Switch } from '../Switch-DEXsrPCo.js';
13
16
  import 'react-inlinesvg';
14
17
  import '../Link-Bqu5amIb.js';
15
18
  import '../Tooltip-DJufHBiQ.js';
@@ -23,10 +26,7 @@ import 'lodash/maxBy';
23
26
  import 'lodash/upperFirst';
24
27
  import '../hooks/styleAttributes.js';
25
28
  import 'lodash/castArray';
26
- import 'react-select';
27
29
  import 'react-select/creatable';
28
- import '../Badge-CrhdvxY6.js';
29
- import '../Group-BXfLh7AZ.js';
30
30
 
31
31
  function FormField(props) {
32
32
  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;
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useState, useCallback, useMemo, useEffect } from 'react';
2
+ import { useMemo, useState, useCallback } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import ceil from 'lodash/ceil';
5
5
  import ReactPaginate from 'react-paginate';
@@ -25,8 +25,8 @@ import '../Tooltip-DJufHBiQ.js';
25
25
  import '../Title-BfSFPJtJ.js';
26
26
 
27
27
  function Pagination(props) {
28
- 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;
29
- var /**
28
+ 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,
29
+ /**
30
30
  * @deprecated The method should not be used
31
31
  */
32
32
  onPageChange = props.onPageChange,
@@ -34,20 +34,35 @@ function Pagination(props) {
34
34
  * @deprecated The method should not be used
35
35
  */
36
36
  onPerPageCountChange = props.onPerPageCountChange;
37
- var _c = useState(false), isOpenDropdown = _c[0], setIsOpenDropdown = _c[1];
38
- var _d = useState(true), showPagination = _d[0]; _d[1];
39
- var _e = useState([]), pageCountDropdownArray = _e[0], setPageCountDropdownArray = _e[1];
40
- var _f = useState(10), activeDropdownItem = _f[0], setActiveDropdownItem = _f[1];
37
+ var _onChangePage = useMemo(function () {
38
+ if (onPageChange) {
39
+ console.warn('@itcase/ui Pagination warning: "onPageChange" is deprecated, use "onChangePage" instead.');
40
+ return onPageChange;
41
+ }
42
+ return onChangePage;
43
+ }, [onChangePage, onPageChange]);
44
+ var _onChangePerPageCount = useMemo(function () {
45
+ if (onPerPageCountChange) {
46
+ console.warn('@itcase/ui Pagination warning: "onPerPageCountChange" is deprecated, use "onChangePerPageCount" instead.');
47
+ return onPerPageCountChange;
48
+ }
49
+ return onChangePerPageCount;
50
+ }, [onChangePerPageCount, onPerPageCountChange]);
51
+ var _g = useState(false), isOpenDropdown = _g[0], setIsOpenDropdown = _g[1];
52
+ var _h = useState(10), activeDropdownItem = _h[0], setActiveDropdownItem = _h[1];
53
+ var pageCountDropdownArray = useMemo(function () {
54
+ return isPageCountDropdownReversed ? pageCountArray === null || pageCountArray === void 0 ? void 0 : pageCountArray.reverse() : pageCountArray;
55
+ }, [isPageCountDropdownReversed, pageCountArray]);
41
56
  // Toggle command menu
42
57
  var onClickCommandMenuButton = useCallback(function () {
43
58
  setIsOpenDropdown(function (state) { return !state; });
44
59
  }, []);
45
60
  var handleDropdownItemClick = useCallback(function (event, item) {
46
61
  event.stopPropagation();
47
- onPerPageCountChange && onPerPageCountChange(item);
62
+ _onChangePerPageCount && _onChangePerPageCount(item);
48
63
  setActiveDropdownItem(item);
49
64
  setIsOpenDropdown(false);
50
- }, [onPerPageCountChange]);
65
+ }, [_onChangePerPageCount]);
51
66
  var justifyContentClass = useDeviceTargetClass(props, {
52
67
  prefix: 'pagination_justify-content_',
53
68
  propsKey: 'justifyContent',
@@ -81,10 +96,7 @@ function Pagination(props) {
81
96
  }
82
97
  return 0;
83
98
  }, [pageNumber]);
84
- useEffect(function () {
85
- setPageCountDropdownArray(isPageCountDropdownReversed ? pageCountArray === null || pageCountArray === void 0 ? void 0 : pageCountArray.reverse() : pageCountArray);
86
- }, [pageCountArray, isPageCountDropdownReversed]);
87
- return (jsxs("div", { className: "pagination", children: [showPagination && (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",
99
+ return (jsxs("div", { className: "pagination", children: [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",
88
100
  // previous button
89
101
  previousLabel: previousLabel, breakLinkClassName: "pagination__item-link",
90
102
  // pages settings
@@ -94,17 +106,9 @@ function Pagination(props) {
94
106
  // break element
95
107
  breakLabel: "...", previousLinkClassName: "pagination__item-link",
96
108
  // next button
97
- nextLabel: nextLabel })), isPageCount && (jsxs("div", { className: clsx(className, 'pagination__count', gapClass), children: [jsx(Text, { size: pageCountDescTextSize, textColor: pageCountDescTextColor, children: pageCountDesc }), jsxs("div", { className: clsx('pagination__input', 'cursor_type_pointer', fillClass, fillHoverClass), onClick: onClickCommandMenuButton, children: [jsx(Text, { size: pageCountInputTextSize, textColor: pageCountInputTextColor, children: activeDropdownItem }), jsx(Icon, { fillSize: pageCountInputIconFillSize, iconFill: pageCountInputIconColor, SvgImage: pageCountInputIcon }), jsx(Dropdown, { alignment: pageCountDropdownAlignment, elevation: pageCountDropdownElevation, fill: pageCountDropdownFill, isOpen: isOpenDropdown, set: pageCountDropdownSet, shape: pageCountDropdownShape, setIsOpen: setIsOpenDropdown, children: pageCountDropdownArray.map(function (item, index) {
98
- return activeDropdownItem === item ? (jsx(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)) : (jsx(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));
109
+ nextLabel: nextLabel, onPageChange: _onChangePage }), isPageCount && (jsxs("div", { className: clsx(className, 'pagination__count', gapClass), children: [jsx(Text, { size: pageCountDescTextSize, textColor: pageCountDescTextColor, children: pageCountDesc }), jsxs("div", { className: clsx('pagination__input', 'cursor_type_pointer', fillClass, fillHoverClass), onClick: onClickCommandMenuButton, children: [jsx(Text, { size: pageCountInputTextSize, textColor: pageCountInputTextColor, children: activeDropdownItem }), jsx(Icon, { fillSize: pageCountInputIconFillSize, iconFill: pageCountInputIconColor, SvgImage: pageCountInputIcon }), jsx(Dropdown, { fill: pageCountDropdownFill, alignment: pageCountDropdownAlignment, elevation: pageCountDropdownElevation, shape: pageCountDropdownShape, isOpen: isOpenDropdown, set: pageCountDropdownSet, setIsOpen: setIsOpenDropdown, children: pageCountDropdownArray.map(function (item, index) {
110
+ return activeDropdownItem === item ? (jsx(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)) : (jsx(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));
99
111
  }) })] })] }))] }));
100
112
  }
101
- Pagination.defaultProps = {
102
- pageNumber: 0,
103
- perPageCount: 0,
104
- allItemsCount: 0,
105
- pageCountArray: [10, 20, 50, 100],
106
- isPageCountDropdownReversed: false,
107
- pageCountDropdownItemLabelColorActive: '',
108
- };
109
113
 
110
114
  export { Pagination };