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

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 +75 -44
  15. package/build/main/constants/constants.js +101 -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 +93 -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 +1 -1
  110. package/build/main//321/201omponents/Modal/Modal.js +97 -40
  111. package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
  112. package/build/main//321/201omponents/Modal/types.d.ts +26 -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
@@ -0,0 +1,35 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { MIN_INPUT_SYMBOLS } from '../constants';
3
+ var ONE_CHARACTER = 1;
4
+ var TWO_CHARACTERS = 2;
5
+ var DEFAULT_CHAR_HINT_TIMEOUT = 1500;
6
+ export var useCharHintDisplay = function (_a) {
7
+ var _b = _a.isCharHintEnable, isCharHintEnable = _b === void 0 ? true : _b, inputValue = _a.inputValue, _c = _a.charHintTimeout, charHintTimeout = _c === void 0 ? DEFAULT_CHAR_HINT_TIMEOUT : _c;
8
+ var _d = useState(null), timeoutId = _d[0], setTimeoutId = _d[1];
9
+ var _e = useState(false), isCharHintVisible = _e[0], setIsCharHintVisible = _e[1];
10
+ useEffect(function () {
11
+ var inputValueLength = inputValue.length;
12
+ if (!isCharHintEnable)
13
+ return;
14
+ if (timeoutId) {
15
+ clearTimeout(timeoutId);
16
+ setTimeoutId(null);
17
+ }
18
+ if (inputValueLength >= MIN_INPUT_SYMBOLS)
19
+ setIsCharHintVisible(false);
20
+ else if (inputValueLength === ONE_CHARACTER || inputValueLength === TWO_CHARACTERS) {
21
+ if (!isCharHintVisible) {
22
+ var nextTimeoutId = setTimeout(function () { return setIsCharHintVisible(true); }, charHintTimeout);
23
+ setTimeoutId(nextTimeoutId);
24
+ }
25
+ }
26
+ else
27
+ setIsCharHintVisible(false);
28
+ return function () {
29
+ timeoutId && clearTimeout(timeoutId);
30
+ };
31
+ // eslint-disable-next-line
32
+ }, [charHintTimeout, inputValue, isCharHintEnable, isCharHintVisible]);
33
+ return { isCharHintVisible: isCharHintVisible };
34
+ };
35
+ //# sourceMappingURL=useCharHintDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCharHintDisplay.js","sourceRoot":"","sources":["../../../src/hooks/useCharHintDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAkB,MAAM,cAAc,CAAA;AAQhE,IAAM,aAAa,GAAG,CAAC,CAAA;AACvB,IAAM,cAAc,GAAG,CAAC,CAAA;AACxB,IAAM,yBAAyB,GAAG,IAAI,CAAA;AAEtC,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,EAAyG;QAAvG,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EAAE,UAAU,gBAAA,EAAE,uBAA2C,EAA3C,eAAe,mBAAG,yBAAyB,KAAA;IAC7G,IAAA,KAA4B,QAAQ,CAAiB,IAAI,CAAC,EAAzD,SAAS,QAAA,EAAE,YAAY,QAAkC,CAAA;IAC1D,IAAA,KAA4C,QAAQ,CAAC,KAAK,CAAC,EAA1D,iBAAiB,QAAA,EAAE,oBAAoB,QAAmB,CAAA;IAEjE,SAAS,CAAC;QACR,IAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;QAE1C,IAAI,CAAC,gBAAgB;YAAE,OAAM;QAE7B,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,YAAY,CAAC,IAAI,CAAC,CAAA;SACnB;QAED,IAAI,gBAAgB,IAAI,iBAAiB;YAAE,oBAAoB,CAAC,KAAK,CAAC,CAAA;aACjE,IAAI,gBAAgB,KAAK,aAAa,IAAI,gBAAgB,KAAK,cAAc,EAAE;YAClF,IAAI,CAAC,iBAAiB,EAAE;gBACtB,IAAM,aAAa,GAAG,UAAU,CAAC,cAAM,OAAA,oBAAoB,CAAC,IAAI,CAAC,EAA1B,CAA0B,EAAE,eAAe,CAAC,CAAA;gBACnF,YAAY,CAAC,aAAa,CAAC,CAAA;aAC5B;SACF;;YAAM,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAElC,OAAO;YACL,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,CAAA;QACtC,CAAC,CAAA;QACD,2BAA2B;IAC7B,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAEtE,OAAO,EAAE,iBAAiB,mBAAA,EAAE,CAAA;AAC9B,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { TouchEvent } from 'react';
2
+ type TUseMobileLongTap = {
3
+ delay?: number;
4
+ onLongTap?: () => void;
5
+ onShortTap?: () => void;
6
+ onDragStart?: () => void;
7
+ onPressStart?: () => void;
8
+ onPressEnd?: () => void;
9
+ };
10
+ export declare const useMobileLongTap: ({ delay, onLongTap, onShortTap, onDragStart, onPressStart, onPressEnd, }: TUseMobileLongTap) => {
11
+ startPressTimer: ({ touches }: TouchEvent) => void;
12
+ cancelPressTimer: () => void;
13
+ handleTouchMove: ({ touches }: TouchEvent) => void;
14
+ handleTouchEnd: () => void;
15
+ };
16
+ export {};
@@ -0,0 +1,55 @@
1
+ import { useCallback, useRef } from 'react';
2
+ import { RENDER_DELAY } from '../constants';
3
+ var DRAG_THRESHOLD = 10;
4
+ var DEFAULT_LONG_TAP_DELAY = 500;
5
+ export var useMobileLongTap = function (_a) {
6
+ var _b = _a.delay, delay = _b === void 0 ? DEFAULT_LONG_TAP_DELAY : _b, onLongTap = _a.onLongTap, onShortTap = _a.onShortTap, onDragStart = _a.onDragStart, onPressStart = _a.onPressStart, onPressEnd = _a.onPressEnd;
7
+ var pressTimer = useRef(null);
8
+ var isLongTapActivated = useRef(false);
9
+ var startPosition = useRef(null);
10
+ var touchStartTime = useRef(0);
11
+ var startPressTimer = useCallback(function (_a) {
12
+ var touches = _a.touches;
13
+ var _b = touches[0], x = _b.clientX, y = _b.clientY;
14
+ isLongTapActivated.current = false;
15
+ touchStartTime.current = Date.now();
16
+ startPosition.current = { x: x, y: y };
17
+ onPressStart === null || onPressStart === void 0 ? void 0 : onPressStart();
18
+ pressTimer.current = setTimeout(function () {
19
+ isLongTapActivated.current = true;
20
+ onLongTap === null || onLongTap === void 0 ? void 0 : onLongTap();
21
+ }, delay);
22
+ }, [onLongTap, delay, onPressStart]);
23
+ var cancelPressTimer = useCallback(function () {
24
+ var pressTimerCurrent = pressTimer.current;
25
+ if (pressTimerCurrent) {
26
+ clearTimeout(pressTimerCurrent);
27
+ pressTimer.current = null;
28
+ }
29
+ startPosition.current = null;
30
+ }, []);
31
+ var handleTouchEnd = useCallback(function () {
32
+ var touchDuration = Date.now() - touchStartTime.current;
33
+ onPressEnd === null || onPressEnd === void 0 ? void 0 : onPressEnd();
34
+ cancelPressTimer();
35
+ if (touchDuration < delay && !isLongTapActivated.current)
36
+ setTimeout(function () { return !isLongTapActivated.current && (onShortTap === null || onShortTap === void 0 ? void 0 : onShortTap()); }, RENDER_DELAY);
37
+ isLongTapActivated.current = false;
38
+ }, [cancelPressTimer, onShortTap, delay, onPressEnd]);
39
+ var handleTouchMove = useCallback(function (_a) {
40
+ var touches = _a.touches;
41
+ var startPositionCurrent = startPosition.current;
42
+ if (!startPositionCurrent || isLongTapActivated.current || touches.length === 0)
43
+ return;
44
+ var _b = touches[0], clientX = _b.clientX, clientY = _b.clientY;
45
+ var x = startPositionCurrent.x, y = startPositionCurrent.y;
46
+ var deltaX = Math.abs(clientX - x);
47
+ var deltaY = Math.abs(clientY - y);
48
+ if (deltaX > DRAG_THRESHOLD || deltaY > DRAG_THRESHOLD) {
49
+ cancelPressTimer();
50
+ onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart();
51
+ }
52
+ }, [cancelPressTimer, onDragStart]);
53
+ return { startPressTimer: startPressTimer, cancelPressTimer: cancelPressTimer, handleTouchMove: handleTouchMove, handleTouchEnd: handleTouchEnd };
54
+ };
55
+ //# sourceMappingURL=useMobileLongTap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMobileLongTap.js","sourceRoot":"","sources":["../../../src/hooks/useMobileLongTap.tsx"],"names":[],"mappings":"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"}
@@ -1,22 +1,27 @@
1
1
  import React, { RefObject } from 'react';
2
- import { BottomSheetProps } from 'alex.chus-react-spring-bottom-sheet';
3
- import 'alex.chus-react-spring-bottom-sheet/dist/style.css';
4
- interface UseModalProps {
5
- isModalOpen: boolean;
2
+ import { SheetDetent } from 'react-modal-sheet';
3
+ import { TBottomSheetProps, TBottomSheetStyles } from '../сomponents/Modal/types';
4
+ export declare const DEFAULT_BOTTOM_SHEET_DETENT = "content";
5
+ interface IUseModalProps {
6
6
  platform?: string;
7
+ isModalOpen: boolean;
8
+ isClosableOutside: boolean;
7
9
  isDisabledBottomSheet?: boolean;
8
10
  initialIsBottomSheet?: boolean;
9
11
  modalRef: RefObject<HTMLDivElement | null>;
10
- isClosableOutside: boolean;
11
- handleCloseModal: () => void;
12
+ scrollRef?: RefObject<HTMLDivElement | null>;
12
13
  popupClassName?: string;
13
14
  popupStyles?: React.CSSProperties;
14
- bottomSheetProps?: Partial<Omit<BottomSheetProps, 'externalScrollContainer'>>;
15
- bottomSheetStyles?: React.CSSProperties;
16
- scrollRef?: RefObject<HTMLDivElement | null>;
15
+ bottomSheetProps?: TBottomSheetProps;
16
+ bottomSheetStyles?: TBottomSheetStyles;
17
+ handleClickOutside?: () => void;
18
+ handleCloseModal: () => void;
19
+ bottomSheetDetent?: SheetDetent;
20
+ shouldDoScrollToFocusedElementBottomSheet?: boolean;
17
21
  }
18
- export declare const useModal: ({ isModalOpen, platform, isDisabledBottomSheet, initialIsBottomSheet, modalRef, isClosableOutside, handleCloseModal, popupClassName, popupStyles, bottomSheetProps, bottomSheetStyles, scrollRef, }: UseModalProps) => {
22
+ export declare const useModal: ({ platform, isModalOpen, isClosableOutside, isDisabledBottomSheet, initialIsBottomSheet, modalRef, scrollRef, popupClassName, popupStyles, bottomSheetProps, bottomSheetStyles, bottomSheetDetent, handleClickOutside, handleCloseModal, shouldDoScrollToFocusedElementBottomSheet, }: IUseModalProps) => {
19
23
  shouldUseBottomSheet: boolean;
20
24
  renderModal: (children: React.ReactNode) => import("react/jsx-runtime").JSX.Element | null;
25
+ offsetScrollY: number;
21
26
  };
22
27
  export {};
@@ -9,26 +9,53 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { useCallback, useLayoutEffect, useState } from 'react';
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useCallback, useEffect, useLayoutEffect, useState } from 'react';
14
+ import { Sheet } from 'react-modal-sheet';
14
15
  import Popup from 'reactjs-popup';
15
- import { BottomSheet } from 'alex.chus-react-spring-bottom-sheet';
16
- import { isMobilePlatform } from '../helpers';
17
- import { BOTTOM_SHEET, PLATFORM } from '../constants';
18
- import 'alex.chus-react-spring-bottom-sheet/dist/style.css';
16
+ import useDetectKeyboardOpen from 'use-detect-keyboard-open';
17
+ import { clickOutsideTheModal, isAndroidPlatform, isIosPlatform, isMobilePlatform } from '../helpers';
18
+ import { BOTTOM_SHEET, EVENT_LISTENER_TYPES, PLATFORM } from '../constants';
19
+ var OFFSET = 30;
19
20
  var MAX_MODAL_MOBILE_HEIGHT = 360;
20
21
  var MODAL_ANIMATION = 'modalFadeIn 0.25s ease-in-out forwards';
21
- var BOTTOM_SHEET_BORDER_RADIUS = '24px';
22
+ export var DEFAULT_BOTTOM_SHEET_DETENT = 'content';
23
+ // Проблемы с типизацией в либе.
24
+ var DRAG_THRESHOLD = {
25
+ dragVelocityThreshold: 2000,
26
+ tweenConfig: { ease: 'easeInOut', duration: 0.35 },
27
+ };
28
+ var generateElementBottomOffset = function (element) {
29
+ var offsetTop = 0;
30
+ var currentElement = element;
31
+ while (currentElement) {
32
+ var currentOffsetTop = currentElement.offsetTop, offsetParent = currentElement.offsetParent;
33
+ offsetTop += currentOffsetTop;
34
+ currentElement = offsetParent;
35
+ }
36
+ return offsetTop + element.offsetHeight;
37
+ };
22
38
  export var useModal = function (_a) {
23
- var isModalOpen = _a.isModalOpen, _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, _c = _a.isDisabledBottomSheet, isDisabledBottomSheet = _c === void 0 ? false : _c, _d = _a.initialIsBottomSheet, initialIsBottomSheet = _d === void 0 ? false : _d, modalRef = _a.modalRef, isClosableOutside = _a.isClosableOutside, handleCloseModal = _a.handleCloseModal, popupClassName = _a.popupClassName, popupStyles = _a.popupStyles, bottomSheetProps = _a.bottomSheetProps, bottomSheetStyles = _a.bottomSheetStyles, scrollRef = _a.scrollRef;
24
- var _e = useState(initialIsBottomSheet), shouldUseBottomSheet = _e[0], setShouldUseBottomSheet = _e[1];
39
+ var _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, isModalOpen = _a.isModalOpen, isClosableOutside = _a.isClosableOutside, _c = _a.isDisabledBottomSheet, isDisabledBottomSheet = _c === void 0 ? false : _c, _d = _a.initialIsBottomSheet, initialIsBottomSheet = _d === void 0 ? false : _d, modalRef = _a.modalRef, scrollRef = _a.scrollRef, popupClassName = _a.popupClassName, popupStyles = _a.popupStyles, bottomSheetProps = _a.bottomSheetProps, bottomSheetStyles = _a.bottomSheetStyles, _e = _a.bottomSheetDetent, bottomSheetDetent = _e === void 0 ? DEFAULT_BOTTOM_SHEET_DETENT : _e, handleClickOutside = _a.handleClickOutside, handleCloseModal = _a.handleCloseModal, _f = _a.shouldDoScrollToFocusedElementBottomSheet, shouldDoScrollToFocusedElementBottomSheet = _f === void 0 ? true : _f;
40
+ var isAndroidKeyboardOpen = useDetectKeyboardOpen();
41
+ var _g = useState(initialIsBottomSheet), shouldUseBottomSheet = _g[0], setShouldUseBottomSheet = _g[1];
42
+ var _h = useState(0), offsetScrollY = _h[0], setOffsetScrollY = _h[1];
43
+ var _j = useState(null), focusedElement = _j[0], setFocusedElement = _j[1];
44
+ var _k = useState(false), isKeyboardOpen = _k[0], setIsKeyboardOpen = _k[1];
45
+ var _l = bottomSheetProps || {}, _m = _l.sheetProps, sheetProps = _m === void 0 ? {} : _m, _o = _l.sheetBackdropProps, sheetBackdropProps = _o === void 0 ? {} : _o, _p = _l.sheetContentProps, sheetContentProps = _p === void 0 ? {} : _p, _q = _l.sheetContainerProps, sheetContainerProps = _q === void 0 ? {} : _q;
46
+ var _r = bottomSheetStyles || {}, _s = _r.sheetStyles, sheetStyles = _s === void 0 ? {} : _s, _t = _r.sheetBackdropStyles, sheetBackdropStyles = _t === void 0 ? {} : _t, _u = _r.sheetContentStyles, sheetContentStyles = _u === void 0 ? {} : _u, _v = _r.sheetContainerStyles, sheetContainerStyles = _v === void 0 ? {} : _v;
47
+ var correctSheetProps = __assign(__assign({}, DRAG_THRESHOLD), sheetProps);
25
48
  var updateModalState = useCallback(function () {
26
49
  var modalElement = modalRef.current;
27
50
  if (!modalElement)
28
51
  return;
29
52
  var modalHeight = modalElement.getBoundingClientRect().height;
30
- var shouldShowBottomSheet = !isDisabledBottomSheet && isMobilePlatform(platform) && (initialIsBottomSheet || modalHeight > MAX_MODAL_MOBILE_HEIGHT);
31
- setShouldUseBottomSheet(shouldShowBottomSheet);
53
+ var shouldShowBottomSheet = function () {
54
+ if (isMobilePlatform(platform))
55
+ return !isDisabledBottomSheet && (initialIsBottomSheet || modalHeight > MAX_MODAL_MOBILE_HEIGHT);
56
+ return initialIsBottomSheet;
57
+ };
58
+ setShouldUseBottomSheet(shouldShowBottomSheet());
32
59
  }, [platform, isDisabledBottomSheet, initialIsBottomSheet, modalRef]);
33
60
  useLayoutEffect(function () {
34
61
  if (!isModalOpen)
@@ -40,18 +67,70 @@ export var useModal = function (_a) {
40
67
  setShouldUseBottomSheet(initialIsBottomSheet);
41
68
  };
42
69
  }, [isModalOpen, updateModalState, modalRef, initialIsBottomSheet]);
70
+ // Контролируем фокус и блюр на элементах.
71
+ useEffect(function () {
72
+ var handleFocus = function (_a) {
73
+ var target = _a.target;
74
+ return setFocusedElement(target);
75
+ };
76
+ var handleBlur = function () { return setFocusedElement(null); };
77
+ if (isMobilePlatform(platform) && shouldDoScrollToFocusedElementBottomSheet) {
78
+ document.addEventListener(EVENT_LISTENER_TYPES.focus, handleFocus, true);
79
+ document.addEventListener(EVENT_LISTENER_TYPES.blur, handleBlur, true);
80
+ }
81
+ return function () {
82
+ document.removeEventListener(EVENT_LISTENER_TYPES.focus, handleFocus, true);
83
+ document.removeEventListener(EVENT_LISTENER_TYPES.blur, handleBlur, true);
84
+ };
85
+ }, [platform, shouldDoScrollToFocusedElementBottomSheet]);
86
+ // Контролируем открытие клавиатуры на мобильном устройстве в bottomSheet.
87
+ useEffect(function () {
88
+ var _a;
89
+ var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
90
+ var checkKeyboardState = function () {
91
+ if (isIosPlatform(platform) && visualViewport) {
92
+ var isOpen = visualViewport.height < innerHeight;
93
+ return setIsKeyboardOpen(isOpen);
94
+ }
95
+ else if (isAndroidPlatform(platform))
96
+ setIsKeyboardOpen(isAndroidKeyboardOpen);
97
+ };
98
+ if (isMobilePlatform(platform) && shouldDoScrollToFocusedElementBottomSheet) {
99
+ (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener(EVENT_LISTENER_TYPES.resize, checkKeyboardState);
100
+ checkKeyboardState();
101
+ }
102
+ return function () {
103
+ var _a;
104
+ (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener(EVENT_LISTENER_TYPES.resize, checkKeyboardState);
105
+ };
106
+ }, [platform, isAndroidKeyboardOpen, shouldDoScrollToFocusedElementBottomSheet]);
107
+ useEffect(function () {
108
+ // Если useEffect отрабатывает, но клавиатура не открыта, значит нужно скинуть состояние.
109
+ if (!isKeyboardOpen)
110
+ return setOffsetScrollY(0);
111
+ var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
112
+ // Находим элемент и высчитываем его нижнюю позицию с помощью функции
113
+ // (функция нужна именная эта, getBoundingClientRect на IOS не работает корректно).
114
+ var bottom = focusedElement ? generateElementBottomOffset(focusedElement) : 0;
115
+ // Находим высоту наблюдаемого контента с учетом клавиатуры, это же значение - нижняя часть элемента.
116
+ var visibleHeight = visualViewport ? visualViewport.height : innerHeight;
117
+ // Проверяем, находится ли наш элемент в наблюдаемом контенте, если нет - ставим offsetScrollY 0
118
+ var scrollOffset = bottom + OFFSET > visibleHeight ? bottom - visibleHeight + OFFSET : 0;
119
+ setOffsetScrollY(scrollOffset);
120
+ }, [focusedElement, isKeyboardOpen]);
43
121
  var renderModal = function (children) {
44
122
  if (!isModalOpen)
45
123
  return null;
46
124
  var handleOutsideClick = function (event) {
47
125
  event.preventDefault();
48
126
  event.stopPropagation();
49
- handleCloseModal();
127
+ isClosableOutside && clickOutsideTheModal(handleCloseModal, handleClickOutside);
50
128
  };
51
- var BottomSheetModal = (_jsx(BottomSheet, __assign({ id: BOTTOM_SHEET, open: isModalOpen, onDismiss: handleCloseModal, expandOnContentDrag: true, sibling: _jsx("div", { "data-rsbs-backdrop": "true", onClick: handleOutsideClick }), style: __assign({ '--rsbs-overlay-rounded': BOTTOM_SHEET_BORDER_RADIUS }, bottomSheetStyles), externalScrollContainer: scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current }, bottomSheetProps, { children: children })));
129
+ //DRAG_THRESHOLD
130
+ var BottomSheetModal = (_jsxs(Sheet, __assign({ style: __assign(__assign({}, sheetStyles), { zIndex: 100 }), id: BOTTOM_SHEET, className: "smartapp-bottom-sheet", detent: bottomSheetDetent, onClose: handleCloseModal, isOpen: isModalOpen }, correctSheetProps, { children: [_jsx(Sheet.Container, __assign({ style: sheetContainerStyles, className: "smartapp-bottom-sheet__container" }, sheetContainerProps, { children: _jsx(Sheet.Content, __assign({ style: sheetContentStyles, scrollRef: scrollRef }, sheetContentProps, { children: children })) })), _jsx(Sheet.Backdrop, __assign({ style: sheetBackdropStyles, onClick: handleOutsideClick, className: "smartapp-bottom-sheet__backdrop" }, sheetBackdropProps))] })));
52
131
  var Modal = (_jsx(Popup, __assign({ className: popupClassName, overlayStyle: __assign(__assign({}, popupStyles), { opacity: 0, animation: MODAL_ANIMATION }), closeOnDocumentClick: isClosableOutside, modal: true, open: isModalOpen, closeOnEscape: isClosableOutside, onClose: handleCloseModal }, { children: children })));
53
132
  return shouldUseBottomSheet ? BottomSheetModal : Modal;
54
133
  };
55
- return { shouldUseBottomSheet: shouldUseBottomSheet, renderModal: renderModal };
134
+ return { shouldUseBottomSheet: shouldUseBottomSheet, renderModal: renderModal, offsetScrollY: offsetScrollY };
56
135
  };
57
136
  //# sourceMappingURL=useModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/hooks/useModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/hooks/useModal.tsx"],"names":[],"mappings":"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"}
@@ -34,3 +34,5 @@ export { default as CachedImage } from './сomponents/CachedImage';
34
34
  export { default as ProgressBar } from './сomponents/ProgressBar';
35
35
  export { ChartBar, ChartLine, ChartPie } from './сomponents/Charts';
36
36
  export { Flex, VFlex, HFlex } from './сomponents/Flex';
37
+ export { default as ContextMenuItem } from './сomponents/ContextMenuItem';
38
+ export { ChipDndContext } from './сomponents/ChipDndContext';
@@ -34,4 +34,6 @@ export { default as CachedImage } from './сomponents/CachedImage';
34
34
  export { default as ProgressBar } from './сomponents/ProgressBar';
35
35
  export { ChartBar, ChartLine, ChartPie } from './сomponents/Charts';
36
36
  export { Flex, VFlex, HFlex } from './сomponents/Flex';
37
+ export { default as ContextMenuItem } from './сomponents/ContextMenuItem';
38
+ export { ChipDndContext } from './сomponents/ChipDndContext';
37
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA"}