@alfalab/core-components-universal-modal 3.0.7 → 3.1.0-alfasans

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 (250) hide show
  1. package/components/content/base-content/index.css +1 -1
  2. package/components/content/base-content/index.module.css.js +1 -1
  3. package/components/content/desktop/desktop.css +2 -2
  4. package/components/content/desktop/desktop.module.css.js +1 -1
  5. package/components/content/mobile/mobile.css +3 -3
  6. package/components/content/mobile/mobile.module.css.js +1 -1
  7. package/components/footer/base-footer/index.css +3 -3
  8. package/components/footer/base-footer/index.module.css.js +1 -1
  9. package/components/footer/desktop/desktop.css +1 -1
  10. package/components/footer/desktop/desktop.module.css.js +1 -1
  11. package/components/footer/desktop/layout.css +9 -9
  12. package/components/footer/desktop/layout.module.css.js +1 -1
  13. package/components/footer/mobile/layout.mobile.css +8 -8
  14. package/components/footer/mobile/layout.mobile.module.css.js +1 -1
  15. package/components/footer/mobile/mobile.css +2 -2
  16. package/components/footer/mobile/mobile.module.css.js +1 -1
  17. package/components/header/base-header/index.css +4 -4
  18. package/components/header/base-header/index.module.css.js +1 -1
  19. package/components/header/desktop/desktop.css +16 -11
  20. package/components/header/desktop/desktop.module.css.js +1 -1
  21. package/components/header/mobile/mobile.css +12 -9
  22. package/components/header/mobile/mobile.module.css.js +1 -1
  23. package/cssm/components/header/desktop/desktop.module.css +11 -6
  24. package/cssm/components/header/mobile/mobile.module.css +9 -6
  25. package/cssm/desktop/components/center-modal/center-modal.js +13 -8
  26. package/cssm/desktop/components/center-modal/center-modal.js.map +1 -1
  27. package/cssm/desktop/components/center-modal/index.module.css +7 -3
  28. package/cssm/desktop/components/modal-content/modal-content.d.ts +3 -3
  29. package/cssm/desktop/components/modal-content/modal-content.js +1 -3
  30. package/cssm/desktop/components/modal-content/modal-content.js.map +1 -1
  31. package/cssm/desktop/components/side-modal/index.module.css +6 -2
  32. package/cssm/desktop/components/side-modal/side-modal.js +14 -9
  33. package/cssm/desktop/components/side-modal/side-modal.js.map +1 -1
  34. package/cssm/desktop/hooks/use-scrollable-container-ref.d.ts +10 -0
  35. package/cssm/desktop/hooks/use-scrollable-container-ref.js +27 -0
  36. package/cssm/desktop/hooks/use-scrollable-container-ref.js.map +1 -0
  37. package/desktop/components/center-modal/center-modal.js +13 -8
  38. package/desktop/components/center-modal/center-modal.js.map +1 -1
  39. package/desktop/components/center-modal/index.css +527 -523
  40. package/desktop/components/center-modal/index.module.css.js +1 -1
  41. package/desktop/components/center-modal/index.module.css.js.map +1 -1
  42. package/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
  43. package/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
  44. package/desktop/components/center-modal/transitions/transitions.css +7 -7
  45. package/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
  46. package/desktop/components/modal-content/modal-content.css +4 -4
  47. package/desktop/components/modal-content/modal-content.d.ts +3 -3
  48. package/desktop/components/modal-content/modal-content.js +1 -3
  49. package/desktop/components/modal-content/modal-content.js.map +1 -1
  50. package/desktop/components/modal-content/modal-content.module.css.js +1 -1
  51. package/desktop/components/side-modal/index.css +529 -525
  52. package/desktop/components/side-modal/index.module.css.js +1 -1
  53. package/desktop/components/side-modal/index.module.css.js.map +1 -1
  54. package/desktop/components/side-modal/side-modal.js +14 -9
  55. package/desktop/components/side-modal/side-modal.js.map +1 -1
  56. package/desktop/components/side-modal/transitions/transitions.css +71 -71
  57. package/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
  58. package/desktop/hooks/use-scrollable-container-ref.d.ts +10 -0
  59. package/desktop/hooks/use-scrollable-container-ref.js +27 -0
  60. package/desktop/hooks/use-scrollable-container-ref.js.map +1 -0
  61. package/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
  62. package/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
  63. package/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
  64. package/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
  65. package/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
  66. package/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
  67. package/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
  68. package/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
  69. package/esm/components/content/base-content/index.css +1 -1
  70. package/esm/components/content/base-content/index.module.css.js +1 -1
  71. package/esm/components/content/desktop/desktop.css +2 -2
  72. package/esm/components/content/desktop/desktop.module.css.js +1 -1
  73. package/esm/components/content/mobile/mobile.css +3 -3
  74. package/esm/components/content/mobile/mobile.module.css.js +1 -1
  75. package/esm/components/footer/base-footer/index.css +3 -3
  76. package/esm/components/footer/base-footer/index.module.css.js +1 -1
  77. package/esm/components/footer/desktop/desktop.css +1 -1
  78. package/esm/components/footer/desktop/desktop.module.css.js +1 -1
  79. package/esm/components/footer/desktop/layout.css +9 -9
  80. package/esm/components/footer/desktop/layout.module.css.js +1 -1
  81. package/esm/components/footer/mobile/layout.mobile.css +8 -8
  82. package/esm/components/footer/mobile/layout.mobile.module.css.js +1 -1
  83. package/esm/components/footer/mobile/mobile.css +2 -2
  84. package/esm/components/footer/mobile/mobile.module.css.js +1 -1
  85. package/esm/components/header/base-header/index.css +4 -4
  86. package/esm/components/header/base-header/index.module.css.js +1 -1
  87. package/esm/components/header/desktop/desktop.css +16 -11
  88. package/esm/components/header/desktop/desktop.module.css.js +1 -1
  89. package/esm/components/header/mobile/mobile.css +12 -9
  90. package/esm/components/header/mobile/mobile.module.css.js +1 -1
  91. package/esm/desktop/components/center-modal/center-modal.js +13 -8
  92. package/esm/desktop/components/center-modal/center-modal.js.map +1 -1
  93. package/esm/desktop/components/center-modal/index.css +527 -523
  94. package/esm/desktop/components/center-modal/index.module.css.js +1 -1
  95. package/esm/desktop/components/center-modal/index.module.css.js.map +1 -1
  96. package/esm/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
  97. package/esm/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
  98. package/esm/desktop/components/center-modal/transitions/transitions.css +7 -7
  99. package/esm/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
  100. package/esm/desktop/components/modal-content/modal-content.css +4 -4
  101. package/esm/desktop/components/modal-content/modal-content.d.ts +3 -3
  102. package/esm/desktop/components/modal-content/modal-content.js +1 -3
  103. package/esm/desktop/components/modal-content/modal-content.js.map +1 -1
  104. package/esm/desktop/components/modal-content/modal-content.module.css.js +1 -1
  105. package/esm/desktop/components/side-modal/index.css +529 -525
  106. package/esm/desktop/components/side-modal/index.module.css.js +1 -1
  107. package/esm/desktop/components/side-modal/index.module.css.js.map +1 -1
  108. package/esm/desktop/components/side-modal/side-modal.js +14 -9
  109. package/esm/desktop/components/side-modal/side-modal.js.map +1 -1
  110. package/esm/desktop/components/side-modal/transitions/transitions.css +71 -71
  111. package/esm/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
  112. package/esm/desktop/hooks/use-scrollable-container-ref.d.ts +10 -0
  113. package/esm/desktop/hooks/use-scrollable-container-ref.js +23 -0
  114. package/esm/desktop/hooks/use-scrollable-container-ref.js.map +1 -0
  115. package/esm/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
  116. package/esm/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
  117. package/esm/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
  118. package/esm/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
  119. package/esm/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
  120. package/esm/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
  121. package/esm/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
  122. package/esm/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
  123. package/esm/mobile/mobile.css +3 -3
  124. package/esm/mobile/mobile.module.css.js +1 -1
  125. package/esm/mobile/transitions/right-side-transitions.mobile.css +7 -7
  126. package/esm/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
  127. package/esm/mobile/transitions/transitions.mobile.css +7 -7
  128. package/esm/mobile/transitions/transitions.mobile.module.css.js +1 -1
  129. package/mobile/mobile.css +3 -3
  130. package/mobile/mobile.module.css.js +1 -1
  131. package/mobile/transitions/right-side-transitions.mobile.css +7 -7
  132. package/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
  133. package/mobile/transitions/transitions.mobile.css +7 -7
  134. package/mobile/transitions/transitions.mobile.module.css.js +1 -1
  135. package/modern/components/content/base-content/index.css +1 -1
  136. package/modern/components/content/base-content/index.module.css.js +1 -1
  137. package/modern/components/content/desktop/desktop.css +2 -2
  138. package/modern/components/content/desktop/desktop.module.css.js +1 -1
  139. package/modern/components/content/mobile/mobile.css +3 -3
  140. package/modern/components/content/mobile/mobile.module.css.js +1 -1
  141. package/modern/components/footer/base-footer/index.css +3 -3
  142. package/modern/components/footer/base-footer/index.module.css.js +1 -1
  143. package/modern/components/footer/desktop/desktop.css +1 -1
  144. package/modern/components/footer/desktop/desktop.module.css.js +1 -1
  145. package/modern/components/footer/desktop/layout.css +9 -9
  146. package/modern/components/footer/desktop/layout.module.css.js +1 -1
  147. package/modern/components/footer/mobile/layout.mobile.css +8 -8
  148. package/modern/components/footer/mobile/layout.mobile.module.css.js +1 -1
  149. package/modern/components/footer/mobile/mobile.css +2 -2
  150. package/modern/components/footer/mobile/mobile.module.css.js +1 -1
  151. package/modern/components/header/base-header/index.css +4 -4
  152. package/modern/components/header/base-header/index.module.css.js +1 -1
  153. package/modern/components/header/desktop/desktop.css +16 -11
  154. package/modern/components/header/desktop/desktop.module.css.js +1 -1
  155. package/modern/components/header/mobile/mobile.css +12 -9
  156. package/modern/components/header/mobile/mobile.module.css.js +1 -1
  157. package/modern/desktop/components/center-modal/center-modal.js +12 -8
  158. package/modern/desktop/components/center-modal/center-modal.js.map +1 -1
  159. package/modern/desktop/components/center-modal/index.css +527 -523
  160. package/modern/desktop/components/center-modal/index.module.css.js +1 -1
  161. package/modern/desktop/components/center-modal/index.module.css.js.map +1 -1
  162. package/modern/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
  163. package/modern/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
  164. package/modern/desktop/components/center-modal/transitions/transitions.css +7 -7
  165. package/modern/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
  166. package/modern/desktop/components/modal-content/modal-content.css +4 -4
  167. package/modern/desktop/components/modal-content/modal-content.d.ts +3 -3
  168. package/modern/desktop/components/modal-content/modal-content.js +1 -3
  169. package/modern/desktop/components/modal-content/modal-content.js.map +1 -1
  170. package/modern/desktop/components/modal-content/modal-content.module.css.js +1 -1
  171. package/modern/desktop/components/side-modal/index.css +529 -525
  172. package/modern/desktop/components/side-modal/index.module.css.js +1 -1
  173. package/modern/desktop/components/side-modal/index.module.css.js.map +1 -1
  174. package/modern/desktop/components/side-modal/side-modal.js +12 -8
  175. package/modern/desktop/components/side-modal/side-modal.js.map +1 -1
  176. package/modern/desktop/components/side-modal/transitions/transitions.css +71 -71
  177. package/modern/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
  178. package/modern/desktop/hooks/use-scrollable-container-ref.d.ts +10 -0
  179. package/modern/desktop/hooks/use-scrollable-container-ref.js +21 -0
  180. package/modern/desktop/hooks/use-scrollable-container-ref.js.map +1 -0
  181. package/modern/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
  182. package/modern/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
  183. package/modern/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
  184. package/modern/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
  185. package/modern/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
  186. package/modern/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
  187. package/modern/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
  188. package/modern/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
  189. package/modern/mobile/mobile.css +3 -3
  190. package/modern/mobile/mobile.module.css.js +1 -1
  191. package/modern/mobile/transitions/right-side-transitions.mobile.css +7 -7
  192. package/modern/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
  193. package/modern/mobile/transitions/transitions.mobile.css +7 -7
  194. package/modern/mobile/transitions/transitions.mobile.module.css.js +1 -1
  195. package/moderncssm/components/header/desktop/desktop.module.css +8 -4
  196. package/moderncssm/components/header/mobile/mobile.module.css +6 -4
  197. package/moderncssm/desktop/components/center-modal/center-modal.js +12 -8
  198. package/moderncssm/desktop/components/center-modal/center-modal.js.map +1 -1
  199. package/moderncssm/desktop/components/center-modal/index.module.css +9 -4
  200. package/moderncssm/desktop/components/modal-content/modal-content.d.ts +3 -3
  201. package/moderncssm/desktop/components/modal-content/modal-content.js +1 -3
  202. package/moderncssm/desktop/components/modal-content/modal-content.js.map +1 -1
  203. package/moderncssm/desktop/components/side-modal/index.module.css +7 -2
  204. package/moderncssm/desktop/components/side-modal/side-modal.js +12 -8
  205. package/moderncssm/desktop/components/side-modal/side-modal.js.map +1 -1
  206. package/moderncssm/desktop/hooks/use-scrollable-container-ref.d.ts +10 -0
  207. package/moderncssm/desktop/hooks/use-scrollable-container-ref.js +21 -0
  208. package/moderncssm/desktop/hooks/use-scrollable-container-ref.js.map +1 -0
  209. package/package.json +9 -9
  210. package/src/desktop/components/center-modal/center-modal.module.css +1 -5
  211. package/src/desktop/components/center-modal/center-modal.tsx +14 -14
  212. package/src/desktop/components/center-modal/index.module.css +2 -1
  213. package/src/desktop/components/modal-content/modal-content.tsx +8 -9
  214. package/src/desktop/components/side-modal/index.module.css +2 -1
  215. package/src/desktop/components/side-modal/side-modal.module.css +0 -4
  216. package/src/desktop/components/side-modal/side-modal.tsx +14 -14
  217. package/src/desktop/hooks/use-scrollable-container-ref.ts +29 -0
  218. package/src/desktop/styles/common.module.css +10 -0
  219. package/cssm/desktop/hooks/use-outside-scroll.d.ts +0 -8
  220. package/cssm/desktop/hooks/use-outside-scroll.js +0 -21
  221. package/cssm/desktop/hooks/use-outside-scroll.js.map +0 -1
  222. package/cssm/desktop/hooks/useModalWheel.d.ts +0 -5
  223. package/cssm/desktop/hooks/useModalWheel.js +0 -20
  224. package/cssm/desktop/hooks/useModalWheel.js.map +0 -1
  225. package/desktop/hooks/use-outside-scroll.d.ts +0 -8
  226. package/desktop/hooks/use-outside-scroll.js +0 -21
  227. package/desktop/hooks/use-outside-scroll.js.map +0 -1
  228. package/desktop/hooks/useModalWheel.d.ts +0 -5
  229. package/desktop/hooks/useModalWheel.js +0 -20
  230. package/desktop/hooks/useModalWheel.js.map +0 -1
  231. package/esm/desktop/hooks/use-outside-scroll.d.ts +0 -8
  232. package/esm/desktop/hooks/use-outside-scroll.js +0 -17
  233. package/esm/desktop/hooks/use-outside-scroll.js.map +0 -1
  234. package/esm/desktop/hooks/useModalWheel.d.ts +0 -5
  235. package/esm/desktop/hooks/useModalWheel.js +0 -16
  236. package/esm/desktop/hooks/useModalWheel.js.map +0 -1
  237. package/modern/desktop/hooks/use-outside-scroll.d.ts +0 -8
  238. package/modern/desktop/hooks/use-outside-scroll.js +0 -17
  239. package/modern/desktop/hooks/use-outside-scroll.js.map +0 -1
  240. package/modern/desktop/hooks/useModalWheel.d.ts +0 -5
  241. package/modern/desktop/hooks/useModalWheel.js +0 -16
  242. package/modern/desktop/hooks/useModalWheel.js.map +0 -1
  243. package/moderncssm/desktop/hooks/use-outside-scroll.d.ts +0 -8
  244. package/moderncssm/desktop/hooks/use-outside-scroll.js +0 -17
  245. package/moderncssm/desktop/hooks/use-outside-scroll.js.map +0 -1
  246. package/moderncssm/desktop/hooks/useModalWheel.d.ts +0 -5
  247. package/moderncssm/desktop/hooks/useModalWheel.js +0 -16
  248. package/moderncssm/desktop/hooks/useModalWheel.js.map +0 -1
  249. package/src/desktop/hooks/use-outside-scroll.ts +0 -20
  250. package/src/desktop/hooks/useModalWheel.ts +0 -16
@@ -4,7 +4,7 @@ import cn from 'classnames';
4
4
  import { BaseModal } from '@alfalab/core-components-base-modal';
5
5
  import { isMacOS, isSafari } from '@alfalab/core-components-shared';
6
6
 
7
- import { useModalWheel } from '../../hooks/useModalWheel';
7
+ import { useScrollableContainerRef } from '../../hooks/use-scrollable-container-ref';
8
8
  import { type UniversalModalDesktopProps } from '../../types/props';
9
9
  import { getFullSizeModalTransitions } from '../../utils/get-full-size-modal-transitions';
10
10
  import { getHeightStyle } from '../../utils/get-height-style';
@@ -30,14 +30,16 @@ export const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps
30
30
  verticalAlign = 'center',
31
31
  overlay = true,
32
32
  margin,
33
- scrollableContainerRef,
33
+ scrollableContainerRef: scrollableContainerRefProp,
34
34
  onClose,
35
35
  ...restProps
36
36
  } = props;
37
37
 
38
38
  const componentRef = useRef<HTMLDivElement>(null);
39
-
40
- const { wheelDeltaY, handleWheel } = useModalWheel(overlay);
39
+ const { handleWheel, scrollableContainerRef } = useScrollableContainerRef({
40
+ overlay,
41
+ refObject: scrollableContainerRefProp,
42
+ });
41
43
 
42
44
  const {
43
45
  isFullSizeModal,
@@ -45,6 +47,8 @@ export const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps
45
47
  backdropTransitions: fullSizeModalBackdropTransitions,
46
48
  } = getFullSizeModalTransitions({ verticalAlign, width, height });
47
49
 
50
+ const withoutOverlay = !overlay;
51
+
48
52
  return (
49
53
  <BaseModal
50
54
  {...restProps}
@@ -53,14 +57,14 @@ export const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps
53
57
  ref={ref}
54
58
  componentRef={componentRef}
55
59
  scrollHandler='content'
56
- disableBlockingScroll={!overlay}
57
- wrapperClassName={cn({
60
+ disableBlockingScroll={withoutOverlay}
61
+ wrapperClassName={cn(styles.baseModalContainer, {
58
62
  [styles.wrapperJustifyStart]: verticalAlign === 'top',
59
63
  [styles.wrapperJustifyCenter]: verticalAlign === 'center',
60
64
  [styles.wrapperJustifyEnd]: verticalAlign === 'bottom',
65
+ [styles.withoutOverlay]: withoutOverlay,
61
66
  })}
62
- className={cn(styles.component, className, {
63
- [styles.overlayHidden]: !overlay,
67
+ className={cn(styles.component, className, styles.baseModalComponent, {
64
68
  ...getMarginStyles({ styles, margin }),
65
69
  })}
66
70
  transitionProps={{
@@ -69,7 +73,7 @@ export const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps
69
73
  ...restProps.transitionProps,
70
74
  }}
71
75
  backdropProps={{
72
- transparent: !overlay,
76
+ shouldRender: overlay,
73
77
  ...(isFullSizeModal && fullSizeModalBackdropTransitions),
74
78
  ...restProps.backdropProps,
75
79
  }}
@@ -82,11 +86,7 @@ export const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps
82
86
  onWheel={handleWheel}
83
87
  onClose={onClose}
84
88
  >
85
- <ModalContent
86
- height={height}
87
- wheelDeltaY={wheelDeltaY}
88
- scrollableContainerRef={scrollableContainerRef}
89
- >
89
+ <ModalContent height={height} scrollableContainerRef={scrollableContainerRef}>
90
90
  {children}
91
91
  </ModalContent>
92
92
  </BaseModal>
@@ -1,2 +1,3 @@
1
- @import 'center-modal.module.css';
1
+ @import './center-modal.module.css';
2
+ @import '../../styles/common.module.css';
2
3
  @import '../../styles/margins.module.css';
@@ -6,21 +6,22 @@ import { type BaseModalProps } from '@alfalab/core-components-base-modal';
6
6
  import { Scrollbar } from '@alfalab/core-components-scrollbar';
7
7
 
8
8
  import { useModalHighlighted } from '../../hooks/use-modal-highlighted';
9
- import { useOutsideScroll } from '../../hooks/use-outside-scroll';
10
9
  import { useSetScrollbarHeight } from '../../hooks/use-set-scrollbar-height';
11
10
  import { type UniversalModalDesktopProps } from '../../types/props';
12
11
  import { setFooterAndHeaderRefs } from '../../utils/set-footer-and-header-refs';
13
12
 
14
13
  import styles from './modal-content.module.css';
15
14
 
16
- interface Props
17
- extends Pick<BaseModalProps, 'children'>,
18
- Pick<UniversalModalDesktopProps, 'height' | 'scrollableContainerRef'> {
19
- wheelDeltaY: number;
20
- }
15
+ type PickedBaseModalProps = Pick<BaseModalProps, 'children'>;
16
+ type PickedUniversalModalDesktopProps = Pick<
17
+ UniversalModalDesktopProps,
18
+ 'height' | 'scrollableContainerRef'
19
+ >;
20
+
21
+ type Props = PickedBaseModalProps & PickedUniversalModalDesktopProps;
21
22
 
22
23
  export const ModalContent: FC<Props> = (props) => {
23
- const { children, wheelDeltaY, height, scrollableContainerRef = null } = props;
24
+ const { children, height, scrollableContainerRef = null } = props;
24
25
 
25
26
  const scrollableNodeRef = useRef<HTMLDivElement>(null);
26
27
  const scrollbarContentNodeRef = useRef<HTMLDivElement>(null);
@@ -31,8 +32,6 @@ export const ModalContent: FC<Props> = (props) => {
31
32
 
32
33
  const { handleScroll } = useModalHighlighted({ scrollbarContentNodeRef, scrollableNodeRef });
33
34
 
34
- useOutsideScroll({ scrollableNodeRef, wheelDeltaY });
35
-
36
35
  const { enhancedChildren } = setFooterAndHeaderRefs({
37
36
  children,
38
37
  headerElementRef,
@@ -1,2 +1,3 @@
1
- @import 'side-modal.module.css';
1
+ @import './side-modal.module.css';
2
+ @import '../../styles/common.module.css';
2
3
  @import '../../styles/margins.module.css';
@@ -31,8 +31,4 @@
31
31
  */
32
32
  will-change: transform;
33
33
  backface-visibility: hidden;
34
-
35
- &.overlayHidden {
36
- box-shadow: var(--shadow-m);
37
- }
38
34
  }
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
 
4
4
  import { BaseModal } from '@alfalab/core-components-base-modal';
5
5
 
6
- import { useModalWheel } from '../../hooks/useModalWheel';
6
+ import { useScrollableContainerRef } from '../../hooks/use-scrollable-container-ref';
7
7
  import { type UniversalModalDesktopProps } from '../../types/props';
8
8
  import { getFullSizeModalTransitions } from '../../utils/get-full-size-modal-transitions';
9
9
  import { getHeightStyle } from '../../utils/get-height-style';
@@ -27,14 +27,16 @@ export const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>(
27
27
  className,
28
28
  children,
29
29
  margin,
30
- scrollableContainerRef,
30
+ scrollableContainerRef: scrollableContainerRefProp,
31
31
  onClose,
32
32
  ...restProps
33
33
  } = props;
34
34
  const componentRef = useRef<HTMLDivElement>(null);
35
35
  const contentRef = useRef<HTMLDivElement>(null);
36
-
37
- const { wheelDeltaY, handleWheel } = useModalWheel(overlay);
36
+ const { handleWheel, scrollableContainerRef } = useScrollableContainerRef({
37
+ overlay,
38
+ refObject: scrollableContainerRefProp,
39
+ });
38
40
 
39
41
  const {
40
42
  isFullSizeModal,
@@ -42,6 +44,8 @@ export const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>(
42
44
  backdropTransitions: fullSizeModalBackdropTransitions,
43
45
  } = getFullSizeModalTransitions({ verticalAlign, width, height });
44
46
 
47
+ const withoutOverlay = !overlay;
48
+
45
49
  return (
46
50
  <BaseModal
47
51
  {...restProps}
@@ -51,15 +55,15 @@ export const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>(
51
55
  componentRef={componentRef}
52
56
  contentElementRef={contentRef}
53
57
  scrollHandler='content'
54
- disableBlockingScroll={!overlay}
55
- wrapperClassName={cn(styles.wrapper, {
58
+ disableBlockingScroll={withoutOverlay}
59
+ wrapperClassName={cn(styles.wrapper, styles.baseModalContainer, {
56
60
  [styles.wrapperAlignStart]: horizontalAlign === 'start',
57
61
  [styles.wrapperAlignEnd]: horizontalAlign === 'end',
58
62
  [styles.wrapperJustifyCenter]: verticalAlign === 'center',
59
63
  [styles.wrapperJustifyEnd]: verticalAlign === 'bottom',
64
+ [styles.withoutOverlay]: withoutOverlay,
60
65
  })}
61
- className={cn(styles.component, className, {
62
- [styles.overlayHidden]: !overlay,
66
+ className={cn(styles.component, className, styles.baseModalComponent, {
63
67
  ...getMarginStyles({ styles, margin }),
64
68
  })}
65
69
  contentClassName={styles.content}
@@ -72,7 +76,7 @@ export const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>(
72
76
  ...restProps.transitionProps,
73
77
  }}
74
78
  backdropProps={{
75
- transparent: !overlay,
79
+ shouldRender: overlay,
76
80
  ...(isFullSizeModal && fullSizeModalBackdropTransitions),
77
81
  ...restProps.backdropProps,
78
82
  }}
@@ -85,11 +89,7 @@ export const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>(
85
89
  onWheel={handleWheel}
86
90
  onClose={onClose}
87
91
  >
88
- <ModalContent
89
- height={height}
90
- wheelDeltaY={wheelDeltaY}
91
- scrollableContainerRef={scrollableContainerRef}
92
- >
92
+ <ModalContent height={height} scrollableContainerRef={scrollableContainerRef}>
93
93
  {children}
94
94
  </ModalContent>
95
95
  </BaseModal>
@@ -0,0 +1,29 @@
1
+ import { type RefObject, useCallback, useRef, type WheelEvent } from 'react';
2
+
3
+ interface Params {
4
+ overlay: boolean;
5
+ refObject?: RefObject<HTMLDivElement>;
6
+ }
7
+
8
+ export const useScrollableContainerRef = ({ overlay, refObject }: Params) => {
9
+ const innerScrollableContainerRef = useRef<HTMLDivElement>(null);
10
+ const scrollableContainerRef = refObject || innerScrollableContainerRef;
11
+
12
+ const handleWheel = useCallback(
13
+ (e: WheelEvent<HTMLElement>) => {
14
+ if (!overlay || e.target !== e.currentTarget) {
15
+ return;
16
+ }
17
+
18
+ scrollableContainerRef.current?.scrollBy({
19
+ top: e.deltaY,
20
+ });
21
+ },
22
+ [overlay, scrollableContainerRef],
23
+ );
24
+
25
+ return {
26
+ handleWheel,
27
+ scrollableContainerRef,
28
+ };
29
+ };
@@ -0,0 +1,10 @@
1
+ .baseModalContainer {
2
+ &.withoutOverlay {
3
+ pointer-events: none;
4
+
5
+ & .baseModalComponent {
6
+ pointer-events: auto;
7
+ box-shadow: var(--shadow-m);
8
+ }
9
+ }
10
+ }
@@ -1,8 +0,0 @@
1
- import { type RefObject } from 'react';
2
- interface Params {
3
- scrollableNodeRef: RefObject<HTMLDivElement>;
4
- wheelDeltaY: number;
5
- }
6
- /** Изменение позиции скролла */
7
- export declare const useOutsideScroll: (params: Params) => void;
8
- export {};
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- /** Изменение позиции скролла */
8
- var useOutsideScroll = function (params) {
9
- var scrollableNodeRef = params.scrollableNodeRef, wheelDeltaY = params.wheelDeltaY;
10
- React.useEffect(function () {
11
- if (scrollableNodeRef.current) {
12
- scrollableNodeRef.current.scrollBy({
13
- top: wheelDeltaY,
14
- });
15
- }
16
- // eslint-disable-next-line react-hooks/exhaustive-deps
17
- }, [wheelDeltaY]);
18
- };
19
-
20
- exports.useOutsideScroll = useOutsideScroll;
21
- //# sourceMappingURL=use-outside-scroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-outside-scroll.js","sources":["../../../src/desktop/hooks/use-outside-scroll.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ninterface Params {\n scrollableNodeRef: RefObject<HTMLDivElement>;\n wheelDeltaY: number;\n}\n\n/** Изменение позиции скролла */\nexport const useOutsideScroll = (params: Params) => {\n const { scrollableNodeRef, wheelDeltaY } = params;\n\n useEffect(() => {\n if (scrollableNodeRef.current) {\n scrollableNodeRef.current.scrollBy({\n top: wheelDeltaY,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [wheelDeltaY]);\n};\n"],"names":["useEffect"],"mappings":";;;;;;AAOA;AACO,IAAM,gBAAgB,GAAG,UAAC,MAAc,EAAA;IACnC,IAAA,iBAAiB,GAAkB,MAAM,CAAA,iBAAxB,EAAE,WAAW,GAAK,MAAM,CAAA,WAAX;AAEtC,IAAAA,eAAS,CAAC,YAAA;AACN,QAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC3B,YAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC/B,gBAAA,GAAG,EAAE,WAAW;AACnB,aAAA,CAAC;;;AAGV,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AACrB;;;;"}
@@ -1,5 +0,0 @@
1
- import { type WheelEvent } from 'react';
2
- export declare const useModalWheel: (overlay: boolean) => {
3
- wheelDeltaY: number;
4
- handleWheel: (e: WheelEvent<HTMLElement>) => void;
5
- };
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- var useModalWheel = function (overlay) {
8
- var _a = React.useState(0), wheelDeltaY = _a[0], setWheelDeltaY = _a[1];
9
- // передаем e.deltaY от события на элементе dialog компонента base-modal
10
- var handleWheel = function (e) {
11
- var target = e.target;
12
- if (target.getAttribute('role') === 'dialog' && overlay) {
13
- setWheelDeltaY(e.deltaY);
14
- }
15
- };
16
- return { wheelDeltaY: wheelDeltaY, handleWheel: handleWheel };
17
- };
18
-
19
- exports.useModalWheel = useModalWheel;
20
- //# sourceMappingURL=useModalWheel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModalWheel.js","sources":["../../../src/desktop/hooks/useModalWheel.ts"],"sourcesContent":["import { useState, type WheelEvent } from 'react';\n\nexport const useModalWheel = (overlay: boolean) => {\n const [wheelDeltaY, setWheelDeltaY] = useState<number>(0);\n\n // передаем e.deltaY от события на элементе dialog компонента base-modal\n const handleWheel = (e: WheelEvent<HTMLElement>) => {\n const target = e.target as HTMLDivElement;\n\n if (target.getAttribute('role') === 'dialog' && overlay) {\n setWheelDeltaY(e.deltaY);\n }\n };\n\n return { wheelDeltaY, handleWheel };\n};\n"],"names":["useState"],"mappings":";;;;;;AAEO,IAAM,aAAa,GAAG,UAAC,OAAgB,EAAA;IACpC,IAAA,EAAA,GAAgCA,cAAQ,CAAS,CAAC,CAAC,EAAlD,WAAW,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,GAAA,EAAA,CAAA,CAAA,CAAuB;;IAGzD,IAAM,WAAW,GAAG,UAAC,CAA0B,EAAA;AAC3C,QAAA,IAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QAEzC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,EAAE;AACrD,YAAA,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;;AAEhC,KAAC;AAED,IAAA,OAAO,EAAE,WAAW,EAAA,WAAA,EAAE,WAAW,EAAA,WAAA,EAAE;AACvC;;;;"}
@@ -1,8 +0,0 @@
1
- import { type RefObject } from 'react';
2
- interface Params {
3
- scrollableNodeRef: RefObject<HTMLDivElement>;
4
- wheelDeltaY: number;
5
- }
6
- /** Изменение позиции скролла */
7
- export declare const useOutsideScroll: (params: Params) => void;
8
- export {};
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- /** Изменение позиции скролла */
8
- var useOutsideScroll = function (params) {
9
- var scrollableNodeRef = params.scrollableNodeRef, wheelDeltaY = params.wheelDeltaY;
10
- React.useEffect(function () {
11
- if (scrollableNodeRef.current) {
12
- scrollableNodeRef.current.scrollBy({
13
- top: wheelDeltaY,
14
- });
15
- }
16
- // eslint-disable-next-line react-hooks/exhaustive-deps
17
- }, [wheelDeltaY]);
18
- };
19
-
20
- exports.useOutsideScroll = useOutsideScroll;
21
- //# sourceMappingURL=use-outside-scroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-outside-scroll.js","sources":["../../src/desktop/hooks/use-outside-scroll.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ninterface Params {\n scrollableNodeRef: RefObject<HTMLDivElement>;\n wheelDeltaY: number;\n}\n\n/** Изменение позиции скролла */\nexport const useOutsideScroll = (params: Params) => {\n const { scrollableNodeRef, wheelDeltaY } = params;\n\n useEffect(() => {\n if (scrollableNodeRef.current) {\n scrollableNodeRef.current.scrollBy({\n top: wheelDeltaY,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [wheelDeltaY]);\n};\n"],"names":["useEffect"],"mappings":";;;;;;AAOA;AACO,IAAM,gBAAgB,GAAG,UAAC,MAAc,EAAA;IACnC,IAAA,iBAAiB,GAAkB,MAAM,CAAA,iBAAxB,EAAE,WAAW,GAAK,MAAM,CAAA,WAAX;AAEtC,IAAAA,eAAS,CAAC,YAAA;AACN,QAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC3B,YAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC/B,gBAAA,GAAG,EAAE,WAAW;AACnB,aAAA,CAAC;;;AAGV,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AACrB;;;;"}
@@ -1,5 +0,0 @@
1
- import { type WheelEvent } from 'react';
2
- export declare const useModalWheel: (overlay: boolean) => {
3
- wheelDeltaY: number;
4
- handleWheel: (e: WheelEvent<HTMLElement>) => void;
5
- };
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
-
7
- var useModalWheel = function (overlay) {
8
- var _a = React.useState(0), wheelDeltaY = _a[0], setWheelDeltaY = _a[1];
9
- // передаем e.deltaY от события на элементе dialog компонента base-modal
10
- var handleWheel = function (e) {
11
- var target = e.target;
12
- if (target.getAttribute('role') === 'dialog' && overlay) {
13
- setWheelDeltaY(e.deltaY);
14
- }
15
- };
16
- return { wheelDeltaY: wheelDeltaY, handleWheel: handleWheel };
17
- };
18
-
19
- exports.useModalWheel = useModalWheel;
20
- //# sourceMappingURL=useModalWheel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModalWheel.js","sources":["../../src/desktop/hooks/useModalWheel.ts"],"sourcesContent":["import { useState, type WheelEvent } from 'react';\n\nexport const useModalWheel = (overlay: boolean) => {\n const [wheelDeltaY, setWheelDeltaY] = useState<number>(0);\n\n // передаем e.deltaY от события на элементе dialog компонента base-modal\n const handleWheel = (e: WheelEvent<HTMLElement>) => {\n const target = e.target as HTMLDivElement;\n\n if (target.getAttribute('role') === 'dialog' && overlay) {\n setWheelDeltaY(e.deltaY);\n }\n };\n\n return { wheelDeltaY, handleWheel };\n};\n"],"names":["useState"],"mappings":";;;;;;AAEO,IAAM,aAAa,GAAG,UAAC,OAAgB,EAAA;IACpC,IAAA,EAAA,GAAgCA,cAAQ,CAAS,CAAC,CAAC,EAAlD,WAAW,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,GAAA,EAAA,CAAA,CAAA,CAAuB;;IAGzD,IAAM,WAAW,GAAG,UAAC,CAA0B,EAAA;AAC3C,QAAA,IAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QAEzC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,EAAE;AACrD,YAAA,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;;AAEhC,KAAC;AAED,IAAA,OAAO,EAAE,WAAW,EAAA,WAAA,EAAE,WAAW,EAAA,WAAA,EAAE;AACvC;;;;"}
@@ -1,8 +0,0 @@
1
- import { type RefObject } from 'react';
2
- interface Params {
3
- scrollableNodeRef: RefObject<HTMLDivElement>;
4
- wheelDeltaY: number;
5
- }
6
- /** Изменение позиции скролла */
7
- export declare const useOutsideScroll: (params: Params) => void;
8
- export {};
@@ -1,17 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- /** Изменение позиции скролла */
4
- var useOutsideScroll = function (params) {
5
- var scrollableNodeRef = params.scrollableNodeRef, wheelDeltaY = params.wheelDeltaY;
6
- useEffect(function () {
7
- if (scrollableNodeRef.current) {
8
- scrollableNodeRef.current.scrollBy({
9
- top: wheelDeltaY,
10
- });
11
- }
12
- // eslint-disable-next-line react-hooks/exhaustive-deps
13
- }, [wheelDeltaY]);
14
- };
15
-
16
- export { useOutsideScroll };
17
- //# sourceMappingURL=use-outside-scroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-outside-scroll.js","sources":["../../../src/desktop/hooks/use-outside-scroll.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ninterface Params {\n scrollableNodeRef: RefObject<HTMLDivElement>;\n wheelDeltaY: number;\n}\n\n/** Изменение позиции скролла */\nexport const useOutsideScroll = (params: Params) => {\n const { scrollableNodeRef, wheelDeltaY } = params;\n\n useEffect(() => {\n if (scrollableNodeRef.current) {\n scrollableNodeRef.current.scrollBy({\n top: wheelDeltaY,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [wheelDeltaY]);\n};\n"],"names":[],"mappings":";;AAOA;AACO,IAAM,gBAAgB,GAAG,UAAC,MAAc,EAAA;IACnC,IAAA,iBAAiB,GAAkB,MAAM,CAAA,iBAAxB,EAAE,WAAW,GAAK,MAAM,CAAA,WAAX;AAEtC,IAAA,SAAS,CAAC,YAAA;AACN,QAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC3B,YAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC/B,gBAAA,GAAG,EAAE,WAAW;AACnB,aAAA,CAAC;;;AAGV,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AACrB;;;;"}
@@ -1,5 +0,0 @@
1
- import { type WheelEvent } from 'react';
2
- export declare const useModalWheel: (overlay: boolean) => {
3
- wheelDeltaY: number;
4
- handleWheel: (e: WheelEvent<HTMLElement>) => void;
5
- };
@@ -1,16 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- var useModalWheel = function (overlay) {
4
- var _a = useState(0), wheelDeltaY = _a[0], setWheelDeltaY = _a[1];
5
- // передаем e.deltaY от события на элементе dialog компонента base-modal
6
- var handleWheel = function (e) {
7
- var target = e.target;
8
- if (target.getAttribute('role') === 'dialog' && overlay) {
9
- setWheelDeltaY(e.deltaY);
10
- }
11
- };
12
- return { wheelDeltaY: wheelDeltaY, handleWheel: handleWheel };
13
- };
14
-
15
- export { useModalWheel };
16
- //# sourceMappingURL=useModalWheel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModalWheel.js","sources":["../../../src/desktop/hooks/useModalWheel.ts"],"sourcesContent":["import { useState, type WheelEvent } from 'react';\n\nexport const useModalWheel = (overlay: boolean) => {\n const [wheelDeltaY, setWheelDeltaY] = useState<number>(0);\n\n // передаем e.deltaY от события на элементе dialog компонента base-modal\n const handleWheel = (e: WheelEvent<HTMLElement>) => {\n const target = e.target as HTMLDivElement;\n\n if (target.getAttribute('role') === 'dialog' && overlay) {\n setWheelDeltaY(e.deltaY);\n }\n };\n\n return { wheelDeltaY, handleWheel };\n};\n"],"names":[],"mappings":";;AAEO,IAAM,aAAa,GAAG,UAAC,OAAgB,EAAA;IACpC,IAAA,EAAA,GAAgC,QAAQ,CAAS,CAAC,CAAC,EAAlD,WAAW,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,GAAA,EAAA,CAAA,CAAA,CAAuB;;IAGzD,IAAM,WAAW,GAAG,UAAC,CAA0B,EAAA;AAC3C,QAAA,IAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QAEzC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,EAAE;AACrD,YAAA,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;;AAEhC,KAAC;AAED,IAAA,OAAO,EAAE,WAAW,EAAA,WAAA,EAAE,WAAW,EAAA,WAAA,EAAE;AACvC;;;;"}
@@ -1,8 +0,0 @@
1
- import { type RefObject } from 'react';
2
- interface Params {
3
- scrollableNodeRef: RefObject<HTMLDivElement>;
4
- wheelDeltaY: number;
5
- }
6
- /** Изменение позиции скролла */
7
- export declare const useOutsideScroll: (params: Params) => void;
8
- export {};
@@ -1,17 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- /** Изменение позиции скролла */
4
- const useOutsideScroll = (params) => {
5
- const { scrollableNodeRef, wheelDeltaY } = params;
6
- useEffect(() => {
7
- if (scrollableNodeRef.current) {
8
- scrollableNodeRef.current.scrollBy({
9
- top: wheelDeltaY,
10
- });
11
- }
12
- // eslint-disable-next-line react-hooks/exhaustive-deps
13
- }, [wheelDeltaY]);
14
- };
15
-
16
- export { useOutsideScroll };
17
- //# sourceMappingURL=use-outside-scroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-outside-scroll.js","sources":["../../../src/desktop/hooks/use-outside-scroll.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ninterface Params {\n scrollableNodeRef: RefObject<HTMLDivElement>;\n wheelDeltaY: number;\n}\n\n/** Изменение позиции скролла */\nexport const useOutsideScroll = (params: Params) => {\n const { scrollableNodeRef, wheelDeltaY } = params;\n\n useEffect(() => {\n if (scrollableNodeRef.current) {\n scrollableNodeRef.current.scrollBy({\n top: wheelDeltaY,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [wheelDeltaY]);\n};\n"],"names":[],"mappings":";;AAOA;AACa,MAAA,gBAAgB,GAAG,CAAC,MAAc,KAAI;AAC/C,IAAA,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,MAAM;IAEjD,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC3B,YAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC/B,gBAAA,GAAG,EAAE,WAAW;AACnB,aAAA,CAAC;;;AAGV,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AACrB;;;;"}
@@ -1,5 +0,0 @@
1
- import { type WheelEvent } from 'react';
2
- export declare const useModalWheel: (overlay: boolean) => {
3
- wheelDeltaY: number;
4
- handleWheel: (e: WheelEvent<HTMLElement>) => void;
5
- };
@@ -1,16 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- const useModalWheel = (overlay) => {
4
- const [wheelDeltaY, setWheelDeltaY] = useState(0);
5
- // передаем e.deltaY от события на элементе dialog компонента base-modal
6
- const handleWheel = (e) => {
7
- const target = e.target;
8
- if (target.getAttribute('role') === 'dialog' && overlay) {
9
- setWheelDeltaY(e.deltaY);
10
- }
11
- };
12
- return { wheelDeltaY, handleWheel };
13
- };
14
-
15
- export { useModalWheel };
16
- //# sourceMappingURL=useModalWheel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModalWheel.js","sources":["../../../src/desktop/hooks/useModalWheel.ts"],"sourcesContent":["import { useState, type WheelEvent } from 'react';\n\nexport const useModalWheel = (overlay: boolean) => {\n const [wheelDeltaY, setWheelDeltaY] = useState<number>(0);\n\n // передаем e.deltaY от события на элементе dialog компонента base-modal\n const handleWheel = (e: WheelEvent<HTMLElement>) => {\n const target = e.target as HTMLDivElement;\n\n if (target.getAttribute('role') === 'dialog' && overlay) {\n setWheelDeltaY(e.deltaY);\n }\n };\n\n return { wheelDeltaY, handleWheel };\n};\n"],"names":[],"mappings":";;AAEa,MAAA,aAAa,GAAG,CAAC,OAAgB,KAAI;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC;;AAGzD,IAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;AAC/C,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QAEzC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,EAAE;AACrD,YAAA,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;;AAEhC,KAAC;AAED,IAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE;AACvC;;;;"}
@@ -1,8 +0,0 @@
1
- import { type RefObject } from 'react';
2
- interface Params {
3
- scrollableNodeRef: RefObject<HTMLDivElement>;
4
- wheelDeltaY: number;
5
- }
6
- /** Изменение позиции скролла */
7
- export declare const useOutsideScroll: (params: Params) => void;
8
- export {};
@@ -1,17 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- /** Изменение позиции скролла */
4
- const useOutsideScroll = (params) => {
5
- const { scrollableNodeRef, wheelDeltaY } = params;
6
- useEffect(() => {
7
- if (scrollableNodeRef.current) {
8
- scrollableNodeRef.current.scrollBy({
9
- top: wheelDeltaY,
10
- });
11
- }
12
- // eslint-disable-next-line react-hooks/exhaustive-deps
13
- }, [wheelDeltaY]);
14
- };
15
-
16
- export { useOutsideScroll };
17
- //# sourceMappingURL=use-outside-scroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-outside-scroll.js","sources":["../../../src/desktop/hooks/use-outside-scroll.ts"],"sourcesContent":["import { type RefObject, useEffect } from 'react';\n\ninterface Params {\n scrollableNodeRef: RefObject<HTMLDivElement>;\n wheelDeltaY: number;\n}\n\n/** Изменение позиции скролла */\nexport const useOutsideScroll = (params: Params) => {\n const { scrollableNodeRef, wheelDeltaY } = params;\n\n useEffect(() => {\n if (scrollableNodeRef.current) {\n scrollableNodeRef.current.scrollBy({\n top: wheelDeltaY,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [wheelDeltaY]);\n};\n"],"names":[],"mappings":";;AAOA;AACa,MAAA,gBAAgB,GAAG,CAAC,MAAc,KAAI;AAC/C,IAAA,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,MAAM;IAEjD,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC3B,YAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC/B,gBAAA,GAAG,EAAE,WAAW;AACnB,aAAA,CAAC;;;AAGV,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AACrB;;;;"}
@@ -1,5 +0,0 @@
1
- import { type WheelEvent } from 'react';
2
- export declare const useModalWheel: (overlay: boolean) => {
3
- wheelDeltaY: number;
4
- handleWheel: (e: WheelEvent<HTMLElement>) => void;
5
- };
@@ -1,16 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- const useModalWheel = (overlay) => {
4
- const [wheelDeltaY, setWheelDeltaY] = useState(0);
5
- // передаем e.deltaY от события на элементе dialog компонента base-modal
6
- const handleWheel = (e) => {
7
- const target = e.target;
8
- if (target.getAttribute('role') === 'dialog' && overlay) {
9
- setWheelDeltaY(e.deltaY);
10
- }
11
- };
12
- return { wheelDeltaY, handleWheel };
13
- };
14
-
15
- export { useModalWheel };
16
- //# sourceMappingURL=useModalWheel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useModalWheel.js","sources":["../../../src/desktop/hooks/useModalWheel.ts"],"sourcesContent":["import { useState, type WheelEvent } from 'react';\n\nexport const useModalWheel = (overlay: boolean) => {\n const [wheelDeltaY, setWheelDeltaY] = useState<number>(0);\n\n // передаем e.deltaY от события на элементе dialog компонента base-modal\n const handleWheel = (e: WheelEvent<HTMLElement>) => {\n const target = e.target as HTMLDivElement;\n\n if (target.getAttribute('role') === 'dialog' && overlay) {\n setWheelDeltaY(e.deltaY);\n }\n };\n\n return { wheelDeltaY, handleWheel };\n};\n"],"names":[],"mappings":";;AAEa,MAAA,aAAa,GAAG,CAAC,OAAgB,KAAI;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC;;AAGzD,IAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;AAC/C,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QAEzC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,EAAE;AACrD,YAAA,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;;AAEhC,KAAC;AAED,IAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE;AACvC;;;;"}
@@ -1,20 +0,0 @@
1
- import { type RefObject, useEffect } from 'react';
2
-
3
- interface Params {
4
- scrollableNodeRef: RefObject<HTMLDivElement>;
5
- wheelDeltaY: number;
6
- }
7
-
8
- /** Изменение позиции скролла */
9
- export const useOutsideScroll = (params: Params) => {
10
- const { scrollableNodeRef, wheelDeltaY } = params;
11
-
12
- useEffect(() => {
13
- if (scrollableNodeRef.current) {
14
- scrollableNodeRef.current.scrollBy({
15
- top: wheelDeltaY,
16
- });
17
- }
18
- // eslint-disable-next-line react-hooks/exhaustive-deps
19
- }, [wheelDeltaY]);
20
- };
@@ -1,16 +0,0 @@
1
- import { useState, type WheelEvent } from 'react';
2
-
3
- export const useModalWheel = (overlay: boolean) => {
4
- const [wheelDeltaY, setWheelDeltaY] = useState<number>(0);
5
-
6
- // передаем e.deltaY от события на элементе dialog компонента base-modal
7
- const handleWheel = (e: WheelEvent<HTMLElement>) => {
8
- const target = e.target as HTMLDivElement;
9
-
10
- if (target.getAttribute('role') === 'dialog' && overlay) {
11
- setWheelDeltaY(e.deltaY);
12
- }
13
- };
14
-
15
- return { wheelDeltaY, handleWheel };
16
- };