@skbkontur/react-ui 5.4.7-7ccf0.0 → 5.4.7-a27a4.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 (281) hide show
  1. package/cjs/components/Button/Button.d.ts +1 -0
  2. package/cjs/components/Button/Button.js.map +1 -1
  3. package/cjs/components/Calendar/Calendar.d.ts +1 -1
  4. package/cjs/components/Calendar/Calendar.js.map +1 -1
  5. package/cjs/components/DateInput/DateFragmentsView.d.ts +2 -2
  6. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  7. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +2 -2
  8. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  9. package/cjs/components/DateRangePicker/DateRangePickerContext.d.ts +3 -3
  10. package/cjs/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  11. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  12. package/cjs/components/Dropdown/Dropdown.d.ts +4 -4
  13. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  14. package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
  15. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  16. package/cjs/components/FileUploader/FileUploader.d.ts +1 -1
  17. package/cjs/components/FileUploader/FileUploaderFile.js.map +1 -1
  18. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +3 -2
  19. package/cjs/components/GlobalLoader/GlobalLoaderView.js +49 -50
  20. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  21. package/cjs/components/Input/Input.d.ts +2 -2
  22. package/cjs/components/Input/Input.js.map +1 -1
  23. package/cjs/components/Input/InputLayout/InputLayout.d.ts +3 -1
  24. package/cjs/components/Input/InputLayout/InputLayout.js +2 -1
  25. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  26. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +6 -4
  27. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  28. package/cjs/components/Kebab/Kebab.d.ts +1 -1
  29. package/cjs/components/Kebab/Kebab.js.map +1 -1
  30. package/cjs/components/Link/Link.d.ts +1 -1
  31. package/cjs/components/Link/Link.js.map +1 -1
  32. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -1
  33. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
  34. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  35. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -1
  36. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  37. package/cjs/components/MaskedInput/MaskedInput.js +2 -2
  38. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  39. package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
  40. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  41. package/cjs/components/Modal/Modal.d.ts +4 -1
  42. package/cjs/components/Modal/Modal.js +8 -3
  43. package/cjs/components/Modal/Modal.js.map +1 -1
  44. package/cjs/components/Modal/ModalBody.d.ts +2 -2
  45. package/cjs/components/Modal/ModalBody.js.map +1 -1
  46. package/cjs/components/Paging/Paging.d.ts +2 -2
  47. package/cjs/components/Paging/Paging.js.map +1 -1
  48. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
  49. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  50. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -2
  51. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  52. package/cjs/components/ResponsiveLayout/decorator.d.ts +0 -3
  53. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  54. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  55. package/cjs/components/Select/Select.d.ts +1 -1
  56. package/cjs/components/Select/Select.js.map +1 -1
  57. package/cjs/components/SidePage/SidePage.d.ts +5 -2
  58. package/cjs/components/SidePage/SidePage.js +9 -3
  59. package/cjs/components/SidePage/SidePage.js.map +1 -1
  60. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -1
  61. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  62. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -1
  63. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  64. package/cjs/components/SingleToast/SingleToast.d.ts +1 -1
  65. package/cjs/components/Sticky/Sticky.js +6 -2
  66. package/cjs/components/Sticky/Sticky.js.map +1 -1
  67. package/cjs/components/Tabs/Tabs.d.ts +1 -1
  68. package/cjs/components/Tabs/Tabs.js.map +1 -1
  69. package/cjs/components/Token/TokenView.d.ts +2 -1
  70. package/cjs/components/Token/TokenView.js +4 -4
  71. package/cjs/components/Token/TokenView.js.map +1 -1
  72. package/cjs/components/TokenInput/TextWidthHelper.js +3 -1
  73. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  74. package/cjs/components/TokenInput/TokenInput.js +14 -7
  75. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  76. package/cjs/components/Tooltip/Tooltip.d.ts +4 -4
  77. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  78. package/cjs/hooks/useDrop.js +1 -1
  79. package/cjs/hooks/useDrop.js.map +1 -1
  80. package/cjs/internal/CommonWrapper/CommonWrapper.js +3 -2
  81. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  82. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +3 -6
  83. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +84 -83
  84. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  85. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  86. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +11 -12
  87. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  88. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.d.ts +5 -6
  89. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.js +28 -23
  90. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  91. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  92. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -2
  93. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  94. package/cjs/internal/Menu/Menu.js +6 -2
  95. package/cjs/internal/Menu/Menu.js.map +1 -1
  96. package/cjs/internal/Menu/MenuNavigation.d.ts +1 -1
  97. package/cjs/internal/Menu/MenuNavigation.js.map +1 -1
  98. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  99. package/cjs/internal/MobilePopup/MobilePopup.js +9 -1
  100. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  101. package/cjs/internal/Popup/Popup.js +2 -4
  102. package/cjs/internal/Popup/Popup.js.map +1 -1
  103. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -1
  104. package/cjs/internal/PopupMenu/PopupMenu.js +9 -3
  105. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  106. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -2
  107. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  108. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  109. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  110. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +1 -1
  111. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  112. package/cjs/lib/dom/getDOMRect.d.ts +1 -1
  113. package/cjs/lib/dom/getDOMRect.js +3 -1
  114. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  115. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +1 -1
  116. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  117. package/cjs/lib/forwardRefAndName.d.ts +3 -2
  118. package/cjs/lib/forwardRefAndName.js +2 -1
  119. package/cjs/lib/forwardRefAndName.js.map +1 -1
  120. package/cjs/lib/getElementRef.d.ts +5 -0
  121. package/cjs/lib/getElementRef.js +16 -0
  122. package/cjs/lib/getElementRef.js.map +1 -0
  123. package/cjs/lib/locale/decorators.d.ts +0 -3
  124. package/cjs/lib/mergeRefs.d.ts +2 -3
  125. package/cjs/lib/mergeRefs.js +1 -1
  126. package/cjs/lib/mergeRefs.js.map +1 -1
  127. package/cjs/lib/reactGetTextContent.js +6 -1
  128. package/cjs/lib/reactGetTextContent.js.map +1 -1
  129. package/cjs/lib/renderEnvironment/RenderEnvironmentDecorator.d.ts +0 -3
  130. package/cjs/lib/rootNode/getRootNode.js +1 -24
  131. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  132. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +0 -3
  133. package/cjs/lib/size/SizeDecorator.d.ts +0 -3
  134. package/cjs/lib/types/polymorphic-component.d.ts +2 -1
  135. package/cjs/lib/types/polymorphic-component.js.map +1 -1
  136. package/cjs/lib/utils.d.ts +4 -3
  137. package/cjs/lib/utils.js +4 -3
  138. package/cjs/lib/utils.js.map +1 -1
  139. package/cjs/lib/withClassWrapper.d.ts +3 -8
  140. package/components/Button/Button/Button.js +1 -1
  141. package/components/Button/Button/Button.js.map +1 -1
  142. package/components/Button/Button.d.ts +1 -0
  143. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  144. package/components/Calendar/Calendar.d.ts +1 -1
  145. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  146. package/components/DateInput/DateFragmentsView.d.ts +2 -2
  147. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +1 -1
  148. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  149. package/components/DateRangePicker/DateRangePicker.d.ts +2 -2
  150. package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js.map +1 -1
  151. package/components/DateRangePicker/DateRangePickerContext.d.ts +3 -3
  152. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  153. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  154. package/components/Dropdown/Dropdown.d.ts +4 -4
  155. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  156. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  157. package/components/FileUploader/FileUploader.d.ts +1 -1
  158. package/components/FileUploader/FileUploaderFile/FileUploaderFile.js +1 -1
  159. package/components/FileUploader/FileUploaderFile/FileUploaderFile.js.map +1 -1
  160. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +5 -4
  161. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  162. package/components/GlobalLoader/GlobalLoaderView.d.ts +3 -2
  163. package/components/Input/Input/Input.js.map +1 -1
  164. package/components/Input/Input.d.ts +2 -2
  165. package/components/Input/InputLayout/InputLayout/InputLayout.js +4 -2
  166. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  167. package/components/Input/InputLayout/InputLayout.d.ts +3 -1
  168. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +2 -2
  169. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  170. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  171. package/components/Kebab/Kebab.d.ts +1 -1
  172. package/components/Link/Link/Link.js.map +1 -1
  173. package/components/Link/Link.d.ts +1 -1
  174. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +1 -1
  175. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  176. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -1
  177. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +1 -1
  178. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  179. package/components/MaskedInput/MaskedInput/MaskedInput.js +2 -2
  180. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  181. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  182. package/components/MenuItem/MenuItem.d.ts +1 -1
  183. package/components/Modal/Modal/Modal.js +7 -3
  184. package/components/Modal/Modal/Modal.js.map +1 -1
  185. package/components/Modal/Modal.d.ts +4 -1
  186. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  187. package/components/Modal/ModalBody.d.ts +2 -2
  188. package/components/Paging/Paging/Paging.js.map +1 -1
  189. package/components/Paging/Paging.d.ts +2 -2
  190. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  191. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  192. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  193. package/components/RadioGroup/RadioGroup.d.ts +2 -2
  194. package/components/ResponsiveLayout/decorator.d.ts +0 -3
  195. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
  196. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  197. package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  198. package/components/Select/Select/Select.js.map +1 -1
  199. package/components/Select/Select.d.ts +1 -1
  200. package/components/SidePage/SidePage/SidePage.js +7 -3
  201. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  202. package/components/SidePage/SidePage.d.ts +5 -2
  203. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  204. package/components/SidePage/SidePageFooter.d.ts +1 -1
  205. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  206. package/components/SidePage/SidePageHeader.d.ts +1 -1
  207. package/components/SingleToast/SingleToast.d.ts +1 -1
  208. package/components/Sticky/Sticky/Sticky.js +2 -2
  209. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  210. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  211. package/components/Tabs/Tabs.d.ts +1 -1
  212. package/components/Token/TokenView/TokenView.js +6 -4
  213. package/components/Token/TokenView/TokenView.js.map +1 -1
  214. package/components/Token/TokenView.d.ts +2 -1
  215. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +1 -1
  216. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  217. package/components/TokenInput/TokenInput/TokenInput.js +5 -5
  218. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  219. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  220. package/components/Tooltip/Tooltip.d.ts +4 -4
  221. package/hooks/useDrop/useDrop.js +1 -1
  222. package/hooks/useDrop/useDrop.js.map +1 -1
  223. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  224. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  225. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +2 -2
  226. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  227. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +3 -6
  228. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -3
  229. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  230. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  231. package/internal/FocusControlWrapper/FocusControlWrapper/FocusControlWrapper.js +7 -4
  232. package/internal/FocusControlWrapper/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  233. package/internal/FocusControlWrapper/FocusControlWrapper.d.ts +5 -6
  234. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  235. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  236. package/internal/InputLikeText/InputLikeText.d.ts +2 -2
  237. package/internal/Menu/Menu/Menu.js +2 -2
  238. package/internal/Menu/Menu/Menu.js.map +1 -1
  239. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -1
  240. package/internal/Menu/MenuNavigation.d.ts +1 -1
  241. package/internal/MobilePopup/MobilePopup/MobilePopup.js +5 -2
  242. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  243. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  244. package/internal/Popup/Popup/Popup.js +2 -2
  245. package/internal/Popup/Popup/Popup.js.map +1 -1
  246. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  247. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  248. package/internal/PopupMenu/PopupMenu.d.ts +1 -1
  249. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  250. package/internal/RenderLayer/RenderLayer.d.ts +2 -2
  251. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +1 -1
  252. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  253. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  254. package/internal/ThemePlayground/FxInputPlayground.d.ts +1 -1
  255. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  256. package/lib/dom/getDOMRect.d.ts +1 -1
  257. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  258. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +1 -1
  259. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  260. package/lib/forwardRefAndName.d.ts +3 -2
  261. package/lib/getElementRef/getElementRef.js +11 -0
  262. package/lib/getElementRef/getElementRef.js.map +1 -0
  263. package/lib/getElementRef/package.json +6 -0
  264. package/lib/getElementRef.d.ts +5 -0
  265. package/lib/locale/decorators.d.ts +0 -3
  266. package/lib/mergeRefs/mergeRefs.js.map +1 -1
  267. package/lib/mergeRefs.d.ts +2 -3
  268. package/lib/reactGetTextContent/reactGetTextContent.js +1 -1
  269. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  270. package/lib/renderEnvironment/RenderEnvironmentDecorator.d.ts +0 -3
  271. package/lib/rootNode/getRootNode/getRootNode.js +0 -15
  272. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  273. package/lib/rootNode/rootNodeDecorator.d.ts +0 -3
  274. package/lib/size/SizeDecorator.d.ts +0 -3
  275. package/lib/types/polymorphic-component/polymorphic-component.js.map +1 -1
  276. package/lib/types/polymorphic-component.d.ts +2 -1
  277. package/lib/utils/utils.js +2 -2
  278. package/lib/utils/utils.js.map +1 -1
  279. package/lib/utils.d.ts +4 -3
  280. package/lib/withClassWrapper.d.ts +3 -8
  281. package/package.json +10 -9
@@ -1 +1 @@
1
- {"version":3,"names":["React","FocusLock","throttle","isNonNullable","isKeyEscape","LayoutEvents","RenderContainer","ZIndex","HideBodyVerticalScroll","ModalStack","ResizeDetector","ThemeContext","CommonWrapper","createPropsGetter","ResponsiveLayout","catchUnreachableWarning","withRenderEnvironment","ModalContext","ModalFooter","ModalHeader","ModalBody","ModalClose","getStyles","getModalTheme","mountedModalsCount","ModalDataTids","container","content","close","ModalZIndexPriority","Cross","Content","Modal","_class","_Modal","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","stackPosition","hasBackground","horizontalScroll","hasHeader","hasFooter","hasPanel","stackSubscription","containerNode","mouseDownTarget","mouseUpTarget","getMobileContainerClassName","mobileAppearance","styles","mobileContainerSmall5_2","mobileContainerFullscreen5_2","mobileContainerSmallBottom5_2","mobileContainerSmallTop5_2","requestClose","props","disableClose","onClose","refContainer","center","handleStackChange","stack","setState","indexOf","isBlocking","globalObject","handleContainerMouseDown","event","target","handleContainerMouseUp","handleContainerClick","ignoreBackgroundClick","currentTarget","handleKeyDown","e","stopPropagation","checkHorizontalScrollAppearance","hasScroll","containerClientWidth","clientWidth","containerScrollWidth","scrollWidth","throttledCheckHorizontalScroll","handleResize","emit","setHasHeader","setHasFooter","setHasPanel","_inheritsLoose","_proto","prototype","componentDidMount","_this$globalObject$ad2","_this$globalObject2","add","_this$globalObject$ad","_this$globalObject","addEventListener","componentWillUnmount","_this$globalObject$re2","_this$globalObject4","_this$globalObject$re","_this$globalObject3","removeEventListener","remove","render","_this2","emotion","createElement","Consumer","theme","Provider","value","renderMain","_this3","_this$props","noClose","width","alignTop","children","ariaLabel","ariaLabelledby","_this$state","_this$getProps","role","disableFocusLock","modalContextProps","mobileOnFullScreen","additionalPadding","style","containerStyle","getMobileCenterContainerClassNames","_this3$cx","cx","mobileCenterContainer","mobileCenterContainerBig","mobileCenterContainerFullscreen","priority","className","root","onMouseDown","onMouseUp","onClick","bg","_ref","_this3$cx2","_this3$cx3","_this3$cx4","_this3$cx5","_this3$cx6","isMobile","ref","containerDesktop","centerContainer","Boolean","undefined","window","mobileWindow","mobileWindowFullscreen","onResize","fullHeight","disabled","autoFocus","columnFlexContainer","closeWrapper","mobileCloseWrapper","mobileCloseWithoutHeader","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer"],"sources":["Modal.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport FocusLock from 'react-focus-lock';\nimport throttle from 'lodash.throttle';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { catchUnreachableWarning } from '../../lib/typeGuards';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport type { ModalContextProps } from './ModalContext';\nimport { ModalContext } from './ModalContext';\nimport { ModalFooter } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\nimport { ModalBody } from './ModalBody';\nimport { ModalClose } from './ModalClose';\nimport { getStyles } from './Modal.styles';\nimport { getModalTheme } from './getModalTheme';\n\nlet mountedModalsCount = 0;\n\nexport type MobileModalAppearance = 'auto' | 'top' | 'center' | 'bottom' | 'fullscreen-spacing' | 'fullscreen';\n\nexport interface ModalProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label' | 'aria-labelledby'> {\n /** Отключает событие `onClose` и дизейблит кнопку закрытия модалки. */\n disableClose?: boolean;\n\n /** Выравнивает окно по верху страницы. */\n alignTop?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Убирает крестик для закрытия окна */\n noClose?: boolean;\n\n /** Задает ширину модалки. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается, когда пользователь запросил закрытие окна (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Отключает фокус-лок внутри модалки. */\n disableFocusLock?: boolean;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n\n /** Задает внешний вид модалки. Работает с версией темы >= 5_2.\n * - `auto` — если футера нет, модалка распологается в центре экрана, если футер есть -- модалка растягивается на весь экран с отступами и закругленными краями\n * - `top` — модалка располагается сверху независимо от наличия футера\n * - `center` — модалка располагается в центре независимо от наличия футера\n * - `bottom` — модалка располагается снизу независимо от наличия футера\n * - `fullscreen-spacing` — модалка растягивается на весь экран с отступами и закругленными краями\n * - `fullscreen` — модалка растягивается на весь экран\n * @default auto\n */\n mobileAppearance?: MobileModalAppearance;\n}\n\nexport interface ModalState {\n stackPosition: number;\n hasBackground: boolean;\n horizontalScroll: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const ModalDataTids = {\n container: 'modal-container',\n content: 'modal-content',\n close: 'modal-close',\n} as const;\n\nexport const ModalZIndexPriority = {\n Cross: 2,\n Content: 1,\n} as const;\n\ntype DefaultProps = Required<Pick<ModalProps, 'disableFocusLock' | 'role' | 'mobileAppearance'>>;\n\n/**\n * Модальное окно `Modal` — это эмуляция диалогового окна браузера, появляющегося поверх страницы в ответ на действия пользователя и блокирующего доступ к основному содержимому страницы.\n *\n * Состоит из 3-х компонентов: `Modal.Header`, `Modal.Body`, `Modal.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать проп `panel`.\n *\n * Для отключения прилипания шапки и футера в соответствующий компонент нужно передать проп `sticky` со значением `false` (по-умолчанию прилипание включено).\n */\n@withRenderEnvironment\nexport class Modal extends React.Component<ModalProps, ModalState> {\n public static __KONTUR_REACT_UI__ = 'Modal';\n public static displayName = 'Modal';\n\n public static Header = ModalHeader;\n public static Body = ModalBody;\n public static Footer = ModalFooter;\n\n public static defaultProps: DefaultProps = {\n disableFocusLock: false,\n role: 'dialog',\n mobileAppearance: 'auto',\n };\n\n private getProps = createPropsGetter(Modal.defaultProps);\n\n public state: ModalState = {\n stackPosition: 0,\n hasBackground: true,\n horizontalScroll: false,\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private containerNode: HTMLDivElement | null = null;\n private mouseDownTarget: EventTarget | null = null;\n private mouseUpTarget: EventTarget | null = null;\n\n public componentDidMount() {\n this.stackSubscription = ModalStack.add(this, this.handleStackChange, this.globalObject);\n\n if (mountedModalsCount === 0) {\n this.globalObject.addEventListener?.('resize', this.throttledCheckHorizontalScroll);\n }\n\n mountedModalsCount++;\n this.globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.checkHorizontalScrollAppearance();\n\n if (this.containerNode) {\n this.containerNode.addEventListener('scroll', LayoutEvents.emit);\n }\n }\n\n public componentWillUnmount() {\n if (--mountedModalsCount === 0) {\n this.globalObject.removeEventListener?.('resize', this.throttledCheckHorizontalScroll);\n LayoutEvents.emit();\n }\n\n this.globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this, this.globalObject);\n\n if (this.containerNode) {\n this.containerNode.removeEventListener('scroll', LayoutEvents.emit);\n }\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getModalTheme(theme, this.props.theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getMobileContainerClassName = () => {\n const mobileAppearance = this.getProps().mobileAppearance;\n switch (mobileAppearance) {\n case 'fullscreen-spacing':\n return;\n case 'auto':\n if (this.state.hasFooter) {\n return;\n }\n return [this.styles.mobileContainerSmall5_2()];\n case 'fullscreen':\n return [this.styles.mobileContainerFullscreen5_2()];\n case 'center':\n return [this.styles.mobileContainerSmall5_2()];\n case 'bottom':\n return [this.styles.mobileContainerSmall5_2(), this.styles.mobileContainerSmallBottom5_2()];\n case 'top':\n return [this.styles.mobileContainerSmall5_2(), this.styles.mobileContainerSmallTop5_2()];\n default:\n return catchUnreachableWarning(mobileAppearance, false);\n }\n };\n\n private renderMain() {\n const {\n noClose,\n disableClose,\n width,\n mobileAppearance,\n alignTop,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n } = this.props;\n const { hasHeader, hasFooter, hasPanel } = this.state;\n const { role, disableFocusLock } = this.getProps();\n\n const modalContextProps: ModalContextProps = {\n hasHeader,\n horizontalScroll: this.state.horizontalScroll,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n mobileOnFullScreen: this.props.mobileAppearance === 'fullscreen',\n };\n if (!noClose) {\n modalContextProps.close = {\n disableClose,\n requestClose: this.requestClose,\n };\n }\n if (!hasFooter || hasPanel) {\n modalContextProps.additionalPadding = true;\n }\n\n const style: { width?: number | string } = {};\n const containerStyle: { width?: number | string } = {};\n\n if (width) {\n style.width = width;\n } else {\n containerStyle.width = 'auto';\n }\n\n const getMobileCenterContainerClassNames = () => {\n return this.cx(this.styles.mobileCenterContainer(this.theme), {\n [this.styles.mobileCenterContainerBig(this.theme)]:\n mobileAppearance === 'fullscreen-spacing' || (mobileAppearance === 'auto' && hasFooter),\n [this.styles.mobileCenterContainerFullscreen()]: mobileAppearance === 'fullscreen',\n });\n };\n\n return (\n <RenderContainer>\n <CommonWrapper {...this.props}>\n <ZIndex priority={'Modal'} className={this.styles.root()}>\n <HideBodyVerticalScroll />\n {this.state.hasBackground && (\n <div\n onMouseDown={this.handleContainerMouseDown}\n onMouseUp={this.handleContainerMouseUp}\n onClick={this.handleContainerClick}\n className={this.styles.bg(this.theme)}\n />\n )}\n <ResponsiveLayout>\n {({ isMobile }) => (\n <div\n aria-labelledby={ariaLabelledby}\n ref={this.refContainer}\n className={this.cx(\n this.styles.container(),\n !isMobile && this.styles.containerDesktop(),\n isMobile && this.getMobileContainerClassName(),\n )}\n onMouseDown={this.handleContainerMouseDown}\n onMouseUp={this.handleContainerMouseUp}\n onClick={this.handleContainerClick}\n data-tid={ModalDataTids.container}\n >\n <div\n aria-modal\n aria-label={ariaLabel}\n role={role}\n className={this.cx({\n [this.styles.centerContainer()]: true,\n [getMobileCenterContainerClassNames()]: isMobile,\n [this.styles.alignTop()]: Boolean(alignTop),\n })}\n style={isMobile ? undefined : containerStyle}\n data-tid={ModalDataTids.content}\n >\n <div\n className={this.cx({\n [this.styles.window(this.theme)]: true,\n [this.styles.mobileWindow()]: isMobile,\n [this.styles.mobileWindowFullscreen()]: isMobile && mobileAppearance === 'fullscreen',\n })}\n style={isMobile ? undefined : style}\n >\n <ResizeDetector onResize={this.handleResize} fullHeight={isMobile}>\n <FocusLock\n disabled={disableFocusLock}\n autoFocus={false}\n className={this.cx({ [this.styles.columnFlexContainer()]: isMobile }, 'focus-lock-container')}\n >\n {!hasHeader && !noClose && (\n <ZIndex\n priority={ModalZIndexPriority.Cross}\n className={this.cx({\n [this.styles.closeWrapper(this.theme)]: true,\n [this.styles.mobileCloseWrapper(this.theme)]: isMobile,\n })}\n >\n <ModalClose\n className={this.cx({\n [this.styles.mobileCloseWithoutHeader(this.theme)]: isMobile && !this.state.hasHeader,\n })}\n requestClose={this.requestClose}\n disableClose={disableClose}\n />\n </ZIndex>\n )}\n <ModalContext.Provider value={modalContextProps}>{children}</ModalContext.Provider>\n </FocusLock>\n </ResizeDetector>\n </div>\n </div>\n </div>\n )}\n </ResponsiveLayout>\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n );\n }\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private refContainer = (center: HTMLDivElement | null) => {\n this.containerNode = center;\n };\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n this.setState({\n stackPosition: stack.indexOf(this),\n hasBackground: ModalStack.isBlocking(this, this.globalObject),\n });\n };\n\n private handleContainerMouseDown = (event: React.MouseEvent) => {\n this.mouseDownTarget = event.target;\n };\n\n private handleContainerMouseUp = (event: React.MouseEvent) => {\n this.mouseUpTarget = event.target;\n };\n\n private handleContainerClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!this.props.ignoreBackgroundClick) {\n const { target, currentTarget } = event;\n if (target === currentTarget && this.mouseDownTarget === currentTarget && this.mouseUpTarget === currentTarget) {\n this.requestClose();\n }\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n e.stopPropagation();\n this.requestClose();\n }\n };\n\n private checkHorizontalScrollAppearance = () => {\n let hasScroll = false;\n\n if (this.containerNode) {\n const containerClientWidth = this.containerNode.clientWidth;\n const containerScrollWidth = this.containerNode.scrollWidth;\n hasScroll = containerClientWidth < containerScrollWidth;\n }\n if (hasScroll && !this.state.horizontalScroll) {\n this.setState({ horizontalScroll: true });\n } else if (this.state.horizontalScroll) {\n this.setState({ horizontalScroll: false });\n }\n };\n\n private throttledCheckHorizontalScroll = throttle(this.checkHorizontalScrollAppearance, 100);\n\n private handleResize = () => {\n LayoutEvents.emit();\n };\n\n private setHasHeader = (hasHeader: boolean) => {\n this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter: boolean) => {\n this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel: boolean) => {\n this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","FocusLock","throttle","isNonNullable","isKeyEscape","LayoutEvents","RenderContainer","ZIndex","HideBodyVerticalScroll","ModalStack","ResizeDetector","ThemeContext","CommonWrapper","createPropsGetter","ResponsiveLayout","catchUnreachableWarning","rootNode","withRenderEnvironment","ModalContext","ModalFooter","ModalHeader","ModalBody","ModalClose","getStyles","getModalTheme","mountedModalsCount","ModalDataTids","container","content","close","ModalZIndexPriority","Cross","Content","Modal","_class","_Modal","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","stackPosition","hasBackground","horizontalScroll","hasHeader","hasFooter","hasPanel","stackSubscription","containerNode","mouseDownTarget","mouseUpTarget","getMobileContainerClassName","mobileAppearance","styles","mobileContainerSmall5_2","mobileContainerFullscreen5_2","mobileContainerSmallBottom5_2","mobileContainerSmallTop5_2","requestClose","props","disableClose","onClose","refContainer","center","handleStackChange","stack","setState","indexOf","isBlocking","globalObject","handleContainerMouseDown","event","target","handleContainerMouseUp","handleContainerClick","ignoreBackgroundClick","currentTarget","handleKeyDown","e","stopPropagation","checkHorizontalScrollAppearance","hasScroll","containerClientWidth","clientWidth","containerScrollWidth","scrollWidth","throttledCheckHorizontalScroll","handleResize","emit","setHasHeader","setHasFooter","setHasPanel","_inheritsLoose","_proto","prototype","componentDidMount","_this$globalObject$ad2","_this$globalObject2","add","_this$globalObject$ad","_this$globalObject","addEventListener","componentWillUnmount","_this$globalObject$re2","_this$globalObject4","_this$globalObject$re","_this$globalObject3","removeEventListener","remove","render","_this2","emotion","createElement","Consumer","theme","Provider","value","renderMain","_this3","_this$props","noClose","width","alignTop","children","ariaLabel","ariaLabelledby","_this$state","_this$getProps","role","disableFocusLock","modalContextProps","mobileOnFullScreen","additionalPadding","style","containerStyle","getMobileCenterContainerClassNames","_this3$cx","cx","mobileCenterContainer","mobileCenterContainerBig","mobileCenterContainerFullscreen","_extends","rootNodeRef","setRootNode","priority","className","root","onMouseDown","onMouseUp","onClick","bg","_ref","_this3$cx2","_this3$cx3","_this3$cx4","_this3$cx5","_this3$cx6","isMobile","ref","containerDesktop","centerContainer","Boolean","undefined","window","mobileWindow","mobileWindowFullscreen","onResize","fullHeight","disabled","autoFocus","columnFlexContainer","closeWrapper","mobileCloseWrapper","mobileCloseWithoutHeader","Component","__KONTUR_REACT_UI__","displayName","Header","Body","Footer"],"sources":["Modal.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes, JSX } from 'react';\nimport React from 'react';\nimport FocusLock from 'react-focus-lock';\nimport throttle from 'lodash.throttle';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../../internal/RenderContainer';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { HideBodyVerticalScroll } from '../../internal/HideBodyVerticalScroll';\nimport type { ModalStackSubscription } from '../../lib/ModalStack';\nimport { ModalStack } from '../../lib/ModalStack';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { catchUnreachableWarning } from '../../lib/typeGuards';\nimport { rootNode, type TGetRootNode, type TSetRootNode } from '../../lib/rootNode';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport type { ModalContextProps } from './ModalContext';\nimport { ModalContext } from './ModalContext';\nimport { ModalFooter } from './ModalFooter';\nimport { ModalHeader } from './ModalHeader';\nimport { ModalBody } from './ModalBody';\nimport { ModalClose } from './ModalClose';\nimport { getStyles } from './Modal.styles';\nimport { getModalTheme } from './getModalTheme';\n\nlet mountedModalsCount = 0;\n\nexport type MobileModalAppearance = 'auto' | 'top' | 'center' | 'bottom' | 'fullscreen-spacing' | 'fullscreen';\n\nexport interface ModalProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-label' | 'aria-labelledby'> {\n /** Отключает событие `onClose` и дизейблит кнопку закрытия модалки. */\n disableClose?: boolean;\n\n /** Выравнивает окно по верху страницы. */\n alignTop?: boolean;\n\n /** Оставляет окно открытым при клике на фон. */\n ignoreBackgroundClick?: boolean;\n\n /** Убирает крестик для закрытия окна */\n noClose?: boolean;\n\n /** Задает ширину модалки. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается, когда пользователь запросил закрытие окна (нажал на фон, на Escape или на крестик). */\n onClose?: () => void;\n\n /** Отключает фокус-лок внутри модалки. */\n disableFocusLock?: boolean;\n\n /** Задает объект с переменными темы. Он будет объединён с темой из контекста. */\n theme?: ThemeIn;\n\n /** Задает внешний вид модалки. Работает с версией темы >= 5_2.\n * - `auto` — если футера нет, модалка распологается в центре экрана, если футер есть -- модалка растягивается на весь экран с отступами и закругленными краями\n * - `top` — модалка располагается сверху независимо от наличия футера\n * - `center` — модалка располагается в центре независимо от наличия футера\n * - `bottom` — модалка располагается снизу независимо от наличия футера\n * - `fullscreen-spacing` — модалка растягивается на весь экран с отступами и закругленными краями\n * - `fullscreen` — модалка растягивается на весь экран\n * @default auto\n */\n mobileAppearance?: MobileModalAppearance;\n}\n\nexport interface ModalState {\n stackPosition: number;\n hasBackground: boolean;\n horizontalScroll: boolean;\n hasHeader: boolean;\n hasFooter: boolean;\n hasPanel: boolean;\n}\n\nexport const ModalDataTids = {\n container: 'modal-container',\n content: 'modal-content',\n close: 'modal-close',\n} as const;\n\nexport const ModalZIndexPriority = {\n Cross: 2,\n Content: 1,\n} as const;\n\ntype DefaultProps = Required<Pick<ModalProps, 'disableFocusLock' | 'role' | 'mobileAppearance'>>;\n\n/**\n * Модальное окно `Modal` — это эмуляция диалогового окна браузера, появляющегося поверх страницы в ответ на действия пользователя и блокирующего доступ к основному содержимому страницы.\n *\n * Состоит из 3-х компонентов: `Modal.Header`, `Modal.Body`, `Modal.Footer`.\n *\n * Для отображения серой плашки в футере в компонент `Footer` необходимо передать проп `panel`.\n *\n * Для отключения прилипания шапки и футера в соответствующий компонент нужно передать проп `sticky` со значением `false` (по-умолчанию прилипание включено).\n */\n@withRenderEnvironment\n@rootNode\nexport class Modal extends React.Component<ModalProps, ModalState> {\n public static __KONTUR_REACT_UI__ = 'Modal';\n public static displayName = 'Modal';\n\n public static Header = ModalHeader;\n public static Body = ModalBody;\n public static Footer = ModalFooter;\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableFocusLock: false,\n role: 'dialog',\n mobileAppearance: 'auto',\n };\n\n private getProps = createPropsGetter(Modal.defaultProps);\n\n public state: ModalState = {\n stackPosition: 0,\n hasBackground: true,\n horizontalScroll: false,\n hasHeader: false,\n hasFooter: false,\n hasPanel: false,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private stackSubscription: ModalStackSubscription | null = null;\n private containerNode: HTMLDivElement | null = null;\n private mouseDownTarget: EventTarget | null = null;\n private mouseUpTarget: EventTarget | null = null;\n\n public componentDidMount() {\n this.stackSubscription = ModalStack.add(this, this.handleStackChange, this.globalObject);\n\n if (mountedModalsCount === 0) {\n this.globalObject.addEventListener?.('resize', this.throttledCheckHorizontalScroll);\n }\n\n mountedModalsCount++;\n this.globalObject.addEventListener?.('keydown', this.handleKeyDown);\n this.checkHorizontalScrollAppearance();\n\n if (this.containerNode) {\n this.containerNode.addEventListener('scroll', LayoutEvents.emit);\n }\n }\n\n public componentWillUnmount() {\n if (--mountedModalsCount === 0) {\n this.globalObject.removeEventListener?.('resize', this.throttledCheckHorizontalScroll);\n LayoutEvents.emit();\n }\n\n this.globalObject.removeEventListener?.('keydown', this.handleKeyDown);\n if (isNonNullable(this.stackSubscription)) {\n this.stackSubscription.remove();\n }\n ModalStack.remove(this, this.globalObject);\n\n if (this.containerNode) {\n this.containerNode.removeEventListener('scroll', LayoutEvents.emit);\n }\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getModalTheme(theme, this.props.theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getMobileContainerClassName = () => {\n const mobileAppearance = this.getProps().mobileAppearance;\n switch (mobileAppearance) {\n case 'fullscreen-spacing':\n return;\n case 'auto':\n if (this.state.hasFooter) {\n return;\n }\n return [this.styles.mobileContainerSmall5_2()];\n case 'fullscreen':\n return [this.styles.mobileContainerFullscreen5_2()];\n case 'center':\n return [this.styles.mobileContainerSmall5_2()];\n case 'bottom':\n return [this.styles.mobileContainerSmall5_2(), this.styles.mobileContainerSmallBottom5_2()];\n case 'top':\n return [this.styles.mobileContainerSmall5_2(), this.styles.mobileContainerSmallTop5_2()];\n default:\n return catchUnreachableWarning(mobileAppearance, false);\n }\n };\n\n private renderMain() {\n const {\n noClose,\n disableClose,\n width,\n mobileAppearance,\n alignTop,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n } = this.props;\n const { hasHeader, hasFooter, hasPanel } = this.state;\n const { role, disableFocusLock } = this.getProps();\n\n const modalContextProps: ModalContextProps = {\n hasHeader,\n horizontalScroll: this.state.horizontalScroll,\n setHasHeader: this.setHasHeader,\n setHasFooter: this.setHasFooter,\n setHasPanel: this.setHasPanel,\n mobileOnFullScreen: this.props.mobileAppearance === 'fullscreen',\n };\n if (!noClose) {\n modalContextProps.close = {\n disableClose,\n requestClose: this.requestClose,\n };\n }\n if (!hasFooter || hasPanel) {\n modalContextProps.additionalPadding = true;\n }\n\n const style: { width?: number | string } = {};\n const containerStyle: { width?: number | string } = {};\n\n if (width) {\n style.width = width;\n } else {\n containerStyle.width = 'auto';\n }\n\n const getMobileCenterContainerClassNames = () => {\n return this.cx(this.styles.mobileCenterContainer(this.theme), {\n [this.styles.mobileCenterContainerBig(this.theme)]:\n mobileAppearance === 'fullscreen-spacing' || (mobileAppearance === 'auto' && hasFooter),\n [this.styles.mobileCenterContainerFullscreen()]: mobileAppearance === 'fullscreen',\n });\n };\n\n return (\n <RenderContainer>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <ZIndex priority={'Modal'} className={this.styles.root()}>\n <HideBodyVerticalScroll />\n {this.state.hasBackground && (\n <div\n onMouseDown={this.handleContainerMouseDown}\n onMouseUp={this.handleContainerMouseUp}\n onClick={this.handleContainerClick}\n className={this.styles.bg(this.theme)}\n />\n )}\n <ResponsiveLayout>\n {({ isMobile }) => (\n <div\n aria-labelledby={ariaLabelledby}\n ref={this.refContainer}\n className={this.cx(\n this.styles.container(),\n !isMobile && this.styles.containerDesktop(),\n isMobile && this.getMobileContainerClassName(),\n )}\n onMouseDown={this.handleContainerMouseDown}\n onMouseUp={this.handleContainerMouseUp}\n onClick={this.handleContainerClick}\n data-tid={ModalDataTids.container}\n >\n <div\n aria-modal\n aria-label={ariaLabel}\n role={role}\n className={this.cx({\n [this.styles.centerContainer()]: true,\n [getMobileCenterContainerClassNames()]: isMobile,\n [this.styles.alignTop()]: Boolean(alignTop),\n })}\n style={isMobile ? undefined : containerStyle}\n data-tid={ModalDataTids.content}\n >\n <div\n className={this.cx({\n [this.styles.window(this.theme)]: true,\n [this.styles.mobileWindow()]: isMobile,\n [this.styles.mobileWindowFullscreen()]: isMobile && mobileAppearance === 'fullscreen',\n })}\n style={isMobile ? undefined : style}\n >\n <ResizeDetector onResize={this.handleResize} fullHeight={isMobile}>\n <FocusLock\n disabled={disableFocusLock}\n autoFocus={false}\n className={this.cx({ [this.styles.columnFlexContainer()]: isMobile }, 'focus-lock-container')}\n >\n {!hasHeader && !noClose && (\n <ZIndex\n priority={ModalZIndexPriority.Cross}\n className={this.cx({\n [this.styles.closeWrapper(this.theme)]: true,\n [this.styles.mobileCloseWrapper(this.theme)]: isMobile,\n })}\n >\n <ModalClose\n className={this.cx({\n [this.styles.mobileCloseWithoutHeader(this.theme)]: isMobile && !this.state.hasHeader,\n })}\n requestClose={this.requestClose}\n disableClose={disableClose}\n />\n </ZIndex>\n )}\n <ModalContext.Provider value={modalContextProps}>{children}</ModalContext.Provider>\n </FocusLock>\n </ResizeDetector>\n </div>\n </div>\n </div>\n )}\n </ResponsiveLayout>\n </ZIndex>\n </CommonWrapper>\n </RenderContainer>\n );\n }\n\n private requestClose = () => {\n if (this.props.disableClose) {\n return;\n }\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n private refContainer = (center: HTMLDivElement | null) => {\n this.containerNode = center;\n };\n\n private handleStackChange = (stack: readonly React.Component[]) => {\n this.setState({\n stackPosition: stack.indexOf(this),\n hasBackground: ModalStack.isBlocking(this, this.globalObject),\n });\n };\n\n private handleContainerMouseDown = (event: React.MouseEvent) => {\n this.mouseDownTarget = event.target;\n };\n\n private handleContainerMouseUp = (event: React.MouseEvent) => {\n this.mouseUpTarget = event.target;\n };\n\n private handleContainerClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!this.props.ignoreBackgroundClick) {\n const { target, currentTarget } = event;\n if (target === currentTarget && this.mouseDownTarget === currentTarget && this.mouseUpTarget === currentTarget) {\n this.requestClose();\n }\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.state.stackPosition !== 0) {\n return;\n }\n if (isKeyEscape(e)) {\n e.stopPropagation();\n this.requestClose();\n }\n };\n\n private checkHorizontalScrollAppearance = () => {\n let hasScroll = false;\n\n if (this.containerNode) {\n const containerClientWidth = this.containerNode.clientWidth;\n const containerScrollWidth = this.containerNode.scrollWidth;\n hasScroll = containerClientWidth < containerScrollWidth;\n }\n if (hasScroll && !this.state.horizontalScroll) {\n this.setState({ horizontalScroll: true });\n } else if (this.state.horizontalScroll) {\n this.setState({ horizontalScroll: false });\n }\n };\n\n private throttledCheckHorizontalScroll = throttle(this.checkHorizontalScrollAppearance, 100);\n\n private handleResize = () => {\n LayoutEvents.emit();\n };\n\n private setHasHeader = (hasHeader: boolean) => {\n this.setState({ hasHeader });\n };\n\n private setHasFooter = (hasFooter: boolean) => {\n this.setState({ hasFooter });\n };\n\n private setHasPanel = (hasPanel: boolean) => {\n this.setState({ hasPanel });\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
- import type { AriaAttributes, HTMLAttributes } from 'react';
1
+ import type { AriaAttributes, HTMLAttributes, JSX } from 'react';
2
2
  import React from 'react';
3
3
  import type { ThemeIn } from '../../lib/theming/Theme';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import { type TGetRootNode } from '../../lib/rootNode';
5
6
  import { ModalFooter } from './ModalFooter';
6
7
  import { ModalHeader } from './ModalHeader';
7
8
  import { ModalBody } from './ModalBody';
@@ -67,6 +68,8 @@ export declare class Modal extends React.Component<ModalProps, ModalState> {
67
68
  static Header: typeof ModalHeader;
68
69
  static Body: typeof ModalBody;
69
70
  static Footer: typeof ModalFooter;
71
+ getRootNode: TGetRootNode;
72
+ private setRootNode;
70
73
  static defaultProps: DefaultProps;
71
74
  private getProps;
72
75
  state: ModalState;
@@ -1 +1 @@
1
- {"version":3,"names":["React","ThemeContext","ZIndex","CommonWrapper","responsiveLayout","LayoutEvents","ResizeDetector","rootNode","withRenderEnvironment","ModalContext","getStyles","getModalBodyTheme","ModalZIndexPriority","ModalBody","_class","_ModalBody","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","handleResize","emit","_inheritsLoose","_proto","prototype","render","_this2","styles","emotion","createElement","Consumer","theme","Provider","value","renderMain","_this3","noPadding","props","_ref","_this3$cx","additionalPadding","hasHeader","_extends","rootNodeRef","setRootNode","priority","Content","className","cx","body","mobileBody","isMobileLayout","bodyWithoutHeader","bodyAddPaddingForPanel","mobileBodyAddPaddingForPanel","mobileBodyWithoutHeader","bodyWithoutPadding","onResize","children","Component","__KONTUR_REACT_UI__","displayName","__MODAL_BODY__"],"sources":["ModalBody.tsx"],"sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { ModalContext } from './ModalContext';\nimport { getStyles } from './Modal.styles';\nimport { getModalBodyTheme } from './getModalBodyTheme';\nimport { ModalZIndexPriority } from './Modal';\n\nexport interface ModalBodyProps extends CommonProps {\n /** Убирает отступы. */\n noPadding?: boolean;\n}\n\n/**\n * ModalBody - контейнер с отступами от края модалки.\n *\n * @visibleName Modal.Body\n */\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\nexport class ModalBody extends React.Component<ModalBodyProps> {\n public static __KONTUR_REACT_UI__ = 'ModalBody';\n public static displayName = 'ModalBody';\n public static __MODAL_BODY__ = true;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private isMobileLayout!: boolean;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render() {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getModalBodyTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private handleResize = () => {\n LayoutEvents.emit();\n };\n\n public renderMain(): JSX.Element {\n const { noPadding } = this.props;\n return (\n <ModalContext.Consumer>\n {({ additionalPadding, hasHeader }) => (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <ZIndex\n priority={ModalZIndexPriority.Content}\n className={this.cx({\n [this.styles.body(this.theme)]: true,\n [this.styles.mobileBody(this.theme)]: this.isMobileLayout,\n [this.styles.bodyWithoutHeader(this.theme)]: !hasHeader,\n [this.styles.bodyAddPaddingForPanel(this.theme)]: additionalPadding,\n [this.styles.mobileBodyAddPaddingForPanel(this.theme)]: additionalPadding && this.isMobileLayout,\n [this.styles.mobileBodyWithoutHeader(this.theme)]: !hasHeader && this.isMobileLayout,\n [this.styles.bodyWithoutPadding()]: noPadding,\n })}\n >\n {this.isMobileLayout ? (\n <ResizeDetector onResize={this.handleResize}>{this.props.children}</ResizeDetector>\n ) : (\n this.props.children\n )}\n </ZIndex>\n </CommonWrapper>\n )}\n </ModalContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ThemeContext","ZIndex","CommonWrapper","responsiveLayout","LayoutEvents","ResizeDetector","rootNode","withRenderEnvironment","ModalContext","getStyles","getModalBodyTheme","ModalZIndexPriority","ModalBody","_class","_ModalBody","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","handleResize","emit","_inheritsLoose","_proto","prototype","render","_this2","styles","emotion","createElement","Consumer","theme","Provider","value","renderMain","_this3","noPadding","props","_ref","_this3$cx","additionalPadding","hasHeader","_extends","rootNodeRef","setRootNode","priority","Content","className","cx","body","mobileBody","isMobileLayout","bodyWithoutHeader","bodyAddPaddingForPanel","mobileBodyAddPaddingForPanel","mobileBodyWithoutHeader","bodyWithoutPadding","onResize","children","Component","__KONTUR_REACT_UI__","displayName","__MODAL_BODY__"],"sources":["ModalBody.tsx"],"sourcesContent":["import React, { type JSX } from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ResizeDetector } from '../../internal/ResizeDetector';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { ModalContext } from './ModalContext';\nimport { getStyles } from './Modal.styles';\nimport { getModalBodyTheme } from './getModalBodyTheme';\nimport { ModalZIndexPriority } from './Modal';\n\nexport interface ModalBodyProps extends CommonProps {\n /** Убирает отступы. */\n noPadding?: boolean;\n}\n\n/**\n * ModalBody - контейнер с отступами от края модалки.\n *\n * @visibleName Modal.Body\n */\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\nexport class ModalBody extends React.Component<ModalBodyProps> {\n public static __KONTUR_REACT_UI__ = 'ModalBody';\n public static displayName = 'ModalBody';\n public static __MODAL_BODY__ = true;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private isMobileLayout!: boolean;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render() {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getModalBodyTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private handleResize = () => {\n LayoutEvents.emit();\n };\n\n public renderMain(): JSX.Element {\n const { noPadding } = this.props;\n return (\n <ModalContext.Consumer>\n {({ additionalPadding, hasHeader }) => (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <ZIndex\n priority={ModalZIndexPriority.Content}\n className={this.cx({\n [this.styles.body(this.theme)]: true,\n [this.styles.mobileBody(this.theme)]: this.isMobileLayout,\n [this.styles.bodyWithoutHeader(this.theme)]: !hasHeader,\n [this.styles.bodyAddPaddingForPanel(this.theme)]: additionalPadding,\n [this.styles.mobileBodyAddPaddingForPanel(this.theme)]: additionalPadding && this.isMobileLayout,\n [this.styles.mobileBodyWithoutHeader(this.theme)]: !hasHeader && this.isMobileLayout,\n [this.styles.bodyWithoutPadding()]: noPadding,\n })}\n >\n {this.isMobileLayout ? (\n <ResizeDetector onResize={this.handleResize}>{this.props.children}</ResizeDetector>\n ) : (\n this.props.children\n )}\n </ZIndex>\n </CommonWrapper>\n )}\n </ModalContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { type JSX } from 'react';
2
2
  import type { CommonProps } from '../../internal/CommonWrapper';
3
3
  import type { TGetRootNode } from '../../lib/rootNode';
4
4
  export interface ModalBodyProps extends CommonProps {
@@ -21,7 +21,7 @@ export declare class ModalBody extends React.Component<ModalBodyProps> {
21
21
  private isMobileLayout;
22
22
  getRootNode: TGetRootNode;
23
23
  private setRootNode;
24
- render(): React.JSX.Element;
24
+ render(): JSX.Element;
25
25
  private handleResize;
26
26
  renderMain(): JSX.Element;
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","warning","isInstanceOf","isKeyArrowLeft","isKeyArrowRight","isKeyEnter","locale","KeyListener","emptyHandler","ThemeContext","CommonWrapper","rootNode","createPropsGetter","getVisualStateDataAttributes","ResponsiveLayout","withRenderEnvironment","getStyles","NavigationHelper","getItems","PagingLocaleHelper","PagingDefaultComponent","ForwardIcon","ForwardIconMobile","DotsIcon","IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","_dec","_class","_Paging","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","_this$cx","createElement","className","cx","styles","theme","sizeClassNames","dotsDisabled","getDotsIcon","_this$cx2","classNames","pageLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","getForwardIcon","_extends","onClick","goForward","tabIndex","pageNumber","isMobile","caption","_this$cx3","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","Fragment","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","globalObject","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","pagesCount","isItemFocusable","moveFocus","step","items","findIndex","x","onPageChange","addGlobalListener","_this$globalObject$do","document","addEventListener","removeGlobalListener","_this$globalObject$do2","removeEventListener","refContainer","element","getPagingSizeClassNames","size","getSize","defaultClassNames","pagingSmall","dotsSmall","forwardLinkSmall","pageLinkSmall","pagingMedium","dotsMedium","forwardLinkMediumMobile","forwardLinkMedium","pageLinkMedium","pagingLarge","dotsLarge","forwardLinkLargeMobile","forwardLinkLarge","pageLinkLarge","iconSize","style","marginLeft","defaultSize","_inheritsLoose","isForward","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","_this2","emotion","Consumer","_ref","renderMain","_this$cx4","_this3","_this$getProps","rootNodeRef","setRootNode","paging","pagingMobile","pagingDisabled","onKeyDown","undefined","onFocus","onBlur","onMouseDown","ref","map","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Paging.tsx"],"sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\nimport warning from 'warning';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { KeyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport type { PagingLocale } from './locale';\nimport { PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon, ForwardIconMobile } from './ForwardIcon';\nimport { DotsIcon } from './DotsIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n /** Определяет, является ли страница текущей. */\n active: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className: string;\n\n /** Задает функцию, которая вызывается при клике на элемент. */\n onClick: () => void;\n\n /** Задает номер текущей страницы. */\n pageNumber: number | 'forward';\n\n /** Задает HTML-атрибут `tabindex`. */\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n\n /** Компонент обертки по умолчанию.\n * @default <span/> */\n component?: React.ComponentType<ItemComponentProps>;\n\n /** Задает функцию, которая вызывается при переключении страницы. */\n onPageChange: (pageNumber: number) => void;\n\n /** Задает общее количество страниц. */\n pagesCount: number;\n\n /** Задает размер контрола.\n * @default 'small'\n */\n size?: SizeProp;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры (либо элемент в фокусе, либо globalListeners === true). */\n withoutNavigationHint?: boolean;\n\n /** Задает подпить у пейджинга. */\n caption?: string;\n\n /** Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов **Paging** с useGlobalListener === true,\n * то обработчик keyDown будет вызываться на каждом из них. Такие случаи лучше обрабатывать отдельно. */\n useGlobalListener?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<Pick<PagingProps, 'component' | 'useGlobalListener'>>;\n\ninterface PagingSizeClassNames {\n root: string;\n dots: string;\n forwardLink: string;\n pageLink: string;\n}\n\n/**\n * Постраничная навигация `Paging` (пейджинг или пагинация) — способ представления большого количества однородной информации, когда контент разбивается на страницы.\n */\n@withRenderEnvironment\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n public static displayName = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n useGlobalListener: false,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private isMobile!: boolean;\n private sizeClassNames!: PagingSizeClassNames;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2) {\n return null;\n }\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ResponsiveLayout>\n {({ isMobile }) => {\n this.isMobile = isMobile;\n this.sizeClassNames = this.getPagingSizeClassNames();\n return this.renderMain();\n }}\n </ResponsiveLayout>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { useGlobalListener } = this.getProps();\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled: this.props.disabled })}\n >\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={PagingDataTids.root}\n className={this.cx(this.styles.paging(), this.sizeClassNames.root, {\n [this.styles.pagingMobile()]: this.isMobile,\n [this.styles.pagingDisabled()]: this.props.disabled,\n })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map((item, index) => this.renderItem(item, index))}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={this.cx(this.styles.dots(this.theme), this.sizeClassNames.dots, {\n [this.styles.dotsDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {this.getDotsIcon()}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classNames = this.cx(\n this.styles.pageLink(this.theme),\n this.sizeClassNames.pageLink,\n this.styles.forwardLink(this.theme),\n this.sizeClassNames.forwardLink,\n {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n },\n );\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = this.getForwardIcon();\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classNames}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n {...getVisualStateDataAttributes({ disabled })}\n >\n {!this.isMobile && (this.props.caption || forward)}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const disabled = this.props.disabled;\n const classNames = this.cx(this.styles.pageLink(this.theme), this.sizeClassNames.pageLink, {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.pageLinkDisabled(this.theme)]: disabled,\n [this.styles.pageLinkCurrent(this.theme)]: active,\n [this.styles.pageLinkCurrentDisabled(this.theme)]: active && disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={this.styles.pageLinkWrapper()}\n {...getVisualStateDataAttributes({ active, disabled })}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classNames}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && !this.isMobile && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n let hint = null;\n if (keyboardControl && (canGoBackward || canGoForward)) {\n hint = (\n <>\n <span className={canGoBackward ? '' : this.styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : this.styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={this.styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, this.globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount, this.isMobile).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n this.globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n this.globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n\n private getPagingSizeClassNames = (): PagingSizeClassNames => {\n const size = this.getSize();\n\n const defaultClassNames = {\n root: this.styles.pagingSmall(this.theme),\n dots: this.styles.dotsSmall(this.theme),\n forwardLink: this.styles.forwardLinkSmall(this.theme),\n pageLink: this.styles.pageLinkSmall(this.theme),\n };\n\n switch (size) {\n case 'small':\n return defaultClassNames;\n case 'medium':\n return {\n root: this.styles.pagingMedium(this.theme),\n dots: this.styles.dotsMedium(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkMediumMobile(this.theme)\n : this.styles.forwardLinkMedium(this.theme),\n pageLink: this.styles.pageLinkMedium(this.theme),\n };\n case 'large':\n return {\n root: this.styles.pagingLarge(this.theme),\n dots: this.styles.dotsLarge(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkLargeMobile(this.theme)\n : this.styles.forwardLinkLarge(this.theme),\n pageLink: this.styles.pageLinkLarge(this.theme),\n };\n default:\n warning(false, `Invalid size prop: '${this.props.size}'`);\n return defaultClassNames;\n }\n };\n\n private getDotsIcon = () => {\n const size = this.getSize();\n return <DotsIcon size={size} />;\n };\n\n private getForwardIcon = () => {\n const size = this.getSize();\n const iconSize = size;\n return this.isMobile ? (\n <ForwardIconMobile size={iconSize} />\n ) : (\n <ForwardIcon size={iconSize} style={{ marginLeft: 4 }} />\n );\n };\n\n private getSize = () => {\n if (this.props.size) {\n return this.isMobile && this.props.size === 'small' ? 'medium' : this.props.size;\n }\n\n const defaultSize = 'small';\n return this.isMobile ? 'medium' : defaultSize;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","isInstanceOf","isKeyArrowLeft","isKeyArrowRight","isKeyEnter","locale","KeyListener","emptyHandler","ThemeContext","CommonWrapper","rootNode","createPropsGetter","getVisualStateDataAttributes","ResponsiveLayout","withRenderEnvironment","getStyles","NavigationHelper","getItems","PagingLocaleHelper","PagingDefaultComponent","ForwardIcon","ForwardIconMobile","DotsIcon","IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","_dec","_class","_Paging","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","_this$cx","createElement","className","cx","styles","theme","sizeClassNames","dotsDisabled","getDotsIcon","_this$cx2","classNames","pageLinkFocused","forwardLinkDisabled","Component","component","forward","forwardIcon","getForwardIcon","_extends","onClick","goForward","tabIndex","pageNumber","isMobile","caption","_this$cx3","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","hint","Fragment","transparent","getKeyName","pageLinkHint","handleMouseDown","setState","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","globalObject","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","pagesCount","isItemFocusable","moveFocus","step","items","findIndex","x","onPageChange","addGlobalListener","_this$globalObject$do","document","addEventListener","removeGlobalListener","_this$globalObject$do2","removeEventListener","refContainer","element","getPagingSizeClassNames","size","getSize","defaultClassNames","pagingSmall","dotsSmall","forwardLinkSmall","pageLinkSmall","pagingMedium","dotsMedium","forwardLinkMediumMobile","forwardLinkMedium","pageLinkMedium","pagingLarge","dotsLarge","forwardLinkLargeMobile","forwardLinkLarge","pageLinkLarge","iconSize","style","marginLeft","defaultSize","_inheritsLoose","isForward","_proto","prototype","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","_this2","emotion","Consumer","_ref","renderMain","_this$cx4","_this3","_this$getProps","rootNodeRef","setRootNode","paging","pagingMobile","pagingDisabled","onKeyDown","undefined","onFocus","onBlur","onMouseDown","ref","map","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Paging.tsx"],"sourcesContent":["import React, { type JSX } from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\nimport warning from 'warning';\n\nimport type { GlobalObject } from '../../lib/globalObject';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport type { Nullable } from '../../typings/utility-types';\nimport { KeyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport type { SizeProp } from '../../lib/types/props';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport type { PagingLocale } from './locale';\nimport { PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\nimport { ForwardIcon, ForwardIconMobile } from './ForwardIcon';\nimport { DotsIcon } from './DotsIcon';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n /** Определяет, является ли страница текущей. */\n active: boolean;\n\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает HTML-атрибут class. */\n className: string;\n\n /** Задает функцию, которая вызывается при клике на элемент. */\n onClick: () => void;\n\n /** Задает номер текущей страницы. */\n pageNumber: number | 'forward';\n\n /** Задает HTML-атрибут `tabindex`. */\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n\n /** Компонент обертки по умолчанию.\n * @default <span/> */\n component?: React.ComponentType<ItemComponentProps>;\n\n /** Задает функцию, которая вызывается при переключении страницы. */\n onPageChange: (pageNumber: number) => void;\n\n /** Задает общее количество страниц. */\n pagesCount: number;\n\n /** Задает размер контрола.\n * @default 'small'\n */\n size?: SizeProp;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры (либо элемент в фокусе, либо globalListeners === true). */\n withoutNavigationHint?: boolean;\n\n /** Задает подпить у пейджинга. */\n caption?: string;\n\n /** Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов **Paging** с useGlobalListener === true,\n * то обработчик keyDown будет вызываться на каждом из них. Такие случаи лучше обрабатывать отдельно. */\n useGlobalListener?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<Pick<PagingProps, 'component' | 'useGlobalListener'>>;\n\ninterface PagingSizeClassNames {\n root: string;\n dots: string;\n forwardLink: string;\n pageLink: string;\n}\n\n/**\n * Постраничная навигация `Paging` (пейджинг или пагинация) — способ представления большого количества однородной информации, когда контент разбивается на страницы.\n */\n@withRenderEnvironment\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n public static displayName = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n useGlobalListener: false,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private isMobile!: boolean;\n private sizeClassNames!: PagingSizeClassNames;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n private keyListener!: KeyListener;\n\n public componentDidMount() {\n this.keyListener = new KeyListener(this.globalObject);\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2) {\n return null;\n }\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ResponsiveLayout>\n {({ isMobile }) => {\n this.isMobile = isMobile;\n this.sizeClassNames = this.getPagingSizeClassNames();\n return this.renderMain();\n }}\n </ResponsiveLayout>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { useGlobalListener } = this.getProps();\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...this.props}\n {...getVisualStateDataAttributes({ disabled: this.props.disabled })}\n >\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={PagingDataTids.root}\n className={this.cx(this.styles.paging(), this.sizeClassNames.root, {\n [this.styles.pagingMobile()]: this.isMobile,\n [this.styles.pagingDisabled()]: this.props.disabled,\n })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map((item, index) => this.renderItem(item, index))}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={this.cx(this.styles.dots(this.theme), this.sizeClassNames.dots, {\n [this.styles.dotsDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {this.getDotsIcon()}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classNames = this.cx(\n this.styles.pageLink(this.theme),\n this.sizeClassNames.pageLink,\n this.styles.forwardLink(this.theme),\n this.sizeClassNames.forwardLink,\n {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n },\n );\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n const forwardIcon = this.getForwardIcon();\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classNames}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n {...getVisualStateDataAttributes({ disabled })}\n >\n {!this.isMobile && (this.props.caption || forward)}\n {forwardIcon}\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const disabled = this.props.disabled;\n const classNames = this.cx(this.styles.pageLink(this.theme), this.sizeClassNames.pageLink, {\n [this.styles.pageLinkFocused(this.theme)]: focused,\n [this.styles.pageLinkDisabled(this.theme)]: disabled,\n [this.styles.pageLinkCurrent(this.theme)]: active,\n [this.styles.pageLinkCurrentDisabled(this.theme)]: active && disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={this.styles.pageLinkWrapper()}\n {...getVisualStateDataAttributes({ active, disabled })}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classNames}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && !this.isMobile && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n let hint = null;\n if (keyboardControl && (canGoBackward || canGoForward)) {\n hint = (\n <>\n <span className={canGoBackward ? '' : this.styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : this.styles.transparent()}>{'→'}</span>\n </>\n );\n }\n return <div className={this.styles.pageLinkHint(this.theme)}>{hint}</div>;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n isInstanceOf(target, this.globalObject.Element) &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount, this.isMobile).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n this.globalObject.document?.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n this.globalObject.document?.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n\n private getPagingSizeClassNames = (): PagingSizeClassNames => {\n const size = this.getSize();\n\n const defaultClassNames = {\n root: this.styles.pagingSmall(this.theme),\n dots: this.styles.dotsSmall(this.theme),\n forwardLink: this.styles.forwardLinkSmall(this.theme),\n pageLink: this.styles.pageLinkSmall(this.theme),\n };\n\n switch (size) {\n case 'small':\n return defaultClassNames;\n case 'medium':\n return {\n root: this.styles.pagingMedium(this.theme),\n dots: this.styles.dotsMedium(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkMediumMobile(this.theme)\n : this.styles.forwardLinkMedium(this.theme),\n pageLink: this.styles.pageLinkMedium(this.theme),\n };\n case 'large':\n return {\n root: this.styles.pagingLarge(this.theme),\n dots: this.styles.dotsLarge(this.theme),\n forwardLink: this.isMobile\n ? this.styles.forwardLinkLargeMobile(this.theme)\n : this.styles.forwardLinkLarge(this.theme),\n pageLink: this.styles.pageLinkLarge(this.theme),\n };\n default:\n warning(false, `Invalid size prop: '${this.props.size}'`);\n return defaultClassNames;\n }\n };\n\n private getDotsIcon = () => {\n const size = this.getSize();\n return <DotsIcon size={size} />;\n };\n\n private getForwardIcon = () => {\n const size = this.getSize();\n const iconSize = size;\n return this.isMobile ? (\n <ForwardIconMobile size={iconSize} />\n ) : (\n <ForwardIcon size={iconSize} style={{ marginLeft: 4 }} />\n );\n };\n\n private getSize = () => {\n if (this.props.size) {\n return this.isMobile && this.props.size === 'small' ? 'medium' : this.props.size;\n }\n\n const defaultSize = 'small';\n return this.isMobile ? 'medium' : defaultSize;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { type JSX } from 'react';
2
2
  import type { Nullable } from '../../typings/utility-types';
3
3
  import type { CommonProps } from '../../internal/CommonWrapper';
4
4
  import type { TGetRootNode } from '../../lib/rootNode';
@@ -82,7 +82,7 @@ export declare class Paging extends React.PureComponent<PagingProps, PagingState
82
82
  componentDidMount(): void;
83
83
  componentDidUpdate(prevProps: PagingProps): void;
84
84
  componentWillUnmount(): void;
85
- render(): React.JSX.Element | null;
85
+ render(): JSX.Element | null;
86
86
  private renderMain;
87
87
  private renderItem;
88
88
  private renderDots;
@@ -1 +1 @@
1
- {"version":3,"names":["React","locale","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","CommonWrapper","ThemeContext","rootNode","withSize","createPropsGetter","withRenderEnvironment","getStyles","PasswordInputIcon","PasswordInputLocaleHelper","PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","_dec","_class","_PasswordInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","visible","focused","capsLockEnabled","getProps","focus","input","blur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","handleToggleVisibility","prevState","focusOnInput","handleFocus","event","onFocus","handleFocusOutside","hideSymbols","renderEye","createElement","className","styles","iconWrapper","cx","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","size","refInput","element","renderMain","active","onFocusOutside","onClickOutside","_extends","ref","rightIcon","_inheritsLoose","_proto","prototype","componentDidMount","getDerivedStateFromProps","render","_this3","emotion","Consumer","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport type { PasswordInputLocale } from './locale';\nimport { PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Omit<InputProps, 'showClearIcon'> {\n /** Визуально показывает, что активен CapsLock. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n@withRenderEnvironment\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.size) {\n case 'large':\n return this.styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return this.styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={this.styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={this.styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={this.cx(this.styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={this.styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={this.styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n {...props}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","locale","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","CommonWrapper","ThemeContext","rootNode","withSize","createPropsGetter","withRenderEnvironment","getStyles","PasswordInputIcon","PasswordInputLocaleHelper","PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","_dec","_class","_PasswordInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","visible","focused","capsLockEnabled","getProps","focus","input","blur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","handleToggleVisibility","prevState","focusOnInput","handleFocus","event","onFocus","handleFocusOutside","hideSymbols","renderEye","createElement","className","styles","iconWrapper","cx","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","size","refInput","element","renderMain","active","onFocusOutside","onClickOutside","_extends","ref","rightIcon","_inheritsLoose","_proto","prototype","componentDidMount","getDerivedStateFromProps","render","_this3","emotion","Consumer","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["PasswordInput.tsx"],"sourcesContent":["import type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\nimport type { Emotion } from '@emotion/css/types/create-instance';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment';\n\nimport { getStyles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport type { PasswordInputLocale } from './locale';\nimport { PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Omit<InputProps, 'showClearIcon'> {\n /** Визуально показывает, что активен CapsLock. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n focused: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\n/**\n * Однострочное поле для ввода пароля, в котором символы заменяются на точки.\n */\n@withRenderEnvironment\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\n@withSize\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public state: PasswordInputState = {\n visible: false,\n focused: false,\n capsLockEnabled: false,\n };\n private size!: SizeProp;\n\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private input: Nullable<Input>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n private getProps = createPropsGetter({});\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.focusOnInput);\n };\n\n private focusOnInput = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleFocusOutside = () => {\n this.hideSymbols();\n\n if (this.state.focused) {\n this.setState({ focused: false });\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.size) {\n case 'large':\n return this.styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return this.styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={this.styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={this.styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={this.cx(this.styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={this.styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n return (\n <RenderLayer\n active={this.state.focused}\n onFocusOutside={this.handleFocusOutside}\n onClickOutside={this.handleFocusOutside}\n >\n <div data-tid={PasswordInputDataTids.root} className={this.styles.root()}>\n <Input\n ref={this.refInput}\n type={this.state.visible ? 'text' : 'password'}\n onKeyDown={this.handleKeydown}\n onKeyPress={this.handleKeyPress}\n rightIcon={this.renderEye()}\n onFocus={this.handleFocus}\n {...props}\n />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { AriaAttributes } from 'react';
1
+ import type { AriaAttributes, JSX } from 'react';
2
2
  import React from 'react';
3
3
  import type { InputProps } from '../Input';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';