@expressms/smartapp-ui 3.0.0-alpha.8 → 3.0.0-alpha.81

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 (150) hide show
  1. package/build/main/assets/icons/accepted-invite-status.svg +4 -0
  2. package/build/main/assets/icons/calendar-arrow-next.svg +3 -0
  3. package/build/main/assets/icons/calendar-arrow-prev.svg +3 -0
  4. package/build/main/assets/icons/declined-invite-status.svg +4 -0
  5. package/build/main/assets/icons/needs-action-invite-status.svg +4 -0
  6. package/build/main/assets/icons/notification-failure-filled.svg +3 -0
  7. package/build/main/assets/icons/notification-info-filled.svg +5 -0
  8. package/build/main/assets/icons/notification-success-filled.svg +4 -0
  9. package/build/main/assets/icons/select-arrow-down.svg +3 -0
  10. package/build/main/assets/icons/select-arrow-up.svg +3 -0
  11. package/build/main/assets/storybook/index.d.ts +1 -0
  12. package/build/main/assets/storybook/index.js +1 -0
  13. package/build/main/assets/storybook/index.js.map +1 -1
  14. package/build/main/constants/constants.d.ts +80 -44
  15. package/build/main/constants/constants.js +118 -48
  16. package/build/main/constants/constants.js.map +1 -1
  17. package/build/main/constants/types.d.ts +9 -1
  18. package/build/main/helpers/index.d.ts +2 -0
  19. package/build/main/helpers/index.js +5 -1
  20. package/build/main/helpers/index.js.map +1 -1
  21. package/build/main/hooks/useCharHintDisplay.d.ts +9 -0
  22. package/build/main/hooks/useCharHintDisplay.js +35 -0
  23. package/build/main/hooks/useCharHintDisplay.js.map +1 -0
  24. package/build/main/hooks/useMobileLongTap.d.ts +16 -0
  25. package/build/main/hooks/useMobileLongTap.js +55 -0
  26. package/build/main/hooks/useMobileLongTap.js.map +1 -0
  27. package/build/main/hooks/useModal.d.ts +15 -10
  28. package/build/main/hooks/useModal.js +101 -14
  29. package/build/main/hooks/useModal.js.map +1 -1
  30. package/build/main/index.d.ts +2 -0
  31. package/build/main/index.js +2 -0
  32. package/build/main/index.js.map +1 -1
  33. package/build/main/styles/styles.scss +2 -2
  34. package/build/main//321/201omponents/AttachedFile/AttachedFile.js +3 -0
  35. package/build/main//321/201omponents/AttachedFile/AttachedFile.js.map +1 -1
  36. package/build/main//321/201omponents/AttachedFile/types.d.ts +2 -2
  37. package/build/main//321/201omponents/Avatar/Avatar.d.ts +3 -2
  38. package/build/main//321/201omponents/Avatar/Avatar.js +34 -5
  39. package/build/main//321/201omponents/Avatar/Avatar.js.map +1 -1
  40. package/build/main//321/201omponents/Avatar/types.d.ts +4 -3
  41. package/build/main//321/201omponents/Avatar/types.js.map +1 -1
  42. package/build/main//321/201omponents/Button/Button.d.ts +1 -1
  43. package/build/main//321/201omponents/Button/Button.js +21 -9
  44. package/build/main//321/201omponents/Button/Button.js.map +1 -1
  45. package/build/main//321/201omponents/Button/types.d.ts +8 -2
  46. package/build/main//321/201omponents/Button/types.js +3 -0
  47. package/build/main//321/201omponents/Button/types.js.map +1 -1
  48. package/build/main//321/201omponents/Calendar/Calendar.d.ts +2 -2
  49. package/build/main//321/201omponents/Calendar/Calendar.js +87 -41
  50. package/build/main//321/201omponents/Calendar/Calendar.js.map +1 -1
  51. package/build/main//321/201omponents/Calendar/types.d.ts +16 -8
  52. package/build/main//321/201omponents/Charts/ChartBar/ChartBar.js +1 -1
  53. package/build/main//321/201omponents/Charts/ChartLine/ChartLine.js +1 -1
  54. package/build/main//321/201omponents/Charts/ChartPie/ChartPie.js +1 -1
  55. package/build/main//321/201omponents/Chip/Chip.d.ts +3 -2
  56. package/build/main//321/201omponents/Chip/Chip.js +157 -25
  57. package/build/main//321/201omponents/Chip/Chip.js.map +1 -1
  58. package/build/main//321/201omponents/Chip/types.d.ts +12 -4
  59. package/build/main//321/201omponents/ChipDndContext/ChipDndContext.d.ts +13 -0
  60. package/build/main//321/201omponents/ChipDndContext/ChipDndContext.js +76 -0
  61. package/build/main//321/201omponents/ChipDndContext/ChipDndContext.js.map +1 -0
  62. package/build/main//321/201omponents/ChipDndContext/index.d.ts +1 -0
  63. package/build/main//321/201omponents/ChipDndContext/index.js +2 -0
  64. package/build/main//321/201omponents/ChipDndContext/index.js.map +1 -0
  65. package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  66. package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js +3 -2
  67. package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js.map +1 -1
  68. package/build/main//321/201omponents/ConfirmationModal/types.d.ts +5 -2
  69. package/build/main//321/201omponents/ContextMenu/ContextMenu.d.ts +1 -1
  70. package/build/main//321/201omponents/ContextMenu/ContextMenu.js +66 -26
  71. package/build/main//321/201omponents/ContextMenu/ContextMenu.js.map +1 -1
  72. package/build/main//321/201omponents/ContextMenu/types.d.ts +9 -7
  73. package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.d.ts +4 -0
  74. package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js +47 -0
  75. package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js.map +1 -0
  76. package/build/main//321/201omponents/ContextMenuItem/index.d.ts +1 -0
  77. package/build/main//321/201omponents/ContextMenuItem/index.js +2 -0
  78. package/build/main//321/201omponents/ContextMenuItem/index.js.map +1 -0
  79. package/build/main//321/201omponents/ContextMenuItem/types.d.ts +24 -0
  80. package/build/main//321/201omponents/ContextMenuItem/types.js +6 -0
  81. package/build/main//321/201omponents/ContextMenuItem/types.js.map +1 -0
  82. package/build/main//321/201omponents/CustomSelect/CustomSelect.js +7 -6
  83. package/build/main//321/201omponents/CustomSelect/CustomSelect.js.map +1 -1
  84. package/build/main//321/201omponents/CustomSelect/selectStyles.js +20 -21
  85. package/build/main//321/201omponents/CustomSelect/selectStyles.js.map +1 -1
  86. package/build/main//321/201omponents/CustomSelect/types.d.ts +7 -1
  87. package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.d.ts +1 -1
  88. package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js +33 -24
  89. package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js.map +1 -1
  90. package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.d.ts +11 -0
  91. package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.js +38 -0
  92. package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.js.map +1 -0
  93. package/build/main//321/201omponents/CustomSelectProfiles/types.d.ts +4 -5
  94. package/build/main//321/201omponents/DraggablePopup/DraggablePopup.d.ts +1 -1
  95. package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js +25 -20
  96. package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js.map +1 -1
  97. package/build/main//321/201omponents/DraggablePopup/types.d.ts +7 -8
  98. package/build/main//321/201omponents/Flex/Flex.d.ts +1 -1
  99. package/build/main//321/201omponents/Flex/Flex.js +2 -2
  100. package/build/main//321/201omponents/Flex/Flex.js.map +1 -1
  101. package/build/main//321/201omponents/Flex/types.d.ts +2 -0
  102. package/build/main//321/201omponents/Input/Input.d.ts +1 -1
  103. package/build/main//321/201omponents/Input/Input.js +75 -33
  104. package/build/main//321/201omponents/Input/Input.js.map +1 -1
  105. package/build/main//321/201omponents/Input/types.d.ts +10 -3
  106. package/build/main//321/201omponents/ListItem/ListItem.js +21 -17
  107. package/build/main//321/201omponents/ListItem/ListItem.js.map +1 -1
  108. package/build/main//321/201omponents/ListItem/types.d.ts +7 -3
  109. package/build/main//321/201omponents/Modal/Modal.d.ts +3 -2
  110. package/build/main//321/201omponents/Modal/Modal.js +100 -41
  111. package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
  112. package/build/main//321/201omponents/Modal/types.d.ts +32 -2
  113. package/build/main//321/201omponents/Notification/Notification.d.ts +4 -6
  114. package/build/main//321/201omponents/Notification/Notification.js +68 -25
  115. package/build/main//321/201omponents/Notification/Notification.js.map +1 -1
  116. package/build/main//321/201omponents/Notification/types.d.ts +17 -2
  117. package/build/main//321/201omponents/Stories/Stories.js +72 -4
  118. package/build/main//321/201omponents/Stories/Stories.js.map +1 -1
  119. package/build/main//321/201omponents/Textarea/Textarea.d.ts +1 -1
  120. package/build/main//321/201omponents/Textarea/Textarea.js +3 -2
  121. package/build/main//321/201omponents/Textarea/Textarea.js.map +1 -1
  122. package/build/main//321/201omponents/Textarea/types.d.ts +2 -1
  123. package/build/main//321/201omponents/UserDropdown/ContactInfo/ContactInfo.js +6 -0
  124. package/build/main//321/201omponents/UserDropdown/ContactInfo/ContactInfo.js.map +1 -1
  125. package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.d.ts +2 -1
  126. package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.js +4 -3
  127. package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.js.map +1 -1
  128. package/build/main//321/201omponents/UserDropdown/MenuList/MenuList.js +21 -50
  129. package/build/main//321/201omponents/UserDropdown/MenuList/MenuList.js.map +1 -1
  130. package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.d.ts +3 -2
  131. package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js +33 -36
  132. package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js.map +1 -1
  133. package/build/main//321/201omponents/UserDropdown/Option/Option.js +2 -2
  134. package/build/main//321/201omponents/UserDropdown/Option/Option.js.map +1 -1
  135. package/build/main//321/201omponents/UserDropdown/SearchInCatalogButton/SearchInCatalogButton.js +1 -0
  136. package/build/main//321/201omponents/UserDropdown/SearchInCatalogButton/SearchInCatalogButton.js.map +1 -1
  137. package/build/main//321/201omponents/UserDropdown/UserDropdown.d.ts +4 -3
  138. package/build/main//321/201omponents/UserDropdown/UserDropdown.js +201 -76
  139. package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
  140. package/build/main//321/201omponents/UserDropdown/selectStyles.d.ts +1 -1
  141. package/build/main//321/201omponents/UserDropdown/selectStyles.js +26 -21
  142. package/build/main//321/201omponents/UserDropdown/selectStyles.js.map +1 -1
  143. package/build/main//321/201omponents/UserDropdown/types.d.ts +43 -8
  144. package/build/main//321/201omponents/UserDropdown/types.js.map +1 -1
  145. package/package.json +11 -7
  146. package/build/main/assets/icons/avatar-arrow-down.svg +0 -3
  147. package/build/main/assets/icons/avatar-arrow-up.svg +0 -3
  148. package/build/main/hooks/useLongTap.d.ts +0 -12
  149. package/build/main/hooks/useLongTap.js +0 -29
  150. package/build/main/hooks/useLongTap.js.map +0 -1
@@ -30,30 +30,41 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
30
  return to.concat(ar || Array.prototype.slice.call(from));
31
31
  };
32
32
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
+ /* eslint-disable max-lines */
33
34
  import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
34
35
  import classNames from 'classnames';
35
- import { isArray } from 'lodash';
36
+ import { isArray, isNil } from 'lodash';
36
37
  import { useModal } from '../../hooks/useModal';
37
38
  import ContextMenu from '../ContextMenu';
38
39
  import ScrollBar from '../ScrollBar';
39
40
  import { DEFAULT_SCROLL_BAR_SIZE } from '../ScrollBar/ScrollBar';
40
- import { checkIfContentIsCentered, generateBottomSheetClassName, generateClassNames, generateColor, generateFontFamilyStyle, generateIsCloseIconHidden, isMobilePlatform, } from '../../helpers';
41
- import { COLORS, EVENT_LISTENER_TYPES, MODAL_ICONS_PADDING_LEFT, PLATFORM } from '../../constants';
41
+ import { checkIfContentIsCentered, clickOutsideTheModal, generateBottomSheetClassName, generateClassNames, generateColor, generateFontFamilyStyle, generateIsCloseIconHidden, isMobilePlatform, } from '../../helpers';
42
+ import { BOTTOM_SHEET_SCROLL_POSITION, COLORS, DRAGGABLE_KEY, EVENT_LISTENER_TYPES, MODAL_ICONS_PADDING_LEFT, PLATFORM, SMARTAPP_MODAL_ID, } from '../../constants';
42
43
  import { ReactComponent as CloseIcon } from '../../assets/icons/close-modal.svg';
43
44
  import { ReactComponent as MoreIcon } from '../../assets/icons/more.svg';
44
45
  import '../../styles/styles.scss';
45
46
  var SCROLL_BAR_HEIGHT_WITH_PADDING = 'calc(100% - 20px)';
46
47
  var MODAL_MARGIN_SIZE_WEB = 165;
47
48
  var CONTENT_PADDING_TOP = 20;
48
- var MODAL_TITLE_PADDING_BOTTOM = 12;
49
+ var MODAL_TITLE_PADDING_BOTTOM = 16;
49
50
  var MODAL_MARGIN_SIZE_MOBILE = 136;
50
51
  var POPUP_CLASS_NAME = 'popup';
51
52
  var MIN_SCROLL_TOP = 5;
52
53
  var MODAL_PADDING_RIGHT = 20;
53
54
  var CONTAINER_EDGE_MARGIN = 4;
55
+ export var DEFAULT_BOTTOM_SHEET_SCROLL_MOBILE_CONFIG = {
56
+ scrollTo: BOTTOM_SHEET_SCROLL_POSITION.bottom,
57
+ extraPaddingFocusedElement: 0,
58
+ shouldDoScrollToFocusedElement: true,
59
+ };
60
+ var TITLE_CLASS_NAMES = {
61
+ border: 'smartapp-modal__content--title__border',
62
+ ellipsis: 'smartapp-modal__content--title__ellipsis',
63
+ ellipsisContainer: 'smartapp-modal__content--title__ellipsis-container',
64
+ };
54
65
  var Modal = function (_a) {
55
- var fontFamily = _a.fontFamily, isModalOpen = _a.isModalOpen, _b = _a.isClosableOutside, isClosableOutside = _b === void 0 ? true : _b, isCloseIconHidden = _a.isCloseIconHidden, isPopup = _a.isPopup, _c = _a.isBottomSheet, isBottomSheet = _c === void 0 ? false : _c, _d = _a.isDisabledBottomSheet, isDisabledBottomSheet = _d === void 0 ? false : _d, _e = _a.isCloseButtonDisabled, isCloseButtonDisabled = _e === void 0 ? false : _e, _f = _a.isResetPaddingBottom, isResetPaddingBottom = _f === void 0 ? false : _f, modalId = _a.modalId, content = _a.content, bottomContent = _a.bottomContent, title = _a.title, titleIcons = _a.titleIcons, _g = _a.platform, platform = _g === void 0 ? PLATFORM.web : _g, popupClassName = _a.popupClassName, className = _a.className, popupStyles = _a.popupStyles, styles = _a.styles, titleStyles = _a.titleStyles, contentStyles = _a.contentStyles, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, modalMaxHeight = _a.modalMaxHeight, bottomSheetProps = _a.bottomSheetProps, externalBottomSheetScrollContainer = _a.externalBottomSheetScrollContainer, contextMenuProps = _a.contextMenuProps, handleCloseModal = _a.handleCloseModal, titleClassName = _a.titleClassName;
56
- var ref = useRef(null);
66
+ var fontFamily = _a.fontFamily, isModalOpen = _a.isModalOpen, _b = _a.isClosableOutside, isClosableOutside = _b === void 0 ? true : _b, isCloseIconHidden = _a.isCloseIconHidden, _c = _a.isPopup, isPopup = _c === void 0 ? false : _c, _d = _a.isBottomSheet, isBottomSheet = _d === void 0 ? false : _d, _e = _a.isDisabledBottomSheet, isDisabledBottomSheet = _e === void 0 ? false : _e, _f = _a.isCloseButtonDisabled, isCloseButtonDisabled = _f === void 0 ? false : _f, _g = _a.isResetPaddingBottom, isResetPaddingBottom = _g === void 0 ? false : _g, _h = _a.isScrollBordersVisible, isScrollBordersVisible = _h === void 0 ? false : _h, _j = _a.isNeedToScrollUp, isNeedToScrollUp = _j === void 0 ? false : _j, modalId = _a.modalId, contentId = _a.contentId, outerModalRef = _a.modalRef, content = _a.content, bottomContent = _a.bottomContent, title = _a.title, titleIcons = _a.titleIcons, _k = _a.platform, platform = _k === void 0 ? PLATFORM.web : _k, popupClassName = _a.popupClassName, className = _a.className, titleClassName = _a.titleClassName, iconsClassName = _a.iconsClassName, popupStyles = _a.popupStyles, styles = _a.styles, titleStyles = _a.titleStyles, contentStyles = _a.contentStyles, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, modalMaxHeight = _a.modalMaxHeight, bottomSheetProps = _a.bottomSheetProps, bottomSheetDetent = _a.bottomSheetDetent, bottomSheetStyles = _a.bottomSheetStyles, externalBottomSheetScrollContainer = _a.externalBottomSheetScrollContainer, contextMenuProps = _a.contextMenuProps, handleChangeTitleBorderDisplayed = _a.handleChangeTitleBorderDisplayed, handleClickOutside = _a.handleClickOutside, handleCloseModal = _a.handleCloseModal, _l = _a.bottomSheetScrollMobileConfig, bottomSheetScrollMobileConfig = _l === void 0 ? DEFAULT_BOTTOM_SHEET_SCROLL_MOBILE_CONFIG : _l, _m = _a.isDisablePopupDragging, isDisablePopupDragging = _m === void 0 ? false : _m;
67
+ var localModalRef = useRef(null);
57
68
  var titleRef = useRef(null);
58
69
  var titleTextElementRef = useRef(null);
59
70
  var iconsRef = useRef(null);
@@ -61,26 +72,35 @@ var Modal = function (_a) {
61
72
  var contentRef = useRef(null);
62
73
  var scrollerRef = useRef(null);
63
74
  var bottomContentRef = useRef(null);
64
- var _h = useState(''), containerHeight = _h[0], setContainerHeight = _h[1];
65
- var _j = useState(0), iconsWidth = _j[0], setIconsWidth = _j[1];
66
- var _k = useState(false), isTitleBorderVisible = _k[0], setIsTitleBorderVisible = _k[1];
67
- var _l = useState(false), isBottomContentBorderVisible = _l[0], setIsBottomContentBorderVisible = _l[1];
75
+ var scrollbarRef = useRef(null);
76
+ var _o = useState(''), containerHeight = _o[0], setContainerHeight = _o[1];
77
+ var _p = useState(0), iconsWidth = _p[0], setIconsWidth = _p[1];
78
+ var _q = useState(false), isTitleBorderVisible = _q[0], setIsTitleBorderVisible = _q[1];
79
+ var _r = useState(false), isBottomContentBorderVisible = _r[0], setIsBottomContentBorderVisible = _r[1];
80
+ var modalRef = outerModalRef || localModalRef;
68
81
  var background = generateColor(backgroundColor, COLORS.colorBgBlackoutTransparent);
82
+ var isScrollBordersAvailable = isPopup || isScrollBordersVisible;
83
+ var isTitleBorderDisplayed = isScrollBordersAvailable && isTitleBorderVisible;
84
+ var isBottomContentBorderDisplayed = isScrollBordersAvailable && isBottomContentBorderVisible;
85
+ var _s = bottomSheetScrollMobileConfig.shouldDoScrollToFocusedElement, shouldDoScrollToFocusedElement = _s === void 0 ? true : _s;
69
86
  var popupOverlayStyle = __assign({ '--modal-background': background }, popupStyles);
70
- var _m = useModal({
87
+ var _t = useModal({
71
88
  isModalOpen: isModalOpen,
72
89
  platform: platform,
73
90
  isDisabledBottomSheet: isDisabledBottomSheet,
74
91
  initialIsBottomSheet: isBottomSheet,
75
- modalRef: ref,
92
+ modalRef: modalRef,
76
93
  isClosableOutside: isClosableOutside,
77
94
  handleCloseModal: handleCloseModal,
95
+ handleClickOutside: handleClickOutside,
78
96
  popupClassName: classNames('modal', popupClassName),
79
97
  popupStyles: popupOverlayStyle,
80
- bottomSheetStyles: { '--rsbs-backdrop-bg': background },
98
+ bottomSheetStyles: bottomSheetStyles,
81
99
  bottomSheetProps: bottomSheetProps,
100
+ bottomSheetDetent: bottomSheetDetent,
82
101
  scrollRef: externalBottomSheetScrollContainer || scrollerRef,
83
- }), shouldUseBottomSheet = _m.shouldUseBottomSheet, renderModal = _m.renderModal;
102
+ bottomSheetScrollMobileConfig: bottomSheetScrollMobileConfig,
103
+ }), shouldUseBottomSheet = _t.shouldUseBottomSheet, renderModal = _t.renderModal, offsetScrollY = _t.offsetScrollY;
84
104
  var findTitleElementWithText = function (root) {
85
105
  var stack = [root];
86
106
  while (stack.length) {
@@ -107,9 +127,15 @@ var Modal = function (_a) {
107
127
  return isPopup ? __spreadArray(__spreadArray([], bottomSheetClassName, true), [POPUP_CLASS_NAME], false) : bottomSheetClassName;
108
128
  };
109
129
  var isCloseIconInvisible = generateIsCloseIconHidden(platform, isCloseIconHidden);
130
+ var isThereTitleIcons = !isCloseIconInvisible || !isNil(titleIcons);
110
131
  var modalMargins = isMobilePlatform(platform) ? MODAL_MARGIN_SIZE_MOBILE : 2 * MODAL_MARGIN_SIZE_WEB;
111
132
  var MAX_MODAL_HEIGHT_WEB = modalMaxHeight || window.innerHeight - modalMargins;
112
- var handleMouseDown = function (event) { return !isPopup && event.stopPropagation(); };
133
+ var handleMouseDown = function (event) {
134
+ var target = event.target;
135
+ if (target instanceof HTMLElement || target instanceof SVGElement) {
136
+ target.closest('.smartapp-custom-select__dropdown-indicator') && event.stopPropagation();
137
+ }
138
+ };
113
139
  var handleSetContainerHeight = function (elementRef, maxModalHeight) {
114
140
  var _a, _b;
115
141
  if (!elementRef)
@@ -122,15 +148,22 @@ var Modal = function (_a) {
122
148
  var maxContentHeightValue = defaultContentHeight - bottomContentHeight;
123
149
  setContainerHeight("".concat(Math.min(height, maxContentHeightValue), "px"));
124
150
  };
125
- var handleSetContainerHeightWeb = function (contentRef) { return handleSetContainerHeight(contentRef, MAX_MODAL_HEIGHT_WEB); };
151
+ var handleSetContainerHeightWeb = useCallback(function (contentRef) { return handleSetContainerHeight(contentRef, MAX_MODAL_HEIGHT_WEB); },
152
+ //eslint-disable-next-line
153
+ [contentId, modalMaxHeight]);
126
154
  var handleSetContainerHeightMobile = useCallback(function (elementRef) {
127
- var MAX_MODAL_HEIGHT_MOBILE = modalMaxHeight || window.innerHeight - modalMargins;
155
+ var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
156
+ var MAX_MODAL_HEIGHT_MOBILE = modalMaxHeight || ((visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.height) || innerHeight) - modalMargins;
128
157
  contentRef.current = elementRef;
129
158
  handleSetContainerHeight(elementRef, MAX_MODAL_HEIGHT_MOBILE);
130
- }, [modalMargins, modalMaxHeight]);
159
+ },
160
+ //eslint-disable-next-line
161
+ [modalMargins, modalMaxHeight, contentId]);
131
162
  var handleScroll = function (event) {
132
163
  var contentScrollHeight = event.contentScrollHeight, clientHeight = event.clientHeight, scrollTop = event.scrollTop;
133
- setIsTitleBorderVisible(scrollTop > MIN_SCROLL_TOP);
164
+ var isTitleBorderShown = scrollTop > MIN_SCROLL_TOP;
165
+ setIsTitleBorderVisible(isTitleBorderShown);
166
+ handleChangeTitleBorderDisplayed === null || handleChangeTitleBorderDisplayed === void 0 ? void 0 : handleChangeTitleBorderDisplayed(isTitleBorderShown);
134
167
  setIsBottomContentBorderVisible(scrollTop + clientHeight < contentScrollHeight - 1);
135
168
  };
136
169
  var handleScrollerRef = function (el) {
@@ -149,38 +182,56 @@ var Modal = function (_a) {
149
182
  useEffect(function () {
150
183
  var checkIfClickedOutside = function (_a) {
151
184
  var target = _a.target;
152
- var refCurrent = ref.current;
153
- if (isModalOpen && isClosableOutside && refCurrent && !refCurrent.contains(target))
154
- handleCloseModal();
185
+ var modalRefCurrent = modalRef.current;
186
+ if (isModalOpen && isClosableOutside && modalRefCurrent && !modalRefCurrent.contains(target))
187
+ clickOutsideTheModal(handleCloseModal, handleClickOutside);
155
188
  };
156
- !isPopup && (document === null || document === void 0 ? void 0 : document.addEventListener(EVENT_LISTENER_TYPES.click, checkIfClickedOutside, true));
189
+ !isPopup && !shouldUseBottomSheet && (document === null || document === void 0 ? void 0 : document.addEventListener(EVENT_LISTENER_TYPES.click, checkIfClickedOutside, true));
157
190
  return function () { return document === null || document === void 0 ? void 0 : document.removeEventListener(EVENT_LISTENER_TYPES.click, checkIfClickedOutside, true); };
158
- }, [isModalOpen, isClosableOutside, handleCloseModal, isPopup]);
191
+ }, [handleClickOutside, handleCloseModal, isClosableOutside, isModalOpen, isPopup, modalRef, shouldUseBottomSheet]);
159
192
  useLayoutEffect(function () {
160
- var iconsRefCurrent = iconsRef.current;
161
- if (!iconsRefCurrent)
162
- return;
163
193
  var resizeObserver = new ResizeObserver(function () {
164
- var _a = iconsRefCurrent.getBoundingClientRect().width, width = _a === void 0 ? 0 : _a;
194
+ var _a;
195
+ var _b = (((_a = iconsRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {}).width, width = _b === void 0 ? 0 : _b;
165
196
  setIconsWidth(width);
166
197
  });
167
- resizeObserver.observe(iconsRefCurrent);
198
+ requestAnimationFrame(function () {
199
+ var iconsRefCurrent = iconsRef.current;
200
+ iconsRefCurrent && resizeObserver.observe(iconsRefCurrent);
201
+ });
168
202
  return function () { return resizeObserver.disconnect(); };
169
203
  }, []);
170
204
  useEffect(function () {
205
+ var _a;
171
206
  var titleRefCurrent = titleRef.current;
172
207
  var titleTextElementRefCurrent = titleTextElementRef.current;
173
- if (!titleTextElementRefCurrent && titleRefCurrent)
174
- titleTextElementRef.current = findTitleElementWithText(titleRefCurrent);
175
- titleTextElementRefCurrent === null || titleTextElementRefCurrent === void 0 ? void 0 : titleTextElementRefCurrent.classList.toggle('smartapp-modal__content--title__ellipsis', isPopup && isTitleBorderVisible);
176
- }, [isPopup, isTitleBorderVisible]);
208
+ if (!titleTextElementRefCurrent && titleRefCurrent) {
209
+ var titleElementWithText = findTitleElementWithText(titleRefCurrent);
210
+ titleTextElementRef.current = titleElementWithText;
211
+ titleTextElementRefCurrent = titleElementWithText;
212
+ }
213
+ var parentClassList = (_a = titleTextElementRefCurrent === null || titleTextElementRefCurrent === void 0 ? void 0 : titleTextElementRefCurrent.parentElement) === null || _a === void 0 ? void 0 : _a.classList;
214
+ titleTextElementRefCurrent === null || titleTextElementRefCurrent === void 0 ? void 0 : titleTextElementRefCurrent.classList.toggle(TITLE_CLASS_NAMES.ellipsis, isTitleBorderDisplayed);
215
+ !(parentClassList === null || parentClassList === void 0 ? void 0 : parentClassList.contains(TITLE_CLASS_NAMES.border)) && (parentClassList === null || parentClassList === void 0 ? void 0 : parentClassList.toggle(TITLE_CLASS_NAMES.ellipsisContainer, isTitleBorderDisplayed));
216
+ }, [isTitleBorderDisplayed]);
217
+ useEffect(function () {
218
+ var scrollbarRefCurrent = scrollbarRef.current;
219
+ if (isNeedToScrollUp && scrollbarRefCurrent)
220
+ scrollbarRefCurrent.scrollTop = 0;
221
+ }, [isNeedToScrollUp]);
222
+ useEffect(function () {
223
+ var scrollbarRefCurrent = scrollbarRef.current;
224
+ if (scrollbarRefCurrent && offsetScrollY)
225
+ scrollbarRefCurrent.scrollTop += offsetScrollY;
226
+ }, [offsetScrollY]);
177
227
  var renderTitle = function () {
178
- return title && (_jsxs("div", __assign({ className: classNames({ 'smartapp-modal__content--title__border': isTitleBorderVisible && isPopup }) }, { children: [!isCloseIconInvisible && renderCloseIconSpace({ elementRef: titleRef }), _jsx("div", __assign({ ref: titleRef, className: "smartapp-modal__content--title ".concat(titleClassName), style: titleStyles }, { children: title }))] })));
228
+ return title && (_jsxs("div", __assign({ className: classNames({ 'smartapp-modal__content--title__border': isTitleBorderDisplayed }) }, { children: [isPopup && _jsx("div", { className: classNames("smartapp-modal__content--title__draggable-zone ".concat(DRAGGABLE_KEY), { cd: isDisablePopupDragging }) }), isThereTitleIcons && renderCloseIconSpace({ elementRef: titleRef }), _jsx("div", __assign({ ref: titleRef, className: classNames('smartapp-modal__content--title', titleClassName, {
229
+ 'smartapp-modal__content--title__bottom-sheet': shouldUseBottomSheet,
230
+ }), style: titleStyles }, { children: title }))] })));
179
231
  };
180
232
  var renderCloseIcon = function () {
181
233
  return !isCloseIconInvisible && (_jsx("div", __assign({ onClick: !isCloseButtonDisabled ? handleCloseModal : function () { }, className: classNames('smartapp-modal__content--close-icon', {
182
234
  'smartapp-modal__content--close-icon__disabled': isCloseButtonDisabled,
183
- 'smartapp-modal__content--close-icon__accent': isPopup,
184
235
  }) }, { children: _jsx(CloseIcon, { style: { color: generateColor(iconColor) } }) })));
185
236
  };
186
237
  var renderCloseIconSpace = function (_a) {
@@ -191,7 +242,6 @@ var Modal = function (_a) {
191
242
  return (_jsx("div", { style: { '--close-icon-space-width': "".concat(spaceWidth, "px") }, className: classNames('close-icon-space', {
192
243
  'close-icon-space__content': isContent,
193
244
  'close-icon-space__centered': isContentCentered,
194
- 'close-icon-space__popup': isPopup,
195
245
  }) }));
196
246
  };
197
247
  var renderTitleIcons = function () {
@@ -204,13 +254,22 @@ var Modal = function (_a) {
204
254
  }
205
255
  };
206
256
  var renderBottomContent = function () {
207
- return bottomContent && (_jsx("div", __assign({ ref: bottomContentRef, className: classNames('smartapp-modal__content--bottom', {
208
- 'smartapp-modal__content--bottom__border': isBottomContentBorderVisible && isPopup,
209
- }) }, { children: bottomContent })));
257
+ return bottomContent && (_jsx("div", __assign({ ref: bottomContentRef, className: classNames('smartapp-modal__content--bottom', { 'smartapp-modal__content--bottom__border': isBottomContentBorderDisplayed }) }, { children: bottomContent })));
210
258
  };
211
- var modalContent = (_jsx("div", __assign({ ref: ref, className: classNames('smartapp-modal', { 'smartapp-modal__bottom-sheet': shouldUseBottomSheet, 'smartapp-modal__popup': isPopup }, className), style: __assign(__assign({}, generateFontFamilyStyle(fontFamily)), styles), onMouseDown: handleMouseDown }, { children: _jsxs("div", __assign({ className: generateClassNames({ className: 'smartapp-modal__content', delimiter: '--', additionalClassName: generateAdditionalClassName() }), style: contentStyles }, { children: [renderTitle(), _jsxs("div", __assign({ ref: iconsRef, className: "smartapp-modal__content--icons" }, { children: [titleIcons && renderTitleIcons(), renderContextMenuIcon(), renderCloseIcon()] })), _jsx(ScrollBar, { contentId: modalId, containerEdgeMargin: CONTAINER_EDGE_MARGIN, scrollerProps: { elementRef: handleScrollerRef }, content: _jsxs("div", __assign({ ref: isMobilePlatform(platform) ? handleSetContainerHeightMobile : handleSetContainerHeightWeb, className: classNames('smartapp-modal__content--scrollable', {
259
+ var modalContent = (_jsx("div", __assign({ ref: modalRef, id: SMARTAPP_MODAL_ID, className: classNames('smartapp-modal', {
260
+ 'smartapp-modal__bottom-sheet': shouldUseBottomSheet,
261
+ 'smartapp-modal__popup': isPopup,
262
+ }, className), style: __assign(__assign({}, generateFontFamilyStyle(fontFamily)), styles), onMouseDown: handleMouseDown }, { children: _jsxs("div", __assign({ className: generateClassNames({
263
+ className: 'smartapp-modal__content',
264
+ delimiter: '--',
265
+ additionalClassName: generateAdditionalClassName(),
266
+ }), style: contentStyles }, { children: [renderTitle(), _jsxs("div", __assign({ ref: iconsRef, className: classNames('smartapp-modal__content--icons', iconsClassName) }, { children: [titleIcons && renderTitleIcons(), renderContextMenuIcon(), renderCloseIcon()] })), _jsx(ScrollBar, { scrollbarRef: scrollbarRef, contentId: modalId, containerEdgeMargin: CONTAINER_EDGE_MARGIN, scrollerProps: { elementRef: handleScrollerRef }, content: _jsxs("div", __assign({ ref: isMobilePlatform(platform) ? handleSetContainerHeightMobile : handleSetContainerHeightWeb, className: classNames('smartapp-modal__content--scrollable', {
267
+ 'smartapp-modal__content--scrollable__bottom-sheet': shouldUseBottomSheet,
212
268
  'smartapp-modal__content--scrollable__pb': !bottomContent && !isResetPaddingBottom,
213
- }) }, { children: [!title && !isCloseIconInvisible && renderCloseIconSpace({ elementRef: scrollableContentRef, isContent: true }), _jsx("div", __assign({ ref: scrollableContentRef }, { children: content }))] })), containerHeight: containerHeight, trackYHeight: bottomContent ? DEFAULT_SCROLL_BAR_SIZE : SCROLL_BAR_HEIGHT_WITH_PADDING, handleScroll: handleScroll }), renderBottomContent()] })) })));
269
+ 'smartapp-modal__content--scrollable__bottom-sheet--pb': shouldUseBottomSheet && !bottomContent && !isResetPaddingBottom,
270
+ }) }, { children: [!title && isThereTitleIcons && renderCloseIconSpace({ elementRef: scrollableContentRef, isContent: true }), _jsx("div", __assign({ style: {
271
+ paddingBottom: shouldDoScrollToFocusedElement ? offsetScrollY : undefined,
272
+ }, ref: scrollableContentRef }, { children: content }))] })), containerHeight: containerHeight, trackYHeight: bottomContent ? DEFAULT_SCROLL_BAR_SIZE : SCROLL_BAR_HEIGHT_WITH_PADDING, handleScroll: handleScroll }), renderBottomContent()] })) })));
214
273
  return isPopup ? modalContent : renderModal(modalContent);
215
274
  };
216
275
  export default Modal;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../src/сomponents/Modal/Modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../src/сomponents/Modal/Modal.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,26 @@
1
1
  import React, { ReactElement, ReactNode, RefObject } from 'react';
2
- import { BottomSheetProps } from 'alex.chus-react-spring-bottom-sheet';
2
+ import { SheetBackdropProps, SheetContainerProps, SheetContentProps, SheetDetent, SheetProps } from 'react-modal-sheet';
3
3
  import { IFontFamilyProps, IPlatformProps, TStyles } from '../../constants';
4
4
  import { IContextMenuProps } from '../ContextMenu/types';
5
+ export type TBottomSheetProps = {
6
+ sheetProps?: Omit<SheetProps, 'isOpen' | 'onClose' | 'children'>;
7
+ sheetContainerProps?: SheetContainerProps;
8
+ sheetContentProps?: SheetContentProps;
9
+ sheetBackdropProps?: SheetBackdropProps;
10
+ };
11
+ export type TBottomSheetStyles = {
12
+ sheetStyles?: TStyles;
13
+ sheetContainerStyles?: TStyles;
14
+ sheetContentStyles?: TStyles;
15
+ sheetBackdropStyles?: TStyles;
16
+ };
17
+ export type TBottomSheetScrollTo = {
18
+ scrollTo: 'top' | 'bottom';
19
+ };
20
+ export type TBottomSheetScrollMobileConfig = {
21
+ extraPaddingFocusedElement?: number;
22
+ shouldDoScrollToFocusedElement?: boolean;
23
+ } & TBottomSheetScrollTo;
5
24
  export interface IModalProps extends IPlatformProps, IFontFamilyProps {
6
25
  isModalOpen: boolean;
7
26
  isClosableOutside?: boolean;
@@ -11,7 +30,11 @@ export interface IModalProps extends IPlatformProps, IFontFamilyProps {
11
30
  isBottomSheet?: boolean;
12
31
  isDisabledBottomSheet?: boolean;
13
32
  isResetPaddingBottom?: boolean;
33
+ isScrollBordersVisible?: boolean;
34
+ isNeedToScrollUp?: boolean;
14
35
  modalId?: string;
36
+ contentId?: string;
37
+ modalRef?: RefObject<HTMLDivElement | null>;
15
38
  content: ReactElement;
16
39
  bottomContent?: ReactElement;
17
40
  title?: ReactNode;
@@ -19,6 +42,7 @@ export interface IModalProps extends IPlatformProps, IFontFamilyProps {
19
42
  popupClassName?: string;
20
43
  className?: string;
21
44
  titleClassName?: string;
45
+ iconsClassName?: string;
22
46
  popupStyles?: TStyles;
23
47
  styles?: TStyles;
24
48
  titleStyles?: TStyles;
@@ -26,10 +50,16 @@ export interface IModalProps extends IPlatformProps, IFontFamilyProps {
26
50
  iconColor?: string;
27
51
  backgroundColor?: string;
28
52
  modalMaxHeight?: number;
29
- bottomSheetProps?: Partial<BottomSheetProps>;
53
+ bottomSheetProps?: TBottomSheetProps;
54
+ bottomSheetStyles?: TBottomSheetStyles;
55
+ bottomSheetDetent?: SheetDetent;
30
56
  externalBottomSheetScrollContainer?: RefObject<HTMLDivElement | null>;
31
57
  contextMenuProps?: IContextMenuProps & {
32
58
  openMenu: (event?: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
33
59
  };
60
+ handleChangeTitleBorderDisplayed?: (isTitleBorderDisplayed: boolean) => void;
61
+ handleClickOutside?: () => void;
34
62
  handleCloseModal: () => void;
63
+ bottomSheetScrollMobileConfig?: TBottomSheetScrollMobileConfig;
64
+ isDisablePopupDragging?: boolean;
35
65
  }
@@ -1,8 +1,6 @@
1
- import { INotificationProps } from './types';
1
+ import { INotificationProps, TAutoHiddenDefaultPosition, TAutoHiddenFullScreenPosition } from './types';
2
2
  import '../../styles/styles.scss';
3
- export declare const INDEFINITELY_FULL_SCREEN_POSITION: {
4
- right: string;
5
- left: string;
6
- };
7
- declare const Notification: ({ theme, platform, fontFamily, id, type, isAutoHidden, isCloseIconHidden, layoutType, isAllIndefinitelyNeedToBeClosed, indefinitelyFullScreenPosition, hideDuration, distanceFromBottom, containerClassName, className, containerStyles, styles, title, avatar, text, subText, content, iconColor, action, onClose, }: INotificationProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const TEMPORARY_POSITION: Record<string, TAutoHiddenDefaultPosition>;
4
+ export declare const TEMPORARY_POSITION_FULLSCREEN: Record<string, TAutoHiddenFullScreenPosition>;
5
+ declare const Notification: ({ theme, platform, fontFamily, id, type, isAutoHidden, isCloseIconHidden, isIconFilled, layoutType, isAllIndefinitelyNeedToBeClosed, temporaryPosition, temporaryPositionFullscreen, persistentFullScreenPosition, hideDuration, distanceFromBottom, containerClassName, className, containerStyles, styles, title, avatar, text, subText, content, contentId, iconColor, action, onClose, }: INotificationProps) => import("react/jsx-runtime").JSX.Element;
8
6
  export default Notification;
@@ -18,30 +18,37 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
18
  }
19
19
  return to.concat(ar || Array.prototype.slice.call(from));
20
20
  };
21
+ var _a, _b;
21
22
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
23
  import { useEffect, useRef, useState } from 'react';
23
24
  import { ToastContainer, cssTransition, toast } from 'react-toastify';
24
25
  import classNames from 'classnames';
25
- import { debounce } from 'lodash';
26
+ import { debounce, isEmpty } from 'lodash';
26
27
  import Avatar from '../Avatar';
27
- import { createSanitizedHtml, generateFontFamilyStyle, isFullScreen, isWebPlatform } from '../../helpers';
28
- import { CANCEL_ACTION_TEXT, LAYOUT_TYPE, MOBILE_NOTIFICATION_DISTANCE_FROM_BOTTOM, PLATFORM, THEME, WEB_NOTIFICATION_DISTANCE_FROM_BOTTOM, } from '../../constants';
28
+ import { isMobilePlatform as checkIsMobilePlatform, createSanitizedHtml, generateFontFamilyStyle, isFullScreen } from '../../helpers';
29
+ import { CANCEL_ACTION_TEXT, LAYOUT_TYPE, MOBILE_NOTIFICATION_DISTANCE_FROM_BOTTOM, PERSISTENT_POSITION_FULLSCREEN, PLATFORM, THEME, WEB_NOTIFICATION_DISTANCE_FROM_BOTTOM, } from '../../constants';
29
30
  import { AVATAR_SIZES } from '../Avatar/types';
30
31
  import { ReactComponent as MailIcon } from '../../assets/icons/mail.svg';
31
32
  import { ReactComponent as NotificationCloseIcon } from '../../assets/icons/notification-close.svg';
33
+ import { ReactComponent as NotificationFailureFilledIcon } from '../../assets/icons/notification-failure-filled.svg';
32
34
  import { ReactComponent as NotificationFailureIcon } from '../../assets/icons/notification-failure.svg';
35
+ import { ReactComponent as NotificationInfoFilledIcon } from '../../assets/icons/notification-info-filled.svg';
33
36
  import { ReactComponent as NotificationInfoIcon } from '../../assets/icons/notification-info.svg';
37
+ import { ReactComponent as NotificationSuccessFilledIcon } from '../../assets/icons/notification-success-filled.svg';
34
38
  import { ReactComponent as NotificationSuccessIcon } from '../../assets/icons/notification-success.svg';
35
39
  import { ReactComponent as UnreadMailsIcon } from '../../assets/icons/unread-mails.svg';
36
40
  import '../../styles/styles.scss';
37
41
  var AUTO_HIDDEN_CONTAINER_ID = 'autoHiddenContainerId';
38
42
  var INDEFINITELY_CONTAINER_ID = 'indefinitelyContainerId';
39
- var NOTIFICATION_HEIGHT = 46;
43
+ var NOTIFICATION_HEIGHT = 52;
40
44
  var MIN_CONTENT_HEIGHT = 18;
41
45
  var TOP_ALIGN_CLASSNAME = 'smartapp-notification__top-align';
42
46
  var TOAST_CONTAINER_CLASSNAME = 'Toastify__toast-container';
43
47
  var TOAST_CONTAINER_FULL_SCREEN_CLASSNAME = 'Toastify__toast-container--full-screen';
44
48
  var NOTIFICATION_ICON_CLASSNAME = 'smartapp-notification__icon';
49
+ var FULLSCREEN_TOAST_CONTAINER_CLASSNAME = 'Toastify__toast-container--full-screen';
50
+ var TOP_CENTER_POSITION = 'top-center';
51
+ var BOTTOM_CENTER_POSITION = 'bottom-center';
45
52
  var NOTIFICATION_TYPES = {
46
53
  success: 'success',
47
54
  info: 'info',
@@ -52,41 +59,69 @@ var NOTIFICATION_TYPES = {
52
59
  mailMulti: 'mail-multi',
53
60
  custom: 'custom',
54
61
  };
55
- var generateNotificationIcon = function (type, color) {
62
+ var generateNotificationIcon = function (_a) {
63
+ var type = _a.type, color = _a.iconColor, isIconFilled = _a.isIconFilled;
56
64
  var style = color ? { color: color } : {};
57
65
  var iconProps = { className: NOTIFICATION_ICON_CLASSNAME, style: style };
66
+ var SuccessIcon = isIconFilled ? NotificationSuccessFilledIcon : NotificationSuccessIcon;
67
+ var InfoIcon = isIconFilled ? NotificationInfoFilledIcon : NotificationInfoIcon;
68
+ var FailureIcon = isIconFilled ? NotificationFailureFilledIcon : NotificationFailureIcon;
58
69
  switch (type) {
59
70
  case NOTIFICATION_TYPES.success:
60
- return _jsx(NotificationSuccessIcon, __assign({}, iconProps));
71
+ return _jsx(SuccessIcon, __assign({}, iconProps));
61
72
  case NOTIFICATION_TYPES.failure:
62
- return _jsx(NotificationFailureIcon, __assign({}, iconProps));
73
+ return _jsx(FailureIcon, __assign({}, iconProps));
63
74
  default:
64
- return _jsx(NotificationInfoIcon, __assign({}, iconProps));
75
+ return _jsx(InfoIcon, __assign({}, iconProps));
65
76
  }
66
77
  };
67
- export var INDEFINITELY_FULL_SCREEN_POSITION = {
68
- right: 'right',
69
- left: 'left',
78
+ export var TEMPORARY_POSITION = {
79
+ top: 'top',
80
+ bottom: 'bottom',
70
81
  };
82
+ export var TEMPORARY_POSITION_FULLSCREEN = {
83
+ topRight: 'top-right',
84
+ topLeft: 'top-left',
85
+ bottomLeft: 'bottom-left',
86
+ bottomRight: 'bottom-right',
87
+ };
88
+ var topRightPosition = TEMPORARY_POSITION_FULLSCREEN.topRight, topLeftPosition = TEMPORARY_POSITION_FULLSCREEN.topLeft, bottomRightPosition = TEMPORARY_POSITION_FULLSCREEN.bottomRight, bottomLeftPosition = TEMPORARY_POSITION_FULLSCREEN.bottomLeft;
89
+ var topPosition = TEMPORARY_POSITION.top, bottomPosition = TEMPORARY_POSITION.bottom;
90
+ var rightIndefinitelyPosition = PERSISTENT_POSITION_FULLSCREEN.right, leftIndefinitelyPosition = PERSISTENT_POSITION_FULLSCREEN.left;
91
+ var DEFAULT_FULLSCREEN_POSITIONS = (_a = {},
92
+ _a[topPosition] = "".concat(TOAST_CONTAINER_CLASSNAME, "--default-top"),
93
+ _a[topRightPosition] = "".concat(FULLSCREEN_TOAST_CONTAINER_CLASSNAME, "__default-top-right"),
94
+ _a[topLeftPosition] = "".concat(FULLSCREEN_TOAST_CONTAINER_CLASSNAME, "__default-top-left"),
95
+ _a[bottomRightPosition] = "".concat(FULLSCREEN_TOAST_CONTAINER_CLASSNAME, "__default-bottom-right"),
96
+ _a[bottomLeftPosition] = "".concat(FULLSCREEN_TOAST_CONTAINER_CLASSNAME, "__default-bottom-left"),
97
+ _a);
98
+ var INDEFINITELY_POSITIONS = (_b = {},
99
+ _b[rightIndefinitelyPosition] = "".concat(FULLSCREEN_TOAST_CONTAINER_CLASSNAME, "__indefinitely-right"),
100
+ _b[leftIndefinitelyPosition] = "".concat(FULLSCREEN_TOAST_CONTAINER_CLASSNAME, "__indefinitely-left"),
101
+ _b);
71
102
  var Notification = function (_a) {
72
- var _b = _a.theme, theme = _b === void 0 ? THEME.default : _b, _c = _a.platform, platform = _c === void 0 ? PLATFORM.web : _c, fontFamily = _a.fontFamily, id = _a.id, _d = _a.type, type = _d === void 0 ? 'success' : _d, _e = _a.isAutoHidden, isAutoHidden = _e === void 0 ? true : _e, _f = _a.isCloseIconHidden, isCloseIconHidden = _f === void 0 ? false : _f, _g = _a.layoutType, layoutType = _g === void 0 ? LAYOUT_TYPE.minimal : _g, _h = _a.isAllIndefinitelyNeedToBeClosed, isAllIndefinitelyNeedToBeClosed = _h === void 0 ? false : _h, _j = _a.indefinitelyFullScreenPosition, indefinitelyFullScreenPosition = _j === void 0 ? 'right' : _j, _k = _a.hideDuration, hideDuration = _k === void 0 ? 3000 : _k, distanceFromBottom = _a.distanceFromBottom, containerClassName = _a.containerClassName, className = _a.className, containerStyles = _a.containerStyles, styles = _a.styles, title = _a.title, avatar = _a.avatar, text = _a.text, subText = _a.subText, content = _a.content, iconColor = _a.iconColor, action = _a.action, onClose = _a.onClose;
103
+ var _b = _a.theme, theme = _b === void 0 ? THEME.default : _b, _c = _a.platform, platform = _c === void 0 ? PLATFORM.web : _c, fontFamily = _a.fontFamily, id = _a.id, _d = _a.type, type = _d === void 0 ? 'success' : _d, _e = _a.isAutoHidden, isAutoHidden = _e === void 0 ? true : _e, _f = _a.isCloseIconHidden, isCloseIconHidden = _f === void 0 ? false : _f, _g = _a.isIconFilled, isIconFilled = _g === void 0 ? false : _g, _h = _a.layoutType, layoutType = _h === void 0 ? LAYOUT_TYPE.minimal : _h, _j = _a.isAllIndefinitelyNeedToBeClosed, isAllIndefinitelyNeedToBeClosed = _j === void 0 ? false : _j, _k = _a.temporaryPosition, temporaryPosition = _k === void 0 ? bottomPosition : _k, _l = _a.temporaryPositionFullscreen, temporaryPositionFullscreen = _l === void 0 ? topRightPosition : _l, _m = _a.persistentFullScreenPosition, persistentFullScreenPosition = _m === void 0 ? rightIndefinitelyPosition : _m, _o = _a.hideDuration, hideDuration = _o === void 0 ? 3000 : _o, distanceFromBottom = _a.distanceFromBottom, containerClassName = _a.containerClassName, className = _a.className, containerStyles = _a.containerStyles, styles = _a.styles, title = _a.title, avatar = _a.avatar, text = _a.text, subText = _a.subText, content = _a.content, contentId = _a.contentId, iconColor = _a.iconColor, action = _a.action, onClose = _a.onClose;
73
104
  var notificationRef = useRef(null);
74
105
  var contentRef = useRef(null);
75
106
  var contentSpanRef = useRef(null);
76
107
  var toastContainerRef = useRef(null);
77
- var _l = useState([]), indefinitelyIds = _l[0], setIndefinitelyIds = _l[1];
108
+ var _p = useState([]), indefinitelyIds = _p[0], setIndefinitelyIds = _p[1];
78
109
  var isLayoutFullScreen = isFullScreen(layoutType);
110
+ var isMobilePlatform = checkIsMobilePlatform(platform);
79
111
  var isCloseIconVisible = type !== NOTIFICATION_TYPES.warning && !isCloseIconHidden;
112
+ var isTopTemporaryDefaultPosition = temporaryPosition === topPosition;
80
113
  var calculateDistanceFromBottom = function () {
81
114
  if (distanceFromBottom)
82
115
  return distanceFromBottom;
83
- return isWebPlatform(platform) ? WEB_NOTIFICATION_DISTANCE_FROM_BOTTOM : MOBILE_NOTIFICATION_DISTANCE_FROM_BOTTOM;
116
+ return isMobilePlatform ? MOBILE_NOTIFICATION_DISTANCE_FROM_BOTTOM : WEB_NOTIFICATION_DISTANCE_FROM_BOTTOM;
84
117
  };
85
118
  var calculateAutoHiddenDistanceFromBottom = function () {
86
119
  var distanceFromBottom = calculateDistanceFromBottom();
87
- return indefinitelyFullScreenPosition === INDEFINITELY_FULL_SCREEN_POSITION.right
88
- ? distanceFromBottom + indefinitelyIds.length * NOTIFICATION_HEIGHT
89
- : distanceFromBottom;
120
+ var isAllNotificationsOnRightSide = temporaryPositionFullscreen === bottomRightPosition && persistentFullScreenPosition === rightIndefinitelyPosition;
121
+ var isAllNotificationsOnLeftSide = temporaryPositionFullscreen === bottomLeftPosition && persistentFullScreenPosition === leftIndefinitelyPosition;
122
+ var isAllNotificationsOnOneSide = isAllNotificationsOnLeftSide || isAllNotificationsOnRightSide || isMobilePlatform || !isLayoutFullScreen;
123
+ var isDistanceFromBottomShouldBeRecalculated = isAllNotificationsOnOneSide && !isEmpty(indefinitelyIds);
124
+ return isDistanceFromBottomShouldBeRecalculated ? distanceFromBottom + indefinitelyIds.length * NOTIFICATION_HEIGHT : distanceFromBottom;
90
125
  };
91
126
  var notificationAnimation = cssTransition({
92
127
  enter: 'notification-enter-animation',
@@ -121,18 +156,26 @@ var Notification = function (_a) {
121
156
  case NOTIFICATION_TYPES.custom:
122
157
  return content || _jsx("div", {});
123
158
  default:
124
- return (_jsxs("div", __assign({ ref: notificationRef, className: classNames('smartapp-notification', { 'smartapp-notification--close-icon-hidden': !isCloseIconVisible }) }, { children: [generateNotificationIcon(type, iconColor), _jsxs("div", __assign({ ref: contentRef, className: "smartapp-notification__content" }, { children: [text && (_jsx("div", { children: _jsx("span", { ref: contentSpanRef, dangerouslySetInnerHTML: createSanitizedHtml(text) }) })), action && renderNotificationAction({ notificationId: notificationId, action: action })] })), renderCloseIcon(notificationId)] })));
159
+ return (_jsxs("div", __assign({ ref: notificationRef, className: classNames('smartapp-notification', { 'smartapp-notification--close-icon-hidden': !isCloseIconVisible }) }, { children: [generateNotificationIcon({ type: type, iconColor: iconColor, isIconFilled: isIconFilled }), _jsxs("div", __assign({ ref: contentRef, className: "smartapp-notification__content" }, { children: [text && (_jsx("div", { children: _jsx("span", { ref: contentSpanRef, dangerouslySetInnerHTML: createSanitizedHtml(text) }) })), action && renderNotificationAction({ notificationId: notificationId, action: action })] })), renderCloseIcon(notificationId)] })));
125
160
  }
126
161
  };
127
162
  var renderToastContainer = function (_a) {
163
+ var _b;
128
164
  var containerId = _a.containerId, distanceFromBottom = _a.distanceFromBottom;
129
165
  var isIndefinitelyContainer = containerId === INDEFINITELY_CONTAINER_ID;
130
- var fullScreenPosition = isIndefinitelyContainer ? "bottom-".concat(indefinitelyFullScreenPosition) : 'top-right';
131
- return (_jsx(ToastContainer, { ref: toastContainerRef, enableMultiContainer: true, containerId: containerId, hideProgressBar: true, draggable: false, closeButton: false, pauseOnHover: false, pauseOnFocusLoss: false, closeOnClick: false, className: classNames("Toastify__toast-container--".concat(theme), {
132
- 'Toastify__toast-container--full-screen': isLayoutFullScreen,
133
- 'Toastify__toast-container--full-screen__indefinitely-right': isLayoutFullScreen && isIndefinitelyContainer && indefinitelyFullScreenPosition === INDEFINITELY_FULL_SCREEN_POSITION.right,
134
- 'Toastify__toast-container--full-screen__indefinitely-left': isLayoutFullScreen && isIndefinitelyContainer && indefinitelyFullScreenPosition === INDEFINITELY_FULL_SCREEN_POSITION.left,
135
- }, containerClassName), style: __assign(__assign({ '--distance-from-bottom': "".concat(distanceFromBottom, "px") }, generateFontFamilyStyle(fontFamily)), containerStyles), transition: notificationAnimation, position: isLayoutFullScreen ? fullScreenPosition : 'bottom-center' }));
166
+ var formattedPersistentFullScreenPosition = persistentFullScreenPosition === rightIndefinitelyPosition ? bottomRightPosition : bottomLeftPosition;
167
+ var fullScreenPosition = isIndefinitelyContainer ? formattedPersistentFullScreenPosition : temporaryPositionFullscreen;
168
+ var defaultPosition = isTopTemporaryDefaultPosition ? TOP_CENTER_POSITION : BOTTOM_CENTER_POSITION;
169
+ return (_jsx(ToastContainer, { ref: toastContainerRef, enableMultiContainer: true, containerId: containerId, hideProgressBar: true, draggable: false, closeButton: false, pauseOnHover: false, pauseOnFocusLoss: false, closeOnClick: false, className: classNames("Toastify__toast-container--".concat(theme), (_b = {}, _b[FULLSCREEN_TOAST_CONTAINER_CLASSNAME] = isLayoutFullScreen, _b), generateToastContainerClassName(isIndefinitelyContainer), containerClassName), style: __assign(__assign({ '--distance-from-bottom': "".concat(distanceFromBottom, "px") }, generateFontFamilyStyle(fontFamily)), containerStyles), transition: notificationAnimation, position: isLayoutFullScreen ? fullScreenPosition : defaultPosition }));
170
+ };
171
+ var generateToastContainerClassName = function (isIndefinitelyContainer) {
172
+ if (isLayoutFullScreen)
173
+ return isIndefinitelyContainer
174
+ ? INDEFINITELY_POSITIONS[persistentFullScreenPosition]
175
+ : DEFAULT_FULLSCREEN_POSITIONS[temporaryPositionFullscreen];
176
+ if (!isIndefinitelyContainer && isTopTemporaryDefaultPosition)
177
+ return DEFAULT_FULLSCREEN_POSITIONS[topPosition];
178
+ return '';
136
179
  };
137
180
  var handleAddContentResizeObserver = function () {
138
181
  var notificationRefCurrent = notificationRef.current;
@@ -178,7 +221,7 @@ var Notification = function (_a) {
178
221
  });
179
222
  }
180
223
  // eslint-disable-next-line
181
- }, [id, hideDuration]);
224
+ }, [id, hideDuration, contentId]);
182
225
  useEffect(function () {
183
226
  if (isAllIndefinitelyNeedToBeClosed)
184
227
  indefinitelyIds.forEach(function (indefinitelyId) { return toast.dismiss(indefinitelyId); });