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

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 +11 -16
  20. package/components/header/desktop/desktop.module.css.js +1 -1
  21. package/components/header/mobile/mobile.css +9 -12
  22. package/components/header/mobile/mobile.module.css.js +1 -1
  23. package/cssm/components/header/desktop/desktop.module.css +6 -11
  24. package/cssm/components/header/mobile/mobile.module.css +6 -9
  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 +11 -16
  88. package/esm/components/header/desktop/desktop.module.css.js +1 -1
  89. package/esm/components/header/mobile/mobile.css +9 -12
  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 +11 -16
  154. package/modern/components/header/desktop/desktop.module.css.js +1 -1
  155. package/modern/components/header/mobile/mobile.css +9 -12
  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 +4 -8
  196. package/moderncssm/components/header/mobile/mobile.module.css +4 -6
  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
@@ -1 +1 @@
1
- {"version":3,"file":"modal-content.js","sources":["../../../../src/desktop/components/modal-content/modal-content.tsx"],"sourcesContent":["import React, { type FC, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type BaseModalProps } from '@alfalab/core-components-base-modal';\nimport { Scrollbar } from '@alfalab/core-components-scrollbar';\n\nimport { useModalHighlighted } from '../../hooks/use-modal-highlighted';\nimport { useOutsideScroll } from '../../hooks/use-outside-scroll';\nimport { useSetScrollbarHeight } from '../../hooks/use-set-scrollbar-height';\nimport { type UniversalModalDesktopProps } from '../../types/props';\nimport { setFooterAndHeaderRefs } from '../../utils/set-footer-and-header-refs';\n\nimport styles from './modal-content.module.css';\n\ninterface Props\n extends Pick<BaseModalProps, 'children'>,\n Pick<UniversalModalDesktopProps, 'height' | 'scrollableContainerRef'> {\n wheelDeltaY: number;\n}\n\nexport const ModalContent: FC<Props> = (props) => {\n const { children, wheelDeltaY, height, scrollableContainerRef = null } = props;\n\n const scrollableNodeRef = useRef<HTMLDivElement>(null);\n const scrollbarContentNodeRef = useRef<HTMLDivElement>(null);\n const scrollbarRef = useRef<HTMLDivElement | null>(null);\n const verticalBarRef = useRef<HTMLDivElement>(null);\n const headerElementRef = useRef<HTMLDivElement>(null);\n const footerElementRef = useRef<HTMLDivElement | null>(null);\n\n const { handleScroll } = useModalHighlighted({ scrollbarContentNodeRef, scrollableNodeRef });\n\n useOutsideScroll({ scrollableNodeRef, wheelDeltaY });\n\n const { enhancedChildren } = setFooterAndHeaderRefs({\n children,\n headerElementRef,\n footerElementRef,\n });\n\n useSetScrollbarHeight({ scrollbarRef, verticalBarRef, headerElementRef, footerElementRef });\n\n return (\n <Scrollbar\n className={styles.scrollable}\n ref={scrollbarRef}\n verticalBarRef={verticalBarRef}\n scrollableNodeProps={{\n ref: mergeRefs([scrollableNodeRef, scrollableContainerRef]),\n className: styles.scrollableNode,\n }}\n contentNodeProps={{\n ref: scrollbarContentNodeRef,\n className: cn(styles.contentNode, {\n [styles.hugContent]: height === 'hugContent',\n }),\n }}\n onContentScroll={handleScroll}\n >\n {enhancedChildren}\n </Scrollbar>\n );\n};\n"],"names":["useRef","useModalHighlighted","useOutsideScroll","setFooterAndHeaderRefs","useSetScrollbarHeight","React","Scrollbar","styles","mergeRefs","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBO,IAAM,YAAY,GAAc,UAAC,KAAK,EAAA;;IACjC,IAAA,QAAQ,GAAyD,KAAK,CAAA,QAA9D,EAAE,WAAW,GAA4C,KAAK,CAAA,WAAjD,EAAE,MAAM,GAAoC,KAAK,CAAA,MAAzC,EAAE,EAAA,GAAkC,KAAK,CAAA,sBAAV,EAA7B,sBAAsB,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA;AAEpE,IAAA,IAAM,iBAAiB,GAAGA,YAAM,CAAiB,IAAI,CAAC;AACtD,IAAA,IAAM,uBAAuB,GAAGA,YAAM,CAAiB,IAAI,CAAC;AAC5D,IAAA,IAAM,YAAY,GAAGA,YAAM,CAAwB,IAAI,CAAC;AACxD,IAAA,IAAM,cAAc,GAAGA,YAAM,CAAiB,IAAI,CAAC;AACnD,IAAA,IAAM,gBAAgB,GAAGA,YAAM,CAAiB,IAAI,CAAC;AACrD,IAAA,IAAM,gBAAgB,GAAGA,YAAM,CAAwB,IAAI,CAAC;AAEpD,IAAA,IAAA,YAAY,GAAKC,uCAAmB,CAAC,EAAE,uBAAuB,EAAA,uBAAA,EAAE,iBAAiB,EAAA,iBAAA,EAAE,CAAC,aAAxE;IAEpBC,iCAAgB,CAAC,EAAE,iBAAiB,EAAA,iBAAA,EAAE,WAAW,EAAA,WAAA,EAAE,CAAC;IAE5C,IAAA,gBAAgB,GAAKC,6CAAsB,CAAC;AAChD,QAAA,QAAQ,EAAA,QAAA;AACR,QAAA,gBAAgB,EAAA,gBAAA;AAChB,QAAA,gBAAgB,EAAA,gBAAA;AACnB,KAAA,CAAC,iBAJsB;AAMxB,IAAAC,2CAAqB,CAAC,EAAE,YAAY,EAAA,YAAA,EAAE,cAAc,EAAA,cAAA,EAAE,gBAAgB,kBAAA,EAAE,gBAAgB,EAAA,gBAAA,EAAE,CAAC;AAE3F,IAAA,QACIC,sBAAC,CAAA,aAAA,CAAAC,cAAS,IACN,SAAS,EAAEC,uBAAM,CAAC,UAAU,EAC5B,GAAG,EAAE,YAAY,EACjB,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE;YACjB,GAAG,EAAEC,0BAAS,CAAC,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;YAC3D,SAAS,EAAED,uBAAM,CAAC,cAAc;AACnC,SAAA,EACD,gBAAgB,EAAE;AACd,YAAA,GAAG,EAAE,uBAAuB;AAC5B,YAAA,SAAS,EAAEE,mBAAE,CAACF,uBAAM,CAAC,WAAW,GAAA,EAAA,GAAA,EAAA;AAC5B,gBAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAG,GAAA,MAAM,KAAK,YAAY;AAC9C,gBAAA,EAAA,EAAA;AACL,SAAA,EACD,eAAe,EAAE,YAAY,IAE5B,gBAAgB,CACT;AAEpB;;;;"}
1
+ {"version":3,"file":"modal-content.js","sources":["../../../../src/desktop/components/modal-content/modal-content.tsx"],"sourcesContent":["import React, { type FC, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type BaseModalProps } from '@alfalab/core-components-base-modal';\nimport { Scrollbar } from '@alfalab/core-components-scrollbar';\n\nimport { useModalHighlighted } from '../../hooks/use-modal-highlighted';\nimport { useSetScrollbarHeight } from '../../hooks/use-set-scrollbar-height';\nimport { type UniversalModalDesktopProps } from '../../types/props';\nimport { setFooterAndHeaderRefs } from '../../utils/set-footer-and-header-refs';\n\nimport styles from './modal-content.module.css';\n\ntype PickedBaseModalProps = Pick<BaseModalProps, 'children'>;\ntype PickedUniversalModalDesktopProps = Pick<\n UniversalModalDesktopProps,\n 'height' | 'scrollableContainerRef'\n>;\n\ntype Props = PickedBaseModalProps & PickedUniversalModalDesktopProps;\n\nexport const ModalContent: FC<Props> = (props) => {\n const { children, height, scrollableContainerRef = null } = props;\n\n const scrollableNodeRef = useRef<HTMLDivElement>(null);\n const scrollbarContentNodeRef = useRef<HTMLDivElement>(null);\n const scrollbarRef = useRef<HTMLDivElement | null>(null);\n const verticalBarRef = useRef<HTMLDivElement>(null);\n const headerElementRef = useRef<HTMLDivElement>(null);\n const footerElementRef = useRef<HTMLDivElement | null>(null);\n\n const { handleScroll } = useModalHighlighted({ scrollbarContentNodeRef, scrollableNodeRef });\n\n const { enhancedChildren } = setFooterAndHeaderRefs({\n children,\n headerElementRef,\n footerElementRef,\n });\n\n useSetScrollbarHeight({ scrollbarRef, verticalBarRef, headerElementRef, footerElementRef });\n\n return (\n <Scrollbar\n className={styles.scrollable}\n ref={scrollbarRef}\n verticalBarRef={verticalBarRef}\n scrollableNodeProps={{\n ref: mergeRefs([scrollableNodeRef, scrollableContainerRef]),\n className: styles.scrollableNode,\n }}\n contentNodeProps={{\n ref: scrollbarContentNodeRef,\n className: cn(styles.contentNode, {\n [styles.hugContent]: height === 'hugContent',\n }),\n }}\n onContentScroll={handleScroll}\n >\n {enhancedChildren}\n </Scrollbar>\n );\n};\n"],"names":["useRef","useModalHighlighted","setFooterAndHeaderRefs","useSetScrollbarHeight","React","Scrollbar","styles","mergeRefs","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBO,IAAM,YAAY,GAAc,UAAC,KAAK,EAAA;;AACjC,IAAA,IAAA,QAAQ,GAA4C,KAAK,SAAjD,EAAE,MAAM,GAAoC,KAAK,CAAA,MAAzC,EAAE,EAAA,GAAkC,KAAK,CAAV,sBAAA,EAA7B,sBAAsB,GAAG,EAAA,KAAA,MAAA,GAAA,IAAI,KAAA;AAEvD,IAAA,IAAM,iBAAiB,GAAGA,YAAM,CAAiB,IAAI,CAAC;AACtD,IAAA,IAAM,uBAAuB,GAAGA,YAAM,CAAiB,IAAI,CAAC;AAC5D,IAAA,IAAM,YAAY,GAAGA,YAAM,CAAwB,IAAI,CAAC;AACxD,IAAA,IAAM,cAAc,GAAGA,YAAM,CAAiB,IAAI,CAAC;AACnD,IAAA,IAAM,gBAAgB,GAAGA,YAAM,CAAiB,IAAI,CAAC;AACrD,IAAA,IAAM,gBAAgB,GAAGA,YAAM,CAAwB,IAAI,CAAC;AAEpD,IAAA,IAAA,YAAY,GAAKC,uCAAmB,CAAC,EAAE,uBAAuB,EAAA,uBAAA,EAAE,iBAAiB,EAAA,iBAAA,EAAE,CAAC,aAAxE;IAEZ,IAAA,gBAAgB,GAAKC,6CAAsB,CAAC;AAChD,QAAA,QAAQ,EAAA,QAAA;AACR,QAAA,gBAAgB,EAAA,gBAAA;AAChB,QAAA,gBAAgB,EAAA,gBAAA;AACnB,KAAA,CAAC,iBAJsB;AAMxB,IAAAC,2CAAqB,CAAC,EAAE,YAAY,EAAA,YAAA,EAAE,cAAc,EAAA,cAAA,EAAE,gBAAgB,kBAAA,EAAE,gBAAgB,EAAA,gBAAA,EAAE,CAAC;AAE3F,IAAA,QACIC,sBAAC,CAAA,aAAA,CAAAC,cAAS,IACN,SAAS,EAAEC,uBAAM,CAAC,UAAU,EAC5B,GAAG,EAAE,YAAY,EACjB,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE;YACjB,GAAG,EAAEC,0BAAS,CAAC,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;YAC3D,SAAS,EAAED,uBAAM,CAAC,cAAc;AACnC,SAAA,EACD,gBAAgB,EAAE;AACd,YAAA,GAAG,EAAE,uBAAuB;AAC5B,YAAA,SAAS,EAAEE,mBAAE,CAACF,uBAAM,CAAC,WAAW,GAAA,EAAA,GAAA,EAAA;AAC5B,gBAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAG,GAAA,MAAM,KAAK,YAAY;AAC9C,gBAAA,EAAA,EAAA;AACL,SAAA,EACD,eAAe,EAAE,YAAY,IAE5B,gBAAgB,CACT;AAEpB;;;;"}
@@ -31,9 +31,13 @@
31
31
  -webkit-backface-visibility: hidden;
32
32
  backface-visibility: hidden;
33
33
  }
34
- .component.overlayHidden {
35
- box-shadow: var(--shadow-m);
34
+ .baseModalContainer.withoutOverlay {
35
+ pointer-events: none;
36
36
  }
37
+ .baseModalContainer.withoutOverlay .baseModalComponent {
38
+ pointer-events: auto;
39
+ box-shadow: var(--shadow-m);
40
+ }
37
41
  .marginTop-0 {
38
42
  margin-top: 0px;
39
43
  }
@@ -6,7 +6,7 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var cssm = require('@alfalab/core-components-base-modal/cssm');
9
- var useModalWheel = require('../../hooks/useModalWheel.js');
9
+ var useScrollableContainerRef = require('../../hooks/use-scrollable-container-ref.js');
10
10
  var getFullSizeModalTransitions = require('../../utils/get-full-size-modal-transitions.js');
11
11
  var getHeightStyle = require('../../utils/get-height-style.js');
12
12
  var getMarginStyles = require('../../utils/get-margin-styles.js');
@@ -22,24 +22,29 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
22
22
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
23
23
 
24
24
  var SideModal = React.forwardRef(function (props, ref) {
25
- var _a, _b;
26
- var _c = props.width, width = _c === void 0 ? 500 : _c, _d = props.height, height = _d === void 0 ? 'fullHeight' : _d, _e = props.horizontalAlign, horizontalAlign = _e === void 0 ? 'center' : _e, _f = props.verticalAlign, verticalAlign = _f === void 0 ? 'center' : _f, _g = props.overlay, overlay = _g === void 0 ? true : _g, open = props.open, dataTestId = props.dataTestId, className = props.className, children = props.children, margin = props.margin, scrollableContainerRef = props.scrollableContainerRef, onClose = props.onClose, restProps = tslib.__rest(props, ["width", "height", "horizontalAlign", "verticalAlign", "overlay", "open", "dataTestId", "className", "children", "margin", "scrollableContainerRef", "onClose"]);
25
+ var _a;
26
+ var _b = props.width, width = _b === void 0 ? 500 : _b, _c = props.height, height = _c === void 0 ? 'fullHeight' : _c, _d = props.horizontalAlign, horizontalAlign = _d === void 0 ? 'center' : _d, _e = props.verticalAlign, verticalAlign = _e === void 0 ? 'center' : _e, _f = props.overlay, overlay = _f === void 0 ? true : _f, open = props.open, dataTestId = props.dataTestId, className = props.className, children = props.children, margin = props.margin, scrollableContainerRefProp = props.scrollableContainerRef, onClose = props.onClose, restProps = tslib.__rest(props, ["width", "height", "horizontalAlign", "verticalAlign", "overlay", "open", "dataTestId", "className", "children", "margin", "scrollableContainerRef", "onClose"]);
27
27
  var componentRef = React.useRef(null);
28
28
  var contentRef = React.useRef(null);
29
- var _h = useModalWheel.useModalWheel(overlay), wheelDeltaY = _h.wheelDeltaY, handleWheel = _h.handleWheel;
30
- var _j = getFullSizeModalTransitions.getFullSizeModalTransitions({ verticalAlign: verticalAlign, width: width, height: height }), isFullSizeModal = _j.isFullSizeModal, fullSizeModalContentTransitions = _j.componentTransitions, fullSizeModalBackdropTransitions = _j.backdropTransitions;
31
- return (React__default.default.createElement(cssm.BaseModal, tslib.__assign({}, restProps, { open: open, dataTestId: dataTestId, ref: ref, componentRef: componentRef, contentElementRef: contentRef, scrollHandler: 'content', disableBlockingScroll: !overlay, wrapperClassName: cn__default.default(styles__default.default.wrapper, (_a = {},
29
+ var _g = useScrollableContainerRef.useScrollableContainerRef({
30
+ overlay: overlay,
31
+ refObject: scrollableContainerRefProp,
32
+ }), handleWheel = _g.handleWheel, scrollableContainerRef = _g.scrollableContainerRef;
33
+ var _h = getFullSizeModalTransitions.getFullSizeModalTransitions({ verticalAlign: verticalAlign, width: width, height: height }), isFullSizeModal = _h.isFullSizeModal, fullSizeModalContentTransitions = _h.componentTransitions, fullSizeModalBackdropTransitions = _h.backdropTransitions;
34
+ var withoutOverlay = !overlay;
35
+ return (React__default.default.createElement(cssm.BaseModal, tslib.__assign({}, restProps, { open: open, dataTestId: dataTestId, ref: ref, componentRef: componentRef, contentElementRef: contentRef, scrollHandler: 'content', disableBlockingScroll: withoutOverlay, wrapperClassName: cn__default.default(styles__default.default.wrapper, styles__default.default.baseModalContainer, (_a = {},
32
36
  _a[styles__default.default.wrapperAlignStart] = horizontalAlign === 'start',
33
37
  _a[styles__default.default.wrapperAlignEnd] = horizontalAlign === 'end',
34
38
  _a[styles__default.default.wrapperJustifyCenter] = verticalAlign === 'center',
35
39
  _a[styles__default.default.wrapperJustifyEnd] = verticalAlign === 'bottom',
36
- _a)), className: cn__default.default(styles__default.default.component, className, tslib.__assign((_b = {}, _b[styles__default.default.overlayHidden] = !overlay, _b), getMarginStyles.getMarginStyles({ styles: styles__default.default, margin: margin }))), contentClassName: styles__default.default.content, transitionProps: tslib.__assign(tslib.__assign(tslib.__assign({}, getDefaultTransitionProps.getDefaultTransitionProps({
40
+ _a[styles__default.default.withoutOverlay] = withoutOverlay,
41
+ _a)), className: cn__default.default(styles__default.default.component, className, styles__default.default.baseModalComponent, tslib.__assign({}, getMarginStyles.getMarginStyles({ styles: styles__default.default, margin: margin }))), contentClassName: styles__default.default.content, transitionProps: tslib.__assign(tslib.__assign(tslib.__assign({}, getDefaultTransitionProps.getDefaultTransitionProps({
37
42
  horizontalAlign: horizontalAlign,
38
43
  margin: margin,
39
- })), (isFullSizeModal && fullSizeModalContentTransitions)), restProps.transitionProps), backdropProps: tslib.__assign(tslib.__assign({ transparent: !overlay }, (isFullSizeModal && fullSizeModalBackdropTransitions)), restProps.backdropProps), componentDivProps: {
44
+ })), (isFullSizeModal && fullSizeModalContentTransitions)), restProps.transitionProps), backdropProps: tslib.__assign(tslib.__assign({ shouldRender: overlay }, (isFullSizeModal && fullSizeModalBackdropTransitions)), restProps.backdropProps), componentDivProps: {
40
45
  style: tslib.__assign({ width: getWidthStyle.getWidthStyle(width, margin) }, getHeightStyle.getHeightStyle(height, margin)),
41
46
  }, onWheel: handleWheel, onClose: onClose }),
42
- React__default.default.createElement(modalContent.ModalContent, { height: height, wheelDeltaY: wheelDeltaY, scrollableContainerRef: scrollableContainerRef }, children)));
47
+ React__default.default.createElement(modalContent.ModalContent, { height: height, scrollableContainerRef: scrollableContainerRef }, children)));
43
48
  });
44
49
 
45
50
  exports.SideModal = SideModal;
@@ -1 +1 @@
1
- {"version":3,"file":"side-modal.js","sources":["../../../../src/desktop/components/side-modal/side-modal.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { useModalWheel } from '../../hooks/useModalWheel';\nimport { type UniversalModalDesktopProps } from '../../types/props';\nimport { getFullSizeModalTransitions } from '../../utils/get-full-size-modal-transitions';\nimport { getHeightStyle } from '../../utils/get-height-style';\nimport { getMarginStyles } from '../../utils/get-margin-styles';\nimport { getWidthStyle } from '../../utils/get-width-style';\nimport { ModalContent } from '../modal-content/modal-content';\n\nimport { getDefaultTransitionProps } from './get-default-transition-props';\n\nimport styles from './index.module.css';\n\nexport const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>((props, ref) => {\n const {\n width = 500,\n height = 'fullHeight',\n horizontalAlign = 'center',\n verticalAlign = 'center',\n overlay = true,\n open,\n dataTestId,\n className,\n children,\n margin,\n scrollableContainerRef,\n onClose,\n ...restProps\n } = props;\n const componentRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const { wheelDeltaY, handleWheel } = useModalWheel(overlay);\n\n const {\n isFullSizeModal,\n componentTransitions: fullSizeModalContentTransitions,\n backdropTransitions: fullSizeModalBackdropTransitions,\n } = getFullSizeModalTransitions({ verticalAlign, width, height });\n\n return (\n <BaseModal\n {...restProps}\n open={open}\n dataTestId={dataTestId}\n ref={ref}\n componentRef={componentRef}\n contentElementRef={contentRef}\n scrollHandler='content'\n disableBlockingScroll={!overlay}\n wrapperClassName={cn(styles.wrapper, {\n [styles.wrapperAlignStart]: horizontalAlign === 'start',\n [styles.wrapperAlignEnd]: horizontalAlign === 'end',\n [styles.wrapperJustifyCenter]: verticalAlign === 'center',\n [styles.wrapperJustifyEnd]: verticalAlign === 'bottom',\n })}\n className={cn(styles.component, className, {\n [styles.overlayHidden]: !overlay,\n ...getMarginStyles({ styles, margin }),\n })}\n contentClassName={styles.content}\n transitionProps={{\n ...getDefaultTransitionProps({\n horizontalAlign,\n margin,\n }),\n ...(isFullSizeModal && fullSizeModalContentTransitions),\n ...restProps.transitionProps,\n }}\n backdropProps={{\n transparent: !overlay,\n ...(isFullSizeModal && fullSizeModalBackdropTransitions),\n ...restProps.backdropProps,\n }}\n componentDivProps={{\n style: {\n width: getWidthStyle(width, margin),\n ...getHeightStyle(height, margin),\n },\n }}\n onWheel={handleWheel}\n onClose={onClose}\n >\n <ModalContent\n height={height}\n wheelDeltaY={wheelDeltaY}\n scrollableContainerRef={scrollableContainerRef}\n >\n {children}\n </ModalContent>\n </BaseModal>\n );\n});\n"],"names":["forwardRef","__rest","useRef","useModalWheel","getFullSizeModalTransitions","React","BaseModal","cn","styles","__assign","getMarginStyles","getDefaultTransitionProps","getWidthStyle","getHeightStyle","ModalContent"],"mappings":"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"}
1
+ {"version":3,"file":"side-modal.js","sources":["../../../../src/desktop/components/side-modal/side-modal.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { useScrollableContainerRef } from '../../hooks/use-scrollable-container-ref';\nimport { type UniversalModalDesktopProps } from '../../types/props';\nimport { getFullSizeModalTransitions } from '../../utils/get-full-size-modal-transitions';\nimport { getHeightStyle } from '../../utils/get-height-style';\nimport { getMarginStyles } from '../../utils/get-margin-styles';\nimport { getWidthStyle } from '../../utils/get-width-style';\nimport { ModalContent } from '../modal-content/modal-content';\n\nimport { getDefaultTransitionProps } from './get-default-transition-props';\n\nimport styles from './index.module.css';\n\nexport const SideModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>((props, ref) => {\n const {\n width = 500,\n height = 'fullHeight',\n horizontalAlign = 'center',\n verticalAlign = 'center',\n overlay = true,\n open,\n dataTestId,\n className,\n children,\n margin,\n scrollableContainerRef: scrollableContainerRefProp,\n onClose,\n ...restProps\n } = props;\n const componentRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const { handleWheel, scrollableContainerRef } = useScrollableContainerRef({\n overlay,\n refObject: scrollableContainerRefProp,\n });\n\n const {\n isFullSizeModal,\n componentTransitions: fullSizeModalContentTransitions,\n backdropTransitions: fullSizeModalBackdropTransitions,\n } = getFullSizeModalTransitions({ verticalAlign, width, height });\n\n const withoutOverlay = !overlay;\n\n return (\n <BaseModal\n {...restProps}\n open={open}\n dataTestId={dataTestId}\n ref={ref}\n componentRef={componentRef}\n contentElementRef={contentRef}\n scrollHandler='content'\n disableBlockingScroll={withoutOverlay}\n wrapperClassName={cn(styles.wrapper, styles.baseModalContainer, {\n [styles.wrapperAlignStart]: horizontalAlign === 'start',\n [styles.wrapperAlignEnd]: horizontalAlign === 'end',\n [styles.wrapperJustifyCenter]: verticalAlign === 'center',\n [styles.wrapperJustifyEnd]: verticalAlign === 'bottom',\n [styles.withoutOverlay]: withoutOverlay,\n })}\n className={cn(styles.component, className, styles.baseModalComponent, {\n ...getMarginStyles({ styles, margin }),\n })}\n contentClassName={styles.content}\n transitionProps={{\n ...getDefaultTransitionProps({\n horizontalAlign,\n margin,\n }),\n ...(isFullSizeModal && fullSizeModalContentTransitions),\n ...restProps.transitionProps,\n }}\n backdropProps={{\n shouldRender: overlay,\n ...(isFullSizeModal && fullSizeModalBackdropTransitions),\n ...restProps.backdropProps,\n }}\n componentDivProps={{\n style: {\n width: getWidthStyle(width, margin),\n ...getHeightStyle(height, margin),\n },\n }}\n onWheel={handleWheel}\n onClose={onClose}\n >\n <ModalContent height={height} scrollableContainerRef={scrollableContainerRef}>\n {children}\n </ModalContent>\n </BaseModal>\n );\n});\n"],"names":["forwardRef","__rest","useRef","useScrollableContainerRef","getFullSizeModalTransitions","React","BaseModal","__assign","cn","styles","getMarginStyles","getDefaultTransitionProps","getWidthStyle","getHeightStyle","ModalContent"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type RefObject, type WheelEvent } from 'react';
2
+ interface Params {
3
+ overlay: boolean;
4
+ refObject?: RefObject<HTMLDivElement>;
5
+ }
6
+ export declare const useScrollableContainerRef: ({ overlay, refObject }: Params) => {
7
+ handleWheel: (e: WheelEvent<HTMLElement>) => void;
8
+ scrollableContainerRef: RefObject<HTMLDivElement>;
9
+ };
10
+ export {};
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ var useScrollableContainerRef = function (_a) {
8
+ var overlay = _a.overlay, refObject = _a.refObject;
9
+ var innerScrollableContainerRef = React.useRef(null);
10
+ var scrollableContainerRef = refObject || innerScrollableContainerRef;
11
+ var handleWheel = React.useCallback(function (e) {
12
+ var _a;
13
+ if (!overlay || e.target !== e.currentTarget) {
14
+ return;
15
+ }
16
+ (_a = scrollableContainerRef.current) === null || _a === void 0 ? void 0 : _a.scrollBy({
17
+ top: e.deltaY,
18
+ });
19
+ }, [overlay, scrollableContainerRef]);
20
+ return {
21
+ handleWheel: handleWheel,
22
+ scrollableContainerRef: scrollableContainerRef,
23
+ };
24
+ };
25
+
26
+ exports.useScrollableContainerRef = useScrollableContainerRef;
27
+ //# sourceMappingURL=use-scrollable-container-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-scrollable-container-ref.js","sources":["../../../src/desktop/hooks/use-scrollable-container-ref.ts"],"sourcesContent":["import { type RefObject, useCallback, useRef, type WheelEvent } from 'react';\n\ninterface Params {\n overlay: boolean;\n refObject?: RefObject<HTMLDivElement>;\n}\n\nexport const useScrollableContainerRef = ({ overlay, refObject }: Params) => {\n const innerScrollableContainerRef = useRef<HTMLDivElement>(null);\n const scrollableContainerRef = refObject || innerScrollableContainerRef;\n\n const handleWheel = useCallback(\n (e: WheelEvent<HTMLElement>) => {\n if (!overlay || e.target !== e.currentTarget) {\n return;\n }\n\n scrollableContainerRef.current?.scrollBy({\n top: e.deltaY,\n });\n },\n [overlay, scrollableContainerRef],\n );\n\n return {\n handleWheel,\n scrollableContainerRef,\n };\n};\n"],"names":["useRef","useCallback"],"mappings":";;;;;;AAOO,IAAM,yBAAyB,GAAG,UAAC,EAA8B,EAAA;QAA5B,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;AAC1D,IAAA,IAAM,2BAA2B,GAAGA,YAAM,CAAiB,IAAI,CAAC;AAChE,IAAA,IAAM,sBAAsB,GAAG,SAAS,IAAI,2BAA2B;AAEvE,IAAA,IAAM,WAAW,GAAGC,iBAAW,CAC3B,UAAC,CAA0B,EAAA;;QACvB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,EAAE;YAC1C;;AAGJ,QAAA,CAAA,EAAA,GAAA,sBAAsB,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;YACrC,GAAG,EAAE,CAAC,CAAC,MAAM;AAChB,SAAA,CAAC;AACN,KAAC,EACD,CAAC,OAAO,EAAE,sBAAsB,CAAC,CACpC;IAED,OAAO;AACH,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,sBAAsB,EAAA,sBAAA;KACzB;AACL;;;;"}
@@ -7,7 +7,7 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal');
9
9
  var coreComponentsShared = require('@alfalab/core-components-shared');
10
- var useModalWheel = require('../../hooks/useModalWheel.js');
10
+ var useScrollableContainerRef = require('../../hooks/use-scrollable-container-ref.js');
11
11
  var getFullSizeModalTransitions = require('../../utils/get-full-size-modal-transitions.js');
12
12
  var getHeightStyle = require('../../utils/get-height-style.js');
13
13
  var getMarginStyles = require('../../utils/get-margin-styles.js');
@@ -25,19 +25,24 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
25
25
  // в safari некорректно отрабатывает transform:scale (???), поэтому применяем немного другую анимацию
26
26
  var transitionProps = coreComponentsShared.isMacOS() && coreComponentsShared.isSafari() ? safariTransitions_module : transitions_module;
27
27
  var CenterModal = React.forwardRef(function (props, ref) {
28
- var _a, _b;
29
- var dataTestId = props.dataTestId, className = props.className, open = props.open, children = props.children, _c = props.width, width = _c === void 0 ? 500 : _c, _d = props.height, height = _d === void 0 ? 'hugContent' : _d, _e = props.verticalAlign, verticalAlign = _e === void 0 ? 'center' : _e, _f = props.overlay, overlay = _f === void 0 ? true : _f, margin = props.margin, scrollableContainerRef = props.scrollableContainerRef, onClose = props.onClose, restProps = tslib.__rest(props, ["dataTestId", "className", "open", "children", "width", "height", "verticalAlign", "overlay", "margin", "scrollableContainerRef", "onClose"]);
28
+ var _a;
29
+ var dataTestId = props.dataTestId, className = props.className, open = props.open, children = props.children, _b = props.width, width = _b === void 0 ? 500 : _b, _c = props.height, height = _c === void 0 ? 'hugContent' : _c, _d = props.verticalAlign, verticalAlign = _d === void 0 ? 'center' : _d, _e = props.overlay, overlay = _e === void 0 ? true : _e, margin = props.margin, scrollableContainerRefProp = props.scrollableContainerRef, onClose = props.onClose, restProps = tslib.__rest(props, ["dataTestId", "className", "open", "children", "width", "height", "verticalAlign", "overlay", "margin", "scrollableContainerRef", "onClose"]);
30
30
  var componentRef = React.useRef(null);
31
- var _g = useModalWheel.useModalWheel(overlay), wheelDeltaY = _g.wheelDeltaY, handleWheel = _g.handleWheel;
32
- var _h = getFullSizeModalTransitions.getFullSizeModalTransitions({ verticalAlign: verticalAlign, width: width, height: height }), isFullSizeModal = _h.isFullSizeModal, fullSizeModalContentTransitions = _h.componentTransitions, fullSizeModalBackdropTransitions = _h.backdropTransitions;
33
- return (React__default.default.createElement(coreComponentsBaseModal.BaseModal, tslib.__assign({}, restProps, { open: open, dataTestId: dataTestId, ref: ref, componentRef: componentRef, scrollHandler: 'content', disableBlockingScroll: !overlay, wrapperClassName: cn__default.default((_a = {},
31
+ var _f = useScrollableContainerRef.useScrollableContainerRef({
32
+ overlay: overlay,
33
+ refObject: scrollableContainerRefProp,
34
+ }), handleWheel = _f.handleWheel, scrollableContainerRef = _f.scrollableContainerRef;
35
+ var _g = getFullSizeModalTransitions.getFullSizeModalTransitions({ verticalAlign: verticalAlign, width: width, height: height }), isFullSizeModal = _g.isFullSizeModal, fullSizeModalContentTransitions = _g.componentTransitions, fullSizeModalBackdropTransitions = _g.backdropTransitions;
36
+ var withoutOverlay = !overlay;
37
+ return (React__default.default.createElement(coreComponentsBaseModal.BaseModal, tslib.__assign({}, restProps, { open: open, dataTestId: dataTestId, ref: ref, componentRef: componentRef, scrollHandler: 'content', disableBlockingScroll: withoutOverlay, wrapperClassName: cn__default.default(index_module.baseModalContainer, (_a = {},
34
38
  _a[index_module.wrapperJustifyStart] = verticalAlign === 'top',
35
39
  _a[index_module.wrapperJustifyCenter] = verticalAlign === 'center',
36
40
  _a[index_module.wrapperJustifyEnd] = verticalAlign === 'bottom',
37
- _a)), className: cn__default.default(index_module.component, className, tslib.__assign((_b = {}, _b[index_module.overlayHidden] = !overlay, _b), getMarginStyles.getMarginStyles({ styles: index_module, margin: margin }))), transitionProps: tslib.__assign(tslib.__assign({ classNames: transitionProps }, (isFullSizeModal && fullSizeModalContentTransitions)), restProps.transitionProps), backdropProps: tslib.__assign(tslib.__assign({ transparent: !overlay }, (isFullSizeModal && fullSizeModalBackdropTransitions)), restProps.backdropProps), componentDivProps: {
41
+ _a[index_module.withoutOverlay] = withoutOverlay,
42
+ _a)), className: cn__default.default(index_module.component, className, index_module.baseModalComponent, tslib.__assign({}, getMarginStyles.getMarginStyles({ styles: index_module, margin: margin }))), transitionProps: tslib.__assign(tslib.__assign({ classNames: transitionProps }, (isFullSizeModal && fullSizeModalContentTransitions)), restProps.transitionProps), backdropProps: tslib.__assign(tslib.__assign({ shouldRender: overlay }, (isFullSizeModal && fullSizeModalBackdropTransitions)), restProps.backdropProps), componentDivProps: {
38
43
  style: tslib.__assign({ width: getWidthStyle.getWidthStyle(width, margin) }, getHeightStyle.getHeightStyle(height, margin)),
39
44
  }, onWheel: handleWheel, onClose: onClose }),
40
- React__default.default.createElement(modalContent.ModalContent, { height: height, wheelDeltaY: wheelDeltaY, scrollableContainerRef: scrollableContainerRef }, children)));
45
+ React__default.default.createElement(modalContent.ModalContent, { height: height, scrollableContainerRef: scrollableContainerRef }, children)));
41
46
  });
42
47
 
43
48
  exports.CenterModal = CenterModal;
@@ -1 +1 @@
1
- {"version":3,"file":"center-modal.js","sources":["../../../src/desktop/components/center-modal/center-modal.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\nimport { isMacOS, isSafari } from '@alfalab/core-components-shared';\n\nimport { useModalWheel } from '../../hooks/useModalWheel';\nimport { type UniversalModalDesktopProps } from '../../types/props';\nimport { getFullSizeModalTransitions } from '../../utils/get-full-size-modal-transitions';\nimport { getHeightStyle } from '../../utils/get-height-style';\nimport { getMarginStyles } from '../../utils/get-margin-styles';\nimport { getWidthStyle } from '../../utils/get-width-style';\nimport { ModalContent } from '../modal-content/modal-content';\n\nimport styles from './index.module.css';\nimport safariTransitions from './transitions/safari-transitions.module.css';\nimport transitions from './transitions/transitions.module.css';\n\n// в safari некорректно отрабатывает transform:scale (???), поэтому применяем немного другую анимацию\nconst transitionProps = isMacOS() && isSafari() ? safariTransitions : transitions;\n\nexport const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>((props, ref) => {\n const {\n dataTestId,\n className,\n open,\n children,\n width = 500,\n height = 'hugContent',\n verticalAlign = 'center',\n overlay = true,\n margin,\n scrollableContainerRef,\n onClose,\n ...restProps\n } = props;\n\n const componentRef = useRef<HTMLDivElement>(null);\n\n const { wheelDeltaY, handleWheel } = useModalWheel(overlay);\n\n const {\n isFullSizeModal,\n componentTransitions: fullSizeModalContentTransitions,\n backdropTransitions: fullSizeModalBackdropTransitions,\n } = getFullSizeModalTransitions({ verticalAlign, width, height });\n\n return (\n <BaseModal\n {...restProps}\n open={open}\n dataTestId={dataTestId}\n ref={ref}\n componentRef={componentRef}\n scrollHandler='content'\n disableBlockingScroll={!overlay}\n wrapperClassName={cn({\n [styles.wrapperJustifyStart]: verticalAlign === 'top',\n [styles.wrapperJustifyCenter]: verticalAlign === 'center',\n [styles.wrapperJustifyEnd]: verticalAlign === 'bottom',\n })}\n className={cn(styles.component, className, {\n [styles.overlayHidden]: !overlay,\n ...getMarginStyles({ styles, margin }),\n })}\n transitionProps={{\n classNames: transitionProps,\n ...(isFullSizeModal && fullSizeModalContentTransitions),\n ...restProps.transitionProps,\n }}\n backdropProps={{\n transparent: !overlay,\n ...(isFullSizeModal && fullSizeModalBackdropTransitions),\n ...restProps.backdropProps,\n }}\n componentDivProps={{\n style: {\n width: getWidthStyle(width, margin),\n ...getHeightStyle(height, margin),\n },\n }}\n onWheel={handleWheel}\n onClose={onClose}\n >\n <ModalContent\n height={height}\n wheelDeltaY={wheelDeltaY}\n scrollableContainerRef={scrollableContainerRef}\n >\n {children}\n </ModalContent>\n </BaseModal>\n );\n});\n"],"names":["isMacOS","isSafari","safariTransitions","transitions","forwardRef","__rest","useRef","useModalWheel","getFullSizeModalTransitions","React","BaseModal","__assign","cn","styles","getMarginStyles","getWidthStyle","getHeightStyle","ModalContent"],"mappings":"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"}
1
+ {"version":3,"file":"center-modal.js","sources":["../../../src/desktop/components/center-modal/center-modal.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\nimport { isMacOS, isSafari } from '@alfalab/core-components-shared';\n\nimport { useScrollableContainerRef } from '../../hooks/use-scrollable-container-ref';\nimport { type UniversalModalDesktopProps } from '../../types/props';\nimport { getFullSizeModalTransitions } from '../../utils/get-full-size-modal-transitions';\nimport { getHeightStyle } from '../../utils/get-height-style';\nimport { getMarginStyles } from '../../utils/get-margin-styles';\nimport { getWidthStyle } from '../../utils/get-width-style';\nimport { ModalContent } from '../modal-content/modal-content';\n\nimport styles from './index.module.css';\nimport safariTransitions from './transitions/safari-transitions.module.css';\nimport transitions from './transitions/transitions.module.css';\n\n// в safari некорректно отрабатывает transform:scale (???), поэтому применяем немного другую анимацию\nconst transitionProps = isMacOS() && isSafari() ? safariTransitions : transitions;\n\nexport const CenterModal = forwardRef<HTMLDivElement, UniversalModalDesktopProps>((props, ref) => {\n const {\n dataTestId,\n className,\n open,\n children,\n width = 500,\n height = 'hugContent',\n verticalAlign = 'center',\n overlay = true,\n margin,\n scrollableContainerRef: scrollableContainerRefProp,\n onClose,\n ...restProps\n } = props;\n\n const componentRef = useRef<HTMLDivElement>(null);\n const { handleWheel, scrollableContainerRef } = useScrollableContainerRef({\n overlay,\n refObject: scrollableContainerRefProp,\n });\n\n const {\n isFullSizeModal,\n componentTransitions: fullSizeModalContentTransitions,\n backdropTransitions: fullSizeModalBackdropTransitions,\n } = getFullSizeModalTransitions({ verticalAlign, width, height });\n\n const withoutOverlay = !overlay;\n\n return (\n <BaseModal\n {...restProps}\n open={open}\n dataTestId={dataTestId}\n ref={ref}\n componentRef={componentRef}\n scrollHandler='content'\n disableBlockingScroll={withoutOverlay}\n wrapperClassName={cn(styles.baseModalContainer, {\n [styles.wrapperJustifyStart]: verticalAlign === 'top',\n [styles.wrapperJustifyCenter]: verticalAlign === 'center',\n [styles.wrapperJustifyEnd]: verticalAlign === 'bottom',\n [styles.withoutOverlay]: withoutOverlay,\n })}\n className={cn(styles.component, className, styles.baseModalComponent, {\n ...getMarginStyles({ styles, margin }),\n })}\n transitionProps={{\n classNames: transitionProps,\n ...(isFullSizeModal && fullSizeModalContentTransitions),\n ...restProps.transitionProps,\n }}\n backdropProps={{\n shouldRender: overlay,\n ...(isFullSizeModal && fullSizeModalBackdropTransitions),\n ...restProps.backdropProps,\n }}\n componentDivProps={{\n style: {\n width: getWidthStyle(width, margin),\n ...getHeightStyle(height, margin),\n },\n }}\n onWheel={handleWheel}\n onClose={onClose}\n >\n <ModalContent height={height} scrollableContainerRef={scrollableContainerRef}>\n {children}\n </ModalContent>\n </BaseModal>\n );\n});\n"],"names":["isMacOS","isSafari","safariTransitions","transitions","forwardRef","__rest","useRef","useScrollableContainerRef","getFullSizeModalTransitions","React","BaseModal","__assign","cn","styles","getMarginStyles","getWidthStyle","getHeightStyle","ModalContent"],"mappings":"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"}