@skbkontur/react-ui 4.21.0-displayname.0 → 4.21.0-displayname.1

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 (437) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  2. package/cjs/components/Autocomplete/Autocomplete.js +2 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Button/Button.d.ts +1 -1
  5. package/cjs/components/Button/Button.js +1 -1
  6. package/cjs/components/Button/Button.js.map +1 -1
  7. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  8. package/cjs/components/Calendar/Calendar.js +2 -1
  9. package/cjs/components/Calendar/Calendar.js.map +1 -1
  10. package/cjs/components/Center/Center.d.ts +1 -0
  11. package/cjs/components/Center/Center.js +2 -1
  12. package/cjs/components/Center/Center.js.map +1 -1
  13. package/cjs/components/Checkbox/Checkbox.d.ts +1 -0
  14. package/cjs/components/Checkbox/Checkbox.js +2 -1
  15. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  16. package/cjs/components/ComboBox/ComboBox.d.ts +1 -0
  17. package/cjs/components/ComboBox/ComboBox.js +2 -1
  18. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  19. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  20. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
  21. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  22. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  23. package/cjs/components/DateInput/DateInput.js +2 -1
  24. package/cjs/components/DateInput/DateInput.js.map +1 -1
  25. package/cjs/components/DatePicker/DatePicker.d.ts +1 -0
  26. package/cjs/components/DatePicker/DatePicker.js +2 -1
  27. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  28. package/cjs/components/DatePicker/Picker.d.ts +1 -0
  29. package/cjs/components/DatePicker/Picker.js +2 -1
  30. package/cjs/components/DatePicker/Picker.js.map +1 -1
  31. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  32. package/cjs/components/Dropdown/Dropdown.js +2 -1
  33. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  34. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  35. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
  36. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  37. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  38. package/cjs/components/FxInput/FxInput.js +2 -1
  39. package/cjs/components/FxInput/FxInput.js.map +1 -1
  40. package/cjs/components/Gapped/Gapped.d.ts +1 -0
  41. package/cjs/components/Gapped/Gapped.js +2 -1
  42. package/cjs/components/Gapped/Gapped.js.map +1 -1
  43. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -0
  44. package/cjs/components/GlobalLoader/GlobalLoader.js +2 -1
  45. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  46. package/cjs/components/Group/Group.d.ts +1 -0
  47. package/cjs/components/Group/Group.js +2 -1
  48. package/cjs/components/Group/Group.js.map +1 -1
  49. package/cjs/components/Hint/Hint.d.ts +1 -0
  50. package/cjs/components/Hint/Hint.js +2 -1
  51. package/cjs/components/Hint/Hint.js.map +1 -1
  52. package/cjs/components/Kebab/Kebab.d.ts +1 -0
  53. package/cjs/components/Kebab/Kebab.js +2 -1
  54. package/cjs/components/Kebab/Kebab.js.map +1 -1
  55. package/cjs/components/Link/Link.d.ts +1 -0
  56. package/cjs/components/Link/Link.js +2 -1
  57. package/cjs/components/Link/Link.js.map +1 -1
  58. package/cjs/components/Loader/Loader.d.ts +1 -0
  59. package/cjs/components/Loader/Loader.js +2 -1
  60. package/cjs/components/Loader/Loader.js.map +1 -1
  61. package/cjs/components/MenuItem/MenuItem.d.ts +1 -0
  62. package/cjs/components/MenuItem/MenuItem.js +2 -1
  63. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  64. package/cjs/components/Modal/Modal.d.ts +1 -0
  65. package/cjs/components/Modal/Modal.js +2 -1
  66. package/cjs/components/Modal/Modal.js.map +1 -1
  67. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  68. package/cjs/components/Modal/ModalBody.js +2 -1
  69. package/cjs/components/Modal/ModalBody.js.map +1 -1
  70. package/cjs/components/Paging/Paging.d.ts +1 -0
  71. package/cjs/components/Paging/Paging.js +2 -1
  72. package/cjs/components/Paging/Paging.js.map +1 -1
  73. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
  74. package/cjs/components/PasswordInput/PasswordInput.js +2 -1
  75. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  76. package/cjs/components/Radio/Radio.d.ts +1 -0
  77. package/cjs/components/Radio/Radio.js +2 -1
  78. package/cjs/components/Radio/Radio.js.map +1 -1
  79. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  80. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  81. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  82. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +1 -0
  83. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +2 -1
  84. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  85. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  86. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  87. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  88. package/cjs/components/Select/Item.d.ts +1 -0
  89. package/cjs/components/Select/Item.js +2 -1
  90. package/cjs/components/Select/Item.js.map +1 -1
  91. package/cjs/components/Select/Select.d.ts +1 -0
  92. package/cjs/components/Select/Select.js +2 -1
  93. package/cjs/components/Select/Select.js.map +1 -1
  94. package/cjs/components/SidePage/SidePage.d.ts +1 -0
  95. package/cjs/components/SidePage/SidePage.js +2 -1
  96. package/cjs/components/SidePage/SidePage.js.map +1 -1
  97. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  98. package/cjs/components/SidePage/SidePageBody.js +2 -1
  99. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  100. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  101. package/cjs/components/SidePage/SidePageContainer.js +2 -1
  102. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  103. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
  104. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  105. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  106. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  107. package/cjs/components/SidePage/SidePageHeader.js +2 -1
  108. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  109. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  110. package/cjs/components/Spinner/Spinner.js +2 -1
  111. package/cjs/components/Spinner/Spinner.js.map +1 -1
  112. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  113. package/cjs/components/Sticky/Sticky.js +2 -1
  114. package/cjs/components/Sticky/Sticky.js.map +1 -1
  115. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  116. package/cjs/components/Switcher/Switcher.js +2 -1
  117. package/cjs/components/Switcher/Switcher.js.map +1 -1
  118. package/cjs/components/Tabs/Tab.d.ts +1 -0
  119. package/cjs/components/Tabs/Tab.js +2 -1
  120. package/cjs/components/Tabs/Tab.js.map +1 -1
  121. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  122. package/cjs/components/Tabs/Tabs.js +2 -1
  123. package/cjs/components/Tabs/Tabs.js.map +1 -1
  124. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  125. package/cjs/components/Textarea/Textarea.js +2 -1
  126. package/cjs/components/Textarea/Textarea.js.map +1 -1
  127. package/cjs/components/Toast/Toast.d.ts +1 -0
  128. package/cjs/components/Toast/Toast.js +2 -1
  129. package/cjs/components/Toast/Toast.js.map +1 -1
  130. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  131. package/cjs/components/Toggle/Toggle.js +2 -1
  132. package/cjs/components/Toggle/Toggle.js.map +1 -1
  133. package/cjs/components/Token/Token.d.ts +1 -0
  134. package/cjs/components/Token/Token.js +2 -1
  135. package/cjs/components/Token/Token.js.map +1 -1
  136. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  137. package/cjs/components/TokenInput/TokenInput.js +2 -1
  138. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  139. package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
  140. package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
  141. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  142. package/cjs/components/Tooltip/Tooltip.d.ts +1 -0
  143. package/cjs/components/Tooltip/Tooltip.js +2 -1
  144. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  145. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  146. package/cjs/components/TooltipMenu/TooltipMenu.js +2 -1
  147. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  148. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  149. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -1
  150. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  151. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  152. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
  153. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  154. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  155. package/cjs/internal/CustomComboBox/CustomComboBox.js +2 -1
  156. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  157. package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
  158. package/cjs/internal/DateSelect/DateSelect.js +2 -1
  159. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  160. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
  161. package/cjs/internal/DropdownContainer/DropdownContainer.js +2 -1
  162. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  163. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  164. package/cjs/internal/FocusTrap/FocusTrap.js +2 -1
  165. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  166. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  167. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  168. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  169. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  170. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  171. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  172. package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
  173. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  174. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
  175. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +2 -1
  176. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  177. package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
  178. package/cjs/internal/InternalMenu/InternalMenu.js +2 -1
  179. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  180. package/cjs/internal/Menu/Menu.d.ts +1 -0
  181. package/cjs/internal/Menu/Menu.js +2 -1
  182. package/cjs/internal/Menu/Menu.js.map +1 -1
  183. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  184. package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
  185. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  186. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  187. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
  188. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  189. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  190. package/cjs/internal/NativeDateInput/NativeDateInput.js +2 -1
  191. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  192. package/cjs/internal/Popup/Popup.d.ts +1 -0
  193. package/cjs/internal/Popup/Popup.js +2 -1
  194. package/cjs/internal/Popup/Popup.js.map +1 -1
  195. package/cjs/internal/Popup/PopupPin.d.ts +1 -0
  196. package/cjs/internal/Popup/PopupPin.js +2 -1
  197. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  198. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
  199. package/cjs/internal/PopupMenu/PopupMenu.js +2 -1
  200. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  201. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -0
  202. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  203. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  204. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +1 -0
  205. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  206. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  207. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
  208. package/cjs/internal/RenderLayer/RenderLayer.js +2 -1
  209. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  210. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  211. package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
  212. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  213. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
  214. package/cjs/internal/ZIndex/ZIndex.js +2 -1
  215. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  216. package/cjs/internal/icons/20px/Icon.d.ts +1 -0
  217. package/cjs/internal/icons/20px/Icon.js +2 -1
  218. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  219. package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
  220. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  221. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  222. package/components/Button/Button/Button.js +1 -1
  223. package/components/Button/Button/Button.js.map +1 -1
  224. package/components/Button/Button.d.ts +1 -1
  225. package/components/Calendar/Calendar/Calendar.js +1 -1
  226. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  227. package/components/Calendar/Calendar.d.ts +1 -0
  228. package/components/Center/Center/Center.js +1 -1
  229. package/components/Center/Center/Center.js.map +1 -1
  230. package/components/Center/Center.d.ts +1 -0
  231. package/components/Checkbox/Checkbox/Checkbox.js +1 -1
  232. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  233. package/components/Checkbox/Checkbox.d.ts +1 -0
  234. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  235. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  236. package/components/ComboBox/ComboBox.d.ts +1 -0
  237. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -1
  238. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  239. package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  240. package/components/DateInput/DateInput/DateInput.js +1 -1
  241. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  242. package/components/DateInput/DateInput.d.ts +1 -0
  243. package/components/DatePicker/DatePicker/DatePicker.js +1 -1
  244. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  245. package/components/DatePicker/DatePicker.d.ts +1 -0
  246. package/components/DatePicker/Picker/Picker.js +1 -1
  247. package/components/DatePicker/Picker/Picker.js.map +1 -1
  248. package/components/DatePicker/Picker.d.ts +1 -0
  249. package/components/Dropdown/Dropdown/Dropdown.js +1 -1
  250. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  251. package/components/Dropdown/Dropdown.d.ts +1 -0
  252. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  253. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  254. package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  255. package/components/FxInput/FxInput/FxInput.js +1 -1
  256. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  257. package/components/FxInput/FxInput.d.ts +1 -0
  258. package/components/Gapped/Gapped/Gapped.js +1 -1
  259. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  260. package/components/Gapped/Gapped.d.ts +1 -0
  261. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -1
  262. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  263. package/components/GlobalLoader/GlobalLoader.d.ts +1 -0
  264. package/components/Group/Group/Group.js +1 -1
  265. package/components/Group/Group/Group.js.map +1 -1
  266. package/components/Group/Group.d.ts +1 -0
  267. package/components/Hint/Hint/Hint.js +1 -1
  268. package/components/Hint/Hint/Hint.js.map +1 -1
  269. package/components/Hint/Hint.d.ts +1 -0
  270. package/components/Kebab/Kebab/Kebab.js +1 -1
  271. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  272. package/components/Kebab/Kebab.d.ts +1 -0
  273. package/components/Link/Link/Link.js +1 -1
  274. package/components/Link/Link/Link.js.map +1 -1
  275. package/components/Link/Link.d.ts +1 -0
  276. package/components/Loader/Loader/Loader.js +1 -1
  277. package/components/Loader/Loader/Loader.js.map +1 -1
  278. package/components/Loader/Loader.d.ts +1 -0
  279. package/components/MenuItem/MenuItem/MenuItem.js +1 -1
  280. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  281. package/components/MenuItem/MenuItem.d.ts +1 -0
  282. package/components/Modal/Modal/Modal.js +1 -0
  283. package/components/Modal/Modal/Modal.js.map +1 -1
  284. package/components/Modal/Modal.d.ts +1 -0
  285. package/components/Modal/ModalBody/ModalBody.js +1 -1
  286. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  287. package/components/Modal/ModalBody.d.ts +1 -0
  288. package/components/Paging/Paging/Paging.js +1 -1
  289. package/components/Paging/Paging/Paging.js.map +1 -1
  290. package/components/Paging/Paging.d.ts +1 -0
  291. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -1
  292. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  293. package/components/PasswordInput/PasswordInput.d.ts +1 -0
  294. package/components/Radio/Radio/Radio.js +1 -1
  295. package/components/Radio/Radio/Radio.js.map +1 -1
  296. package/components/Radio/Radio.d.ts +1 -0
  297. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  298. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  299. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  300. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +2 -1
  301. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  302. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +1 -0
  303. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
  304. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  305. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  306. package/components/Select/Item/Item.js +2 -1
  307. package/components/Select/Item/Item.js.map +1 -1
  308. package/components/Select/Item.d.ts +1 -0
  309. package/components/Select/Select/Select.js +1 -1
  310. package/components/Select/Select/Select.js.map +1 -1
  311. package/components/Select/Select.d.ts +1 -0
  312. package/components/SidePage/SidePage/SidePage.js +1 -0
  313. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  314. package/components/SidePage/SidePage.d.ts +1 -0
  315. package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
  316. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  317. package/components/SidePage/SidePageBody.d.ts +1 -0
  318. package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
  319. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  320. package/components/SidePage/SidePageContainer.d.ts +1 -0
  321. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  322. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  323. package/components/SidePage/SidePageFooter.d.ts +1 -0
  324. package/components/SidePage/SidePageHeader/SidePageHeader.js +1 -1
  325. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  326. package/components/SidePage/SidePageHeader.d.ts +1 -0
  327. package/components/Spinner/Spinner/Spinner.js +1 -1
  328. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  329. package/components/Spinner/Spinner.d.ts +1 -0
  330. package/components/Sticky/Sticky/Sticky.js +1 -1
  331. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  332. package/components/Sticky/Sticky.d.ts +1 -0
  333. package/components/Switcher/Switcher/Switcher.js +1 -1
  334. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  335. package/components/Switcher/Switcher.d.ts +1 -0
  336. package/components/Tabs/Tab/Tab.js +1 -1
  337. package/components/Tabs/Tab/Tab.js.map +1 -1
  338. package/components/Tabs/Tab.d.ts +1 -0
  339. package/components/Tabs/Tabs/Tabs.js +1 -1
  340. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  341. package/components/Tabs/Tabs.d.ts +1 -0
  342. package/components/Textarea/Textarea/Textarea.js +1 -1
  343. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  344. package/components/Textarea/Textarea.d.ts +1 -0
  345. package/components/Toast/Toast/Toast.js +1 -1
  346. package/components/Toast/Toast/Toast.js.map +1 -1
  347. package/components/Toast/Toast.d.ts +1 -0
  348. package/components/Toggle/Toggle/Toggle.js +1 -1
  349. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  350. package/components/Toggle/Toggle.d.ts +1 -0
  351. package/components/Token/Token/Token.js +1 -1
  352. package/components/Token/Token/Token.js.map +1 -1
  353. package/components/Token/Token.d.ts +1 -0
  354. package/components/TokenInput/TokenInput/TokenInput.js +1 -1
  355. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  356. package/components/TokenInput/TokenInput.d.ts +1 -0
  357. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
  358. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  359. package/components/TokenInput/TokenInputMenu.d.ts +1 -0
  360. package/components/Tooltip/Tooltip/Tooltip.js +1 -1
  361. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  362. package/components/Tooltip/Tooltip.d.ts +1 -0
  363. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  364. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  365. package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  366. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
  367. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  368. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  369. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +1 -1
  370. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  371. package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  372. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -1
  373. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  374. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  375. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  376. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  377. package/internal/DateSelect/DateSelect.d.ts +1 -0
  378. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +1 -0
  379. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  380. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
  381. package/internal/FocusTrap/FocusTrap/FocusTrap.js +1 -1
  382. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  383. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  384. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +1 -0
  385. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  386. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  387. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +1 -1
  388. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  389. package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
  390. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  391. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  392. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +1 -0
  393. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  394. package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
  395. package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
  396. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  397. package/internal/InternalMenu/InternalMenu.d.ts +1 -0
  398. package/internal/Menu/Menu/Menu.js +1 -1
  399. package/internal/Menu/Menu/Menu.js.map +1 -1
  400. package/internal/Menu/Menu.d.ts +1 -0
  401. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  402. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  403. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  404. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
  405. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  406. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  407. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
  408. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
  409. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  410. package/internal/Popup/Popup/Popup.js +1 -1
  411. package/internal/Popup/Popup/Popup.js.map +1 -1
  412. package/internal/Popup/Popup.d.ts +1 -0
  413. package/internal/Popup/PopupPin/PopupPin.js +1 -0
  414. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  415. package/internal/Popup/PopupPin.d.ts +1 -0
  416. package/internal/PopupMenu/PopupMenu/PopupMenu.js +1 -1
  417. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  418. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  419. package/internal/RenderContainer/RenderContainer/RenderContainer.js +1 -0
  420. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  421. package/internal/RenderContainer/RenderContainer.d.ts +1 -0
  422. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +1 -0
  423. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  424. package/internal/RenderContainer/RenderInnerContainer.d.ts +1 -0
  425. package/internal/RenderLayer/RenderLayer/RenderLayer.js +1 -1
  426. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  427. package/internal/RenderLayer/RenderLayer.d.ts +1 -0
  428. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
  429. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  430. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  431. package/internal/ZIndex/ZIndex/ZIndex.js +1 -1
  432. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  433. package/internal/ZIndex/ZIndex.d.ts +1 -0
  434. package/internal/icons/20px/Icon/Icon.js +1 -0
  435. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  436. package/internal/icons/20px/Icon.d.ts +1 -0
  437. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLikeText.tsx"],"names":["React","ReactDOM","debounce","globalObject","isFunction","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","isTheme2022","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","isInstanceOf","HiddenInput","InputLikeTextDataTids","root","input","nativeInput","InputLikeText","getProps","defaultProps","state","blinking","focused","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectNodeContentsDebounced","selectInnerNode","start","end","document","body","focusTimeout","clearInterval","setTimeout","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","rest","leftSide","theme","renderLeftSide","rightSide","renderRightSide","className","getSizeClassName","hovering","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","version","search","flushSync","setState","onFocus","cancel","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","blinkTimeout","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","setRootNode","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { isFunction, isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps: DefaultProps = { size: 'small' };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: SafeTimer;\n private blinkTimeout: SafeTimer;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && globalObject.document && findRenderContainer(node, globalObject.document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n this.selectNodeContentsDebounced(node, start, end);\n\n if (this.focusTimeout) {\n globalObject.clearInterval(this.focusTimeout);\n }\n this.focusTimeout = globalObject.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n globalObject.document?.addEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n globalObject.document?.removeEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = isTheme2022(this.theme) ? (\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n ) : (\n this.renderLeftSide()\n );\n const rightSide = isTheme2022(this.theme) ? (\n <InputLayoutAside icon={rightIcon} text={suffix} side=\"right\" />\n ) : (\n this.renderRightSide()\n );\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <InputLayoutContext.Provider value={context}>\n <input\n data-tid={InputLikeTextDataTids.nativeInput}\n type=\"hidden\"\n value={value}\n disabled={disabled}\n aria-describedby={ariaDescribedby}\n />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && isInstanceOf(e.target, globalObject.Node) && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n globalObject.setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n globalObject.document?.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n globalObject.setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n globalObject.document?.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11 && globalObject.document) {\n selectNodeContents(globalObject.document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["InputLikeText.tsx"],"names":["React","ReactDOM","debounce","globalObject","isFunction","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","isTheme2022","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","isInstanceOf","HiddenInput","InputLikeTextDataTids","root","input","nativeInput","InputLikeText","getProps","defaultProps","state","blinking","focused","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectNodeContentsDebounced","selectInnerNode","start","end","document","body","focusTimeout","clearInterval","setTimeout","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","ariaDescribedby","rest","leftSide","theme","renderLeftSide","rightSide","renderRightSide","className","getSizeClassName","hovering","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","version","search","flushSync","setState","onFocus","cancel","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","blinkTimeout","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","setRootNode","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\n\nimport { isFunction, isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n nativeInput: 'InputLikeText__nativeInput',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n public static displayName = 'InputLikeText';\n\n public static defaultProps: DefaultProps = { size: 'small' };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: SafeTimer;\n private blinkTimeout: SafeTimer;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n // Async call required for Firefox\n private selectNodeContentsDebounced = debounce(selectNodeContents, 0);\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && globalObject.document && findRenderContainer(node, globalObject.document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n this.selectNodeContentsDebounced(node, start, end);\n\n if (this.focusTimeout) {\n globalObject.clearInterval(this.focusTimeout);\n }\n this.focusTimeout = globalObject.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n globalObject.document?.addEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n globalObject.document?.removeEventListener('mousedown', this.handleDocumentMouseDown);\n globalObject.document?.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n 'aria-describedby': ariaDescribedby,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = isTheme2022(this.theme) ? (\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n ) : (\n this.renderLeftSide()\n );\n const rightSide = isTheme2022(this.theme) ? (\n <InputLayoutAside icon={rightIcon} text={suffix} side=\"right\" />\n ) : (\n this.renderRightSide()\n );\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <InputLayoutContext.Provider value={context}>\n <input\n data-tid={InputLikeTextDataTids.nativeInput}\n type=\"hidden\"\n value={value}\n disabled={disabled}\n aria-describedby={ariaDescribedby}\n />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && isInstanceOf(e.target, globalObject.Node) && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n globalObject.setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n globalObject.document?.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n globalObject.setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n globalObject.document?.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11 && globalObject.document) {\n selectNodeContents(globalObject.document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => this.setState({ focused: true }));\n } else {\n this.setState({ focused: true });\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.selectNodeContentsDebounced.cancel();\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
@@ -20,6 +20,7 @@ export declare const InputLikeTextDataTids: {
20
20
  declare type DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;
21
21
  export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
22
22
  static __KONTUR_REACT_UI__: string;
23
+ static displayName: string;
23
24
  static defaultProps: DefaultProps;
24
25
  private getProps;
25
26
  state: {
@@ -216,6 +216,7 @@ export var InternalMaskedInput = /*#__PURE__*/function (_React$PureComponent) {
216
216
  return InternalMaskedInput;
217
217
  }(React.PureComponent);
218
218
  InternalMaskedInput.__KONTUR_REACT_UI__ = 'InternalMaskedInput';
219
+ InternalMaskedInput.displayName = 'InternalMaskedInput';
219
220
  InternalMaskedInput.defaultProps = {
220
221
  maskChar: '_'
221
222
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMaskedInput.tsx"],"names":["React","ReactInputMask","isNonNullable","ThemeContext","MaskCharLowLine","cx","createPropsGetter","styles","MaskedInputDataTids","root","InternalMaskedInput","props","getProps","defaultProps","input","reactInputMask","getValue","value","toString","defaultValue","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","originValue","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","componentDidUpdate","prevProps","render","theme","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './InternalMaskedInput.styles';\n\nexport interface InternalMaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n mask: string;\n maskChar?: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n hasLeftIcon?: boolean;\n hasRightIcon?: boolean;\n onUnexpectedInput?: (value: string) => void;\n onValueChange?: (value: string) => void;\n}\n\ninterface MaskedInputState {\n value: string;\n\n // Users can unmask value themselves. In these cases we take origin value length\n originValue: string;\n\n emptyValue: string;\n focused: boolean;\n}\n\ntype DefaultProps = Required<Pick<InternalMaskedInputProps, 'maskChar'>>;\n\nexport const MaskedInputDataTids = {\n root: 'MaskedInput__root',\n} as const;\n\n/** @deprecated Со следующей мажорной версии Input перестанет поддерживать маску.\n * todo: выпилить в 5 версии библиотеки.\n * */\nexport class InternalMaskedInput extends React.PureComponent<InternalMaskedInputProps, MaskedInputState> {\n public static __KONTUR_REACT_UI__ = 'InternalMaskedInput';\n\n public static defaultProps: DefaultProps = {\n maskChar: '_',\n };\n\n private getProps = createPropsGetter(InternalMaskedInput.defaultProps);\n\n public input: HTMLInputElement | null = null;\n private theme!: Theme;\n private reactInputMask: ReactInputMask | null = null;\n\n public constructor(props: InternalMaskedInputProps) {\n super(props);\n\n this.state = {\n value: this.getValue(props),\n originValue: this.getValue(props),\n emptyValue: '',\n focused: false,\n };\n }\n\n public componentDidMount() {\n if (this.reactInputMask) {\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\n this.reactInputMask.forceUpdate();\n }\n }\n\n public componentDidUpdate(prevProps: InternalMaskedInputProps) {\n if (this.props.value !== prevProps.value) {\n this.setState({\n value: this.props.value ? this.props.value.toString() : '',\n });\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n maskChar,\n alwaysShowMask,\n hasLeftIcon,\n hasRightIcon,\n maxLength,\n onValueChange,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = this.props;\n const { emptyValue, value, originValue } = this.state;\n\n const leftHelper = style?.textAlign !== 'right' && (\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, originValue.length)}</span>\n );\n const leftClass = style?.textAlign !== 'right' && styles.inputMaskLeft();\n\n const rightHelper = emptyValue\n .slice(originValue.length)\n .split('')\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n\n return (\n <span data-tid={MaskedInputDataTids.root} className={styles.container()} x-ms-format-detection=\"none\">\n <ReactInputMask\n {...inputProps}\n maskChar={null}\n beforeMaskedValueChange={this.preprocess}\n alwaysShowMask={false}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n value={value}\n inputRef={this.refInput}\n ref={this.refMaskedInput}\n style={{ ...style }}\n />\n {this.isMaskVisible() && (\n <span className={cx(styles.inputMask(this.theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n }\n\n private getValue = (props: InternalMaskedInputProps): string => {\n if (isNonNullable(props.value)) {\n return props.value.toString();\n }\n\n if (isNonNullable(props.defaultValue)) {\n return props.defaultValue.toString();\n }\n\n return '';\n };\n\n private refInput = (input: HTMLInputElement | null) => {\n this.input = input;\n };\n\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\n this.reactInputMask = reactInputMask;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === this.state.value) {\n this.handleUnexpectedInput();\n } else {\n this.setState({ value: event.target.value, originValue: event.target.value });\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private preprocess = (\n newState: InputState,\n oldState: InputState,\n userInput: string,\n options: MaskOptions & Pick<InternalMaskedInputProps, 'mask'>,\n ) => {\n const visibleMaskChars = new Array(options.mask.length).fill(this.getProps().maskChar);\n\n if (newState.value !== oldState.value && userInput === null) {\n this.setState({\n value: newState.value,\n originValue: newState.value,\n });\n }\n\n options.mask.split('').forEach((char: string, index: number) => {\n if (options.permanents.includes(index)) {\n visibleMaskChars[index] = char;\n }\n\n if (newState.value[index]) {\n visibleMaskChars[index] = newState.value[index];\n }\n });\n\n const emptyValue = visibleMaskChars.join('');\n\n if (this.state.emptyValue !== emptyValue) {\n this.setState({\n emptyValue,\n });\n }\n\n return newState;\n };\n\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\n\n private handleUnexpectedInput = () => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(this.state.value);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["InternalMaskedInput.tsx"],"names":["React","ReactInputMask","isNonNullable","ThemeContext","MaskCharLowLine","cx","createPropsGetter","styles","MaskedInputDataTids","root","InternalMaskedInput","props","getProps","defaultProps","input","reactInputMask","getValue","value","toString","defaultValue","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","originValue","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","componentDidUpdate","prevProps","render","theme","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","PureComponent","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './InternalMaskedInput.styles';\n\nexport interface InternalMaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n mask: string;\n maskChar?: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n hasLeftIcon?: boolean;\n hasRightIcon?: boolean;\n onUnexpectedInput?: (value: string) => void;\n onValueChange?: (value: string) => void;\n}\n\ninterface MaskedInputState {\n value: string;\n\n // Users can unmask value themselves. In these cases we take origin value length\n originValue: string;\n\n emptyValue: string;\n focused: boolean;\n}\n\ntype DefaultProps = Required<Pick<InternalMaskedInputProps, 'maskChar'>>;\n\nexport const MaskedInputDataTids = {\n root: 'MaskedInput__root',\n} as const;\n\n/** @deprecated Со следующей мажорной версии Input перестанет поддерживать маску.\n * todo: выпилить в 5 версии библиотеки.\n * */\nexport class InternalMaskedInput extends React.PureComponent<InternalMaskedInputProps, MaskedInputState> {\n public static __KONTUR_REACT_UI__ = 'InternalMaskedInput';\n public static displayName = 'InternalMaskedInput';\n\n public static defaultProps: DefaultProps = {\n maskChar: '_',\n };\n\n private getProps = createPropsGetter(InternalMaskedInput.defaultProps);\n\n public input: HTMLInputElement | null = null;\n private theme!: Theme;\n private reactInputMask: ReactInputMask | null = null;\n\n public constructor(props: InternalMaskedInputProps) {\n super(props);\n\n this.state = {\n value: this.getValue(props),\n originValue: this.getValue(props),\n emptyValue: '',\n focused: false,\n };\n }\n\n public componentDidMount() {\n if (this.reactInputMask) {\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\n this.reactInputMask.forceUpdate();\n }\n }\n\n public componentDidUpdate(prevProps: InternalMaskedInputProps) {\n if (this.props.value !== prevProps.value) {\n this.setState({\n value: this.props.value ? this.props.value.toString() : '',\n });\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n maskChar,\n alwaysShowMask,\n hasLeftIcon,\n hasRightIcon,\n maxLength,\n onValueChange,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = this.props;\n const { emptyValue, value, originValue } = this.state;\n\n const leftHelper = style?.textAlign !== 'right' && (\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, originValue.length)}</span>\n );\n const leftClass = style?.textAlign !== 'right' && styles.inputMaskLeft();\n\n const rightHelper = emptyValue\n .slice(originValue.length)\n .split('')\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n\n return (\n <span data-tid={MaskedInputDataTids.root} className={styles.container()} x-ms-format-detection=\"none\">\n <ReactInputMask\n {...inputProps}\n maskChar={null}\n beforeMaskedValueChange={this.preprocess}\n alwaysShowMask={false}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n value={value}\n inputRef={this.refInput}\n ref={this.refMaskedInput}\n style={{ ...style }}\n />\n {this.isMaskVisible() && (\n <span className={cx(styles.inputMask(this.theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n }\n\n private getValue = (props: InternalMaskedInputProps): string => {\n if (isNonNullable(props.value)) {\n return props.value.toString();\n }\n\n if (isNonNullable(props.defaultValue)) {\n return props.defaultValue.toString();\n }\n\n return '';\n };\n\n private refInput = (input: HTMLInputElement | null) => {\n this.input = input;\n };\n\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\n this.reactInputMask = reactInputMask;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === this.state.value) {\n this.handleUnexpectedInput();\n } else {\n this.setState({ value: event.target.value, originValue: event.target.value });\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private preprocess = (\n newState: InputState,\n oldState: InputState,\n userInput: string,\n options: MaskOptions & Pick<InternalMaskedInputProps, 'mask'>,\n ) => {\n const visibleMaskChars = new Array(options.mask.length).fill(this.getProps().maskChar);\n\n if (newState.value !== oldState.value && userInput === null) {\n this.setState({\n value: newState.value,\n originValue: newState.value,\n });\n }\n\n options.mask.split('').forEach((char: string, index: number) => {\n if (options.permanents.includes(index)) {\n visibleMaskChars[index] = char;\n }\n\n if (newState.value[index]) {\n visibleMaskChars[index] = newState.value[index];\n }\n });\n\n const emptyValue = visibleMaskChars.join('');\n\n if (this.state.emptyValue !== emptyValue) {\n this.setState({\n emptyValue,\n });\n }\n\n return newState;\n };\n\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\n\n private handleUnexpectedInput = () => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(this.state.value);\n }\n };\n}\n"]}
@@ -26,6 +26,7 @@ export declare const MaskedInputDataTids: {
26
26
  * */
27
27
  export declare class InternalMaskedInput extends React.PureComponent<InternalMaskedInputProps, MaskedInputState> {
28
28
  static __KONTUR_REACT_UI__: string;
29
+ static displayName: string;
29
30
  static defaultProps: DefaultProps;
30
31
  private getProps;
31
32
  input: HTMLInputElement | null;
@@ -407,7 +407,7 @@ var InternalMenu = responsiveLayout(_class = rootNode(_class = (_temp = _class2
407
407
  };
408
408
 
409
409
  return InternalMenu;
410
- }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'InternalMenu', _class2.defaultProps = {
410
+ }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'InternalMenu', _class2.displayName = 'InternalMenu', _class2.defaultProps = {
411
411
  width: 'auto',
412
412
  maxHeight: 300,
413
413
  hasShadow: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMenu.tsx"],"names":["React","globalObject","isBrowser","responsiveLayout","isNonNullable","isNullable","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","createPropsGetter","ThemeContext","cx","getRootNode","rootNode","getDOMRect","MenuSeparator","ThemeFactory","isInstanceOf","styles","isActiveElement","addIconPaddingIfPartOfMenu","isIconPaddingEnabled","InternalMenuDataTids","root","InternalMenu","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","renderHeader","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","create","menuSeparatorMarginY","focusOnRootElement","HTMLElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollContainer","scrollToSelected","highlighted","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","render","renderMain","enableIconPadding","preventIconsOffset","isEmpty","hasShadow","width","preventWindowScroll","isMobile","isMobileLayout","mobileRoot","shadow","setRootNode","map","child","isValidElement","type","modifiedChild","highlight","ref","originalRef","menuItem","refHighlighted","cloneElement","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","some","cyclicSelection","length","filter","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { addIconPaddingIfPartOfMenu } from './addIconPaddingIfPartOfMenu';\nimport { isIconPaddingEnabled } from './isIconPaddingEnabled';\n\nexport interface InternalMenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport const InternalMenuDataTids = {\n root: 'InternalMenu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n InternalMenuProps,\n 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'\n >\n>;\n/**\n * @deprecated use Menu component instead\n */\n@responsiveLayout\n@rootNode\nexport class InternalMenu extends React.PureComponent<InternalMenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps: DefaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: InternalMenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, width, maxHeight, preventWindowScroll } = this.getProps();\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={InternalMenuDataTids.root}\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={{\n width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseEnter) {\n modifiedChild.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseLeave) {\n modifiedChild.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return modifiedChild;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: InternalMenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof globalObject !== 'undefined' && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item) && isBrowser(globalObject)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n globalObject.open(item.props.href, item.props.target);\n } else {\n globalObject.location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
1
+ {"version":3,"sources":["InternalMenu.tsx"],"names":["React","globalObject","isBrowser","responsiveLayout","isNonNullable","isNullable","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","createPropsGetter","ThemeContext","cx","getRootNode","rootNode","getDOMRect","MenuSeparator","ThemeFactory","isInstanceOf","styles","isActiveElement","addIconPaddingIfPartOfMenu","isIconPaddingEnabled","InternalMenuDataTids","root","InternalMenu","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","renderHeader","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","create","menuSeparatorMarginY","focusOnRootElement","HTMLElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollContainer","scrollToSelected","highlighted","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","render","renderMain","enableIconPadding","preventIconsOffset","isEmpty","hasShadow","width","preventWindowScroll","isMobile","isMobileLayout","mobileRoot","shadow","setRootNode","map","child","isValidElement","type","modifiedChild","highlight","ref","originalRef","menuItem","refHighlighted","cloneElement","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","some","cyclicSelection","length","filter","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","push"],"mappings":"uLAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,0BAAxC;;AAEA,SAASC,gBAAT,QAAiC,6CAAjC;AACA,SAASC,aAAT,EAAwBC,UAAxB,QAA0C,iBAA1C;AACA,SAASC,cAAT,EAAyBC,YAAzB,EAAuCC,UAAvC,QAAyD,uCAAzD;AACA,SAASC,eAAT,QAA4D,kCAA5D;AACA,SAASC,UAAT,QAAoD,2BAApD;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,aAAT,QAA8B,gCAA9B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,wBAA7B;;AAEA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,SAASC,0BAAT,QAA2C,8BAA3C;AACA,SAASC,oBAAT,QAAqC,wBAArC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,OAAO,IAAMC,oBAAoB,GAAG;AAClCC,EAAAA,IAAI,EAAE,oBAD4B,EAA7B;;;;;;;;;;;;;;AAeP,OALA;AACA;AACA,GAGA,IAAaC,YAAb,GAFCvB,gBAED,UADCY,QACD;;;;;;;;;;;AAaUY,IAAAA,QAbV,GAaqBhB,iBAAiB,CAACe,YAAY,CAACE,YAAd,CAbtC;;AAeSC,IAAAA,KAfT,GAe4B;AACxBC,MAAAA,gBAAgB,EAAE,CAAC,CADK;AAExBC,MAAAA,SAAS,EAAE,MAAKJ,QAAL,GAAgBI,SAAhB,IAA6B,MAFhB;AAGxBC,MAAAA,WAAW,EAAE,KAHW,EAf5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0IUC,IAAAA,YA1IV,GA0IyB,YAAM;AAC3B;AACE;AACE,UAAA,SAAS,EAAEpB,EAAE;AACVO,UAAAA,MAAM,CAACc,OAAP,EADU,IACS,IADT;AAEVd,UAAAA,MAAM,CAACe,aAAP,EAFU,IAEe,IAFf,OADf;;AAKE,UAAA,GAAG,EAAE,aAACC,EAAD,UAAS,MAAKC,MAAL,GAAcD,EAAvB,EALP;;AAOE,qCAAK,SAAS,EAAEhB,MAAM,CAACkB,cAAP,EAAhB,IAA0C,MAAKC,KAAL,CAAWF,MAArD,CAPF;AAQE,qCAAK,SAAS,EAAEjB,MAAM,CAACoB,oBAAP,CAA4B,MAAKC,KAAjC,CAAhB;AACG,cAAKZ,KAAL,CAAWG,WAAX,KAA2B,KAA3B,IAAoC,MAAKU,+BAAL,EADvC,CARF,CADF;;;;AAcD,KAzJH;;AA2JUC,IAAAA,YA3JV,GA2JyB,YAAM;AAC3B;AACE;AACE,UAAA,SAAS,EAAE9B,EAAE;AACVO,UAAAA,MAAM,CAACc,OAAP,EADU,IACS,IADT;AAEVd,UAAAA,MAAM,CAACwB,aAAP,EAFU,IAEe,IAFf,QADf;;AAKE,UAAA,GAAG,EAAE,aAACR,EAAD,UAAS,MAAKS,MAAL,GAAcT,EAAvB,EALP;;AAOE,qCAAK,SAAS,EAAEhB,MAAM,CAACoB,oBAAP,CAA4B,MAAKC,KAAjC,CAAhB;AACG,cAAKZ,KAAL,CAAWG,WAAX,KAA2B,QAA3B,IAAuC,MAAKU,+BAAL,EAD1C,CAPF;;AAUE,qCAAK,SAAS,EAAEtB,MAAM,CAACkB,cAAP,EAAhB,IAA0C,MAAKC,KAAL,CAAWM,MAArD,CAVF,CADF;;;AAcD,KA1KH;;AA4KUH,IAAAA,+BA5KV,GA4K4C,YAAM;AAC9C;AACE,4BAAC,YAAD,CAAc,QAAd,IAAuB,KAAK,EAAExB,YAAY,CAAC4B,MAAb,CAAoB,EAAEC,oBAAoB,EAAE,GAAxB,EAApB,EAAmD,MAAKN,KAAxD,CAA9B;AACE,4BAAC,aAAD,OADF,CADF;;;AAKD,KAlLH;;AAoLUO,IAAAA,kBApLV,GAoL+B,YAAY;AACvC,UAAMjC,QAAQ,GAAGD,WAAW,+BAA5B;AACA,UAAIK,YAAY,CAACJ,QAAD,EAAWd,YAAY,CAACgD,WAAxB,CAAhB,EAAsD;AACpDlC,QAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAEmC,KAAV;AACD;AACF,KAzLH;;AA2LUC,IAAAA,0BA3LV,GA2LuC,UAACC,SAAD,EAA2C;AAC9E,wBAAqC,MAAKb,KAA1C,CAAQF,MAAR,eAAQA,MAAR,CAAgBQ,MAAhB,eAAgBA,MAAhB,CAAwBQ,QAAxB,eAAwBA,QAAxB;AACA,UAAMtB,SAAS,GAAG,MAAKJ,QAAL,GAAgBI,SAAlC;AACA,UAAMuB,aAAa,GAAGF,SAAS,CAACrB,SAAhC;AACA,UAAMwB,UAAU,GAAGH,SAAS,CAACf,MAA7B;AACA,UAAMmB,UAAU,GAAGJ,SAAS,CAACP,MAA7B;AACA,UAAMY,iBAAiB,GAAGzD,KAAK,CAAC0D,QAAN,CAAeC,KAAf,CAAqBP,SAAS,CAACC,QAA/B,CAA1B;;AAEA;AACEtB,QAAAA,SAAS,KAAKuB,aAAd;AACAT,QAAAA,MAAM,KAAKW,UADX;AAEAnB,QAAAA,MAAM,KAAKkB,UAFX;AAGAvD,QAAAA,KAAK,CAAC0D,QAAN,CAAeC,KAAf,CAAqBN,QAArB,MAAmCI,iBAJrC;;AAMD,KAzMH;;AA2MUG,IAAAA,kBA3MV,GA2M+B,YAAM;AACjC,UAAM7B,SAAS,GAAG,MAAKJ,QAAL,GAAgBI,SAAlC;AACA,UAAI8B,eAAe,GAAG9B,SAAtB;AACA,UAAMhB,QAAQ,GAAGD,WAAW,+BAA5B;;AAEA,UAAI,OAAOiB,SAAP,KAAqB,QAArB,IAAiC,OAAO9B,YAAP,KAAwB,WAAzD,IAAwEc,QAA5E,EAAsF;AACpF,YAAM+C,oBAAoB,GAAG7D,YAAY,CAAC8D,gBAAhB,oBAAG9D,YAAY,CAAC8D,gBAAb,CAAgChD,QAAhC,EAA0CgB,SAAvE;;AAEA,YAAI+B,oBAAJ,EAA0B;AACxBD,UAAAA,eAAe,GAAGG,UAAU,CAACF,oBAAD,CAA5B;AACD;AACF;;AAED,UAAMG,mBAAmB;AACvB,aAAOJ,eAAP,KAA2B,QAA3B;AACIA,MAAAA,eAAe;AACb,YAAKxB,MAAL,IAAerB,UAAU,CAAC,MAAKqB,MAAN,CAAV,CAAwB6B,MAAxC,IAAmD,CADrC,CAAf;AAEE,YAAKrB,MAAL,IAAe7B,UAAU,CAAC,MAAK6B,MAAN,CAAV,CAAwBqB,MAAxC,IAAmD,CAFpD,CADJ;AAIInC,MAAAA,SALN;;AAOA,YAAKoC,QAAL,CAAc;AACZpC,QAAAA,SAAS,EAAEkC,mBAAmB,IAAI,MADtB,EAAd;;AAGD,KAlOH;;AAoOUG,IAAAA,mBApOV,GAoOgC,YAAM;AAClC,WAAK,IAAIC,CAAC,GAAG,MAAK1C,QAAL,GAAgB2C,wBAA7B,EAAuDD,CAAC,GAAG,CAAC,CAA5D,EAA+DA,CAAC,EAAhE,EAAoE;AAClE,cAAKE,QAAL;AACD;AACF,KAxOH;;AA0OUC,IAAAA,kBA1OV,GA0O+B,UAACC,eAAD,EAAgD;AAC3E,YAAKA,eAAL,GAAuBA,eAAvB;AACD,KA5OH;;;;;;;;;;;;;;;;;;;;AAgQUC,IAAAA,gBAhQV,GAgQ6B,YAAM;AAC/B,UAAI,MAAKD,eAAL,IAAwB,MAAKE,WAAjC,EAA8C;AAC5C,YAAM5D,SAAQ,GAAGD,WAAW,CAAC,MAAK6D,WAAN,CAA5B;AACA;AACA,YAAIxD,YAAY,CAACJ,SAAD,EAAWd,YAAY,CAACgD,WAAxB,CAAhB,EAAsD;AACpD,gBAAKwB,eAAL,CAAqBG,QAArB,CAA8B7D,SAA9B;AACD;AACF;AACF,KAxQH;;;;;;;;;;;;;;;;;;;;;;;;AAgSU8D,IAAAA,aAhSV,GAgS0B,UAACC,KAAD,EAAyB;AAC/C,YAAKX,QAAL,CAAc,EAAErC,gBAAgB,EAAEgD,KAApB,EAAd;;AAEA,UAAM/D,QAAQ,GAAGD,WAAW,+BAA5B;AACA,UAAIK,YAAY,CAACJ,QAAD,EAAWd,YAAY,CAACgD,WAAxB,CAAhB,EAAsD;AACpDlC,QAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAEmC,KAAV;AACD;AACF,KAvSH;;AAySU6B,IAAAA,WAzSV,GAySwB,YAAM;AAC1B,YAAKZ,QAAL,CAAc,EAAErC,gBAAgB,EAAE,CAAC,CAArB,EAAd;AACD,KA3SH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyUUkD,IAAAA,MAzUV,GAyUmB,YAAM;AACrB,YAAKC,IAAL,CAAU,CAAC,CAAX;AACD,KA3UH;;AA6UUV,IAAAA,QA7UV,GA6UqB,YAAM;AACvB,YAAKU,IAAL,CAAU,CAAV;AACD,KA/UH;;;;;;;AAsVUC,IAAAA,aAtVV,GAsV0B,UAACC,CAAD,EAAkD;AACxE,UAAI,OAAO,MAAK5C,KAAL,CAAW6C,SAAlB,KAAgC,UAApC,EAAgD;AAC9C,cAAK7C,KAAL,CAAW6C,SAAX,CAAqBD,CAArB;AACD;;AAED,UAAIA,CAAC,CAACE,gBAAN,EAAwB;AACtB;AACD;;AAED,UAAI9E,YAAY,CAAC4E,CAAD,CAAhB,EAAqB;AACnBA,QAAAA,CAAC,CAACG,cAAF;AACA,cAAKN,MAAL;AACD,OAHD,MAGO,IAAI1E,cAAc,CAAC6E,CAAD,CAAlB,EAAuB;AAC5BA,QAAAA,CAAC,CAACG,cAAF;AACA,cAAKf,QAAL;AACD,OAHM,MAGA,IAAI/D,UAAU,CAAC2E,CAAD,CAAd,EAAmB;AACxB,YAAI,MAAKR,WAAL,IAAoB,MAAKA,WAAL,CAAiBpC,KAAjB,CAAuBgD,OAA/C,EAAwD;AACtD,gBAAKZ,WAAL,CAAiBpC,KAAjB,CAAuBgD,OAAvB,CAA+BJ,CAA/B;AACD;AACF;AACF,KA1WH;;AA4WUK,IAAAA,uBA5WV,GA4WoC,UAACxD,WAAD,EAA6C;AAC7E,UAAI,MAAKH,KAAL,CAAWG,WAAX,KAA2BA,WAA/B,EAA4C;AAC1C,cAAKmC,QAAL,CAAc,EAAEnC,WAAW,EAAXA,WAAF,EAAd;AACD;AACF,KAhXH,0DA6BSyD,iBA7BT,GA6BE,6BAA2B,CACzB,KAAKrB,mBAAL,GACA,KAAKR,kBAAL,GACD,CAhCH,QAkCS8B,kBAlCT,GAkCE,4BAA0BtC,SAA1B,EAAwD,CACtD,IAAI,KAAKD,0BAAL,CAAgCC,SAAhC,CAAJ,EAAgD,CAC9C,KAAKQ,kBAAL,GACD,CAED,IAAIR,SAAS,CAACrB,SAAV,KAAwB,KAAKJ,QAAL,GAAgBI,SAA5C,EAAuD,CACrD,KAAKoC,QAAL,CAAc,EACZpC,SAAS,EAAE,KAAKQ,KAAL,CAAWR,SAAX,IAAwB,MADvB,EAAd,EAGD,CACF,CA5CH,QA8CSmB,KA9CT,GA8CE,iBAAe,CACb,KAAKF,kBAAL,GACD,CAhDH,QAkDS2C,MAlDT,GAkDE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAAClD,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACmD,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CA3DH,QA6DUA,UA7DV,GA6DE,sBAAqB,wBACnB,IAAMC,iBAAiB,GAAGtE,oBAAoB,CAAC,KAAKgB,KAAL,CAAWc,QAAZ,EAAsB,KAAKd,KAAL,CAAWuD,kBAAjC,CAA9C,CAEA,IAAI,KAAKC,OAAL,EAAJ,EAAoB,CAClB,OAAO,IAAP,CACD,CACD,qBAA6D,KAAKpE,QAAL,EAA7D,CAAQqE,SAAR,kBAAQA,SAAR,CAAmBC,KAAnB,kBAAmBA,KAAnB,CAA0BlE,SAA1B,kBAA0BA,SAA1B,CAAqCmE,mBAArC,kBAAqCA,mBAArC,CACA,IAAMC,QAAQ,GAAG,KAAKC,cAAtB,CACA,oBACE,6BACE,YAAU5E,oBAAoB,CAACC,IADjC,EAEE,SAAS,EAAEZ,EAAE,kBACVO,MAAM,CAACK,IAAP,CAAY,KAAKgB,KAAjB,CADU,IACgB,IADhB,OAEVrB,MAAM,CAACiF,UAAP,CAAkB,KAAK5D,KAAvB,CAFU,IAEsB0D,QAFtB,OAGV/E,MAAM,CAACkF,MAAP,CAAc,KAAK7D,KAAnB,CAHU,IAGkBuD,SAHlB,QAFf,EAOE,KAAK,EAAE,EACLC,KAAK,EAALA,KADK,EAELlE,SAAS,EAAE,KAAKF,KAAL,CAAWE,SAFjB,EAPT,EAWE,SAAS,EAAE,KAAKmD,aAXlB,EAYE,GAAG,EAAE,KAAKqB,WAZZ,EAaE,QAAQ,EAAE,CAbZ,IAeG,KAAKhE,KAAL,CAAWF,MAAX,GAAoB,KAAKJ,YAAL,EAApB,GAA0C,IAf7C,eAgBE,oBAAC,eAAD,IACE,GAAG,EAAE,KAAKuC,kBADZ,EAEE,SAAS,EAAEzC,SAFb,EAGE,mBAAmB,EAAEmE,mBAHvB,EAIE,mBAAmB,EAAE,KAAKV,uBAJ5B,IAMGxF,KAAK,CAAC0D,QAAN,CAAe8C,GAAf,CAAmB,KAAKjE,KAAL,CAAWc,QAA9B,EAAwC,UAACoD,KAAD,EAAQ3B,KAAR,EAAkB,CACzD,IAAI,OAAO2B,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAP,KAAiB,QAA9C,IAA0DpG,UAAU,CAACoG,KAAD,CAAxE,EAAiF,CAC/E,OAAOA,KAAP,CACD,CACD,IAAI,cAAAzG,KAAK,CAAC0G,cAAN,CAAqBD,KAArB,KAA+B,OAAOA,KAAK,CAACE,IAAb,KAAsB,QAAzD,EAAmE,CACjE,OAAOF,KAAP,CACD,CAED,IAAMG,aAAa,GAAGtF,0BAA0B,CAACmF,KAAD,EAAQZ,iBAAR,CAAhD,CAEA,IAAIxE,eAAe,CAACuF,aAAD,CAAnB,EAAoC,CAClC,IAAMC,SAAS,GAAG,MAAI,CAAChF,KAAL,CAAWC,gBAAX,KAAgCgD,KAAlD,CAEA,IAAIgC,GAAG,GAAGF,aAAa,CAACE,GAAxB,CACA,IAAMC,WAAW,GAAGD,GAApB,CACA,IAAID,SAAJ,EAAe,CACbC,GAAG,GAAG,aAACE,QAAD,UAAc,MAAI,CAACC,cAAL,CAAoBF,WAApB,EAAiCC,QAAjC,CAAd,EAAN,CACD,CAED,oBAAOhH,KAAK,CAACkH,YAAN,CAA4CN,aAA5C,EAA2D,EAChEE,GAAG,EAAHA,GADgE,EAEhEjF,KAAK,EAAEgF,SAAS,GAAG,OAAH,GAAaD,aAAa,CAACrE,KAAd,CAAoBV,KAFe,EAGhE0D,OAAO,EAAE,MAAI,CAAC4B,MAAL,CAAYC,IAAZ,CAAiB,MAAjB,EAAuBtC,KAAvB,EAA8B,KAA9B,CAHuD,EAIhEuC,YAAY,EAAE,sBAACC,KAAD,EAAW,CACvB,MAAI,CAACzC,aAAL,CAAmBC,KAAnB,EACA,IAAIpE,UAAU,CAACkG,aAAD,CAAV,IAA6BA,aAAa,CAACrE,KAAd,CAAoB8E,YAArD,EAAmE,CACjET,aAAa,CAACrE,KAAd,CAAoB8E,YAApB,CAAiCC,KAAjC,EACD,CACF,CAT+D,EAUhEC,YAAY,EAAE,sBAACD,KAAD,EAAW,CACvB,MAAI,CAACvC,WAAL,GACA,IAAIrE,UAAU,CAACkG,aAAD,CAAV,IAA6BA,aAAa,CAACrE,KAAd,CAAoBgF,YAArD,EAAmE,CACjEX,aAAa,CAACrE,KAAd,CAAoBgF,YAApB,CAAiCD,KAAjC,EACD,CACF,CAf+D,EAA3D,CAAP,CAiBD,CAED,OAAOV,aAAP,CACD,CAvCA,CANH,CAhBF,EA+DG,KAAKrE,KAAL,CAAWM,MAAX,GAAoB,KAAKF,YAAL,EAApB,GAA0C,IA/D7C,CADF,CAmED,CAxIH,QA8OUsE,cA9OV,GA8OE,wBACEF,WADF,EAEEC,QAFF,EAGE,CACA,KAAKrC,WAAL,GAAmBqC,QAAnB,CAEA,IAAI,CAACD,WAAD,IAAgB,OAAOA,WAAP,KAAuB,QAA3C,EAAqD,CACnD,OACD,CAED,IAAI,OAAOA,WAAP,KAAuB,UAA3B,EAAuC,CACrCA,WAAW,CAACC,QAAD,CAAX,CACD,CAFD,MAEO,IAAI,OAAOD,WAAP,KAAuB,QAA3B,EAAqC,CAC1C;AACAA,MAAAA,WAAW,CAACS,OAAZ,GAAsBR,QAAtB,CACD,CACF,CA9PH,QA0QUG,MA1QV,GA0QE,gBAAerC,KAAf,EAA8B2C,gBAA9B,EAAyDH,KAAzD,EAA4G,CAC1G,IAAMI,IAAI,GAAGC,eAAe,CAAC,KAAKpF,KAAL,CAAWc,QAAZ,CAAf,CAAqCyB,KAArC,CAAb,CAEA,IAAIzD,eAAe,CAACqG,IAAD,CAAf,IAAyBxH,SAAS,CAACD,YAAD,CAAtC,EAAsD,CACpD,IAAIwH,gBAAgB,IAAIC,IAAI,CAACnF,KAAL,CAAWqF,IAAnC,EAAyC,CACvC,IAAIF,IAAI,CAACnF,KAAL,CAAWsF,MAAf,EAAuB,CACrB5H,YAAY,CAAC6H,IAAb,CAAkBJ,IAAI,CAACnF,KAAL,CAAWqF,IAA7B,EAAmCF,IAAI,CAACnF,KAAL,CAAWsF,MAA9C,EACD,CAFD,MAEO,CACL5H,YAAY,CAAC8H,QAAb,CAAsBH,IAAtB,GAA6BF,IAAI,CAACnF,KAAL,CAAWqF,IAAxC,CACD,CACF,CACD,IAAIF,IAAI,CAACnF,KAAL,CAAWgD,OAAf,EAAwB,CACtBmC,IAAI,CAACnF,KAAL,CAAWgD,OAAX,CAAmB+B,KAAnB,EACD,CACD,IAAI,KAAK/E,KAAL,CAAWyF,WAAf,EAA4B,CAC1B,KAAKzF,KAAL,CAAWyF,WAAX,CAAuBV,KAAvB,EACD,CACD,OAAO,IAAP,CACD,CACD,OAAO,KAAP,CACD,CA9RH,QA6SUrC,IA7SV,GA6SE,cAAagD,IAAb,EAA2B,mBACzB,KAAK9D,QAAL,CAAc,UAACtC,KAAD,EAAQU,KAAR,EAAkB,CAC9B,IAAMc,QAAQ,GAAGsE,eAAe,CAACpF,KAAK,CAACc,QAAP,CAAhC,CACA,IAAI,CAACA,QAAQ,CAAC6E,IAAT,CAAc7G,eAAd,CAAL,EAAqC,CACnC,OAAO,IAAP,CACD,CACD,IAAIyD,KAAK,GAAGjD,KAAK,CAACC,gBAAlB,CACA,GAAG,CACDgD,KAAK,IAAImD,IAAT,CACA,IAAI,CAAC,MAAI,CAACtG,QAAL,GAAgBwG,eAAjB,KAAqCrD,KAAK,GAAG,CAAR,IAAaA,KAAK,GAAGzB,QAAQ,CAAC+E,MAAnE,CAAJ,EAAgF,CAC9E,OAAO,IAAP,CACD,CAED,IAAItD,KAAK,GAAG,CAAZ,EAAe,CACbA,KAAK,GAAGzB,QAAQ,CAAC+E,MAAT,GAAkB,CAA1B,CACD,CAFD,MAEO,IAAItD,KAAK,GAAGzB,QAAQ,CAAC+E,MAArB,EAA6B,CAClCtD,KAAK,GAAG,CAAR,CACD,CAED,IAAM2B,KAAK,GAAGpD,QAAQ,CAACyB,KAAD,CAAtB,CACA,IAAIzD,eAAe,CAACoF,KAAD,CAAnB,EAA4B,CAC1B,OAAO,EAAE3E,gBAAgB,EAAEgD,KAApB,EAAP,CACD,CACF,CAhBD,QAgBSA,KAAK,KAAKjD,KAAK,CAACC,gBAhBzB,EAiBA,OAAO,IAAP,CACD,CAxBD,EAwBG,KAAK4C,gBAxBR,EAyBD,CAvUH,QAiVUqB,OAjVV,GAiVE,mBAAkB,CAChB,IAAQ1C,QAAR,GAAqB,KAAKd,KAA1B,CAAQc,QAAR,CACA,OAAO,CAACA,QAAD,IAAa,CAACsE,eAAe,CAACtE,QAAD,CAAf,CAA0BgF,MAA1B,CAAiCjI,aAAjC,EAAgDgI,MAArE,CACD,CApVH,uBAAkCpI,KAAK,CAACsI,aAAxC,WACgBC,mBADhB,GACsC,cADtC,UAEgBC,WAFhB,GAE8B,cAF9B,UAIgB5G,YAJhB,GAI6C,EACzCqE,KAAK,EAAE,MADkC,EAEzClE,SAAS,EAAE,GAF8B,EAGzCiE,SAAS,EAAE,IAH8B,EAIzCE,mBAAmB,EAAE,IAJoB,EAKzCiC,eAAe,EAAE,IALwB,EAMzC7D,wBAAwB,EAAE,CAAC,CANc,EAJ7C;;AAmXA,SAASqD,eAAT,CAAyBtE,QAAzB,EAAuE;AACrE,MAAMoF,GAAsB,GAAG,EAA/B;AACA;AACAzI,EAAAA,KAAK,CAAC0D,QAAN,CAAegF,OAAf,CAAuBrF,QAAvB,EAAiC,UAACoD,KAAD,EAAW;AAC1CgC,IAAAA,GAAG,CAACE,IAAJ,CAASlC,KAAT;AACD,GAFD;AAGA,SAAOgC,GAAP;AACD","sourcesContent":["import React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { addIconPaddingIfPartOfMenu } from './addIconPaddingIfPartOfMenu';\nimport { isIconPaddingEnabled } from './isIconPaddingEnabled';\n\nexport interface InternalMenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport const InternalMenuDataTids = {\n root: 'InternalMenu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n InternalMenuProps,\n 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'\n >\n>;\n/**\n * @deprecated use Menu component instead\n */\n@responsiveLayout\n@rootNode\nexport class InternalMenu extends React.PureComponent<InternalMenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n public static displayName = 'InternalMenu';\n\n public static defaultProps: DefaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: InternalMenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const enableIconPadding = isIconPaddingEnabled(this.props.children, this.props.preventIconsOffset);\n\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, width, maxHeight, preventWindowScroll } = this.getProps();\n const isMobile = this.isMobileLayout;\n return (\n <div\n data-tid={InternalMenuDataTids.root}\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={{\n width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseEnter) {\n modifiedChild.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseLeave) {\n modifiedChild.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return modifiedChild;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: InternalMenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof globalObject !== 'undefined' && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item) && isBrowser(globalObject)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n globalObject.open(item.props.href, item.props.target);\n } else {\n globalObject.location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
@@ -37,6 +37,7 @@ declare type DefaultProps = Required<Pick<InternalMenuProps, 'width' | 'maxHeigh
37
37
  */
38
38
  export declare class InternalMenu extends React.PureComponent<InternalMenuProps, MenuState> {
39
39
  static __KONTUR_REACT_UI__: string;
40
+ static displayName: string;
40
41
  static defaultProps: DefaultProps;
41
42
  private getProps;
42
43
  state: MenuState;
@@ -561,7 +561,7 @@ export var Menu = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
561
561
  };
562
562
 
563
563
  return Menu;
564
- }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Menu', _class2.defaultProps = {
564
+ }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Menu', _class2.displayName = 'Menu', _class2.defaultProps = {
565
565
  align: 'left',
566
566
  width: 'auto',
567
567
  maxHeight: 300,