@skbkontur/react-ui 3.10.0-fileuploader.1 → 3.11.0-latest

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 (751) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/LICENSE +21 -21
  3. package/README.md +57 -0
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  5. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/Button/Button.d.ts +5 -1
  8. package/cjs/components/Button/Button.js +17 -5
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.d.ts +1 -0
  11. package/cjs/components/Button/Button.styles.js +38 -28
  12. package/cjs/components/Button/Button.styles.js.map +1 -1
  13. package/cjs/components/Center/Center.d.ts +1 -0
  14. package/cjs/components/Center/Center.js +10 -3
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Checkbox/Checkbox.d.ts +3 -3
  17. package/cjs/components/Checkbox/Checkbox.js +31 -22
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  20. package/cjs/components/ComboBox/ComboBox.js +100 -70
  21. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  22. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  23. package/cjs/components/CurrencyInput/CurrencyInput.js +35 -4
  24. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  26. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  27. package/cjs/components/DateInput/DateInput.js +6 -3
  28. package/cjs/components/DateInput/DateInput.js.map +1 -1
  29. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  30. package/cjs/components/DatePicker/DatePicker.js +17 -7
  31. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  32. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  33. package/cjs/components/Dropdown/Dropdown.js +11 -4
  34. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  36. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  37. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  38. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  39. package/cjs/components/FxInput/FxInput.js +9 -2
  40. package/cjs/components/FxInput/FxInput.js.map +1 -1
  41. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  42. package/cjs/components/Gapped/Gapped.js +22 -14
  43. package/cjs/components/Gapped/Gapped.js.map +1 -1
  44. package/cjs/components/Gapped/Gapped.md +43 -43
  45. package/cjs/components/Group/Group.d.ts +1 -0
  46. package/cjs/components/Group/Group.js +10 -7
  47. package/cjs/components/Group/Group.js.map +1 -1
  48. package/cjs/components/Hint/Hint.d.ts +5 -3
  49. package/cjs/components/Hint/Hint.js +7 -20
  50. package/cjs/components/Hint/Hint.js.map +1 -1
  51. package/cjs/components/Input/Input.d.ts +8 -1
  52. package/cjs/components/Input/Input.js +22 -5
  53. package/cjs/components/Input/Input.js.map +1 -1
  54. package/cjs/components/Input/Input.md +13 -13
  55. package/cjs/components/Kebab/Kebab.d.ts +3 -2
  56. package/cjs/components/Kebab/Kebab.js +8 -5
  57. package/cjs/components/Kebab/Kebab.js.map +1 -1
  58. package/cjs/components/Link/Link.d.ts +1 -0
  59. package/cjs/components/Link/Link.js +11 -3
  60. package/cjs/components/Link/Link.js.map +1 -1
  61. package/cjs/components/Loader/Loader.d.ts +1 -0
  62. package/cjs/components/Loader/Loader.js +11 -7
  63. package/cjs/components/Loader/Loader.js.map +1 -1
  64. package/cjs/components/MenuItem/MenuItem.d.ts +2 -1
  65. package/cjs/components/MenuItem/MenuItem.js +11 -8
  66. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  67. package/cjs/components/Modal/Modal.js +1 -1
  68. package/cjs/components/Modal/Modal.js.map +1 -1
  69. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  70. package/cjs/components/Modal/ModalBody.js +9 -6
  71. package/cjs/components/Modal/ModalBody.js.map +1 -1
  72. package/cjs/components/Paging/Paging.d.ts +2 -2
  73. package/cjs/components/Paging/Paging.js +6 -5
  74. package/cjs/components/Paging/Paging.js.map +1 -1
  75. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  76. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  77. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  78. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  79. package/cjs/components/Radio/Radio.d.ts +5 -10
  80. package/cjs/components/Radio/Radio.js +15 -11
  81. package/cjs/components/Radio/Radio.js.map +1 -1
  82. package/cjs/components/RadioGroup/RadioGroup.d.ts +11 -26
  83. package/cjs/components/RadioGroup/RadioGroup.js +25 -29
  84. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  85. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  86. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  87. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  88. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  89. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  90. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  91. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  92. package/cjs/components/ScrollContainer/ScrollContainer.js +10 -6
  93. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  94. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  95. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  96. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  97. package/cjs/components/Select/Select.d.ts +1 -0
  98. package/cjs/components/Select/Select.js +8 -5
  99. package/cjs/components/Select/Select.js.map +1 -1
  100. package/cjs/components/SidePage/SidePage.d.ts +3 -0
  101. package/cjs/components/SidePage/SidePage.js +20 -2
  102. package/cjs/components/SidePage/SidePage.js.map +1 -1
  103. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  104. package/cjs/components/SidePage/SidePageBody.js +9 -6
  105. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  106. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  107. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  108. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  109. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -2
  110. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  111. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  112. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  113. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  114. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  115. package/cjs/components/Spinner/Spinner.d.ts +9 -0
  116. package/cjs/components/Spinner/Spinner.js +29 -8
  117. package/cjs/components/Spinner/Spinner.js.map +1 -1
  118. package/cjs/components/Spinner/Spinner.md +1 -0
  119. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  120. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  121. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  122. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  123. package/cjs/components/Sticky/Sticky.js +8 -5
  124. package/cjs/components/Sticky/Sticky.js.map +1 -1
  125. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  126. package/cjs/components/Switcher/Switcher.js +6 -3
  127. package/cjs/components/Switcher/Switcher.js.map +1 -1
  128. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  129. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  130. package/cjs/components/Tabs/Indicator.d.ts +1 -0
  131. package/cjs/components/Tabs/Indicator.js +16 -15
  132. package/cjs/components/Tabs/Indicator.js.map +1 -1
  133. package/cjs/components/Tabs/Tab.d.ts +2 -1
  134. package/cjs/components/Tabs/Tab.js +13 -9
  135. package/cjs/components/Tabs/Tab.js.map +1 -1
  136. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  137. package/cjs/components/Tabs/Tabs.js +9 -9
  138. package/cjs/components/Tabs/Tabs.js.map +1 -1
  139. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  140. package/cjs/components/Textarea/Textarea.js +12 -5
  141. package/cjs/components/Textarea/Textarea.js.map +1 -1
  142. package/cjs/components/Toast/Toast.d.ts +3 -0
  143. package/cjs/components/Toast/Toast.js +15 -4
  144. package/cjs/components/Toast/Toast.js.map +1 -1
  145. package/cjs/components/Toast/ToastView.d.ts +1 -0
  146. package/cjs/components/Toast/ToastView.js +8 -5
  147. package/cjs/components/Toast/ToastView.js.map +1 -1
  148. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  149. package/cjs/components/Toggle/Toggle.js +9 -6
  150. package/cjs/components/Toggle/Toggle.js.map +1 -1
  151. package/cjs/components/Token/Token.d.ts +1 -0
  152. package/cjs/components/Token/Token.js +7 -4
  153. package/cjs/components/Token/Token.js.map +1 -1
  154. package/cjs/components/Token/Token.md +112 -112
  155. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  156. package/cjs/components/TokenInput/TokenInput.js +11 -8
  157. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  158. package/cjs/components/Tooltip/Tooltip.d.ts +11 -22
  159. package/cjs/components/Tooltip/Tooltip.js +28 -30
  160. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  161. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  162. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  163. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  164. package/cjs/index.d.ts +1 -1
  165. package/cjs/index.js +2 -2
  166. package/cjs/index.js.map +1 -1
  167. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  168. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  169. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  170. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  171. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  172. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  173. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  174. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  175. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  176. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  177. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  178. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -2
  179. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  180. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  181. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  182. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  183. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  184. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  185. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  186. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  187. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  188. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  189. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  190. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  191. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  192. package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
  193. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  194. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  195. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  196. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  197. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  198. package/cjs/internal/Menu/Menu.d.ts +1 -0
  199. package/cjs/internal/Menu/Menu.js +9 -6
  200. package/cjs/internal/Menu/Menu.js.map +1 -1
  201. package/cjs/internal/Popup/Popup.d.ts +9 -8
  202. package/cjs/internal/Popup/Popup.js +64 -48
  203. package/cjs/internal/Popup/Popup.js.map +1 -1
  204. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  205. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  206. package/cjs/internal/Popup/types.d.ts +1 -0
  207. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js +0 -0
  208. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js.map +0 -0
  209. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -3
  210. package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
  211. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  212. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  213. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  214. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  215. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  216. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  217. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  218. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  219. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  220. package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
  221. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  222. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  223. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -1
  224. package/cjs/internal/ThemePlayground/Playground.js +1 -11
  225. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  226. package/cjs/internal/ThemePlayground/darkTheme.d.ts +0 -15
  227. package/cjs/internal/ThemePlayground/darkTheme.js +1 -25
  228. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  229. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  230. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  231. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  232. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  233. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  234. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  235. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  236. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  237. package/cjs/internal/icons/16px/index.d.ts +17 -19
  238. package/cjs/internal/icons/16px/index.js +105 -84
  239. package/cjs/internal/icons/16px/index.js.map +1 -1
  240. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  241. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  242. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  243. package/cjs/internal/themes/DefaultTheme.d.ts +0 -23
  244. package/cjs/internal/themes/DefaultTheme.js +1 -64
  245. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  246. package/cjs/lib/ModalStack.js +16 -17
  247. package/cjs/lib/ModalStack.js.map +1 -1
  248. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  249. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  250. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  251. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  252. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  253. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  254. package/cjs/lib/getDisplayName.d.ts +3 -0
  255. package/cjs/lib/getDisplayName.js +9 -0
  256. package/cjs/lib/getDisplayName.js.map +1 -0
  257. package/cjs/lib/locale/types.d.ts +0 -2
  258. package/cjs/lib/locale/types.js +0 -2
  259. package/cjs/lib/locale/types.js.map +1 -1
  260. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  261. package/cjs/lib/rootNode/getRootNode.js +27 -0
  262. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  263. package/cjs/lib/rootNode/index.d.ts +2 -0
  264. package/cjs/lib/rootNode/index.js +2 -0
  265. package/cjs/lib/rootNode/index.js.map +1 -0
  266. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  267. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  268. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  269. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  270. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  271. package/cjs/lib/theming/Emotion.js +1 -0
  272. package/cjs/lib/theming/Emotion.js.map +1 -1
  273. package/cjs/lib/theming/useTheme.d.ts +1 -0
  274. package/cjs/lib/theming/useTheme.js +7 -0
  275. package/cjs/lib/theming/useTheme.js.map +1 -0
  276. package/cjs/lib/utils.d.ts +35 -1
  277. package/cjs/lib/utils.js +77 -22
  278. package/cjs/lib/utils.js.map +1 -1
  279. package/cjs/lib/withClassWrapper.d.ts +71 -0
  280. package/cjs/lib/withClassWrapper.js +59 -0
  281. package/cjs/lib/withClassWrapper.js.map +1 -0
  282. package/cjs/typings/html-props.d.ts +123 -0
  283. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  284. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  285. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  286. package/components/Button/Button/Button.js +24 -15
  287. package/components/Button/Button/Button.js.map +1 -1
  288. package/components/Button/Button.d.ts +5 -1
  289. package/components/Button/Button.styles/Button.styles.js +31 -28
  290. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  291. package/components/Button/Button.styles.d.ts +1 -0
  292. package/components/Center/Center/Center.js +14 -9
  293. package/components/Center/Center/Center.js.map +1 -1
  294. package/components/Center/Center.d.ts +1 -0
  295. package/components/Checkbox/Checkbox/Checkbox.js +34 -30
  296. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  297. package/components/Checkbox/Checkbox.d.ts +3 -3
  298. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  299. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  300. package/components/ComboBox/ComboBox.d.ts +2 -0
  301. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +62 -27
  302. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  303. package/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  304. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  305. package/components/DateInput/DateInput/DateInput.js +7 -3
  306. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  307. package/components/DateInput/DateInput.d.ts +1 -0
  308. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  309. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  310. package/components/DatePicker/DatePicker.d.ts +4 -2
  311. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  312. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  313. package/components/Dropdown/Dropdown.d.ts +1 -0
  314. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  315. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  316. package/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  317. package/components/FxInput/FxInput/FxInput.js +13 -9
  318. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  319. package/components/FxInput/FxInput.d.ts +1 -0
  320. package/components/Gapped/Gapped/Gapped.js +24 -21
  321. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  322. package/components/Gapped/Gapped.d.ts +2 -0
  323. package/components/Gapped/Gapped.md +43 -43
  324. package/components/Group/Group/Group.js +22 -9
  325. package/components/Group/Group/Group.js.map +1 -1
  326. package/components/Group/Group.d.ts +1 -0
  327. package/components/Hint/Hint/Hint.js +18 -12
  328. package/components/Hint/Hint/Hint.js.map +1 -1
  329. package/components/Hint/Hint.d.ts +5 -3
  330. package/components/Input/Input/Input.js +29 -14
  331. package/components/Input/Input/Input.js.map +1 -1
  332. package/components/Input/Input.d.ts +8 -1
  333. package/components/Input/Input.md +13 -13
  334. package/components/Kebab/Kebab/Kebab.js +12 -7
  335. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  336. package/components/Kebab/Kebab.d.ts +3 -2
  337. package/components/Link/Link/Link.js +15 -11
  338. package/components/Link/Link/Link.js.map +1 -1
  339. package/components/Link/Link.d.ts +1 -0
  340. package/components/Loader/Loader/Loader.js +19 -13
  341. package/components/Loader/Loader/Loader.js.map +1 -1
  342. package/components/Loader/Loader.d.ts +1 -0
  343. package/components/MenuItem/MenuItem/MenuItem.js +19 -17
  344. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  345. package/components/MenuItem/MenuItem.d.ts +2 -1
  346. package/components/Modal/Modal/Modal.js +1 -1
  347. package/components/Modal/Modal/Modal.js.map +1 -1
  348. package/components/Modal/ModalBody/ModalBody.js +16 -10
  349. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  350. package/components/Modal/ModalBody.d.ts +1 -0
  351. package/components/Paging/Paging/Paging.js +17 -14
  352. package/components/Paging/Paging/Paging.js.map +1 -1
  353. package/components/Paging/Paging.d.ts +2 -2
  354. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  355. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  356. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  357. package/components/PasswordInput/PasswordInput.md +9 -9
  358. package/components/Radio/Radio/Radio.js +21 -20
  359. package/components/Radio/Radio/Radio.js.map +1 -1
  360. package/components/Radio/Radio.d.ts +5 -10
  361. package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
  362. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  363. package/components/RadioGroup/RadioGroup.d.ts +11 -26
  364. package/components/RadioGroup/RadioGroup.md +43 -43
  365. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  366. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  367. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  368. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  369. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  370. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  371. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +15 -9
  372. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  373. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  374. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  375. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  376. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  377. package/components/Select/Select/Select.js +14 -6
  378. package/components/Select/Select/Select.js.map +1 -1
  379. package/components/Select/Select.d.ts +1 -0
  380. package/components/SidePage/SidePage/SidePage.js +27 -3
  381. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  382. package/components/SidePage/SidePage.d.ts +3 -0
  383. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  384. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  385. package/components/SidePage/SidePageBody.d.ts +1 -0
  386. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  387. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  388. package/components/SidePage/SidePageContainer.d.ts +1 -0
  389. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  390. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  391. package/components/SidePage/SidePageFooter.d.ts +1 -2
  392. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  393. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  394. package/components/SidePage/SidePageHeader.d.ts +1 -0
  395. package/components/Spinner/Spinner/Spinner.js +14 -6
  396. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  397. package/components/Spinner/Spinner.d.ts +9 -0
  398. package/components/Spinner/Spinner.md +1 -0
  399. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  400. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  401. package/components/Spinner/Spinner.styles.d.ts +2 -1
  402. package/components/Sticky/Sticky/Sticky.js +13 -8
  403. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  404. package/components/Sticky/Sticky.d.ts +1 -0
  405. package/components/Switcher/Switcher/Switcher.js +11 -6
  406. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  407. package/components/Switcher/Switcher.d.ts +1 -0
  408. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  409. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  410. package/components/Tabs/Indicator/Indicator.js +16 -14
  411. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  412. package/components/Tabs/Indicator.d.ts +1 -0
  413. package/components/Tabs/Tab/Tab.js +31 -34
  414. package/components/Tabs/Tab/Tab.js.map +1 -1
  415. package/components/Tabs/Tab.d.ts +2 -1
  416. package/components/Tabs/Tabs/Tabs.js +20 -20
  417. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  418. package/components/Tabs/Tabs.d.ts +1 -0
  419. package/components/Textarea/Textarea/Textarea.js +21 -17
  420. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  421. package/components/Textarea/Textarea.d.ts +1 -0
  422. package/components/Toast/Toast/Toast.js +29 -14
  423. package/components/Toast/Toast/Toast.js.map +1 -1
  424. package/components/Toast/Toast.d.ts +3 -0
  425. package/components/Toast/ToastView/ToastView.js +10 -5
  426. package/components/Toast/ToastView/ToastView.js.map +1 -1
  427. package/components/Toast/ToastView.d.ts +1 -0
  428. package/components/Toggle/Toggle/Toggle.js +16 -11
  429. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  430. package/components/Toggle/Toggle.d.ts +1 -0
  431. package/components/Token/Token/Token.js +11 -4
  432. package/components/Token/Token/Token.js.map +1 -1
  433. package/components/Token/Token.d.ts +1 -0
  434. package/components/Token/Token.md +112 -112
  435. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  436. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  437. package/components/TokenInput/TokenInput.d.ts +1 -0
  438. package/components/Tooltip/Tooltip/Tooltip.js +26 -17
  439. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  440. package/components/Tooltip/Tooltip.d.ts +11 -22
  441. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  442. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  443. package/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  444. package/index.d.ts +1 -1
  445. package/index.js +2 -2
  446. package/index.js.map +1 -1
  447. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  448. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  449. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  450. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  451. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  452. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  453. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  454. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  455. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  456. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  457. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  458. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  459. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  460. package/internal/DateSelect/DateSelect.d.ts +2 -2
  461. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  462. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  463. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  464. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  465. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  466. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  467. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  468. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  469. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  470. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  471. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  472. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  473. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  474. package/internal/InternalMenu/InternalMenu.d.ts +2 -3
  475. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  476. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  477. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  478. package/internal/Menu/Menu/Menu.js +11 -8
  479. package/internal/Menu/Menu/Menu.js.map +1 -1
  480. package/internal/Menu/Menu.d.ts +1 -0
  481. package/internal/Popup/Popup/Popup.js +85 -68
  482. package/internal/Popup/Popup/Popup.js.map +1 -1
  483. package/internal/Popup/Popup.d.ts +9 -8
  484. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  485. package/internal/Popup/PopupHelper.d.ts +2 -2
  486. package/{components/FileUploader/locale → internal/Popup}/types/package.json +1 -1
  487. package/{components/FileUploader/locale → internal/Popup}/types/types.js +0 -0
  488. package/{components/FileUploader/locale → internal/Popup}/types/types.js.map +0 -0
  489. package/internal/Popup/types.d.ts +1 -0
  490. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
  491. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  492. package/internal/PopupMenu/PopupMenu.d.ts +4 -3
  493. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  494. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  495. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  496. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  497. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  498. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  499. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  500. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  501. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  502. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  503. package/internal/RenderLayer/RenderLayer.d.ts +3 -1
  504. package/internal/ThemePlayground/Playground/Playground.js +1 -11
  505. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  506. package/internal/ThemePlayground/Playground.d.ts +0 -1
  507. package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -26
  508. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  509. package/internal/ThemePlayground/darkTheme.d.ts +0 -15
  510. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  511. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  512. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  513. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  514. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  515. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  516. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  517. package/internal/ZIndex/ZIndex.d.ts +2 -0
  518. package/internal/icons/16px/index/index.js +83 -78
  519. package/internal/icons/16px/index/index.js.map +1 -1
  520. package/internal/icons/16px/index.d.ts +17 -19
  521. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  522. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  523. package/internal/icons/SpinnerIcon.d.ts +4 -1
  524. package/internal/themes/DefaultTheme/DefaultTheme.js +0 -67
  525. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  526. package/internal/themes/DefaultTheme.d.ts +0 -23
  527. package/lib/ModalStack/ModalStack.js +9 -13
  528. package/lib/ModalStack/ModalStack.js.map +1 -1
  529. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  530. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  531. package/lib/callChildRef/callChildRef/package.json +6 -0
  532. package/lib/callChildRef/callChildRef.d.ts +3 -0
  533. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  534. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  535. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  536. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  537. package/lib/getDisplayName/getDisplayName.js +3 -0
  538. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  539. package/lib/getDisplayName/package.json +6 -0
  540. package/lib/getDisplayName.d.ts +3 -0
  541. package/lib/locale/types/types.js.map +1 -1
  542. package/lib/locale/types.d.ts +0 -2
  543. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  544. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  545. package/lib/rootNode/getRootNode/package.json +6 -0
  546. package/lib/rootNode/getRootNode.d.ts +3 -0
  547. package/lib/rootNode/index/index.js +2 -0
  548. package/lib/rootNode/index/index.js.map +1 -0
  549. package/{components/FileUploader → lib/rootNode}/index/package.json +1 -1
  550. package/lib/rootNode/index.d.ts +2 -0
  551. package/{components/FileUploader → lib/rootNode}/package.json +1 -1
  552. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  553. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  554. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  555. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  556. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  557. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  558. package/lib/theming/Emotion/Emotion.js +1 -0
  559. package/lib/theming/Emotion/Emotion.js.map +1 -1
  560. package/lib/theming/useTheme/package.json +6 -0
  561. package/lib/theming/useTheme/useTheme.js +5 -0
  562. package/lib/theming/useTheme/useTheme.js.map +1 -0
  563. package/lib/theming/useTheme.d.ts +1 -0
  564. package/lib/utils/utils.js +77 -19
  565. package/lib/utils/utils.js.map +1 -1
  566. package/lib/utils.d.ts +35 -1
  567. package/lib/withClassWrapper/package.json +6 -0
  568. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  569. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  570. package/lib/withClassWrapper.d.ts +71 -0
  571. package/package.json +13 -5
  572. package/typings/html-props.d.ts +123 -0
  573. package/cjs/components/FileUploader/FileUploader.d.ts +0 -31
  574. package/cjs/components/FileUploader/FileUploader.js +0 -270
  575. package/cjs/components/FileUploader/FileUploader.js.map +0 -1
  576. package/cjs/components/FileUploader/FileUploader.md +0 -67
  577. package/cjs/components/FileUploader/FileUploader.styles.d.ts +0 -19
  578. package/cjs/components/FileUploader/FileUploader.styles.js +0 -159
  579. package/cjs/components/FileUploader/FileUploader.styles.js.map +0 -1
  580. package/cjs/components/FileUploader/index.d.ts +0 -4
  581. package/cjs/components/FileUploader/index.js +0 -4
  582. package/cjs/components/FileUploader/index.js.map +0 -1
  583. package/cjs/components/FileUploader/locale/index.d.ts +0 -4
  584. package/cjs/components/FileUploader/locale/index.js +0 -11
  585. package/cjs/components/FileUploader/locale/index.js.map +0 -1
  586. package/cjs/components/FileUploader/locale/locales/en.d.ts +0 -2
  587. package/cjs/components/FileUploader/locale/locales/en.js +0 -7
  588. package/cjs/components/FileUploader/locale/locales/en.js.map +0 -1
  589. package/cjs/components/FileUploader/locale/locales/ru.d.ts +0 -2
  590. package/cjs/components/FileUploader/locale/locales/ru.js +0 -7
  591. package/cjs/components/FileUploader/locale/locales/ru.js.map +0 -1
  592. package/cjs/components/FileUploader/locale/types.d.ts +0 -6
  593. package/cjs/hooks/useDrop.d.ts +0 -11
  594. package/cjs/hooks/useDrop.js +0 -75
  595. package/cjs/hooks/useDrop.js.map +0 -1
  596. package/cjs/hooks/useMemoObject.d.ts +0 -1
  597. package/cjs/hooks/useMemoObject.js +0 -5
  598. package/cjs/hooks/useMemoObject.js.map +0 -1
  599. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  600. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +0 -15
  601. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +0 -1
  602. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  603. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +0 -107
  604. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +0 -1
  605. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  606. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +0 -187
  607. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +0 -1
  608. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  609. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +0 -66
  610. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +0 -1
  611. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  612. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +0 -24
  613. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  614. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  615. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +0 -17
  616. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  617. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  618. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +0 -16
  619. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +0 -1
  620. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  621. package/cjs/internal/FileUploaderControl/fileUtils.js +0 -55
  622. package/cjs/internal/FileUploaderControl/fileUtils.js.map +0 -1
  623. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  624. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +0 -4
  625. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +0 -1
  626. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  627. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +0 -51
  628. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +0 -1
  629. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  630. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +0 -18
  631. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +0 -1
  632. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  633. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  634. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  635. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  636. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +0 -34
  637. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +0 -1
  638. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  639. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -23
  640. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  641. package/cjs/lib/guidUtils.d.ts +0 -1
  642. package/cjs/lib/guidUtils.js +0 -5
  643. package/cjs/lib/guidUtils.js.map +0 -1
  644. package/cjs/lib/locale/useLocaleForControl.d.ts +0 -3
  645. package/cjs/lib/locale/useLocaleForControl.js +0 -14
  646. package/cjs/lib/locale/useLocaleForControl.js.map +0 -1
  647. package/cjs/lib/stringUtils.d.ts +0 -1
  648. package/cjs/lib/stringUtils.js +0 -13
  649. package/cjs/lib/stringUtils.js.map +0 -1
  650. package/components/FileUploader/FileUploader/FileUploader.js +0 -277
  651. package/components/FileUploader/FileUploader/FileUploader.js.map +0 -1
  652. package/components/FileUploader/FileUploader/package.json +0 -6
  653. package/components/FileUploader/FileUploader.d.ts +0 -31
  654. package/components/FileUploader/FileUploader.md +0 -67
  655. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +0 -56
  656. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +0 -1
  657. package/components/FileUploader/FileUploader.styles/package.json +0 -6
  658. package/components/FileUploader/FileUploader.styles.d.ts +0 -19
  659. package/components/FileUploader/index/index.js +0 -3
  660. package/components/FileUploader/index/index.js.map +0 -1
  661. package/components/FileUploader/index.d.ts +0 -4
  662. package/components/FileUploader/locale/index/index.js +0 -8
  663. package/components/FileUploader/locale/index/index.js.map +0 -1
  664. package/components/FileUploader/locale/index/package.json +0 -6
  665. package/components/FileUploader/locale/index.d.ts +0 -4
  666. package/components/FileUploader/locale/locales/en/en.js +0 -6
  667. package/components/FileUploader/locale/locales/en/en.js.map +0 -1
  668. package/components/FileUploader/locale/locales/en/package.json +0 -6
  669. package/components/FileUploader/locale/locales/en.d.ts +0 -2
  670. package/components/FileUploader/locale/locales/ru/package.json +0 -6
  671. package/components/FileUploader/locale/locales/ru/ru.js +0 -6
  672. package/components/FileUploader/locale/locales/ru/ru.js.map +0 -1
  673. package/components/FileUploader/locale/locales/ru.d.ts +0 -2
  674. package/components/FileUploader/locale/package.json +0 -6
  675. package/components/FileUploader/locale/types.d.ts +0 -6
  676. package/hooks/useDrop/package.json +0 -6
  677. package/hooks/useDrop/useDrop.js +0 -57
  678. package/hooks/useDrop/useDrop.js.map +0 -1
  679. package/hooks/useDrop.d.ts +0 -11
  680. package/hooks/useMemoObject/package.json +0 -6
  681. package/hooks/useMemoObject/useMemoObject.js +0 -6
  682. package/hooks/useMemoObject/useMemoObject.js.map +0 -1
  683. package/hooks/useMemoObject.d.ts +0 -1
  684. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +0 -2
  685. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +0 -1
  686. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +0 -6
  687. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  688. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +0 -79
  689. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +0 -1
  690. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +0 -6
  691. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  692. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +0 -176
  693. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +0 -1
  694. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +0 -6
  695. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  696. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +0 -32
  697. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +0 -1
  698. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +0 -6
  699. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  700. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +0 -23
  701. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  702. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +0 -6
  703. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  704. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +0 -11
  705. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +0 -1
  706. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +0 -6
  707. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  708. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +0 -18
  709. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +0 -1
  710. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +0 -6
  711. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  712. package/internal/FileUploaderControl/fileUtils/fileUtils.js +0 -85
  713. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +0 -1
  714. package/internal/FileUploaderControl/fileUtils/package.json +0 -6
  715. package/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  716. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +0 -6
  717. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +0 -5
  718. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +0 -1
  719. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  720. package/internal/FileUploaderControl/hooks/useUpload/package.json +0 -6
  721. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +0 -56
  722. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +0 -1
  723. package/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  724. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +0 -6
  725. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +0 -16
  726. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +0 -1
  727. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  728. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  729. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  730. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  731. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  732. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +0 -49
  733. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +0 -1
  734. package/internal/TextWidthHelper/TextWidthHelper/package.json +0 -6
  735. package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  736. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +0 -14
  737. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +0 -1
  738. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +0 -6
  739. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  740. package/lib/guidUtils/guidUtils.js +0 -4
  741. package/lib/guidUtils/guidUtils.js.map +0 -1
  742. package/lib/guidUtils/package.json +0 -6
  743. package/lib/guidUtils.d.ts +0 -1
  744. package/lib/locale/useLocaleForControl/package.json +0 -6
  745. package/lib/locale/useLocaleForControl/useLocaleForControl.js +0 -12
  746. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +0 -1
  747. package/lib/locale/useLocaleForControl.d.ts +0 -3
  748. package/lib/stringUtils/package.json +0 -6
  749. package/lib/stringUtils/stringUtils.js +0 -12
  750. package/lib/stringUtils/stringUtils.js.map +0 -1
  751. package/lib/stringUtils.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","DateSelect","state","botCapped","current","height","opened","pos","top","topCapped","nodeTop","Infinity","theme","root","itemsContainer","listener","timeout","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","clearTimeout","setTimeout","getBoundingClientRect","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","e","value","onValueChange","handleKey","handleUp","handleDown","UNSAFE_componentWillReceiveProps","componentDidMount","addListener","componentWillUnmount","remove","render","renderMain","width","rootProps","className","Boolean","style","ref","caption","getItem","arrow","arrowDisabled","renderMenu","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItem","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","onClick","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","menu","menuUp","itemsHolder","menuDown","type","months","minPos","getMinPos","maxPos","getMaxPos","Component","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func","defaultProps","minMonth","maxMonth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateSelect extends React.Component<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps = {\n type: 'year',\n minMonth: 0,\n maxMonth: 11,\n width: 'auto',\n };\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public UNSAFE_componentWillReceiveProps() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { width, disabled } = this.props;\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n };\n return (\n <span {...rootProps}>\n <div data-tid=\"DateSelect__caption\" className={styles.caption()} onClick={this.open}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu()}\n </span>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: root.getBoundingClientRect().top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (this.props.maxValue != null && this.props.minValue != null) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n if (this.props.minValue != null) {\n return value < this.props.minValue;\n }\n if (this.props.maxValue != null) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <div\n data-tid=\"DateSelect__menuItem\"\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </div>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <div>\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>\n <ArrowChevronUpIcon />\n </span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>\n <ArrowChevronDownIcon />\n </span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </div>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return (e: React.MouseEvent<HTMLElement>) => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.props.type === 'month') {\n return this.locale.months[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.props.type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n if (minPos >= pos) {\n pos = minPos;\n }\n if (maxPos <= pos) {\n pos = maxPos;\n }\n const topCapped = pos <= minPos;\n const botCapped = pos >= maxPos;\n\n this.setState({ pos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n if (this.props.type === 'month') {\n return -this.props.value * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n if (this.props.type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
1
+ {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","DateSelect","state","botCapped","current","height","opened","pos","top","topCapped","nodeTop","Infinity","theme","root","itemsContainer","listener","timeout","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","clearTimeout","setTimeout","getBoundingClientRect","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","e","value","onValueChange","handleKey","handleUp","handleDown","componentDidUpdate","componentDidMount","addListener","componentWillUnmount","remove","render","renderMain","width","rootProps","className","Boolean","style","ref","caption","getItem","arrow","arrowDisabled","renderMenu","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItem","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","onClick","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","menu","menuUp","itemsHolder","menuDown","type","months","minPos","getMinPos","maxPos","getMaxPos","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func","defaultProps","minMonth","maxMonth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps = {\n type: 'year',\n minMonth: 0,\n maxMonth: 11,\n width: 'auto',\n };\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { width, disabled } = this.props;\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n };\n return (\n <span {...rootProps}>\n <div data-tid=\"DateSelect__caption\" className={styles.caption()} onClick={this.open}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu()}\n </span>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: root.getBoundingClientRect().top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (this.props.maxValue != null && this.props.minValue != null) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n if (this.props.minValue != null) {\n return value < this.props.minValue;\n }\n if (this.props.maxValue != null) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <div\n data-tid=\"DateSelect__menuItem\"\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </div>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <div>\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>\n <ArrowChevronUpIcon />\n </span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>\n <ArrowChevronDownIcon />\n </span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </div>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return (e: React.MouseEvent<HTMLElement>) => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.props.type === 'month') {\n return this.locale.months[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.props.type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n if (minPos >= pos) {\n pos = minPos;\n }\n if (maxPos <= pos) {\n pos = maxPos;\n }\n const topCapped = pos <= minPos;\n const botCapped = pos >= maxPos;\n\n this.setState({ pos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n if (this.props.type === 'month') {\n return -this.props.value * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n if (this.props.type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
@@ -20,7 +20,7 @@ export interface DateSelectState {
20
20
  topCapped: boolean;
21
21
  nodeTop: number;
22
22
  }
23
- export declare class DateSelect extends React.Component<DateSelectProps, DateSelectState> {
23
+ export declare class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {
24
24
  static __KONTUR_REACT_UI__: string;
25
25
  static propTypes: {
26
26
  disabled: PropTypes.Requireable<boolean>;
@@ -57,7 +57,7 @@ export declare class DateSelect extends React.Component<DateSelectProps, DateSel
57
57
  private setPositionRepeatTimer;
58
58
  private yearStep;
59
59
  private touchStartY;
60
- UNSAFE_componentWillReceiveProps(): void;
60
+ componentDidUpdate(): void;
61
61
  componentDidMount(): void;
62
62
  componentWillUnmount(): void;
63
63
  /**
@@ -1,13 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
  import React from 'react';
4
- import { findDOMNode } from 'react-dom';
5
4
  import * as LayoutEvents from "../../../lib/LayoutEvents";
6
5
  import { RenderContainer } from "../../RenderContainer";
7
6
  import { ZIndex } from "../../ZIndex";
8
7
  import { createPropsGetter } from "../../../lib/createPropsGetter";
9
- export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
10
- _inheritsLoose(DropdownContainer, _React$Component);
8
+ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
9
+ _inheritsLoose(DropdownContainer, _React$PureComponent);
11
10
 
12
11
  function DropdownContainer() {
13
12
  var _this;
@@ -16,18 +15,18 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
16
15
  args[_key] = arguments[_key];
17
16
  }
18
17
 
19
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
18
+ _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
20
19
  _this.state = {
21
20
  position: null,
22
21
  minWidth: 0,
23
22
  isDocumentElementRoot: true
24
23
  };
25
24
  _this.getProps = createPropsGetter(DropdownContainer.defaultProps);
26
- _this.dom = null;
25
+ _this.dom = void 0;
27
26
  _this.layoutSub = void 0;
28
27
 
29
- _this.ref = function (e) {
30
- _this.dom = e && findDOMNode(e);
28
+ _this.ZIndexRef = function (element) {
29
+ _this.dom = element;
31
30
  };
32
31
 
33
32
  _this.isElement = function (node) {
@@ -39,7 +38,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
39
38
 
40
39
  var dom = _this.dom;
41
40
 
42
- if (_this.isElement(target) && dom) {
41
+ if (target && _this.isElement(target) && dom) {
43
42
  var targetRect = target.getBoundingClientRect();
44
43
  var _document = document,
45
44
  body = _document.body,
@@ -106,7 +105,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
106
105
  _this.getMinWidth = function () {
107
106
  var target = _this.props.getParent();
108
107
 
109
- if (!_this.isElement(target)) {
108
+ if (!target || !_this.isElement(target)) {
110
109
  return 0;
111
110
  }
112
111
 
@@ -126,7 +125,7 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
126
125
  left = position.left,
127
126
  right = position.right;
128
127
 
129
- if (_this.isElement(target)) {
128
+ if (target && _this.isElement(target)) {
130
129
  var targetHeight = target.getBoundingClientRect().height;
131
130
  return {
132
131
  top: top !== null ? targetHeight + offsetY : null,
@@ -152,9 +151,6 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
152
151
  _proto.componentDidMount = function componentDidMount() {
153
152
  this.position();
154
153
  this.layoutSub = LayoutEvents.addListener(this.position);
155
- };
156
-
157
- _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {
158
154
  var _document2 = document,
159
155
  body = _document2.body,
160
156
  docEl = _document2.documentElement;
@@ -196,14 +192,14 @@ export var DropdownContainer = /*#__PURE__*/function (_React$Component) {
196
192
 
197
193
  var content = /*#__PURE__*/React.createElement(ZIndex, {
198
194
  priority: 'DropdownContainer',
199
- ref: this.ref,
195
+ wrapperRef: this.ZIndexRef,
200
196
  style: style
201
197
  }, this.props.children);
202
198
  return this.props.disablePortal ? content : /*#__PURE__*/React.createElement(RenderContainer, null, content);
203
199
  };
204
200
 
205
201
  return DropdownContainer;
206
- }(React.Component);
202
+ }(React.PureComponent);
207
203
  DropdownContainer.__KONTUR_REACT_UI__ = 'DropdownContainer';
208
204
  DropdownContainer.defaultProps = {
209
205
  align: 'left',
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","findDOMNode","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","dom","layoutSub","ref","e","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","addListener","UNSAFE_componentWillMount","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","content","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\n\ntype DOMNode = Element | Text | null;\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps {\n align?: 'left' | 'right';\n getParent: () => DOMNode;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.Component<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n public state: DropdownContainerState = {\n position: null,\n minWidth: 0,\n isDocumentElementRoot: true,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: DOMNode = null;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public UNSAFE_componentWillMount() {\n const { body, documentElement: docEl } = document;\n const htmlPosition = getComputedStyle(docEl).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n };\n }\n\n const content = (\n <ZIndex priority={'DropdownContainer'} ref={this.ref} style={style}>\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ref = (e: ZIndex | null) => {\n this.dom = e && findDOMNode(e);\n };\n\n private isElement = (node: DOMNode): node is Element => {\n return node instanceof Element;\n };\n\n private position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (this.isElement(target) && dom) {\n const targetRect = target.getBoundingClientRect();\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.props.align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const { offsetY = 0 } = this.props;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n\n top = null;\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.props.disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","dom","layoutSub","ZIndexRef","element","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","addListener","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","content","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps {\n align?: 'left' | 'right';\n getParent: () => Nullable<HTMLElement>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n public state: DropdownContainerState = {\n position: null,\n minWidth: 0,\n isDocumentElementRoot: true,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n\n const { body, documentElement: docEl } = document;\n const htmlPosition = getComputedStyle(docEl).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n };\n }\n\n const content = (\n <ZIndex priority={'DropdownContainer'} wrapperRef={this.ZIndexRef} style={style}>\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = target.getBoundingClientRect();\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.props.align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const { offsetY = 0 } = this.props;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n\n top = null;\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.props.disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!target || !this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { Nullable } from '../../typings/utility-types';
3
- declare type DOMNode = Element | Text | null;
4
3
  export interface DropdownContainerPosition {
5
4
  top: Nullable<number>;
6
5
  bottom: Nullable<number>;
@@ -9,7 +8,7 @@ export interface DropdownContainerPosition {
9
8
  }
10
9
  export interface DropdownContainerProps {
11
10
  align?: 'left' | 'right';
12
- getParent: () => DOMNode;
11
+ getParent: () => Nullable<HTMLElement>;
13
12
  children?: React.ReactNode;
14
13
  disablePortal?: boolean;
15
14
  offsetY?: number;
@@ -20,7 +19,7 @@ export interface DropdownContainerState {
20
19
  minWidth: number;
21
20
  isDocumentElementRoot?: boolean;
22
21
  }
23
- export declare class DropdownContainer extends React.Component<DropdownContainerProps, DropdownContainerState> {
22
+ export declare class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {
24
23
  static __KONTUR_REACT_UI__: string;
25
24
  static defaultProps: {
26
25
  align: string;
@@ -33,14 +32,12 @@ export declare class DropdownContainer extends React.Component<DropdownContainer
33
32
  private dom;
34
33
  private layoutSub;
35
34
  componentDidMount(): void;
36
- UNSAFE_componentWillMount(): void;
37
35
  componentWillUnmount(): void;
38
36
  render(): JSX.Element;
39
- private ref;
37
+ private ZIndexRef;
40
38
  private isElement;
41
- private position;
39
+ position: () => void;
42
40
  private getHeight;
43
41
  private getMinWidth;
44
42
  private convertToRelativePosition;
45
43
  }
46
- export {};
@@ -1,10 +1,14 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
2
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
+
5
+ var _class, _class2, _temp;
6
+
3
7
  import React from 'react';
4
- import { findDOMNode } from 'react-dom';
5
8
  import { CommonWrapper } from "../../../internal/CommonWrapper";
6
9
  import { listen as listenFocusOutside, containsTargetOrRenderContainer } from "../../../lib/listenFocusOutside";
7
- export var FocusTrap = /*#__PURE__*/function (_React$PureComponent) {
10
+ import { getRootNode, rootNode } from "../../../lib/rootNode";
11
+ export var FocusTrap = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
8
12
  _inheritsLoose(FocusTrap, _React$PureComponent);
9
13
 
10
14
  function FocusTrap() {
@@ -15,6 +19,7 @@ export var FocusTrap = /*#__PURE__*/function (_React$PureComponent) {
15
19
  }
16
20
 
17
21
  _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
22
+ _this.setRootNode = void 0;
18
23
  _this.focusOutsideListenerToken = null;
19
24
 
20
25
  _this.onClickOutside = function (e) {
@@ -26,17 +31,19 @@ export var FocusTrap = /*#__PURE__*/function (_React$PureComponent) {
26
31
  };
27
32
 
28
33
  _this.attachListeners = function () {
29
- if (!_this.focusOutsideListenerToken) {
30
- _this.focusOutsideListenerToken = listenFocusOutside([findDOMNode(_assertThisInitialized(_this))], _this.onClickOutside);
34
+ var rootNode = getRootNode(_assertThisInitialized(_this));
35
+
36
+ if (!_this.focusOutsideListenerToken && rootNode) {
37
+ _this.focusOutsideListenerToken = listenFocusOutside([rootNode], _this.onClickOutside);
31
38
  document.addEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', _this.handleNativeDocClick);
32
39
  }
33
40
  };
34
41
 
35
42
  _this.handleNativeDocClick = function (event) {
36
43
  var target = event.target || event.srcElement;
37
- var node = findDOMNode(_assertThisInitialized(_this));
44
+ var node = getRootNode(_assertThisInitialized(_this));
38
45
 
39
- if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {
46
+ if (node && target instanceof Element && containsTargetOrRenderContainer(target)(node)) {
40
47
  return;
41
48
  }
42
49
 
@@ -60,7 +67,9 @@ export var FocusTrap = /*#__PURE__*/function (_React$PureComponent) {
60
67
  var _this$props = this.props,
61
68
  children = _this$props.children,
62
69
  onBlur = _this$props.onBlur;
63
- return /*#__PURE__*/React.createElement(CommonWrapper, this.props, /*#__PURE__*/React.cloneElement(React.Children.only(children), {
70
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
71
+ rootNodeRef: this.setRootNode
72
+ }, this.props), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
64
73
  onFocus: function onFocus() {
65
74
  if (onBlur) {
66
75
  _this2.attachListeners();
@@ -84,5 +93,4 @@ export var FocusTrap = /*#__PURE__*/function (_React$PureComponent) {
84
93
  };
85
94
 
86
95
  return FocusTrap;
87
- }(React.PureComponent);
88
- FocusTrap.__KONTUR_REACT_UI__ = 'FocusTrap';
96
+ }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'FocusTrap', _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["FocusTrap.tsx"],"names":["React","findDOMNode","CommonWrapper","listen","listenFocusOutside","containsTargetOrRenderContainer","FocusTrap","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","document","addEventListener","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","componentWillUnmount","render","children","cloneElement","Children","only","onFocus","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__"],"mappings":"4JAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,WAAT,QAA4B,WAA5B;;AAEA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,MAAM,IAAIC,kBAAnB,EAAuCC,+BAAvC,QAA8E,8BAA9E;;;;;;;AAOA,WAAaC,SAAb;;;AAGUC,IAAAA,yBAHV;;AAKa,QALb;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BUC,IAAAA,cA/BV,GA+B2B,UAACC,CAAD,EAAc;AACrC,UAAI,MAAKC,KAAL,CAAWC,MAAf,EAAuB;AACrB,cAAKD,KAAL,CAAWC,MAAX,CAAkBF,CAAlB;AACD;AACD,YAAKG,eAAL;AACD,KApCH;;AAsCUC,IAAAA,eAtCV,GAsC4B,YAAM;AAC9B,UAAI,CAAC,MAAKN,yBAAV,EAAqC;AACnC,cAAKA,yBAAL,GAAiCH,kBAAkB,CAAC,CAACH,WAAW,+BAAZ,CAAD,EAAqC,MAAKO,cAA1C,CAAnD;;AAEAM,QAAAA,QAAQ,CAACC,gBAAT;AACE,0BAAkBD,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D;AAEE,cAAKC,oBAFP;;AAID;AACF,KA/CH;;;;;;;;;;;;;;AA6DUA,IAAAA,oBA7DV,GA6DiC,UAACC,KAAD,EAAkB;AAC/C,UAAMC,MAAM,GAAGD,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAArC;AACA,UAAMC,IAAI,GAAGpB,WAAW,+BAAxB;;AAEA,UAAIkB,MAAM,YAAYG,OAAlB,IAA6BjB,+BAA+B,CAACc,MAAD,CAA/B,CAAwCE,IAAxC,CAAjC,EAAgF;AAC9E;AACD;;AAED,YAAKb,cAAL,CAAoBU,KAApB;AACD,KAtEH,uDAOSK,oBAPT,GAOE,gCAA8B,CAC5B,IAAI,KAAKhB,yBAAT,EAAoC,CAClC,KAAKK,eAAL,GACD,CACF,CAXH,QAaSY,MAbT,GAaE,kBAAgB,qCACe,KAAKd,KADpB,CACNe,QADM,eACNA,QADM,CACId,MADJ,eACIA,MADJ,CAEd,oBACE,oBAAC,aAAD,EAAmB,KAAKD,KAAxB,eACGV,KAAK,CAAC0B,YAAN,CAAmB1B,KAAK,CAAC2B,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAnB,EAAkD,EACjDI,OAAO,EAAE,mBAAoB,CAC3B,IAAIlB,MAAJ,EAAY,CACV,MAAI,CAACE,eAAL,GACD,CACD,IAAIY,QAAQ,CAACf,KAAT,IAAkBe,QAAQ,CAACf,KAAT,CAAemB,OAArC,EAA8C,qBAC5C,mBAAAJ,QAAQ,CAACf,KAAT,EAAemB,OAAf,mCACD,CACF,CARgD,EAAlD,CADH,CADF,CAcD,CA7BH,QAiDUjB,eAjDV,GAiDE,2BAA0B,CACxB,IAAI,KAAKL,yBAAT,EAAoC,CAClC,KAAKA,yBAAL,CAA+BuB,MAA/B,GACA,KAAKvB,yBAAL,GAAiC,IAAjC,CAEAO,QAAQ,CAACiB,mBAAT,CACE,kBAAkBjB,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D,EAEE,KAAKC,oBAFP,EAID,CACF,CA3DH,oBAA+BjB,KAAK,CAACgC,aAArC,EAAa1B,S,CACG2B,mB,GAAsB,W","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n if (!this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken = listenFocusOutside([findDOMNode(this) as HTMLElement], this.onClickOutside);\n\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = findDOMNode(this) as HTMLElement;\n\n if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"]}
1
+ {"version":3,"sources":["FocusTrap.tsx"],"names":["React","CommonWrapper","listen","listenFocusOutside","containsTargetOrRenderContainer","getRootNode","rootNode","FocusTrap","setRootNode","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","document","addEventListener","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","componentWillUnmount","render","children","cloneElement","Children","only","onFocus","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__"],"mappings":"iPAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,MAAM,IAAIC,kBAAnB,EAAuCC,+BAAvC,QAA8E,8BAA9E;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;;;;;;;;AAQA,WAAaC,SAAb,GADCD,QACD;;AAEUE,IAAAA,WAFV;;AAIUC,IAAAA,yBAJV;;AAMa,QANb;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCUC,IAAAA,cAhCV,GAgC2B,UAACC,CAAD,EAAc;AACrC,UAAI,MAAKC,KAAL,CAAWC,MAAf,EAAuB;AACrB,cAAKD,KAAL,CAAWC,MAAX,CAAkBF,CAAlB;AACD;AACD,YAAKG,eAAL;AACD,KArCH;;AAuCUC,IAAAA,eAvCV,GAuC4B,YAAM;AAC9B,UAAMT,QAAQ,GAAGD,WAAW,+BAA5B;AACA,UAAI,CAAC,MAAKI,yBAAN,IAAmCH,QAAvC,EAAiD;AAC/C,cAAKG,yBAAL,GAAiCN,kBAAkB,CAAC,CAACG,QAAD,CAAD,EAAa,MAAKI,cAAlB,CAAnD;;AAEAM,QAAAA,QAAQ,CAACC,gBAAT;AACE,0BAAkBD,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D;AAEE,cAAKC,oBAFP;;AAID;AACF,KAjDH;;;;;;;;;;;;;;AA+DUA,IAAAA,oBA/DV,GA+DiC,UAACC,KAAD,EAAkB;AAC/C,UAAMC,MAAM,GAAGD,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAArC;AACA,UAAMC,IAAI,GAAGlB,WAAW,+BAAxB;;AAEA,UAAIkB,IAAI,IAAIF,MAAM,YAAYG,OAA1B,IAAqCpB,+BAA+B,CAACiB,MAAD,CAA/B,CAAwCE,IAAxC,CAAzC,EAAwF;AACtF;AACD;;AAED,YAAKb,cAAL,CAAoBU,KAApB;AACD,KAxEH,uDAQSK,oBART,GAQE,gCAA8B,CAC5B,IAAI,KAAKhB,yBAAT,EAAoC,CAClC,KAAKK,eAAL,GACD,CACF,CAZH,QAcSY,MAdT,GAcE,kBAAgB,qCACe,KAAKd,KADpB,CACNe,QADM,eACNA,QADM,CACId,MADJ,eACIA,MADJ,CAEd,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKL,WAAjC,IAAkD,KAAKI,KAAvD,gBACGZ,KAAK,CAAC4B,YAAN,CAAmB5B,KAAK,CAAC6B,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAnB,EAAkD,EACjDI,OAAO,EAAE,mBAAoB,CAC3B,IAAIlB,MAAJ,EAAY,CACV,MAAI,CAACE,eAAL,GACD,CACD,IAAIY,QAAQ,CAACf,KAAT,IAAkBe,QAAQ,CAACf,KAAT,CAAemB,OAArC,EAA8C,qBAC5C,mBAAAJ,QAAQ,CAACf,KAAT,EAAemB,OAAf,mCACD,CACF,CARgD,EAAlD,CADH,CADF,CAcD,CA9BH,QAmDUjB,eAnDV,GAmDE,2BAA0B,CACxB,IAAI,KAAKL,yBAAT,EAAoC,CAClC,KAAKA,yBAAL,CAA+BuB,MAA/B,GACA,KAAKvB,yBAAL,GAAiC,IAAjC,CAEAO,QAAQ,CAACiB,mBAAT,CACE,kBAAkBjB,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D,EAEE,KAAKC,oBAFP,EAID,CACF,CA7DH,oBAA+BnB,KAAK,CAACkC,aAArC,WACgBC,mBADhB,GACsC,WADtC","sourcesContent":["import React from 'react';\n\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\n@rootNode\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n private setRootNode!: TSetRootNode;\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n const rootNode = getRootNode(this);\n if (!this.focusOutsideListenerToken && rootNode) {\n this.focusOutsideListenerToken = listenFocusOutside([rootNode], this.onClickOutside);\n\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this);\n\n if (node && target instanceof Element && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"]}
@@ -6,6 +6,7 @@ export interface FocusTrapProps extends CommonProps {
6
6
  }
7
7
  export declare class FocusTrap extends React.PureComponent<FocusTrapProps> {
8
8
  static __KONTUR_REACT_UI__: string;
9
+ private setRootNode;
9
10
  private focusOutsideListenerToken;
10
11
  componentWillUnmount(): void;
11
12
  render(): JSX.Element;
@@ -1,6 +1,11 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
+
4
+ var _class, _class2, _temp;
5
+
2
6
  import React from 'react';
3
- import { findDOMNode } from 'react-dom';
7
+ import { getRootNode, rootNode } from "../../../lib/rootNode";
8
+ import { CommonWrapper } from "../../CommonWrapper";
4
9
  export var IgnoreLayerClick = /*#__PURE__*/function (_React$Component) {
5
10
  _inheritsLoose(IgnoreLayerClick, _React$Component);
6
11
 
@@ -18,7 +23,7 @@ export var IgnoreLayerClick = /*#__PURE__*/function (_React$Component) {
18
23
  return IgnoreLayerClick;
19
24
  }(React.Component); // NOTE Используется только в команде Контур.Бухгалтерия
20
25
 
21
- var IgnoreLayerClickWrapper = /*#__PURE__*/function (_React$Component2) {
26
+ var IgnoreLayerClickWrapper = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component2) {
22
27
  _inheritsLoose(IgnoreLayerClickWrapper, _React$Component2);
23
28
 
24
29
  function IgnoreLayerClickWrapper() {
@@ -30,6 +35,7 @@ var IgnoreLayerClickWrapper = /*#__PURE__*/function (_React$Component2) {
30
35
 
31
36
  _this = _React$Component2.call.apply(_React$Component2, [this].concat(args)) || this;
32
37
  _this.element = null;
38
+ _this.setRootNode = void 0;
33
39
 
34
40
  _this.handleMouseDown = function (event) {
35
41
  event.stopPropagation();
@@ -41,7 +47,7 @@ var IgnoreLayerClickWrapper = /*#__PURE__*/function (_React$Component2) {
41
47
  var _proto2 = IgnoreLayerClickWrapper.prototype;
42
48
 
43
49
  _proto2.componentDidMount = function componentDidMount() {
44
- var element = findDOMNode(this);
50
+ var element = getRootNode(this);
45
51
 
46
52
  if (element && element instanceof Element) {
47
53
  element.addEventListener('mousedown', this.handleMouseDown);
@@ -57,10 +63,10 @@ var IgnoreLayerClickWrapper = /*#__PURE__*/function (_React$Component2) {
57
63
  };
58
64
 
59
65
  _proto2.render = function render() {
60
- return React.Children.only(this.props.children);
66
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
67
+ rootNodeRef: this.setRootNode
68
+ }, this.props), React.Children.only(this.props.children));
61
69
  };
62
70
 
63
71
  return IgnoreLayerClickWrapper;
64
- }(React.Component);
65
-
66
- IgnoreLayerClickWrapper.__KONTUR_REACT_UI__ = 'IgnoreLayerClick';
72
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'IgnoreLayerClick', _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["IgnoreLayerClick.tsx"],"names":["React","findDOMNode","IgnoreLayerClick","render","child","Children","only","props","children","active","Component","IgnoreLayerClickWrapper","element","handleMouseDown","event","stopPropagation","componentDidMount","Element","addEventListener","componentWillUnmount","removeEventListener","__KONTUR_REACT_UI__"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,WAAT,QAA4B,WAA5B;;;;;;;AAOA,WAAaC,gBAAb;AACSC,EAAAA,MADT,GACE,kBAAgB;AACd,QAAMC,KAAK,GAAGJ,KAAK,CAACK,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CAAd;AACA,WAAO,KAAKD,KAAL,CAAWE,MAAX,gBAAoB,oBAAC,uBAAD,QAA0BL,KAA1B,CAApB,GAAiFA,KAAxF;AACD,GAJH,2BAAsCJ,KAAK,CAACU,SAA5C;;;;;;;AAWA;IACMC,uB;;;AAGIC,IAAAA,O,GAA0B,I;;;;;;;;;;;;;;;;;;;;;AAqB1BC,IAAAA,e,GAAkB,UAACC,KAAD,EAAkB;AAC1CA,MAAAA,KAAK,CAACC,eAAN;AACD,K,uEArBMC,iB,GAAP,6BAA2B,CACzB,IAAMJ,OAAO,GAAGX,WAAW,CAAC,IAAD,CAA3B,CACA,IAAIW,OAAO,IAAIA,OAAO,YAAYK,OAAlC,EAA2C,CACzCL,OAAO,CAACM,gBAAR,CAAyB,WAAzB,EAAsC,KAAKL,eAA3C,EACA,KAAKD,OAAL,GAAeA,OAAf,CACD,CACF,C,SAEMO,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKP,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaQ,mBAAb,CAAiC,WAAjC,EAA8C,KAAKP,eAAnD,EACA,KAAKD,OAAL,GAAe,IAAf,CACD,CACF,C,SAEMT,M,GAAP,kBAAgB,CACd,OAAOH,KAAK,CAACK,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CAAP,CACD,C,kCAtBmCR,KAAK,CAACU,S,EAAtCC,uB,CACUU,mB,GAAsB,kB","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nexport interface IgnoreLayerClickProps {\n children: React.ReactNode;\n active: boolean;\n}\n\nexport class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {\n public render() {\n const child = React.Children.only(this.props.children);\n return this.props.active ? <IgnoreLayerClickWrapper>{child}</IgnoreLayerClickWrapper> : child;\n }\n}\n\ninterface WrapperProps {\n children: React.ReactNode;\n}\n\n// NOTE Используется только в команде Контур.Бухгалтерия\nclass IgnoreLayerClickWrapper extends React.Component<WrapperProps> {\n public static __KONTUR_REACT_UI__ = 'IgnoreLayerClick';\n\n private element: Element | null = null;\n\n public componentDidMount() {\n const element = findDOMNode(this);\n if (element && element instanceof Element) {\n element.addEventListener('mousedown', this.handleMouseDown);\n this.element = element;\n }\n }\n\n public componentWillUnmount() {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.handleMouseDown);\n this.element = null;\n }\n }\n\n public render() {\n return React.Children.only(this.props.children);\n }\n\n private handleMouseDown = (event: Event) => {\n event.stopPropagation();\n };\n}\n"]}
1
+ {"version":3,"sources":["IgnoreLayerClick.tsx"],"names":["React","getRootNode","rootNode","CommonWrapper","IgnoreLayerClick","render","child","Children","only","props","children","active","Component","IgnoreLayerClickWrapper","element","setRootNode","handleMouseDown","event","stopPropagation","componentDidMount","Element","addEventListener","componentWillUnmount","removeEventListener","__KONTUR_REACT_UI__"],"mappings":"2JAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,aAAT,QAA8B,kBAA9B;;;;;;;AAOA,WAAaC,gBAAb;AACSC,EAAAA,MADT,GACE,kBAAgB;AACd,QAAMC,KAAK,GAAGN,KAAK,CAACO,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CAAd;AACA,WAAO,KAAKD,KAAL,CAAWE,MAAX,gBAAoB,oBAAC,uBAAD,QAA0BL,KAA1B,CAApB,GAAiFA,KAAxF;AACD,GAJH,2BAAsCN,KAAK,CAACY,SAA5C;;;;;;;AAWA;;AAEMC,uB,GADLX,Q;;;AAISY,IAAAA,O,GAA0B,I;AAC1BC,IAAAA,W;;;;;;;;;;;;;;;;;;;;;;;;;AAyBAC,IAAAA,e,GAAkB,UAACC,KAAD,EAAkB;AAC1CA,MAAAA,KAAK,CAACC,eAAN;AACD,K,uEAzBMC,iB,GAAP,6BAA2B,CACzB,IAAML,OAAO,GAAGb,WAAW,CAAC,IAAD,CAA3B,CACA,IAAIa,OAAO,IAAIA,OAAO,YAAYM,OAAlC,EAA2C,CACzCN,OAAO,CAACO,gBAAR,CAAyB,WAAzB,EAAsC,KAAKL,eAA3C,EACA,KAAKF,OAAL,GAAeA,OAAf,CACD,CACF,C,SAEMQ,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKR,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaS,mBAAb,CAAiC,WAAjC,EAA8C,KAAKP,eAAnD,EACA,KAAKF,OAAL,GAAe,IAAf,CACD,CACF,C,SAEMT,M,GAAP,kBAAgB,CACd,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKU,WAAjC,IAAkD,KAAKN,KAAvD,GACGT,KAAK,CAACO,QAAN,CAAeC,IAAf,CAAoB,KAAKC,KAAL,CAAWC,QAA/B,CADH,CADF,CAKD,C,kCA3BmCV,KAAK,CAACY,S,WAC5BY,mB,GAAsB,kB","sourcesContent":["import React from 'react';\n\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { CommonWrapper } from '../CommonWrapper';\n\nexport interface IgnoreLayerClickProps {\n children: React.ReactNode;\n active: boolean;\n}\n\nexport class IgnoreLayerClick extends React.Component<IgnoreLayerClickProps> {\n public render() {\n const child = React.Children.only(this.props.children);\n return this.props.active ? <IgnoreLayerClickWrapper>{child}</IgnoreLayerClickWrapper> : child;\n }\n}\n\ninterface WrapperProps {\n children: React.ReactNode;\n}\n\n// NOTE Используется только в команде Контур.Бухгалтерия\n@rootNode\nclass IgnoreLayerClickWrapper extends React.Component<WrapperProps> {\n public static __KONTUR_REACT_UI__ = 'IgnoreLayerClick';\n\n private element: Element | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n const element = getRootNode(this);\n if (element && element instanceof Element) {\n element.addEventListener('mousedown', this.handleMouseDown);\n this.element = element;\n }\n }\n\n public componentWillUnmount() {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.handleMouseDown);\n this.element = null;\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 handleMouseDown = (event: Event) => {\n event.stopPropagation();\n };\n}\n"]}
@@ -1,6 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
+
5
+ var _class, _class2, _temp;
6
+
4
7
  import React from 'react';
5
8
  import { isNonNullable } from "../../../lib/utils";
6
9
  import { isKeyTab, isShortcutPaste } from "../../../lib/events/keyboard/identifiers";
@@ -12,9 +15,10 @@ import { ThemeContext } from "../../../lib/theming/ThemeContext";
12
15
  import { CommonWrapper } from "../../CommonWrapper";
13
16
  import { cx } from "../../../lib/theming/Emotion";
14
17
  import { findRenderContainer } from "../../../lib/listenFocusOutside";
18
+ import { rootNode } from "../../../lib/rootNode";
15
19
  import { styles } from "../InputLikeText.styles";
16
20
  import { HiddenInput } from "../HiddenInput";
17
- export var InputLikeText = /*#__PURE__*/function (_React$Component) {
21
+ export var InputLikeText = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
18
22
  _inheritsLoose(InputLikeText, _React$Component);
19
23
 
20
24
  function InputLikeText() {
@@ -38,6 +42,7 @@ export var InputLikeText = /*#__PURE__*/function (_React$Component) {
38
42
  _this.dragging = false;
39
43
  _this.focusTimeout = void 0;
40
44
  _this.blinkTimeout = void 0;
45
+ _this.setRootNode = void 0;
41
46
 
42
47
  _this.selectInnerNode = function (node, start, end) {
43
48
  if (start === void 0) {
@@ -464,7 +469,9 @@ export var InputLikeText = /*#__PURE__*/function (_React$Component) {
464
469
 
465
470
  return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
466
471
  _this4.theme = theme;
467
- return /*#__PURE__*/React.createElement(CommonWrapper, _this4.props, _this4.renderMain);
472
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
473
+ rootNodeRef: _this4.setRootNode
474
+ }, _this4.props), _this4.renderMain);
468
475
  });
469
476
  };
470
477
 
@@ -487,8 +494,6 @@ export var InputLikeText = /*#__PURE__*/function (_React$Component) {
487
494
  };
488
495
 
489
496
  return InputLikeText;
490
- }(React.Component);
491
- InputLikeText.__KONTUR_REACT_UI__ = 'InputLikeText';
492
- InputLikeText.defaultProps = {
497
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'InputLikeText', _class2.defaultProps = {
493
498
  size: 'small'
494
- };
499
+ }, _temp)) || _class;