@skbkontur/react-ui 4.1.2 → 4.2.2

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 (449) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -3
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +3 -0
  6. package/cjs/components/Button/Button.js +8 -4
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.styles.d.ts +1 -1
  9. package/cjs/components/Button/Button.styles.js +6 -6
  10. package/cjs/components/Button/Button.styles.js.map +1 -1
  11. package/cjs/components/Center/Center.d.ts +3 -0
  12. package/cjs/components/Center/Center.js +8 -3
  13. package/cjs/components/Center/Center.js.map +1 -1
  14. package/cjs/components/Checkbox/Checkbox.d.ts +3 -0
  15. package/cjs/components/Checkbox/Checkbox.js +8 -2
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.md +48 -0
  18. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -1
  19. package/cjs/components/CurrencyInput/CurrencyInput.js +23 -5
  20. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  21. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  22. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  23. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  24. package/cjs/components/DatePicker/DatePicker.d.ts +5 -0
  25. package/cjs/components/DatePicker/DatePicker.js +14 -3
  26. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  27. package/cjs/components/DatePicker/Picker.js +7 -2
  28. package/cjs/components/DatePicker/Picker.js.map +1 -1
  29. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  30. package/cjs/components/Dropdown/Dropdown.js +7 -2
  31. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  32. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  33. package/cjs/components/FileUploader/FileUploader.js +10 -4
  34. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  35. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  36. package/cjs/components/FxInput/FxInput.js +7 -3
  37. package/cjs/components/FxInput/FxInput.js.map +1 -1
  38. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  39. package/cjs/components/Gapped/Gapped.js +9 -4
  40. package/cjs/components/Gapped/Gapped.js.map +1 -1
  41. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  42. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  43. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  44. package/cjs/components/Group/Group.d.ts +3 -0
  45. package/cjs/components/Group/Group.js +7 -3
  46. package/cjs/components/Group/Group.js.map +1 -1
  47. package/cjs/components/Input/Input.d.ts +3 -0
  48. package/cjs/components/Input/Input.js +7 -3
  49. package/cjs/components/Input/Input.js.map +1 -1
  50. package/cjs/components/Link/Link.d.ts +4 -1
  51. package/cjs/components/Link/Link.js +8 -4
  52. package/cjs/components/Link/Link.js.map +1 -1
  53. package/cjs/components/Loader/Loader.d.ts +4 -0
  54. package/cjs/components/Loader/Loader.js +8 -3
  55. package/cjs/components/Loader/Loader.js.map +1 -1
  56. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  57. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  58. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  59. package/cjs/components/MenuItem/MenuItem.d.ts +5 -1
  60. package/cjs/components/MenuItem/MenuItem.js +11 -5
  61. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  62. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  63. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  64. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  65. package/cjs/components/Modal/Modal.d.ts +5 -0
  66. package/cjs/components/Modal/Modal.js +9 -3
  67. package/cjs/components/Modal/Modal.js.map +1 -1
  68. package/cjs/components/Modal/ModalClose.js +3 -2
  69. package/cjs/components/Modal/ModalClose.js.map +1 -1
  70. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  71. package/cjs/components/Modal/ModalFooter.js +8 -3
  72. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  73. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  74. package/cjs/components/Modal/ModalHeader.js +9 -3
  75. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  76. package/cjs/components/Paging/Paging.d.ts +8 -1
  77. package/cjs/components/Paging/Paging.js +15 -7
  78. package/cjs/components/Paging/Paging.js.map +1 -1
  79. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -0
  80. package/cjs/components/PasswordInput/PasswordInput.js +13 -5
  81. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  82. package/cjs/components/Radio/Radio.d.ts +3 -0
  83. package/cjs/components/Radio/Radio.js +7 -3
  84. package/cjs/components/Radio/Radio.js.map +1 -1
  85. package/cjs/components/RadioGroup/RadioGroup.d.ts +9 -0
  86. package/cjs/components/RadioGroup/RadioGroup.js +21 -4
  87. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  88. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +1 -1
  89. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  90. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  91. package/cjs/components/ScrollContainer/ScrollContainer.js +14 -4
  92. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  93. package/cjs/components/Select/Select.d.ts +3 -0
  94. package/cjs/components/Select/Select.js +11 -3
  95. package/cjs/components/Select/Select.js.map +1 -1
  96. package/cjs/components/SidePage/SidePage.d.ts +4 -0
  97. package/cjs/components/SidePage/SidePage.js +7 -2
  98. package/cjs/components/SidePage/SidePage.js.map +1 -1
  99. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  100. package/cjs/components/SidePage/SidePageBody.js +10 -3
  101. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  102. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  103. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  104. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  105. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  106. package/cjs/components/SidePage/SidePageFooter.js +11 -3
  107. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  108. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
  109. package/cjs/components/SidePage/SidePageHeader.js +9 -4
  110. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  111. package/cjs/components/Spinner/Spinner.d.ts +3 -0
  112. package/cjs/components/Spinner/Spinner.js +7 -3
  113. package/cjs/components/Spinner/Spinner.js.map +1 -1
  114. package/cjs/components/Sticky/Sticky.d.ts +3 -0
  115. package/cjs/components/Sticky/Sticky.js +7 -3
  116. package/cjs/components/Sticky/Sticky.js.map +1 -1
  117. package/cjs/components/Switcher/Switcher.d.ts +3 -0
  118. package/cjs/components/Switcher/Switcher.js +7 -3
  119. package/cjs/components/Switcher/Switcher.js.map +1 -1
  120. package/cjs/components/Tabs/Indicator.js +4 -2
  121. package/cjs/components/Tabs/Indicator.js.map +1 -1
  122. package/cjs/components/Tabs/Tab.d.ts +3 -0
  123. package/cjs/components/Tabs/Tab.js +7 -2
  124. package/cjs/components/Tabs/Tab.js.map +1 -1
  125. package/cjs/components/Tabs/Tabs.d.ts +4 -0
  126. package/cjs/components/Tabs/Tabs.js +12 -3
  127. package/cjs/components/Tabs/Tabs.js.map +1 -1
  128. package/cjs/components/Textarea/Textarea.d.ts +4 -0
  129. package/cjs/components/Textarea/Textarea.js +8 -3
  130. package/cjs/components/Textarea/Textarea.js.map +1 -1
  131. package/cjs/components/Textarea/TextareaCounter.js +10 -9
  132. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  133. package/cjs/components/Toast/Toast.d.ts +6 -0
  134. package/cjs/components/Toast/Toast.js +9 -2
  135. package/cjs/components/Toast/Toast.js.map +1 -1
  136. package/cjs/components/Toast/ToastStatic.js +1 -1
  137. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  138. package/cjs/components/Toast/ToastView.js +5 -4
  139. package/cjs/components/Toast/ToastView.js.map +1 -1
  140. package/cjs/components/Toggle/Toggle.d.ts +3 -0
  141. package/cjs/components/Toggle/Toggle.js +7 -3
  142. package/cjs/components/Toggle/Toggle.js.map +1 -1
  143. package/cjs/components/Token/Token.d.ts +3 -0
  144. package/cjs/components/Token/Token.js +8 -3
  145. package/cjs/components/Token/Token.js.map +1 -1
  146. package/cjs/components/TokenInput/TokenInput.d.ts +4 -0
  147. package/cjs/components/TokenInput/TokenInput.js +7 -2
  148. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  149. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  150. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  151. package/cjs/components/Tooltip/Tooltip.d.ts +4 -0
  152. package/cjs/components/Tooltip/Tooltip.js +9 -3
  153. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  154. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  155. package/cjs/components/TooltipMenu/TooltipMenu.js +7 -2
  156. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  157. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  158. package/cjs/internal/Calendar/Calendar.js +9 -2
  159. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  160. package/cjs/internal/Calendar/MonthView.js +5 -4
  161. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  162. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  163. package/cjs/internal/CommonWrapper/CommonWrapper.js +4 -2
  164. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  165. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  166. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +23 -5
  167. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  168. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  169. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  170. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  171. package/cjs/internal/CustomComboBox/CustomComboBox.js +6 -2
  172. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  173. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  174. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  175. package/cjs/internal/DataTids/DataTids.js +46 -0
  176. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  177. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  178. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  179. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  180. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  181. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  182. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  183. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  184. package/cjs/internal/DateSelect/DateSelect.js +8 -3
  185. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  186. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  187. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +14 -6
  188. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  189. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  190. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  191. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  192. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -0
  193. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  194. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  195. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  196. package/cjs/internal/InternalMenu/InternalMenu.js +8 -3
  197. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  198. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -1
  199. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  200. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  201. package/cjs/internal/MaskedInput/MaskedInput.js +7 -3
  202. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  203. package/cjs/internal/Menu/Menu.d.ts +3 -0
  204. package/cjs/internal/Menu/Menu.js +8 -3
  205. package/cjs/internal/Menu/Menu.js.map +1 -1
  206. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  207. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  208. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  209. package/cjs/internal/Popup/Popup.d.ts +5 -0
  210. package/cjs/internal/Popup/Popup.js +10 -4
  211. package/cjs/internal/Popup/Popup.js.map +1 -1
  212. package/cjs/internal/Popup/PopupPin.js +2 -1
  213. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  214. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  215. package/cjs/internal/PopupMenu/PopupMenu.js +9 -4
  216. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  217. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
  218. package/cjs/internal/RenderLayer/RenderLayer.js +8 -3
  219. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  220. package/cjs/internal/icons/16px/index.js +1 -1
  221. package/cjs/internal/icons/16px/index.js.map +1 -1
  222. package/cjs/lib/listenFocusOutside.js +1 -1
  223. package/cjs/lib/listenFocusOutside.js.map +1 -1
  224. package/components/Autocomplete/Autocomplete/Autocomplete.js +10 -6
  225. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  226. package/components/Autocomplete/Autocomplete.d.ts +3 -0
  227. package/components/Button/Button/Button.js +5 -1
  228. package/components/Button/Button/Button.js.map +1 -1
  229. package/components/Button/Button.d.ts +3 -0
  230. package/components/Button/Button.styles/Button.styles.js +6 -6
  231. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  232. package/components/Button/Button.styles.d.ts +1 -1
  233. package/components/Center/Center/Center.js +10 -5
  234. package/components/Center/Center/Center.js.map +1 -1
  235. package/components/Center/Center.d.ts +3 -0
  236. package/components/Checkbox/Checkbox/Checkbox.js +4 -0
  237. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  238. package/components/Checkbox/Checkbox.d.ts +3 -0
  239. package/components/Checkbox/Checkbox.md +48 -0
  240. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +27 -12
  241. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  242. package/components/CurrencyInput/CurrencyInput.d.ts +4 -1
  243. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  244. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  245. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  246. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  247. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  248. package/components/DatePicker/DatePicker.d.ts +5 -0
  249. package/components/DatePicker/Picker/Picker.js +3 -1
  250. package/components/DatePicker/Picker/Picker.js.map +1 -1
  251. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  252. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  253. package/components/Dropdown/Dropdown.d.ts +3 -0
  254. package/components/FileUploader/FileUploader/FileUploader.js +9 -2
  255. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  256. package/components/FileUploader/FileUploader.d.ts +5 -0
  257. package/components/FxInput/FxInput/FxInput.js +6 -2
  258. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  259. package/components/FxInput/FxInput.d.ts +3 -0
  260. package/components/Gapped/Gapped/Gapped.js +12 -5
  261. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  262. package/components/Gapped/Gapped.d.ts +4 -0
  263. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -1
  264. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  265. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  266. package/components/Group/Group/Group.js +4 -0
  267. package/components/Group/Group/Group.js.map +1 -1
  268. package/components/Group/Group.d.ts +3 -0
  269. package/components/Input/Input/Input.js +11 -6
  270. package/components/Input/Input/Input.js.map +1 -1
  271. package/components/Input/Input.d.ts +3 -0
  272. package/components/Link/Link/Link.js +11 -6
  273. package/components/Link/Link/Link.js.map +1 -1
  274. package/components/Link/Link.d.ts +4 -1
  275. package/components/Loader/Loader/Loader.js +10 -6
  276. package/components/Loader/Loader/Loader.js.map +1 -1
  277. package/components/Loader/Loader.d.ts +4 -0
  278. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  279. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  280. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  281. package/components/MenuItem/MenuItem/MenuItem.js +16 -10
  282. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  283. package/components/MenuItem/MenuItem.d.ts +5 -1
  284. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  285. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  286. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  287. package/components/Modal/Modal/Modal.js +7 -2
  288. package/components/Modal/Modal/Modal.js.map +1 -1
  289. package/components/Modal/Modal.d.ts +5 -0
  290. package/components/Modal/ModalClose/ModalClose.js +2 -1
  291. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  292. package/components/Modal/ModalFooter/ModalFooter.js +6 -2
  293. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  294. package/components/Modal/ModalFooter.d.ts +3 -0
  295. package/components/Modal/ModalHeader/ModalHeader.js +6 -2
  296. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  297. package/components/Modal/ModalHeader.d.ts +3 -0
  298. package/components/Paging/Paging/Paging.js +12 -5
  299. package/components/Paging/Paging/Paging.js.map +1 -1
  300. package/components/Paging/Paging.d.ts +8 -1
  301. package/components/PasswordInput/PasswordInput/PasswordInput.js +12 -6
  302. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  303. package/components/PasswordInput/PasswordInput.d.ts +5 -0
  304. package/components/Radio/Radio/Radio.js +10 -5
  305. package/components/Radio/Radio/Radio.js.map +1 -1
  306. package/components/Radio/Radio.d.ts +3 -0
  307. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -11
  308. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  309. package/components/RadioGroup/RadioGroup.d.ts +9 -0
  310. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +1 -1
  311. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -1
  312. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -1
  313. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  314. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  315. package/components/Select/Select/Select.js +4 -0
  316. package/components/Select/Select/Select.js.map +1 -1
  317. package/components/Select/Select.d.ts +3 -0
  318. package/components/SidePage/SidePage/SidePage.js +6 -2
  319. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  320. package/components/SidePage/SidePage.d.ts +4 -0
  321. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  322. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  323. package/components/SidePage/SidePageBody.d.ts +3 -0
  324. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  325. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  326. package/components/SidePage/SidePageContainer.d.ts +3 -0
  327. package/components/SidePage/SidePageFooter/SidePageFooter.js +10 -6
  328. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  329. package/components/SidePage/SidePageFooter.d.ts +3 -0
  330. package/components/SidePage/SidePageHeader/SidePageHeader.js +12 -7
  331. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  332. package/components/SidePage/SidePageHeader.d.ts +4 -0
  333. package/components/Spinner/Spinner/Spinner.js +8 -4
  334. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  335. package/components/Spinner/Spinner.d.ts +3 -0
  336. package/components/Sticky/Sticky/Sticky.js +4 -0
  337. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  338. package/components/Sticky/Sticky.d.ts +3 -0
  339. package/components/Switcher/Switcher/Switcher.js +4 -0
  340. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  341. package/components/Switcher/Switcher.d.ts +3 -0
  342. package/components/Tabs/Indicator/Indicator.js +2 -0
  343. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  344. package/components/Tabs/Tab/Tab.js +4 -0
  345. package/components/Tabs/Tab/Tab.js.map +1 -1
  346. package/components/Tabs/Tab.d.ts +3 -0
  347. package/components/Tabs/Tabs/Tabs.js +11 -6
  348. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  349. package/components/Tabs/Tabs.d.ts +4 -0
  350. package/components/Textarea/Textarea/Textarea.js +15 -9
  351. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  352. package/components/Textarea/Textarea.d.ts +4 -0
  353. package/components/Textarea/TextareaCounter/TextareaCounter.js +8 -3
  354. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  355. package/components/Toast/Toast/Toast.js +16 -10
  356. package/components/Toast/Toast/Toast.js.map +1 -1
  357. package/components/Toast/Toast.d.ts +6 -0
  358. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  359. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  360. package/components/Toast/ToastView/ToastView.js +4 -3
  361. package/components/Toast/ToastView/ToastView.js.map +1 -1
  362. package/components/Toggle/Toggle/Toggle.js +8 -4
  363. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  364. package/components/Toggle/Toggle.d.ts +3 -0
  365. package/components/Token/Token/Token.js +4 -0
  366. package/components/Token/Token/Token.js.map +1 -1
  367. package/components/Token/Token.d.ts +3 -0
  368. package/components/TokenInput/TokenInput/TokenInput.js +5 -0
  369. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  370. package/components/TokenInput/TokenInput.d.ts +4 -0
  371. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  372. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  373. package/components/Tooltip/Tooltip/Tooltip.js +7 -1
  374. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  375. package/components/Tooltip/Tooltip.d.ts +4 -0
  376. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +16 -12
  377. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  378. package/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  379. package/internal/Calendar/Calendar/Calendar.js +7 -1
  380. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  381. package/internal/Calendar/Calendar.d.ts +6 -0
  382. package/internal/Calendar/MonthView/MonthView.js +4 -3
  383. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  384. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +4 -5
  385. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  386. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  387. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +12 -5
  388. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  389. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  390. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  391. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  392. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -0
  393. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  394. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  395. package/internal/DataTids/DATATIDS.md +12 -0
  396. package/internal/DataTids/DataTids/DataTids.js +69 -0
  397. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  398. package/internal/DataTids/DataTids/package.json +6 -0
  399. package/internal/DataTids/DataTids.d.ts +12 -0
  400. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  401. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  402. package/internal/DataTids/DataTids.styles/package.json +6 -0
  403. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  404. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  405. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  406. package/internal/DataTids/componentsDataTids/package.json +6 -0
  407. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  408. package/internal/DateSelect/DateSelect/DateSelect.js +6 -2
  409. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  410. package/internal/DateSelect/DateSelect.d.ts +4 -0
  411. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +12 -5
  412. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  413. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  414. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  415. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  416. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  417. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  418. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  419. package/internal/InputLikeText/InputLikeText.d.ts +4 -0
  420. package/internal/InternalMenu/InternalMenu/InternalMenu.js +4 -0
  421. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  422. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  423. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  424. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  425. package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -0
  426. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  427. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  428. package/internal/Menu/Menu/Menu.js +4 -0
  429. package/internal/Menu/Menu/Menu.js.map +1 -1
  430. package/internal/Menu/Menu.d.ts +3 -0
  431. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  432. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  433. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  434. package/internal/Popup/Popup/Popup.js +7 -2
  435. package/internal/Popup/Popup/Popup.js.map +1 -1
  436. package/internal/Popup/Popup.d.ts +5 -0
  437. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  438. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  439. package/internal/PopupMenu/PopupMenu/PopupMenu.js +7 -2
  440. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  441. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  442. package/internal/RenderLayer/RenderLayer/RenderLayer.js +10 -7
  443. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  444. package/internal/RenderLayer/RenderLayer.d.ts +1 -0
  445. package/internal/icons/16px/index/index.js +1 -1
  446. package/internal/icons/16px/index/index.js.map +1 -1
  447. package/lib/listenFocusOutside/listenFocusOutside.js +1 -1
  448. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  449. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.PopupMenuType = exports.PopupMenu = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.PopupMenuType = exports.PopupMenuDataTids = exports.PopupMenu = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _identifiers = require("../../lib/events/keyboard/identifiers");
4
4
 
@@ -71,6 +71,11 @@ var PopupMenuType = {
71
71
  Tooltip: 'tooltip' };exports.PopupMenuType = PopupMenuType;
72
72
 
73
73
 
74
+ var PopupMenuDataTids = {
75
+ root: 'PopupMenu__root',
76
+ caption: 'PopupMenu__caption' };exports.PopupMenuDataTids = PopupMenuDataTids;
77
+
78
+
74
79
  var Positions = [
75
80
  'top left',
76
81
  'top center',
@@ -179,7 +184,7 @@ PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_c
179
184
 
180
185
  return /*#__PURE__*/(
181
186
  _react.default.createElement("span", {
182
- "data-tid": "PopupMenu__caption",
187
+ "data-tid": PopupMenuDataTids.caption,
183
188
  className: _PopupMenu.styles.caption(),
184
189
  ref: function ref(element) {return _this.captionWrapper = element;} },
185
190
 
@@ -190,7 +195,7 @@ PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_c
190
195
 
191
196
  return /*#__PURE__*/(
192
197
  _react.default.createElement("span", {
193
- "data-tid": "PopupMenu__caption",
198
+ "data-tid": PopupMenuDataTids.caption,
194
199
  onClick: _this.handleCaptionClick,
195
200
  onKeyDown: _this.handleCaptionKeyDown,
196
201
  ref: function ref(element) {return _this.captionWrapper = element;},
@@ -300,4 +305,4 @@ PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_c
300
305
 
301
306
  var restoreFocus = event.type === 'keydown';
302
307
  _this.hideMenu(restoreFocus);
303
- };return _this;}var _proto = PopupMenu.prototype;_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.hideMenuWithoutFocusing, onFocusOutside: this.hideMenuWithoutFocusing, active: this.state.menuVisible }, /*#__PURE__*/_react.default.createElement("div", { className: _PopupMenu.styles.container(), style: { width: this.props.width } }, this.renderCaption(), this.captionWrapper && this.props.children && /*#__PURE__*/_react.default.createElement(_Popup.Popup, { anchorElement: this.captionWrapper, opened: this.state.menuVisible, hasShadow: true, margin: this.props.popupMargin, hasPin: this.props.popupHasPin, pinOffset: this.props.popupPinOffset, positions: this.getPositions(), disableAnimations: this.props.disableAnimations, onOpen: this.handleOpen, mobileOnCloseRequest: this.hideMenu, width: this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto' }, /*#__PURE__*/_react.default.createElement(_InternalMenu.InternalMenu, { hasShadow: false, maxHeight: this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none', onKeyDown: this.handleKeyDown, onItemClick: this.handleItemSelection, cyclicSelection: false, ref: this.refInternalMenu, initialSelectedItemIndex: this.state.firstItemShouldBeSelected ? 0 : -1, header: this.props.header, footer: this.props.footer }, this.props.children)))));};_proto.getPositions = function getPositions() {if (this.props.positions && (0, _validatePositions.isValidPositions)(this.props.positions)) {return this.props.positions;}return Positions;};return PopupMenu;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'PopupMenu', _class2.defaultProps = { positions: Positions, type: PopupMenuType.Tooltip, popupHasPin: true, disableAnimations: false }, _class2.Type = PopupMenuType, _temp)) || _class) || _class;exports.PopupMenu = PopupMenu;
308
+ };return _this;}var _proto = PopupMenu.prototype;_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.hideMenuWithoutFocusing, onFocusOutside: this.hideMenuWithoutFocusing, active: this.state.menuVisible }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": PopupMenuDataTids.root, className: _PopupMenu.styles.container(), style: { width: this.props.width } }, this.renderCaption(), this.captionWrapper && this.props.children && /*#__PURE__*/_react.default.createElement(_Popup.Popup, { anchorElement: this.captionWrapper, opened: this.state.menuVisible, hasShadow: true, margin: this.props.popupMargin, hasPin: this.props.popupHasPin, pinOffset: this.props.popupPinOffset, positions: this.getPositions(), disableAnimations: this.props.disableAnimations, onOpen: this.handleOpen, mobileOnCloseRequest: this.hideMenu, width: this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto' }, /*#__PURE__*/_react.default.createElement(_InternalMenu.InternalMenu, { hasShadow: false, maxHeight: this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none', onKeyDown: this.handleKeyDown, onItemClick: this.handleItemSelection, cyclicSelection: false, ref: this.refInternalMenu, initialSelectedItemIndex: this.state.firstItemShouldBeSelected ? 0 : -1, header: this.props.header, footer: this.props.footer }, this.props.children)))));};_proto.getPositions = function getPositions() {if (this.props.positions && (0, _validatePositions.isValidPositions)(this.props.positions)) {return this.props.positions;}return Positions;};return PopupMenu;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'PopupMenu', _class2.defaultProps = { positions: Positions, type: PopupMenuType.Tooltip, popupHasPin: true, disableAnimations: false }, _class2.Type = PopupMenuType, _temp)) || _class) || _class;exports.PopupMenu = PopupMenu;
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupMenu.tsx"],"names":["PopupMenuType","Dropdown","Tooltip","Positions","PopupMenu","rootNode","responsiveLayout","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","caption","opened","openMenu","closeMenu","toggleMenu","styles","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","setRootNode","container","width","children","popupMargin","popupHasPin","popupPinOffset","getPositions","disableAnimations","isMobileLayout","menuWidth","menuMaxHeight","header","footer","positions","React","Component","__KONTUR_REACT_UI__","defaultProps","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n};\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={this.props.popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={this.props.disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n if (this.props.positions && isValidPositions(this.props.positions)) {\n return this.props.positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
1
+ {"version":3,"sources":["PopupMenu.tsx"],"names":["PopupMenuType","Dropdown","Tooltip","PopupMenuDataTids","root","caption","Positions","PopupMenu","rootNode","responsiveLayout","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","opened","openMenu","closeMenu","toggleMenu","styles","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","isKeyEnter","isKeySpace","isKeyArrowVertical","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","setRootNode","container","width","children","popupMargin","popupHasPin","popupPinOffset","getPositions","disableAnimations","isMobileLayout","menuWidth","menuMaxHeight","header","footer","positions","React","Component","__KONTUR_REACT_UI__","defaultProps","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n};\n\nexport const PopupMenuDataTids = {\n root: 'PopupMenu__root',\n caption: 'PopupMenu__caption',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div data-tid={PopupMenuDataTids.root} className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={this.props.popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={this.props.disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n if (this.props.positions && isValidPositions(this.props.positions)) {\n return this.props.positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
@@ -22,6 +22,7 @@ export declare class RenderLayer extends React.Component<RenderLayerProps> {
22
22
  componentDidUpdate(prevProps: RenderLayerProps): void;
23
23
  componentWillUnmount(): void;
24
24
  render(): JSX.Element;
25
+ private getAnchorNode;
25
26
  private attachListeners;
26
27
  private detachListeners;
27
28
  private handleFocusOutside;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.RenderLayer = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.RenderLayer = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _listenFocusOutside = require("../../lib/listenFocusOutside");
4
4
  var _CommonWrapper = require("../CommonWrapper");
@@ -87,6 +87,11 @@ RenderLayer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/f
87
87
 
88
88
 
89
89
 
90
+
91
+
92
+
93
+
94
+
90
95
 
91
96
 
92
97
 
@@ -101,7 +106,7 @@ RenderLayer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/f
101
106
 
102
107
  handleNativeDocClick = function (event) {
103
108
  var target = event.target || event.srcElement;
104
- var node = (0, _rootNode.getRootNode)((0, _assertThisInitialized2.default)(_this)) || (0, _rootNode.getRootNode)(_this.props.getAnchorElement == null ? void 0 : _this.props.getAnchorElement());
109
+ var node = _this.getAnchorNode();
105
110
 
106
111
  if (!node || target instanceof Element && (0, _listenFocusOutside.containsTargetOrRenderContainer)(target)(node)) {
107
112
  return;
@@ -110,4 +115,4 @@ RenderLayer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/f
110
115
  if (_this.props.onClickOutside) {
111
116
  _this.props.onClickOutside(event);
112
117
  }
113
- };return _this;}var _proto = RenderLayer.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.attachListeners();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (!prevProps.active && this.props.active) {this.attachListeners();}if (prevProps.active && !this.props.active) {this.detachListeners();}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.props.active) {this.detachListeners();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), _react.default.Children.only(this.props.children));};_proto.attachListeners = function attachListeners() {var _this$props$getAnchor, _this$props;var rootNode = (0, _rootNode.getRootNode)(this) || ((_this$props$getAnchor = (_this$props = this.props).getAnchorElement) == null ? void 0 : _this$props$getAnchor.call(_this$props));if (!rootNode) {return;}this.focusOutsideListenerToken = (0, _listenFocusOutside.listen)(function () {return [rootNode];}, this.handleFocusOutside);window.addEventListener('blur', this.handleFocusOutside);document.addEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};_proto.detachListeners = function detachListeners() {if (this.focusOutsideListenerToken) {this.focusOutsideListenerToken.remove();this.focusOutsideListenerToken = null;}window.removeEventListener('blur', this.handleFocusOutside);document.removeEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};return RenderLayer;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'RenderLayer', _class2.propTypes = { active: function active(props, propName, componentName) {var active = props.active,onClickOutside = props.onClickOutside,onFocusOutside = props.onFocusOutside;if (active && !(onClickOutside || onFocusOutside)) {return new Error("[" + componentName + "]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.");}} }, _class2.defaultProps = { active: true }, _temp)) || _class;exports.RenderLayer = RenderLayer;
118
+ };return _this;}var _proto = RenderLayer.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.attachListeners();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (!prevProps.active && this.props.active) {this.attachListeners();}if (prevProps.active && !this.props.active) {this.detachListeners();}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.props.active) {this.detachListeners();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), _react.default.Children.only(this.props.children));};_proto.getAnchorNode = function getAnchorNode() {var getAnchorElement = this.props.getAnchorElement;return getAnchorElement ? getAnchorElement() : (0, _rootNode.getRootNode)(this);};_proto.attachListeners = function attachListeners() {var node = this.getAnchorNode();if (!node) {return;}this.focusOutsideListenerToken = (0, _listenFocusOutside.listen)(function () {return [node];}, this.handleFocusOutside);window.addEventListener('blur', this.handleFocusOutside);document.addEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};_proto.detachListeners = function detachListeners() {if (this.focusOutsideListenerToken) {this.focusOutsideListenerToken.remove();this.focusOutsideListenerToken = null;}window.removeEventListener('blur', this.handleFocusOutside);document.removeEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};return RenderLayer;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'RenderLayer', _class2.propTypes = { active: function active(props, propName, componentName) {var active = props.active,onClickOutside = props.onClickOutside,onFocusOutside = props.onFocusOutside;if (active && !(onClickOutside || onFocusOutside)) {return new Error("[" + componentName + "]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.");}} }, _class2.defaultProps = { active: true }, _temp)) || _class;exports.RenderLayer = RenderLayer;
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderLayer.tsx"],"names":["RenderLayer","rootNode","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorElement","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","React","Children","only","children","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<HTMLElement>;\n}\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps = {\n active: true,\n };\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n if (!prevProps.active && this.props.active) {\n this.attachListeners();\n }\n if (prevProps.active && !this.props.active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.props.active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private attachListeners() {\n const rootNode = getRootNode(this) || this.props.getAnchorElement?.();\n if (!rootNode) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [rootNode], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this) || getRootNode(this.props.getAnchorElement?.());\n\n if (!node || (target instanceof Element && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["RenderLayer.tsx"],"names":["RenderLayer","rootNode","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","setRootNode","React","Children","only","children","getAnchorElement","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<HTMLElement>;\n}\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps = {\n active: true,\n };\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n if (!prevProps.active && this.props.active) {\n this.attachListeners();\n }\n if (prevProps.active && !this.props.active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.props.active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private getAnchorNode(): Nullable<HTMLElement> {\n const { getAnchorElement } = this.props;\n return getAnchorElement ? getAnchorElement() : getRootNode(this);\n }\n\n private attachListeners() {\n const node = this.getAnchorNode();\n if (!node) {\n return;\n }\n\n this.focusOutsideListenerToken = listenFocusOutside(() => [node], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getAnchorNode();\n\n if (!node || (target instanceof Element && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
@@ -30,7 +30,7 @@ function (_ref, ref) {var color = _ref.color,size = _ref.size,style = _ref.style
30
30
 
31
31
  SvgIcon.propTypes = {
32
32
  color: _propTypes.default.string,
33
- size: _propTypes.default.oneOf([_propTypes.default.string, _propTypes.default.number]),
33
+ size: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
34
34
  style: _propTypes.default.object,
35
35
  children: _propTypes.default.node };
36
36
 
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["SvgIcon","ref","color","size","style","children","rest","styles","root","fontSize","React","cloneElement","className","icon","fill","focusable","propTypes","string","oneOf","number","object","node","ArrowChevronDownIcon","props","marginBottom","ArrowChevronUpIcon","ArrowChevronRightIcon","ArrowTriangleDownIcon","ArrowTriangleUpIcon","ArrowTriangleUpDownIcon","CalendarIcon","EditIcon","EyeClosedIcon","EyeOpenedIcon","FunctionIcon","MenuKebabIcon","OkIcon","SquareIcon","UndoIcon","HelpDotIcon","ErrorIcon","DeleteIcon","UploadIcon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport propTypes from 'prop-types';\n\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName';\n\nimport { styles } from './icon.styles';\n\n// NOTE Icons copy-pasted from @skbkontur/react-icons package, because it's not fully opensource\n\nexport interface SvgIconProps extends React.HTMLAttributes<HTMLSpanElement> {\n color?: string;\n size?: string | number;\n ref?: any;\n}\n\nconst SvgIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'SvgIcon',\n ({ color, size, style, children, ...rest }, ref) => {\n return (\n <span ref={ref} className={styles.root()} style={{ ...style, fontSize: size, color }} {...rest}>\n {React.cloneElement(children as JSX.Element, {\n className: styles.icon(),\n fill: 'currentColor',\n focusable: 'false',\n })}\n </span>\n );\n },\n);\n\nSvgIcon.propTypes = {\n color: propTypes.string,\n size: propTypes.oneOf([propTypes.string, propTypes.number]),\n style: propTypes.object,\n children: propTypes.node,\n};\n\nexport const ArrowChevronDownIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowChevronDownIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 9.00098L11.001 6C11.3747 6 11.6322 6.10937 11.7734 6.32812C11.9147 6.54688 11.9899 6.73828 11.999 6.90234V6.99805L8 10.9971L4.00098 6.99805V6.88867C4.03744 6.51953 4.20833 6.25977 4.51367 6.10938C4.65039 6.03646 4.81217 6 4.99902 6L8 9.00098Z\"\n />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const ArrowChevronUpIcon = forwardRefAndName<HTMLElement, SvgIconProps>('ArrowChevronUpIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 8.00293L4.99902 10.9971C4.52962 10.9971 4.21745 10.7829 4.0625 10.3545C4.02604 10.2588 4.00553 10.1745 4.00098 10.1016V9.99902L8 6L11.999 9.99902V10.1084C11.9626 10.4684 11.7917 10.7305 11.4863 10.8945C11.3496 10.9674 11.1878 11.0016 11.001 10.9971L8 8.00293Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const ArrowChevronRightIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowChevronRightIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.99804688,9.00292969 L5.99707031,6.00195312 C5.99707031,5.62825334 6.10188697,5.37304756 6.31152344,5.23632812 C6.5211599,5.09960869 6.71712148,5.01985688 6.89941406,4.99707031 L7.00195312,4.99707031 L11.0009766,9.00292969 L7.00195312,13.0019531 L6.89941406,13.0019531 C6.53482891,12.9700519 6.27278726,12.7968766 6.11328125,12.4824219 C6.0358069,12.3593744 5.99707031,12.1975921 5.99707031,11.9970703 L8.99804688,9.00292969 Z\"\n />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const ArrowTriangleDownIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowTriangleDownIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <polygon fillRule=\"evenodd\" points=\"8 11.5029297 3.59765625 6.99804688 12.4023438 6.99804688\" />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const ArrowTriangleUpIcon = forwardRefAndName<HTMLElement, SvgIconProps>('ArrowTriangleUpIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <polygon fillRule=\"evenodd\" points=\"12.4023438 10.9990234 3.59765625 10.9990234 8 6.50097656\" />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const ArrowTriangleUpDownIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowTriangleUpDownIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path fillRule=\"evenodd\" d=\"M12,8 L4,8 L8,4 L12,8 L12,8 Z M12,10 L4,10 L8,14 L12,10 L12,10 Z\" />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const CalendarIcon = forwardRefAndName<HTMLElement, SvgIconProps>('CalendarIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M11.0009766,10.9990234 L11.0009766,11.9970703 L10.0029297,11.9970703 L10.0029297,10.9990234 L11.0009766,10.9990234 Z M8.99804688,10.9990234 L8.99804688,11.9970703 L8,11.9970703 L8,10.9990234 L8.99804688,10.9990234 Z M7.00195312,10.9990234 L7.00195312,11.9970703 L5.99707031,11.9970703 L5.99707031,10.9990234 L7.00195312,10.9990234 Z M4.99902344,10.9990234 L4.99902344,11.9970703 L4.00097656,11.9970703 L4.00097656,10.9990234 L4.99902344,10.9990234 Z M11.0009766,9.00292969 L11.0009766,10.0009766 L10.0029297,10.0009766 L10.0029297,9.00292969 L11.0009766,9.00292969 Z M8.99804688,9.00292969 L8.99804688,10.0009766 L8,10.0009766 L8,9.00292969 L8.99804688,9.00292969 Z M7.00195312,9.00292969 L7.00195312,10.0009766 L5.99707031,10.0009766 L5.99707031,9.00292969 L7.00195312,9.00292969 Z M4.99902344,9.00292969 L4.99902344,10.0009766 L4.00097656,10.0009766 L4.00097656,9.00292969 L4.99902344,9.00292969 Z M11.9990234,13.0019531 L11.9990234,7.99804688 L3.00292969,7.99804688 L3.00292969,13.0019531 L11.9990234,13.0019531 Z M3.00292969,14 C2.70214693,14 2.46061289,13.9088551 2.27832031,13.7265625 C2.09602773,13.5442699 2.00260419,13.3027359 1.99804688,13.0019531 L1.99804688,6.00195312 C1.99804688,5.73762889 2.09374904,5.50520934 2.28515625,5.3046875 C2.47656346,5.10416566 2.71581888,5.00162763 3.00292969,4.99707031 L4.99902344,4.99707031 L4.99902344,6.00195312 L5.99707031,6.00195312 L5.99707031,4.99707031 L8.99804688,4.99707031 L8.99804688,6.00195312 L10.0029297,6.00195312 L10.0029297,4.99707031 L11.9990234,4.99707031 C12.2861342,5.00162763 12.5253897,5.10416566 12.7167969,5.3046875 C12.9082041,5.50520934 13.0016276,5.73762889 12.9970703,6.00195312 L12.9970703,13.0019531 C12.9970703,13.3027359 12.9059254,13.5442699 12.7236328,13.7265625 C12.5413402,13.9088551 12.2998062,14 11.9990234,14 L3.00292969,14 Z M10.0029297,4.99707031 L8.99804688,4.99707031 L8.99804688,3.00097656 L10.0029297,3.00097656 L10.0029297,4.99707031 Z M5.99707031,4.99707031 L4.99902344,4.99707031 L4.99902344,3.00097656 L5.99707031,3.00097656 L5.99707031,4.99707031 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const EditIcon = forwardRefAndName<HTMLElement, SvgIconProps>('EditIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M12.9970703,13.0019531 L12.9970703,14 L7.62402344,14 L7.62402344,13.0019531 L12.9970703,13.0019531 Z M2.98925781,14 L2.98925781,11.9970703 L8.50585938,6.2890625 L10.625,8.40820312 L4.99902344,14 L2.98925781,14 Z M13.0585938,5.97460938 L11.4931641,7.54003906 L9.37402344,5.42773438 L10.9394531,3.84863281 L13.0585938,5.97460938 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const EyeClosedIcon = forwardRefAndName<HTMLElement, SvgIconProps>('EyeClosedIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M10.0986328,9.00292969 C10.0986328,9.45410382 9.96647268,9.86197734 9.70214844,10.2265625 C9.4378242,10.5911477 9.10286661,10.8486321 8.69726562,10.9990234 L9.10058594,11.9970703 C10.2399146,11.7692046 11.3063101,11.2041061 12.2998047,10.3017578 C12.7646508,10.0237616 12.9970703,9.60677361 12.9970703,9.05078125 C12.9970703,8.49478889 12.7646508,8.07780087 12.2998047,7.79980469 C11.8349586,7.37141713 11.3518905,7.02734505 10.8505859,6.76757813 C9.5152928,6.07942364 8.23242803,5.85611858 7.00195312,6.09765625 L7.30273438,6.89746094 C7.43489649,6.82910122 7.66731604,6.7972005 8,6.80175781 C8.59245088,6.80175781 9.0891907,7.01594838 9.49023438,7.44433594 C9.89127805,7.8727235 10.0940755,8.39224955 10.0986328,9.00292969 L10.0986328,9.00292969 Z M2.203125,11.1015625 C1.90689956,10.8554675 1.68131588,10.5455748 1.52636719,10.171875 C1.3714185,9.79817521 1.29622394,9.40853067 1.30078125,9.00292969 C1.30078125,8.20084234 1.60155949,7.49902645 2.203125,6.89746094 C2.30338592,6.79720002 2.48567576,6.63086054 2.75,6.3984375 C3.01432424,6.16601446 3.19661408,5.99967498 3.296875,5.89941406 L3.8984375,7.69726562 C3.29687199,8.14843976 2.99837237,8.58365676 3.00292969,9.00292969 C3.007487,9.23535272 3.08268156,9.48144401 3.22851563,9.74121094 C3.37434969,10.0009779 3.53157468,10.187825 3.70019531,10.3017578 C4.36556322,10.8030624 4.86458167,11.1357414 5.19726563,11.2998047 L5.99707031,13.6992188 C4.53417237,13.152341 3.26953658,12.2864643 2.203125,11.1015625 L2.203125,11.1015625 Z M14.8017578,8.95507812 C14.8017578,9.72070695 14.5351589,10.3701145 14.0019531,10.9033203 C12.7304624,12.347989 11.2972085,13.3141252 9.70214844,13.8017578 L10.0986328,14.9980469 L8.10253906,14.9980469 L8,14.4990234 L4.09667969,3.00097656 L5.99707031,3.00097656 L6.40039062,4.19726562 C7.44401563,3.90104019 8.44205253,3.86686084 9.39453125,4.09472656 C11.0488364,4.49577023 12.5162696,5.39810496 13.796875,6.80175781 C13.8652347,6.80175781 13.8994141,6.83365854 13.8994141,6.89746094 L14.0019531,7 C14.5351589,7.53776311 14.8017578,8.1894493 14.8017578,8.95507812 L14.8017578,8.95507812 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const EyeOpenedIcon = forwardRefAndName<HTMLElement, SvgIconProps>('EyeOpenedIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.09570312,11.1972656 C7.49869493,11.1972656 6.98372612,10.9807964 6.55078125,10.5478516 C6.11783638,10.1149067 5.90136719,9.59765926 5.90136719,8.99609375 C5.90136719,8.39452824 6.11783638,7.87955943 6.55078125,7.45117187 C6.98372612,7.018227 7.49869493,6.80175781 8.09570312,6.80175781 C8.69271132,6.80175781 9.19172977,7.01594838 9.59277344,7.44433594 C9.99837442,7.86816618 10.2011719,8.38541361 10.2011719,8.99609375 C10.2011719,9.60677389 10.000653,10.1262999 9.59960938,10.5546875 C9.1985657,10.9830751 8.69726863,11.1972656 8.09570312,11.1972656 L8.09570312,11.1972656 Z M3.00292969,8.96875 C3.00292969,9.49739848 3.23534924,9.94172997 3.70019531,10.3017578 C6.52117296,12.753593 9.4218601,12.753593 12.4023438,10.3017578 C12.8079447,9.89615683 13.0061849,9.46321845 12.9970703,9.00292969 C12.9970703,8.71581888 12.8649102,8.41959788 12.6005859,8.11425781 C12.5094396,8.01399689 12.3750009,7.87500089 12.1972656,7.69726562 C10.7936128,6.53515044 9.35352301,5.98372366 7.87695312,6.04296875 C6.75129646,6.08854189 5.63021392,6.47135057 4.51367188,7.19140625 C4.23567569,7.37369883 3.96451955,7.57649628 3.70019531,7.79980469 C3.52701736,7.97298264 3.4016931,8.10286415 3.32421875,8.18945312 C3.11002497,8.44010542 3.00292969,8.69986845 3.00292969,8.96875 L3.00292969,8.96875 Z M1.30078125,8.95507812 C1.30078125,8.1894493 1.56738015,7.53776311 2.10058594,7 L2.10058594,6.97265625 C2.11425788,6.92252579 2.14843723,6.89746094 2.203125,6.89746094 C3.99414958,5.01529007 5.87857084,4.03776078 7.85644531,3.96484375 C9.11882142,3.91927061 10.4016862,4.31119377 11.7050781,5.140625 C12.4160192,5.59635645 13.1132778,6.18196257 13.796875,6.89746094 C14.1022151,7.15722786 14.3460277,7.47395646 14.5283203,7.84765625 C14.7106129,8.22135604 14.8017578,8.60644333 14.8017578,9.00292969 C14.8017578,9.74577194 14.5009796,10.4772099 13.8994141,11.1972656 C12.5276624,12.5006576 11.1673245,13.3665343 9.81835938,13.7949219 C9.29882553,13.9544279 8.72005527,14.0432942 8.08203125,14.0615234 C7.44400723,14.0751954 6.81738589,13.9908863 6.20214844,13.8085937 C5.57779636,13.6263012 4.9101598,13.2981795 4.19921875,12.8242187 C3.4882777,12.350258 2.78874042,11.7418657 2.10058594,10.9990234 L2.10058594,10.9033203 C1.56738015,10.3701145 1.30078125,9.72070695 1.30078125,8.95507812 L1.30078125,8.95507812 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const FunctionIcon = forwardRefAndName<HTMLElement, SvgIconProps>('FunctionIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.38964844,11.9970703 C7.98404745,12.0016276 7.70149819,11.9492193 7.54199219,11.8398438 C7.38248618,11.7304682 7.30273438,11.6028653 7.30273438,11.4570312 C7.30273438,11.3111972 7.38248618,11.1653653 7.54199219,11.0195312 C7.70149819,10.8736972 7.8997384,10.8007812 8.13671875,10.8007812 C8.3736991,10.8007812 8.56054619,10.8349606 8.69726562,10.9033203 C8.74739608,10.9033203 8.79980441,10.9261065 8.85449219,10.9716797 C8.90917996,11.0172528 8.9524738,11.0468749 8.984375,11.0605469 C9.10286518,11.1106773 9.44693726,10.8509143 10.0166016,10.28125 L10.2011719,10.0966797 C10.2695316,10.1650394 10.2353522,9.76628037 10.0986328,8.90039062 C9.96191338,8.63150907 9.82975324,8.49707031 9.70214844,8.49707031 C9.63378872,8.4287106 9.33301048,8.39680987 8.79980469,8.40136719 L8.90234375,7.99804688 L11.1992188,7.99804688 C11.3997406,8.13020899 11.5,8.26464775 11.5,8.40136719 C11.5227866,8.45149765 11.5888666,8.6839172 11.6982422,9.09863281 C11.9215506,8.94368412 12.1311839,8.80240949 12.3271484,8.67480469 C12.523113,8.54719988 12.6757807,8.44694047 12.7851562,8.37402344 C12.8945318,8.30110641 12.9993485,8.24414083 13.0996094,8.203125 C13.500653,8.07096288 13.8173817,8.00488281 14.0498047,8.00488281 C14.2822277,8.00488281 14.5328763,8.07096288 14.8017578,8.203125 C14.8610029,8.29427129 14.8769533,8.42643143 14.8496094,8.59960938 C14.8222655,8.77278732 14.7379564,8.90722608 14.5966797,9.00292969 C14.5465492,9.00292969 14.4622402,9.01888005 14.34375,9.05078125 C14.2252598,9.08268245 14.1067714,9.09863281 13.9882812,9.09863281 C13.8697911,9.09863281 13.7399096,9.06673209 13.5986328,9.00292969 C13.1975891,9.0712894 12.8990895,9.13736947 12.703125,9.20117188 C12.6393226,9.26497428 12.5139983,9.36295507 12.3271484,9.49511719 C12.1448559,9.62272199 12.0035812,9.72526003 11.9033203,9.80273438 C11.9033203,10.0716159 11.9694004,10.3382148 12.1015625,10.6025391 C12.151693,10.775717 12.2519524,10.9739572 12.4023438,11.1972656 C12.4023438,11.2428388 12.4228514,11.2701822 12.4638672,11.2792969 C12.504883,11.2884115 12.5846348,11.2952474 12.703125,11.2998047 C12.9401054,11.2998047 13.2067042,11.1676446 13.5029297,10.9033203 L13.796875,11.2998047 C13.7285153,11.3453778 13.566733,11.4638662 13.3115234,11.6552734 C13.0563138,11.8466806 12.8444019,11.9560546 12.6757812,11.9833984 C12.5117179,12.0107423 12.3886723,12.0244141 12.3066406,12.0244141 L11.6982422,11.9970703 C11.3837875,11.9970703 11.1445321,11.9127613 10.9804688,11.7441406 C10.925781,11.6848955 10.8665368,11.6142582 10.8027344,11.5322266 C10.7434893,11.4501949 10.7093099,11.4069011 10.7001953,11.4023438 C10.7001953,11.3248694 10.5999359,11.1585299 10.3994141,10.9033203 C9.86620827,11.4365261 9.53352931,11.7350257 9.40136719,11.7988281 C9.13248563,11.9309902 8.79524942,11.9970703 8.38964844,11.9970703 L8.38964844,11.9970703 Z M5.90136719,6.00195312 C5.92871107,6.00195312 5.97200491,5.88802197 6.03125,5.66015625 C6.09049509,5.43229053 6.19531175,5.17708475 6.34570312,4.89453125 C6.55533959,4.51627415 6.88346131,4.106122 7.33007812,3.6640625 C7.77669494,3.222003 8.2665989,3.00097656 8.79980469,3.00097656 C9.49251648,2.95996073 9.95963421,3.06022015 10.2011719,3.30175781 C10.3515633,3.48405039 10.4427082,3.7119127 10.4746094,3.98535156 C10.5065106,4.25879043 10.4472664,4.4638665 10.296875,4.60058594 C10.0234361,4.8740248 9.77962347,5.00846356 9.56542969,5.00390625 C9.17805796,4.99479162 8.93424529,4.86946735 8.83398437,4.62792969 C8.73372346,4.38639202 8.688151,4.18359457 8.69726562,4.01953125 L8.69726562,3.90332031 C8.49674379,4.23600427 8.29850358,4.60058396 8.10253906,4.99707031 L7.69921875,6.00195312 L8.99804687,6.00195312 L8.79980469,7 L7.3984375,7 C6.40038563,10.3313969 5.73502771,12.2978486 5.40234375,12.8994141 C5.09700368,13.6103551 4.75976747,14.1389957 4.390625,14.4853516 C4.02148253,14.8317075 3.59082277,15.0026042 3.09863281,14.9980469 L2.67480469,15.0117187 C2.20084398,14.9843749 1.87500089,14.8795582 1.69726562,14.6972656 C1.46028527,14.442056 1.34863274,14.1549495 1.36230469,13.8359375 C1.37597663,13.5169255 1.48990778,13.3027349 1.70410156,13.1933594 C2.26920855,12.9108059 2.71354005,12.9062486 3.03710937,13.1796875 C3.24674584,13.3574228 3.36751286,13.6308575 3.39941406,14 C3.86426014,12.4596277 4.36555721,10.8600343 4.90332031,9.20117187 L5.40234375,7 L4.39746094,7 L4.60253906,6.00195312 L5.90136719,6.00195312 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const MenuKebabIcon = forwardRefAndName<HTMLElement, SvgIconProps>('MenuKebabIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M6.8,5 C6.8,4.3372583 7.33263779,3.8 8,3.8 C8.6627417,3.8 9.2,4.33263779 9.2,5 C9.2,5.6627417 8.66736221,6.2 8,6.2 C7.3372583,6.2 6.8,5.66736221 6.8,5 Z M6.79999995,9 C6.79999995,8.33725827 7.33263776,7.79999995 8,7.79999995 C8.66274173,7.79999995 9.20000005,8.33263776 9.20000005,9 C9.20000005,9.66274173 8.66736224,10.2 8,10.2 C7.33725827,10.2 6.79999995,9.66736224 6.79999995,9 Z M6.8,13 C6.8,12.3372583 7.33263779,11.8 8,11.8 C8.6627417,11.8 9.2,12.3326378 9.2,13 C9.2,13.6627417 8.66736221,14.2 8,14.2 C7.3372583,14.2 6.8,13.6673622 6.8,13 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const OkIcon = forwardRefAndName<HTMLElement, SvgIconProps>('OkIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <polygon\n fillRule=\"nonzero\"\n points=\"3.85937283 7.81051766 2.02089527 9.64899522 6.21608609 13.844186 13.9650569 6.09521524 12.1265793 4.25673767 6.21608609 10.1672309\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const SquareIcon = forwardRefAndName<HTMLElement, SvgIconProps>('SquareIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <rect width={8} height={8} x={4} y={5} fillRule=\"evenodd\" rx={1} />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const UndoIcon = forwardRefAndName<HTMLElement, SvgIconProps>('UndoIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M6.64648438,7.84765625 C6.04491887,8.44922176 5.71907577,9.16698802 5.66894531,10.0009766 L8.15039062,10.0009766 L4.42480469,13.5283203 C4.37923154,13.4964191 1,10.0009766 1,10.0009766 L2.93457031,10.0009766 C2.93457031,9.34016597 3.05761596,8.69987289 3.30371094,8.08007812 C3.54980592,7.46028336 3.91438561,6.91113521 4.39746094,6.43261719 C5.04004228,5.79459316 5.78970926,5.36165479 6.64648438,5.13378906 C7.50325949,4.90592334 8.36002176,4.90592334 9.21679688,5.13378906 C10.073572,5.36165479 10.8255176,5.79459316 11.4726562,6.43261719 C12.4342496,7.40332517 12.9218749,8.57681604 12.9355469,9.953125 L12.1904297,9.953125 C12.12207,9.14648034 11.7871124,8.44466444 11.1855469,7.84765625 C10.5839814,7.25064806 9.82747852,6.95214844 8.91601562,6.95214844 C8.00455273,6.94759112 7.24804988,7.24609074 6.64648438,7.84765625 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const HelpDotIcon = forwardRefAndName<HTMLElement, SvgIconProps>('HelpDotIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.10253906,11.7988281 L7.00195312,11.7988281 L7.00195312,13.0019531 L8.10253906,13.0019531 L8.10253906,11.7988281 Z M10.0986328,7.99804688 C10.0986328,7.41471063 9.86621326,6.9475929 9.40136719,6.59667969 C8.89550528,6.20019333 8.30989916,6.00195312 7.64453125,6.00195312 C6.97916334,6.00195312 6.40039309,6.20019333 5.90820312,6.59667969 C5.41601316,6.99316604 5.1129563,7.56054318 4.99902344,8.29882812 L6.09960938,8.40136719 C6.14973983,7.97297963 6.32291519,7.64941516 6.61914062,7.43066406 C6.91536606,7.21191297 7.28678162,7.10253906 7.73339844,7.10253906 C8.18001525,7.10253906 8.46940038,7.16861913 8.6015625,7.30078125 C8.80208434,7.50130309 8.90234375,7.76790198 8.90234375,8.10058594 C8.90234375,8.53353081 8.60156551,8.90038912 8,9.20117188 C7.74023308,9.4609388 7.47363418,9.69335835 7.20019531,9.8984375 L7.00195312,10.5 L7.00195312,10.9990234 L8.10253906,10.9990234 L8.10253906,10.6025391 C8.13444026,10.5706379 8.18456997,10.4863288 8.25292969,10.3496094 C8.3212894,10.2128899 8.37141911,10.1285809 8.40332031,10.0966797 C8.9046249,9.79589693 9.23730387,9.56347738 9.40136719,9.39941406 C9.47884153,9.36295555 9.54036436,9.31282584 9.5859375,9.24902344 C9.63151064,9.18977835 9.66568999,9.14648451 9.68847656,9.11914062 C9.79329479,9.00520776 9.88671834,8.82519654 9.96875,8.57910156 C10.055339,8.3375639 10.0986328,8.14388094 10.0986328,7.99804688 L10.0986328,7.99804688 Z M7.59667969,14.9980469 C6.86295206,14.9980469 6.15657892,14.852215 5.47753906,14.5605469 C4.11034473,13.968096 3.13281544,12.9882881 2.54492188,11.6210938 C2.24869644,10.9420539 2.10058594,10.2356808 2.10058594,9.50195312 C2.10058594,8.77278281 2.24869644,8.06640967 2.54492188,7.3828125 C3.14193007,6.00650354 4.11945936,5.02669562 5.47753906,4.44335938 C6.15657892,4.14713394 6.86295206,3.99902344 7.59667969,3.99902344 C8.33040731,3.99902344 9.03905908,4.14713394 9.72265625,4.44335938 C11.0989652,5.04036757 12.0764945,6.01789686 12.6552734,7.37597656 C12.9514989,8.05501642 13.0996094,8.76366818 13.0996094,9.50195312 C13.0996094,10.2402381 12.9514989,10.9466112 12.6552734,11.6210938 C12.0582652,12.9882881 11.080736,13.968096 9.72265625,14.5605469 C9.03905908,14.852215 8.33040731,14.9980469 7.59667969,14.9980469 L7.59667969,14.9980469 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const ErrorIcon = forwardRefAndName<HTMLElement, SvgIconProps>('ErrorIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM4.5 6.5C4.22386 6.5 4 6.72386 4 7V9C4 9.27614 4.22386 9.5 4.5 9.5H11.5C11.7761 9.5 12 9.27614 12 9V7C12 6.72386 11.7761 6.5 11.5 6.5H4.5Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const DeleteIcon = forwardRefAndName<HTMLElement, SvgIconProps>('DeleteIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n d=\"M11.298 12.6992L7.99628 9.41797L4.70135 12.6992L3.29999 11.2979L6.58124 8.00293L3.29999 4.70117L4.70135 3.2998L7.99628 6.58105L11.298 3.2998L12.6994 4.70117L9.41815 8.00293L12.6994 11.2979L11.298 12.6992Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const UploadIcon = forwardRefAndName<HTMLElement, SvgIconProps>('UploadIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n d=\"M13.0232 10.9968V12.9997H2.02417V10.9968H13.0232ZM6.02318 5.99969H3.22729L7.52708 1.50165L11.8269 5.99969H9.02414V9.99872H6.02318V5.99969Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </SvgIcon>\n );\n});\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["SvgIcon","ref","color","size","style","children","rest","styles","root","fontSize","React","cloneElement","className","icon","fill","focusable","propTypes","string","oneOfType","number","object","node","ArrowChevronDownIcon","props","marginBottom","ArrowChevronUpIcon","ArrowChevronRightIcon","ArrowTriangleDownIcon","ArrowTriangleUpIcon","ArrowTriangleUpDownIcon","CalendarIcon","EditIcon","EyeClosedIcon","EyeOpenedIcon","FunctionIcon","MenuKebabIcon","OkIcon","SquareIcon","UndoIcon","HelpDotIcon","ErrorIcon","DeleteIcon","UploadIcon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport propTypes from 'prop-types';\n\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName';\n\nimport { styles } from './icon.styles';\n\n// NOTE Icons copy-pasted from @skbkontur/react-icons package, because it's not fully opensource\n\nexport interface SvgIconProps extends React.HTMLAttributes<HTMLSpanElement> {\n color?: string;\n size?: string | number;\n ref?: any;\n}\n\nconst SvgIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'SvgIcon',\n ({ color, size, style, children, ...rest }, ref) => {\n return (\n <span ref={ref} className={styles.root()} style={{ ...style, fontSize: size, color }} {...rest}>\n {React.cloneElement(children as JSX.Element, {\n className: styles.icon(),\n fill: 'currentColor',\n focusable: 'false',\n })}\n </span>\n );\n },\n);\n\nSvgIcon.propTypes = {\n color: propTypes.string,\n size: propTypes.oneOfType([propTypes.string, propTypes.number]),\n style: propTypes.object,\n children: propTypes.node,\n};\n\nexport const ArrowChevronDownIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowChevronDownIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 9.00098L11.001 6C11.3747 6 11.6322 6.10937 11.7734 6.32812C11.9147 6.54688 11.9899 6.73828 11.999 6.90234V6.99805L8 10.9971L4.00098 6.99805V6.88867C4.03744 6.51953 4.20833 6.25977 4.51367 6.10938C4.65039 6.03646 4.81217 6 4.99902 6L8 9.00098Z\"\n />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const ArrowChevronUpIcon = forwardRefAndName<HTMLElement, SvgIconProps>('ArrowChevronUpIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8 8.00293L4.99902 10.9971C4.52962 10.9971 4.21745 10.7829 4.0625 10.3545C4.02604 10.2588 4.00553 10.1745 4.00098 10.1016V9.99902L8 6L11.999 9.99902V10.1084C11.9626 10.4684 11.7917 10.7305 11.4863 10.8945C11.3496 10.9674 11.1878 11.0016 11.001 10.9971L8 8.00293Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const ArrowChevronRightIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowChevronRightIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.99804688,9.00292969 L5.99707031,6.00195312 C5.99707031,5.62825334 6.10188697,5.37304756 6.31152344,5.23632812 C6.5211599,5.09960869 6.71712148,5.01985688 6.89941406,4.99707031 L7.00195312,4.99707031 L11.0009766,9.00292969 L7.00195312,13.0019531 L6.89941406,13.0019531 C6.53482891,12.9700519 6.27278726,12.7968766 6.11328125,12.4824219 C6.0358069,12.3593744 5.99707031,12.1975921 5.99707031,11.9970703 L8.99804688,9.00292969 Z\"\n />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const ArrowTriangleDownIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowTriangleDownIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <polygon fillRule=\"evenodd\" points=\"8 11.5029297 3.59765625 6.99804688 12.4023438 6.99804688\" />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const ArrowTriangleUpIcon = forwardRefAndName<HTMLElement, SvgIconProps>('ArrowTriangleUpIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <polygon fillRule=\"evenodd\" points=\"12.4023438 10.9990234 3.59765625 10.9990234 8 6.50097656\" />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const ArrowTriangleUpDownIcon = forwardRefAndName<HTMLElement, SvgIconProps>(\n 'ArrowTriangleUpDownIcon',\n (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path fillRule=\"evenodd\" d=\"M12,8 L4,8 L8,4 L12,8 L12,8 Z M12,10 L4,10 L8,14 L12,10 L12,10 Z\" />\n </svg>\n </SvgIcon>\n );\n },\n);\n\nexport const CalendarIcon = forwardRefAndName<HTMLElement, SvgIconProps>('CalendarIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M11.0009766,10.9990234 L11.0009766,11.9970703 L10.0029297,11.9970703 L10.0029297,10.9990234 L11.0009766,10.9990234 Z M8.99804688,10.9990234 L8.99804688,11.9970703 L8,11.9970703 L8,10.9990234 L8.99804688,10.9990234 Z M7.00195312,10.9990234 L7.00195312,11.9970703 L5.99707031,11.9970703 L5.99707031,10.9990234 L7.00195312,10.9990234 Z M4.99902344,10.9990234 L4.99902344,11.9970703 L4.00097656,11.9970703 L4.00097656,10.9990234 L4.99902344,10.9990234 Z M11.0009766,9.00292969 L11.0009766,10.0009766 L10.0029297,10.0009766 L10.0029297,9.00292969 L11.0009766,9.00292969 Z M8.99804688,9.00292969 L8.99804688,10.0009766 L8,10.0009766 L8,9.00292969 L8.99804688,9.00292969 Z M7.00195312,9.00292969 L7.00195312,10.0009766 L5.99707031,10.0009766 L5.99707031,9.00292969 L7.00195312,9.00292969 Z M4.99902344,9.00292969 L4.99902344,10.0009766 L4.00097656,10.0009766 L4.00097656,9.00292969 L4.99902344,9.00292969 Z M11.9990234,13.0019531 L11.9990234,7.99804688 L3.00292969,7.99804688 L3.00292969,13.0019531 L11.9990234,13.0019531 Z M3.00292969,14 C2.70214693,14 2.46061289,13.9088551 2.27832031,13.7265625 C2.09602773,13.5442699 2.00260419,13.3027359 1.99804688,13.0019531 L1.99804688,6.00195312 C1.99804688,5.73762889 2.09374904,5.50520934 2.28515625,5.3046875 C2.47656346,5.10416566 2.71581888,5.00162763 3.00292969,4.99707031 L4.99902344,4.99707031 L4.99902344,6.00195312 L5.99707031,6.00195312 L5.99707031,4.99707031 L8.99804688,4.99707031 L8.99804688,6.00195312 L10.0029297,6.00195312 L10.0029297,4.99707031 L11.9990234,4.99707031 C12.2861342,5.00162763 12.5253897,5.10416566 12.7167969,5.3046875 C12.9082041,5.50520934 13.0016276,5.73762889 12.9970703,6.00195312 L12.9970703,13.0019531 C12.9970703,13.3027359 12.9059254,13.5442699 12.7236328,13.7265625 C12.5413402,13.9088551 12.2998062,14 11.9990234,14 L3.00292969,14 Z M10.0029297,4.99707031 L8.99804688,4.99707031 L8.99804688,3.00097656 L10.0029297,3.00097656 L10.0029297,4.99707031 Z M5.99707031,4.99707031 L4.99902344,4.99707031 L4.99902344,3.00097656 L5.99707031,3.00097656 L5.99707031,4.99707031 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const EditIcon = forwardRefAndName<HTMLElement, SvgIconProps>('EditIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M12.9970703,13.0019531 L12.9970703,14 L7.62402344,14 L7.62402344,13.0019531 L12.9970703,13.0019531 Z M2.98925781,14 L2.98925781,11.9970703 L8.50585938,6.2890625 L10.625,8.40820312 L4.99902344,14 L2.98925781,14 Z M13.0585938,5.97460938 L11.4931641,7.54003906 L9.37402344,5.42773438 L10.9394531,3.84863281 L13.0585938,5.97460938 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const EyeClosedIcon = forwardRefAndName<HTMLElement, SvgIconProps>('EyeClosedIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M10.0986328,9.00292969 C10.0986328,9.45410382 9.96647268,9.86197734 9.70214844,10.2265625 C9.4378242,10.5911477 9.10286661,10.8486321 8.69726562,10.9990234 L9.10058594,11.9970703 C10.2399146,11.7692046 11.3063101,11.2041061 12.2998047,10.3017578 C12.7646508,10.0237616 12.9970703,9.60677361 12.9970703,9.05078125 C12.9970703,8.49478889 12.7646508,8.07780087 12.2998047,7.79980469 C11.8349586,7.37141713 11.3518905,7.02734505 10.8505859,6.76757813 C9.5152928,6.07942364 8.23242803,5.85611858 7.00195312,6.09765625 L7.30273438,6.89746094 C7.43489649,6.82910122 7.66731604,6.7972005 8,6.80175781 C8.59245088,6.80175781 9.0891907,7.01594838 9.49023438,7.44433594 C9.89127805,7.8727235 10.0940755,8.39224955 10.0986328,9.00292969 L10.0986328,9.00292969 Z M2.203125,11.1015625 C1.90689956,10.8554675 1.68131588,10.5455748 1.52636719,10.171875 C1.3714185,9.79817521 1.29622394,9.40853067 1.30078125,9.00292969 C1.30078125,8.20084234 1.60155949,7.49902645 2.203125,6.89746094 C2.30338592,6.79720002 2.48567576,6.63086054 2.75,6.3984375 C3.01432424,6.16601446 3.19661408,5.99967498 3.296875,5.89941406 L3.8984375,7.69726562 C3.29687199,8.14843976 2.99837237,8.58365676 3.00292969,9.00292969 C3.007487,9.23535272 3.08268156,9.48144401 3.22851563,9.74121094 C3.37434969,10.0009779 3.53157468,10.187825 3.70019531,10.3017578 C4.36556322,10.8030624 4.86458167,11.1357414 5.19726563,11.2998047 L5.99707031,13.6992188 C4.53417237,13.152341 3.26953658,12.2864643 2.203125,11.1015625 L2.203125,11.1015625 Z M14.8017578,8.95507812 C14.8017578,9.72070695 14.5351589,10.3701145 14.0019531,10.9033203 C12.7304624,12.347989 11.2972085,13.3141252 9.70214844,13.8017578 L10.0986328,14.9980469 L8.10253906,14.9980469 L8,14.4990234 L4.09667969,3.00097656 L5.99707031,3.00097656 L6.40039062,4.19726562 C7.44401563,3.90104019 8.44205253,3.86686084 9.39453125,4.09472656 C11.0488364,4.49577023 12.5162696,5.39810496 13.796875,6.80175781 C13.8652347,6.80175781 13.8994141,6.83365854 13.8994141,6.89746094 L14.0019531,7 C14.5351589,7.53776311 14.8017578,8.1894493 14.8017578,8.95507812 L14.8017578,8.95507812 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const EyeOpenedIcon = forwardRefAndName<HTMLElement, SvgIconProps>('EyeOpenedIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.09570312,11.1972656 C7.49869493,11.1972656 6.98372612,10.9807964 6.55078125,10.5478516 C6.11783638,10.1149067 5.90136719,9.59765926 5.90136719,8.99609375 C5.90136719,8.39452824 6.11783638,7.87955943 6.55078125,7.45117187 C6.98372612,7.018227 7.49869493,6.80175781 8.09570312,6.80175781 C8.69271132,6.80175781 9.19172977,7.01594838 9.59277344,7.44433594 C9.99837442,7.86816618 10.2011719,8.38541361 10.2011719,8.99609375 C10.2011719,9.60677389 10.000653,10.1262999 9.59960938,10.5546875 C9.1985657,10.9830751 8.69726863,11.1972656 8.09570312,11.1972656 L8.09570312,11.1972656 Z M3.00292969,8.96875 C3.00292969,9.49739848 3.23534924,9.94172997 3.70019531,10.3017578 C6.52117296,12.753593 9.4218601,12.753593 12.4023438,10.3017578 C12.8079447,9.89615683 13.0061849,9.46321845 12.9970703,9.00292969 C12.9970703,8.71581888 12.8649102,8.41959788 12.6005859,8.11425781 C12.5094396,8.01399689 12.3750009,7.87500089 12.1972656,7.69726562 C10.7936128,6.53515044 9.35352301,5.98372366 7.87695312,6.04296875 C6.75129646,6.08854189 5.63021392,6.47135057 4.51367188,7.19140625 C4.23567569,7.37369883 3.96451955,7.57649628 3.70019531,7.79980469 C3.52701736,7.97298264 3.4016931,8.10286415 3.32421875,8.18945312 C3.11002497,8.44010542 3.00292969,8.69986845 3.00292969,8.96875 L3.00292969,8.96875 Z M1.30078125,8.95507812 C1.30078125,8.1894493 1.56738015,7.53776311 2.10058594,7 L2.10058594,6.97265625 C2.11425788,6.92252579 2.14843723,6.89746094 2.203125,6.89746094 C3.99414958,5.01529007 5.87857084,4.03776078 7.85644531,3.96484375 C9.11882142,3.91927061 10.4016862,4.31119377 11.7050781,5.140625 C12.4160192,5.59635645 13.1132778,6.18196257 13.796875,6.89746094 C14.1022151,7.15722786 14.3460277,7.47395646 14.5283203,7.84765625 C14.7106129,8.22135604 14.8017578,8.60644333 14.8017578,9.00292969 C14.8017578,9.74577194 14.5009796,10.4772099 13.8994141,11.1972656 C12.5276624,12.5006576 11.1673245,13.3665343 9.81835938,13.7949219 C9.29882553,13.9544279 8.72005527,14.0432942 8.08203125,14.0615234 C7.44400723,14.0751954 6.81738589,13.9908863 6.20214844,13.8085937 C5.57779636,13.6263012 4.9101598,13.2981795 4.19921875,12.8242187 C3.4882777,12.350258 2.78874042,11.7418657 2.10058594,10.9990234 L2.10058594,10.9033203 C1.56738015,10.3701145 1.30078125,9.72070695 1.30078125,8.95507812 L1.30078125,8.95507812 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const FunctionIcon = forwardRefAndName<HTMLElement, SvgIconProps>('FunctionIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.38964844,11.9970703 C7.98404745,12.0016276 7.70149819,11.9492193 7.54199219,11.8398438 C7.38248618,11.7304682 7.30273438,11.6028653 7.30273438,11.4570312 C7.30273438,11.3111972 7.38248618,11.1653653 7.54199219,11.0195312 C7.70149819,10.8736972 7.8997384,10.8007812 8.13671875,10.8007812 C8.3736991,10.8007812 8.56054619,10.8349606 8.69726562,10.9033203 C8.74739608,10.9033203 8.79980441,10.9261065 8.85449219,10.9716797 C8.90917996,11.0172528 8.9524738,11.0468749 8.984375,11.0605469 C9.10286518,11.1106773 9.44693726,10.8509143 10.0166016,10.28125 L10.2011719,10.0966797 C10.2695316,10.1650394 10.2353522,9.76628037 10.0986328,8.90039062 C9.96191338,8.63150907 9.82975324,8.49707031 9.70214844,8.49707031 C9.63378872,8.4287106 9.33301048,8.39680987 8.79980469,8.40136719 L8.90234375,7.99804688 L11.1992188,7.99804688 C11.3997406,8.13020899 11.5,8.26464775 11.5,8.40136719 C11.5227866,8.45149765 11.5888666,8.6839172 11.6982422,9.09863281 C11.9215506,8.94368412 12.1311839,8.80240949 12.3271484,8.67480469 C12.523113,8.54719988 12.6757807,8.44694047 12.7851562,8.37402344 C12.8945318,8.30110641 12.9993485,8.24414083 13.0996094,8.203125 C13.500653,8.07096288 13.8173817,8.00488281 14.0498047,8.00488281 C14.2822277,8.00488281 14.5328763,8.07096288 14.8017578,8.203125 C14.8610029,8.29427129 14.8769533,8.42643143 14.8496094,8.59960938 C14.8222655,8.77278732 14.7379564,8.90722608 14.5966797,9.00292969 C14.5465492,9.00292969 14.4622402,9.01888005 14.34375,9.05078125 C14.2252598,9.08268245 14.1067714,9.09863281 13.9882812,9.09863281 C13.8697911,9.09863281 13.7399096,9.06673209 13.5986328,9.00292969 C13.1975891,9.0712894 12.8990895,9.13736947 12.703125,9.20117188 C12.6393226,9.26497428 12.5139983,9.36295507 12.3271484,9.49511719 C12.1448559,9.62272199 12.0035812,9.72526003 11.9033203,9.80273438 C11.9033203,10.0716159 11.9694004,10.3382148 12.1015625,10.6025391 C12.151693,10.775717 12.2519524,10.9739572 12.4023438,11.1972656 C12.4023438,11.2428388 12.4228514,11.2701822 12.4638672,11.2792969 C12.504883,11.2884115 12.5846348,11.2952474 12.703125,11.2998047 C12.9401054,11.2998047 13.2067042,11.1676446 13.5029297,10.9033203 L13.796875,11.2998047 C13.7285153,11.3453778 13.566733,11.4638662 13.3115234,11.6552734 C13.0563138,11.8466806 12.8444019,11.9560546 12.6757812,11.9833984 C12.5117179,12.0107423 12.3886723,12.0244141 12.3066406,12.0244141 L11.6982422,11.9970703 C11.3837875,11.9970703 11.1445321,11.9127613 10.9804688,11.7441406 C10.925781,11.6848955 10.8665368,11.6142582 10.8027344,11.5322266 C10.7434893,11.4501949 10.7093099,11.4069011 10.7001953,11.4023438 C10.7001953,11.3248694 10.5999359,11.1585299 10.3994141,10.9033203 C9.86620827,11.4365261 9.53352931,11.7350257 9.40136719,11.7988281 C9.13248563,11.9309902 8.79524942,11.9970703 8.38964844,11.9970703 L8.38964844,11.9970703 Z M5.90136719,6.00195312 C5.92871107,6.00195312 5.97200491,5.88802197 6.03125,5.66015625 C6.09049509,5.43229053 6.19531175,5.17708475 6.34570312,4.89453125 C6.55533959,4.51627415 6.88346131,4.106122 7.33007812,3.6640625 C7.77669494,3.222003 8.2665989,3.00097656 8.79980469,3.00097656 C9.49251648,2.95996073 9.95963421,3.06022015 10.2011719,3.30175781 C10.3515633,3.48405039 10.4427082,3.7119127 10.4746094,3.98535156 C10.5065106,4.25879043 10.4472664,4.4638665 10.296875,4.60058594 C10.0234361,4.8740248 9.77962347,5.00846356 9.56542969,5.00390625 C9.17805796,4.99479162 8.93424529,4.86946735 8.83398437,4.62792969 C8.73372346,4.38639202 8.688151,4.18359457 8.69726562,4.01953125 L8.69726562,3.90332031 C8.49674379,4.23600427 8.29850358,4.60058396 8.10253906,4.99707031 L7.69921875,6.00195312 L8.99804687,6.00195312 L8.79980469,7 L7.3984375,7 C6.40038563,10.3313969 5.73502771,12.2978486 5.40234375,12.8994141 C5.09700368,13.6103551 4.75976747,14.1389957 4.390625,14.4853516 C4.02148253,14.8317075 3.59082277,15.0026042 3.09863281,14.9980469 L2.67480469,15.0117187 C2.20084398,14.9843749 1.87500089,14.8795582 1.69726562,14.6972656 C1.46028527,14.442056 1.34863274,14.1549495 1.36230469,13.8359375 C1.37597663,13.5169255 1.48990778,13.3027349 1.70410156,13.1933594 C2.26920855,12.9108059 2.71354005,12.9062486 3.03710937,13.1796875 C3.24674584,13.3574228 3.36751286,13.6308575 3.39941406,14 C3.86426014,12.4596277 4.36555721,10.8600343 4.90332031,9.20117187 L5.40234375,7 L4.39746094,7 L4.60253906,6.00195312 L5.90136719,6.00195312 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const MenuKebabIcon = forwardRefAndName<HTMLElement, SvgIconProps>('MenuKebabIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M6.8,5 C6.8,4.3372583 7.33263779,3.8 8,3.8 C8.6627417,3.8 9.2,4.33263779 9.2,5 C9.2,5.6627417 8.66736221,6.2 8,6.2 C7.3372583,6.2 6.8,5.66736221 6.8,5 Z M6.79999995,9 C6.79999995,8.33725827 7.33263776,7.79999995 8,7.79999995 C8.66274173,7.79999995 9.20000005,8.33263776 9.20000005,9 C9.20000005,9.66274173 8.66736224,10.2 8,10.2 C7.33725827,10.2 6.79999995,9.66736224 6.79999995,9 Z M6.8,13 C6.8,12.3372583 7.33263779,11.8 8,11.8 C8.6627417,11.8 9.2,12.3326378 9.2,13 C9.2,13.6627417 8.66736221,14.2 8,14.2 C7.3372583,14.2 6.8,13.6673622 6.8,13 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const OkIcon = forwardRefAndName<HTMLElement, SvgIconProps>('OkIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <polygon\n fillRule=\"nonzero\"\n points=\"3.85937283 7.81051766 2.02089527 9.64899522 6.21608609 13.844186 13.9650569 6.09521524 12.1265793 4.25673767 6.21608609 10.1672309\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const SquareIcon = forwardRefAndName<HTMLElement, SvgIconProps>('SquareIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <rect width={8} height={8} x={4} y={5} fillRule=\"evenodd\" rx={1} />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const UndoIcon = forwardRefAndName<HTMLElement, SvgIconProps>('UndoIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M6.64648438,7.84765625 C6.04491887,8.44922176 5.71907577,9.16698802 5.66894531,10.0009766 L8.15039062,10.0009766 L4.42480469,13.5283203 C4.37923154,13.4964191 1,10.0009766 1,10.0009766 L2.93457031,10.0009766 C2.93457031,9.34016597 3.05761596,8.69987289 3.30371094,8.08007812 C3.54980592,7.46028336 3.91438561,6.91113521 4.39746094,6.43261719 C5.04004228,5.79459316 5.78970926,5.36165479 6.64648438,5.13378906 C7.50325949,4.90592334 8.36002176,4.90592334 9.21679688,5.13378906 C10.073572,5.36165479 10.8255176,5.79459316 11.4726562,6.43261719 C12.4342496,7.40332517 12.9218749,8.57681604 12.9355469,9.953125 L12.1904297,9.953125 C12.12207,9.14648034 11.7871124,8.44466444 11.1855469,7.84765625 C10.5839814,7.25064806 9.82747852,6.95214844 8.91601562,6.95214844 C8.00455273,6.94759112 7.24804988,7.24609074 6.64648438,7.84765625 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const HelpDotIcon = forwardRefAndName<HTMLElement, SvgIconProps>('HelpDotIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\">\n <path\n fillRule=\"evenodd\"\n d=\"M8.10253906,11.7988281 L7.00195312,11.7988281 L7.00195312,13.0019531 L8.10253906,13.0019531 L8.10253906,11.7988281 Z M10.0986328,7.99804688 C10.0986328,7.41471063 9.86621326,6.9475929 9.40136719,6.59667969 C8.89550528,6.20019333 8.30989916,6.00195312 7.64453125,6.00195312 C6.97916334,6.00195312 6.40039309,6.20019333 5.90820312,6.59667969 C5.41601316,6.99316604 5.1129563,7.56054318 4.99902344,8.29882812 L6.09960938,8.40136719 C6.14973983,7.97297963 6.32291519,7.64941516 6.61914062,7.43066406 C6.91536606,7.21191297 7.28678162,7.10253906 7.73339844,7.10253906 C8.18001525,7.10253906 8.46940038,7.16861913 8.6015625,7.30078125 C8.80208434,7.50130309 8.90234375,7.76790198 8.90234375,8.10058594 C8.90234375,8.53353081 8.60156551,8.90038912 8,9.20117188 C7.74023308,9.4609388 7.47363418,9.69335835 7.20019531,9.8984375 L7.00195312,10.5 L7.00195312,10.9990234 L8.10253906,10.9990234 L8.10253906,10.6025391 C8.13444026,10.5706379 8.18456997,10.4863288 8.25292969,10.3496094 C8.3212894,10.2128899 8.37141911,10.1285809 8.40332031,10.0966797 C8.9046249,9.79589693 9.23730387,9.56347738 9.40136719,9.39941406 C9.47884153,9.36295555 9.54036436,9.31282584 9.5859375,9.24902344 C9.63151064,9.18977835 9.66568999,9.14648451 9.68847656,9.11914062 C9.79329479,9.00520776 9.88671834,8.82519654 9.96875,8.57910156 C10.055339,8.3375639 10.0986328,8.14388094 10.0986328,7.99804688 L10.0986328,7.99804688 Z M7.59667969,14.9980469 C6.86295206,14.9980469 6.15657892,14.852215 5.47753906,14.5605469 C4.11034473,13.968096 3.13281544,12.9882881 2.54492188,11.6210938 C2.24869644,10.9420539 2.10058594,10.2356808 2.10058594,9.50195312 C2.10058594,8.77278281 2.24869644,8.06640967 2.54492188,7.3828125 C3.14193007,6.00650354 4.11945936,5.02669562 5.47753906,4.44335938 C6.15657892,4.14713394 6.86295206,3.99902344 7.59667969,3.99902344 C8.33040731,3.99902344 9.03905908,4.14713394 9.72265625,4.44335938 C11.0989652,5.04036757 12.0764945,6.01789686 12.6552734,7.37597656 C12.9514989,8.05501642 13.0996094,8.76366818 13.0996094,9.50195312 C13.0996094,10.2402381 12.9514989,10.9466112 12.6552734,11.6210938 C12.0582652,12.9882881 11.080736,13.968096 9.72265625,14.5605469 C9.03905908,14.852215 8.33040731,14.9980469 7.59667969,14.9980469 L7.59667969,14.9980469 Z\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const ErrorIcon = forwardRefAndName<HTMLElement, SvgIconProps>('ErrorIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM4.5 6.5C4.22386 6.5 4 6.72386 4 7V9C4 9.27614 4.22386 9.5 4.5 9.5H11.5C11.7761 9.5 12 9.27614 12 9V7C12 6.72386 11.7761 6.5 11.5 6.5H4.5Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const DeleteIcon = forwardRefAndName<HTMLElement, SvgIconProps>('DeleteIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n d=\"M11.298 12.6992L7.99628 9.41797L4.70135 12.6992L3.29999 11.2979L6.58124 8.00293L3.29999 4.70117L4.70135 3.2998L7.99628 6.58105L11.298 3.2998L12.6994 4.70117L9.41815 8.00293L12.6994 11.2979L11.298 12.6992Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </SvgIcon>\n );\n});\n\nexport const UploadIcon = forwardRefAndName<HTMLElement, SvgIconProps>('UploadIcon', (props, ref) => {\n return (\n <SvgIcon ref={ref} {...props}>\n <svg viewBox=\"0 0 16 16\" style={{ marginBottom: '-0.1875em' }}>\n <path\n fillRule=\"evenodd\"\n d=\"M13.0232 10.9968V12.9997H2.02417V10.9968H13.0232ZM6.02318 5.99969H3.22729L7.52708 1.50165L11.8269 5.99969H9.02414V9.99872H6.02318V5.99969Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </SvgIcon>\n );\n});\n"]}
@@ -85,7 +85,7 @@ function findRenderContainer(node, rootNode, container) {
85
85
  var nextNode = document.querySelector("[data-render-container-id~=\"" + newContainerId + "\"]");
86
86
 
87
87
  if (!nextNode) {
88
- throw Error("Origin node for container with id " + newContainerId + " was not found");
88
+ throw Error("Origin node for render container was not found");
89
89
  }
90
90
 
91
91
  return findRenderContainer(nextNode, rootNode, nextNode);
@@ -1 +1 @@
1
- {"version":3,"sources":["listenFocusOutside.ts"],"names":["handlers","addHandleEvent","document","body","addEventListener","isFirefox","handleNativeFocus","leading","trailing","capture","isBrowser","readyState","window","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","ReactDOM","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\n\nimport { isBrowser, isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: HTMLElement[] | (() => HTMLElement[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n document.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (isBrowser) {\n if (document.readyState === 'complete') {\n addHandleEvent();\n } else {\n window.addEventListener('load', addHandleEvent);\n }\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: HTMLElement = (event.target || event.srcElement) as HTMLElement;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === document.body ||\n currentNode === document.documentElement ||\n !(currentNode instanceof Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute('data-rendered-container-id');\n if (newContainerId) {\n const nextNode = document.querySelector(`[data-render-container-id~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for container with id ${newContainerId} was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: HTMLElement[] | (() => HTMLElement[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["listenFocusOutside.ts"],"names":["handlers","addHandleEvent","document","body","addEventListener","isFirefox","handleNativeFocus","leading","trailing","capture","isBrowser","readyState","window","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","ReactDOM","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\n\nimport { isBrowser, isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: HTMLElement[] | (() => HTMLElement[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n document.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (isBrowser) {\n if (document.readyState === 'complete') {\n addHandleEvent();\n } else {\n window.addEventListener('load', addHandleEvent);\n }\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: HTMLElement = (event.target || event.srcElement) as HTMLElement;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === document.body ||\n currentNode === document.documentElement ||\n !(currentNode instanceof Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute('data-rendered-container-id');\n if (newContainerId) {\n const nextNode = document.querySelector(`[data-render-container-id~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: HTMLElement[] | (() => HTMLElement[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
@@ -40,13 +40,16 @@ function renderItem(item) {
40
40
  return item;
41
41
  }
42
42
 
43
- export
43
+ export var AutocompleteDataTids = {
44
+ root: 'Autocomplete__root'
45
+ };
44
46
  /**
45
- * Стандартный инпут с подсказками.
46
- *
47
- * Все свойства передаются во внутренний *Input*.
48
- */
49
- var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
47
+ * Стандартный инпут с подсказками.
48
+ *
49
+ * Все свойства передаются во внутренний *Input*.
50
+ */
51
+
52
+ export var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
50
53
  _inheritsLoose(Autocomplete, _React$Component);
51
54
 
52
55
  function Autocomplete() {
@@ -101,6 +104,7 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
101
104
  onClickOutside: _this.handleClickOutside,
102
105
  active: focused
103
106
  }, /*#__PURE__*/React.createElement("span", {
107
+ "data-tid": AutocompleteDataTids.root,
104
108
  className: styles.root(_this.theme),
105
109
  style: {
106
110
  width: width
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\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 public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && getDOMRect(this.rootSpan).width),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n} as const;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\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 public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={styles.root(this.theme)}\n style={{ width }}\n ref={this.refRootSpan}\n >\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && getDOMRect(this.rootSpan).width),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}