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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +57 -0
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +5 -1
  7. package/cjs/components/Button/Button.js +17 -5
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +1 -0
  10. package/cjs/components/Button/Button.styles.js +38 -28
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Center/Center.d.ts +1 -0
  13. package/cjs/components/Center/Center.js +10 -3
  14. package/cjs/components/Center/Center.js.map +1 -1
  15. package/cjs/components/Checkbox/Checkbox.d.ts +3 -3
  16. package/cjs/components/Checkbox/Checkbox.js +31 -22
  17. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  18. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  19. package/cjs/components/ComboBox/ComboBox.js +100 -70
  20. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  21. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  22. package/cjs/components/CurrencyInput/CurrencyInput.js +35 -4
  23. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  24. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  25. package/cjs/components/DateInput/DateInput.js +6 -3
  26. package/cjs/components/DateInput/DateInput.js.map +1 -1
  27. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  28. package/cjs/components/DatePicker/DatePicker.js +17 -7
  29. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  30. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  31. package/cjs/components/Dropdown/Dropdown.js +11 -4
  32. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  33. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  34. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  35. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  36. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  37. package/cjs/components/FxInput/FxInput.js +9 -2
  38. package/cjs/components/FxInput/FxInput.js.map +1 -1
  39. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  40. package/cjs/components/Gapped/Gapped.js +22 -14
  41. package/cjs/components/Gapped/Gapped.js.map +1 -1
  42. package/cjs/components/Group/Group.d.ts +1 -0
  43. package/cjs/components/Group/Group.js +10 -7
  44. package/cjs/components/Group/Group.js.map +1 -1
  45. package/cjs/components/Hint/Hint.d.ts +5 -3
  46. package/cjs/components/Hint/Hint.js +7 -20
  47. package/cjs/components/Hint/Hint.js.map +1 -1
  48. package/cjs/components/Input/Input.d.ts +8 -1
  49. package/cjs/components/Input/Input.js +22 -5
  50. package/cjs/components/Input/Input.js.map +1 -1
  51. package/cjs/components/Kebab/Kebab.d.ts +3 -2
  52. package/cjs/components/Kebab/Kebab.js +8 -5
  53. package/cjs/components/Kebab/Kebab.js.map +1 -1
  54. package/cjs/components/Link/Link.d.ts +1 -0
  55. package/cjs/components/Link/Link.js +11 -3
  56. package/cjs/components/Link/Link.js.map +1 -1
  57. package/cjs/components/Loader/Loader.d.ts +1 -0
  58. package/cjs/components/Loader/Loader.js +11 -7
  59. package/cjs/components/Loader/Loader.js.map +1 -1
  60. package/cjs/components/MenuItem/MenuItem.d.ts +2 -1
  61. package/cjs/components/MenuItem/MenuItem.js +11 -8
  62. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  63. package/cjs/components/Modal/Modal.js +1 -1
  64. package/cjs/components/Modal/Modal.js.map +1 -1
  65. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  66. package/cjs/components/Modal/ModalBody.js +9 -6
  67. package/cjs/components/Modal/ModalBody.js.map +1 -1
  68. package/cjs/components/Paging/Paging.d.ts +2 -2
  69. package/cjs/components/Paging/Paging.js +6 -5
  70. package/cjs/components/Paging/Paging.js.map +1 -1
  71. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  72. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  73. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  74. package/cjs/components/Radio/Radio.d.ts +5 -10
  75. package/cjs/components/Radio/Radio.js +15 -11
  76. package/cjs/components/Radio/Radio.js.map +1 -1
  77. package/cjs/components/RadioGroup/RadioGroup.d.ts +11 -26
  78. package/cjs/components/RadioGroup/RadioGroup.js +25 -29
  79. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  80. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  81. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  82. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  83. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  84. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  85. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  86. package/cjs/components/ScrollContainer/ScrollContainer.js +10 -6
  87. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  88. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  89. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  90. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  91. package/cjs/components/Select/Select.d.ts +1 -0
  92. package/cjs/components/Select/Select.js +8 -5
  93. package/cjs/components/Select/Select.js.map +1 -1
  94. package/cjs/components/SidePage/SidePage.d.ts +3 -0
  95. package/cjs/components/SidePage/SidePage.js +20 -2
  96. package/cjs/components/SidePage/SidePage.js.map +1 -1
  97. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  98. package/cjs/components/SidePage/SidePageBody.js +9 -6
  99. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  100. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  101. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  102. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  103. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -2
  104. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  105. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  106. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  107. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  108. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  109. package/cjs/components/Spinner/Spinner.d.ts +9 -0
  110. package/cjs/components/Spinner/Spinner.js +29 -8
  111. package/cjs/components/Spinner/Spinner.js.map +1 -1
  112. package/cjs/components/Spinner/Spinner.md +1 -0
  113. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  114. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  115. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  116. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  117. package/cjs/components/Sticky/Sticky.js +8 -5
  118. package/cjs/components/Sticky/Sticky.js.map +1 -1
  119. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  120. package/cjs/components/Switcher/Switcher.js +6 -3
  121. package/cjs/components/Switcher/Switcher.js.map +1 -1
  122. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  123. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  124. package/cjs/components/Tabs/Indicator.d.ts +1 -0
  125. package/cjs/components/Tabs/Indicator.js +16 -15
  126. package/cjs/components/Tabs/Indicator.js.map +1 -1
  127. package/cjs/components/Tabs/Tab.d.ts +2 -1
  128. package/cjs/components/Tabs/Tab.js +13 -9
  129. package/cjs/components/Tabs/Tab.js.map +1 -1
  130. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  131. package/cjs/components/Tabs/Tabs.js +9 -9
  132. package/cjs/components/Tabs/Tabs.js.map +1 -1
  133. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  134. package/cjs/components/Textarea/Textarea.js +12 -5
  135. package/cjs/components/Textarea/Textarea.js.map +1 -1
  136. package/cjs/components/Toast/Toast.d.ts +3 -0
  137. package/cjs/components/Toast/Toast.js +15 -4
  138. package/cjs/components/Toast/Toast.js.map +1 -1
  139. package/cjs/components/Toast/ToastView.d.ts +1 -0
  140. package/cjs/components/Toast/ToastView.js +8 -5
  141. package/cjs/components/Toast/ToastView.js.map +1 -1
  142. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  143. package/cjs/components/Toggle/Toggle.js +9 -6
  144. package/cjs/components/Toggle/Toggle.js.map +1 -1
  145. package/cjs/components/Token/Token.d.ts +1 -0
  146. package/cjs/components/Token/Token.js +7 -4
  147. package/cjs/components/Token/Token.js.map +1 -1
  148. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  149. package/cjs/components/TokenInput/TokenInput.js +11 -8
  150. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  151. package/cjs/components/Tooltip/Tooltip.d.ts +11 -22
  152. package/cjs/components/Tooltip/Tooltip.js +28 -30
  153. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  154. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  155. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  156. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  157. package/cjs/index.d.ts +1 -1
  158. package/cjs/index.js +2 -2
  159. package/cjs/index.js.map +1 -1
  160. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  161. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  162. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  163. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  164. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  165. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  166. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  167. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  168. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  169. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  170. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  171. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -2
  172. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  173. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  174. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  175. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  176. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  177. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  178. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  179. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  180. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  181. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  182. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  183. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  184. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  185. package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
  186. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  187. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  188. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  189. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  190. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  191. package/cjs/internal/Menu/Menu.d.ts +1 -0
  192. package/cjs/internal/Menu/Menu.js +9 -6
  193. package/cjs/internal/Menu/Menu.js.map +1 -1
  194. package/cjs/internal/Popup/Popup.d.ts +9 -8
  195. package/cjs/internal/Popup/Popup.js +64 -48
  196. package/cjs/internal/Popup/Popup.js.map +1 -1
  197. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  198. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  199. package/cjs/internal/Popup/types.d.ts +1 -0
  200. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js +0 -0
  201. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js.map +0 -0
  202. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -3
  203. package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
  204. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  205. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  206. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  207. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  208. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  209. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  210. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  211. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  212. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  213. package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
  214. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  215. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  216. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -1
  217. package/cjs/internal/ThemePlayground/Playground.js +1 -11
  218. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  219. package/cjs/internal/ThemePlayground/darkTheme.d.ts +0 -15
  220. package/cjs/internal/ThemePlayground/darkTheme.js +1 -25
  221. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  222. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  223. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  224. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  225. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  226. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  227. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  228. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  229. package/cjs/internal/icons/16px/index.d.ts +17 -19
  230. package/cjs/internal/icons/16px/index.js +105 -84
  231. package/cjs/internal/icons/16px/index.js.map +1 -1
  232. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  233. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  234. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  235. package/cjs/internal/themes/DefaultTheme.d.ts +0 -23
  236. package/cjs/internal/themes/DefaultTheme.js +1 -64
  237. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  238. package/cjs/lib/ModalStack.js +16 -17
  239. package/cjs/lib/ModalStack.js.map +1 -1
  240. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  241. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  242. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  243. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  244. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  245. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  246. package/cjs/lib/getDisplayName.d.ts +3 -0
  247. package/cjs/lib/getDisplayName.js +9 -0
  248. package/cjs/lib/getDisplayName.js.map +1 -0
  249. package/cjs/lib/locale/types.d.ts +0 -2
  250. package/cjs/lib/locale/types.js +0 -2
  251. package/cjs/lib/locale/types.js.map +1 -1
  252. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  253. package/cjs/lib/rootNode/getRootNode.js +27 -0
  254. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  255. package/cjs/lib/rootNode/index.d.ts +2 -0
  256. package/cjs/lib/rootNode/index.js +2 -0
  257. package/cjs/lib/rootNode/index.js.map +1 -0
  258. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  259. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  260. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  261. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  262. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  263. package/cjs/lib/theming/Emotion.js +1 -0
  264. package/cjs/lib/theming/Emotion.js.map +1 -1
  265. package/cjs/lib/theming/useTheme.d.ts +1 -0
  266. package/cjs/lib/theming/useTheme.js +7 -0
  267. package/cjs/lib/theming/useTheme.js.map +1 -0
  268. package/cjs/lib/utils.d.ts +35 -1
  269. package/cjs/lib/utils.js +77 -22
  270. package/cjs/lib/utils.js.map +1 -1
  271. package/cjs/lib/withClassWrapper.d.ts +71 -0
  272. package/cjs/lib/withClassWrapper.js +59 -0
  273. package/cjs/lib/withClassWrapper.js.map +1 -0
  274. package/cjs/typings/html-props.d.ts +123 -0
  275. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  276. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  277. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  278. package/components/Button/Button/Button.js +24 -15
  279. package/components/Button/Button/Button.js.map +1 -1
  280. package/components/Button/Button.d.ts +5 -1
  281. package/components/Button/Button.styles/Button.styles.js +31 -28
  282. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  283. package/components/Button/Button.styles.d.ts +1 -0
  284. package/components/Center/Center/Center.js +14 -9
  285. package/components/Center/Center/Center.js.map +1 -1
  286. package/components/Center/Center.d.ts +1 -0
  287. package/components/Checkbox/Checkbox/Checkbox.js +34 -30
  288. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  289. package/components/Checkbox/Checkbox.d.ts +3 -3
  290. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  291. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  292. package/components/ComboBox/ComboBox.d.ts +2 -0
  293. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +62 -27
  294. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  295. package/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  296. package/components/DateInput/DateInput/DateInput.js +7 -3
  297. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  298. package/components/DateInput/DateInput.d.ts +1 -0
  299. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  300. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  301. package/components/DatePicker/DatePicker.d.ts +4 -2
  302. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  303. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  304. package/components/Dropdown/Dropdown.d.ts +1 -0
  305. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  306. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  307. package/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  308. package/components/FxInput/FxInput/FxInput.js +13 -9
  309. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  310. package/components/FxInput/FxInput.d.ts +1 -0
  311. package/components/Gapped/Gapped/Gapped.js +24 -21
  312. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  313. package/components/Gapped/Gapped.d.ts +2 -0
  314. package/components/Group/Group/Group.js +22 -9
  315. package/components/Group/Group/Group.js.map +1 -1
  316. package/components/Group/Group.d.ts +1 -0
  317. package/components/Hint/Hint/Hint.js +18 -12
  318. package/components/Hint/Hint/Hint.js.map +1 -1
  319. package/components/Hint/Hint.d.ts +5 -3
  320. package/components/Input/Input/Input.js +29 -14
  321. package/components/Input/Input/Input.js.map +1 -1
  322. package/components/Input/Input.d.ts +8 -1
  323. package/components/Kebab/Kebab/Kebab.js +12 -7
  324. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  325. package/components/Kebab/Kebab.d.ts +3 -2
  326. package/components/Link/Link/Link.js +15 -11
  327. package/components/Link/Link/Link.js.map +1 -1
  328. package/components/Link/Link.d.ts +1 -0
  329. package/components/Loader/Loader/Loader.js +19 -13
  330. package/components/Loader/Loader/Loader.js.map +1 -1
  331. package/components/Loader/Loader.d.ts +1 -0
  332. package/components/MenuItem/MenuItem/MenuItem.js +19 -17
  333. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  334. package/components/MenuItem/MenuItem.d.ts +2 -1
  335. package/components/Modal/Modal/Modal.js +1 -1
  336. package/components/Modal/Modal/Modal.js.map +1 -1
  337. package/components/Modal/ModalBody/ModalBody.js +16 -10
  338. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  339. package/components/Modal/ModalBody.d.ts +1 -0
  340. package/components/Paging/Paging/Paging.js +17 -14
  341. package/components/Paging/Paging/Paging.js.map +1 -1
  342. package/components/Paging/Paging.d.ts +2 -2
  343. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  344. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  345. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  346. package/components/Radio/Radio/Radio.js +21 -20
  347. package/components/Radio/Radio/Radio.js.map +1 -1
  348. package/components/Radio/Radio.d.ts +5 -10
  349. package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
  350. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  351. package/components/RadioGroup/RadioGroup.d.ts +11 -26
  352. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  353. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  354. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  355. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  356. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  357. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  358. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +15 -9
  359. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  360. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  361. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  362. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  363. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  364. package/components/Select/Select/Select.js +14 -6
  365. package/components/Select/Select/Select.js.map +1 -1
  366. package/components/Select/Select.d.ts +1 -0
  367. package/components/SidePage/SidePage/SidePage.js +27 -3
  368. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  369. package/components/SidePage/SidePage.d.ts +3 -0
  370. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  371. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  372. package/components/SidePage/SidePageBody.d.ts +1 -0
  373. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  374. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  375. package/components/SidePage/SidePageContainer.d.ts +1 -0
  376. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  377. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  378. package/components/SidePage/SidePageFooter.d.ts +1 -2
  379. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  380. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  381. package/components/SidePage/SidePageHeader.d.ts +1 -0
  382. package/components/Spinner/Spinner/Spinner.js +14 -6
  383. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  384. package/components/Spinner/Spinner.d.ts +9 -0
  385. package/components/Spinner/Spinner.md +1 -0
  386. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  387. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  388. package/components/Spinner/Spinner.styles.d.ts +2 -1
  389. package/components/Sticky/Sticky/Sticky.js +13 -8
  390. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  391. package/components/Sticky/Sticky.d.ts +1 -0
  392. package/components/Switcher/Switcher/Switcher.js +11 -6
  393. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  394. package/components/Switcher/Switcher.d.ts +1 -0
  395. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  396. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  397. package/components/Tabs/Indicator/Indicator.js +16 -14
  398. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  399. package/components/Tabs/Indicator.d.ts +1 -0
  400. package/components/Tabs/Tab/Tab.js +31 -34
  401. package/components/Tabs/Tab/Tab.js.map +1 -1
  402. package/components/Tabs/Tab.d.ts +2 -1
  403. package/components/Tabs/Tabs/Tabs.js +20 -20
  404. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  405. package/components/Tabs/Tabs.d.ts +1 -0
  406. package/components/Textarea/Textarea/Textarea.js +21 -17
  407. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  408. package/components/Textarea/Textarea.d.ts +1 -0
  409. package/components/Toast/Toast/Toast.js +29 -14
  410. package/components/Toast/Toast/Toast.js.map +1 -1
  411. package/components/Toast/Toast.d.ts +3 -0
  412. package/components/Toast/ToastView/ToastView.js +10 -5
  413. package/components/Toast/ToastView/ToastView.js.map +1 -1
  414. package/components/Toast/ToastView.d.ts +1 -0
  415. package/components/Toggle/Toggle/Toggle.js +16 -11
  416. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  417. package/components/Toggle/Toggle.d.ts +1 -0
  418. package/components/Token/Token/Token.js +11 -4
  419. package/components/Token/Token/Token.js.map +1 -1
  420. package/components/Token/Token.d.ts +1 -0
  421. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  422. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  423. package/components/TokenInput/TokenInput.d.ts +1 -0
  424. package/components/Tooltip/Tooltip/Tooltip.js +26 -17
  425. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  426. package/components/Tooltip/Tooltip.d.ts +11 -22
  427. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  428. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  429. package/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  430. package/index.d.ts +1 -1
  431. package/index.js +2 -2
  432. package/index.js.map +1 -1
  433. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  434. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  435. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  436. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  437. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  438. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  439. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  440. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  441. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  442. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  443. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  444. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  445. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  446. package/internal/DateSelect/DateSelect.d.ts +2 -2
  447. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  448. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  449. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  450. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  451. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  452. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  453. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  454. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  455. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  456. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  457. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  458. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  459. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  460. package/internal/InternalMenu/InternalMenu.d.ts +2 -3
  461. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  462. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  463. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  464. package/internal/Menu/Menu/Menu.js +11 -8
  465. package/internal/Menu/Menu/Menu.js.map +1 -1
  466. package/internal/Menu/Menu.d.ts +1 -0
  467. package/internal/Popup/Popup/Popup.js +85 -68
  468. package/internal/Popup/Popup/Popup.js.map +1 -1
  469. package/internal/Popup/Popup.d.ts +9 -8
  470. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  471. package/internal/Popup/PopupHelper.d.ts +2 -2
  472. package/{components/FileUploader/locale → internal/Popup}/types/package.json +1 -1
  473. package/{components/FileUploader/locale → internal/Popup}/types/types.js +0 -0
  474. package/{components/FileUploader/locale → internal/Popup}/types/types.js.map +0 -0
  475. package/internal/Popup/types.d.ts +1 -0
  476. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
  477. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  478. package/internal/PopupMenu/PopupMenu.d.ts +4 -3
  479. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  480. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  481. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  482. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  483. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  484. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  485. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  486. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  487. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  488. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  489. package/internal/RenderLayer/RenderLayer.d.ts +3 -1
  490. package/internal/ThemePlayground/Playground/Playground.js +1 -11
  491. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  492. package/internal/ThemePlayground/Playground.d.ts +0 -1
  493. package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -26
  494. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  495. package/internal/ThemePlayground/darkTheme.d.ts +0 -15
  496. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  497. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  498. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  499. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  500. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  501. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  502. package/internal/ZIndex/ZIndex.d.ts +2 -0
  503. package/internal/icons/16px/index/index.js +83 -78
  504. package/internal/icons/16px/index/index.js.map +1 -1
  505. package/internal/icons/16px/index.d.ts +17 -19
  506. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  507. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  508. package/internal/icons/SpinnerIcon.d.ts +4 -1
  509. package/internal/themes/DefaultTheme/DefaultTheme.js +0 -67
  510. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  511. package/internal/themes/DefaultTheme.d.ts +0 -23
  512. package/lib/ModalStack/ModalStack.js +9 -13
  513. package/lib/ModalStack/ModalStack.js.map +1 -1
  514. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  515. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  516. package/lib/callChildRef/callChildRef/package.json +6 -0
  517. package/lib/callChildRef/callChildRef.d.ts +3 -0
  518. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  519. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  520. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  521. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  522. package/lib/getDisplayName/getDisplayName.js +3 -0
  523. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  524. package/lib/getDisplayName/package.json +6 -0
  525. package/lib/getDisplayName.d.ts +3 -0
  526. package/lib/locale/types/types.js.map +1 -1
  527. package/lib/locale/types.d.ts +0 -2
  528. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  529. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  530. package/lib/rootNode/getRootNode/package.json +6 -0
  531. package/lib/rootNode/getRootNode.d.ts +3 -0
  532. package/lib/rootNode/index/index.js +2 -0
  533. package/lib/rootNode/index/index.js.map +1 -0
  534. package/{components/FileUploader → lib/rootNode}/index/package.json +1 -1
  535. package/lib/rootNode/index.d.ts +2 -0
  536. package/{components/FileUploader → lib/rootNode}/package.json +1 -1
  537. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  538. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  539. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  540. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  541. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  542. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  543. package/lib/theming/Emotion/Emotion.js +1 -0
  544. package/lib/theming/Emotion/Emotion.js.map +1 -1
  545. package/lib/theming/useTheme/package.json +6 -0
  546. package/lib/theming/useTheme/useTheme.js +5 -0
  547. package/lib/theming/useTheme/useTheme.js.map +1 -0
  548. package/lib/theming/useTheme.d.ts +1 -0
  549. package/lib/utils/utils.js +77 -19
  550. package/lib/utils/utils.js.map +1 -1
  551. package/lib/utils.d.ts +35 -1
  552. package/lib/withClassWrapper/package.json +6 -0
  553. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  554. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  555. package/lib/withClassWrapper.d.ts +71 -0
  556. package/package.json +14 -3
  557. package/typings/html-props.d.ts +123 -0
  558. package/cjs/components/FileUploader/FileUploader.d.ts +0 -31
  559. package/cjs/components/FileUploader/FileUploader.js +0 -270
  560. package/cjs/components/FileUploader/FileUploader.js.map +0 -1
  561. package/cjs/components/FileUploader/FileUploader.md +0 -67
  562. package/cjs/components/FileUploader/FileUploader.styles.d.ts +0 -19
  563. package/cjs/components/FileUploader/FileUploader.styles.js +0 -159
  564. package/cjs/components/FileUploader/FileUploader.styles.js.map +0 -1
  565. package/cjs/components/FileUploader/index.d.ts +0 -4
  566. package/cjs/components/FileUploader/index.js +0 -4
  567. package/cjs/components/FileUploader/index.js.map +0 -1
  568. package/cjs/components/FileUploader/locale/index.d.ts +0 -4
  569. package/cjs/components/FileUploader/locale/index.js +0 -11
  570. package/cjs/components/FileUploader/locale/index.js.map +0 -1
  571. package/cjs/components/FileUploader/locale/locales/en.d.ts +0 -2
  572. package/cjs/components/FileUploader/locale/locales/en.js +0 -7
  573. package/cjs/components/FileUploader/locale/locales/en.js.map +0 -1
  574. package/cjs/components/FileUploader/locale/locales/ru.d.ts +0 -2
  575. package/cjs/components/FileUploader/locale/locales/ru.js +0 -7
  576. package/cjs/components/FileUploader/locale/locales/ru.js.map +0 -1
  577. package/cjs/components/FileUploader/locale/types.d.ts +0 -6
  578. package/cjs/hooks/useDrop.d.ts +0 -11
  579. package/cjs/hooks/useDrop.js +0 -75
  580. package/cjs/hooks/useDrop.js.map +0 -1
  581. package/cjs/hooks/useMemoObject.d.ts +0 -1
  582. package/cjs/hooks/useMemoObject.js +0 -5
  583. package/cjs/hooks/useMemoObject.js.map +0 -1
  584. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  585. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +0 -15
  586. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +0 -1
  587. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  588. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +0 -107
  589. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +0 -1
  590. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  591. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +0 -187
  592. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +0 -1
  593. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  594. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +0 -66
  595. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +0 -1
  596. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  597. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +0 -24
  598. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  599. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  600. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +0 -17
  601. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  602. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  603. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +0 -16
  604. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +0 -1
  605. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  606. package/cjs/internal/FileUploaderControl/fileUtils.js +0 -55
  607. package/cjs/internal/FileUploaderControl/fileUtils.js.map +0 -1
  608. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  609. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +0 -4
  610. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +0 -1
  611. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  612. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +0 -51
  613. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +0 -1
  614. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  615. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +0 -18
  616. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +0 -1
  617. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  618. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  619. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  620. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  621. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +0 -34
  622. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +0 -1
  623. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  624. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -23
  625. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  626. package/cjs/lib/guidUtils.d.ts +0 -1
  627. package/cjs/lib/guidUtils.js +0 -5
  628. package/cjs/lib/guidUtils.js.map +0 -1
  629. package/cjs/lib/locale/useLocaleForControl.d.ts +0 -3
  630. package/cjs/lib/locale/useLocaleForControl.js +0 -14
  631. package/cjs/lib/locale/useLocaleForControl.js.map +0 -1
  632. package/cjs/lib/stringUtils.d.ts +0 -1
  633. package/cjs/lib/stringUtils.js +0 -13
  634. package/cjs/lib/stringUtils.js.map +0 -1
  635. package/components/FileUploader/FileUploader/FileUploader.js +0 -277
  636. package/components/FileUploader/FileUploader/FileUploader.js.map +0 -1
  637. package/components/FileUploader/FileUploader/package.json +0 -6
  638. package/components/FileUploader/FileUploader.d.ts +0 -31
  639. package/components/FileUploader/FileUploader.md +0 -67
  640. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +0 -56
  641. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +0 -1
  642. package/components/FileUploader/FileUploader.styles/package.json +0 -6
  643. package/components/FileUploader/FileUploader.styles.d.ts +0 -19
  644. package/components/FileUploader/index/index.js +0 -3
  645. package/components/FileUploader/index/index.js.map +0 -1
  646. package/components/FileUploader/index.d.ts +0 -4
  647. package/components/FileUploader/locale/index/index.js +0 -8
  648. package/components/FileUploader/locale/index/index.js.map +0 -1
  649. package/components/FileUploader/locale/index/package.json +0 -6
  650. package/components/FileUploader/locale/index.d.ts +0 -4
  651. package/components/FileUploader/locale/locales/en/en.js +0 -6
  652. package/components/FileUploader/locale/locales/en/en.js.map +0 -1
  653. package/components/FileUploader/locale/locales/en/package.json +0 -6
  654. package/components/FileUploader/locale/locales/en.d.ts +0 -2
  655. package/components/FileUploader/locale/locales/ru/package.json +0 -6
  656. package/components/FileUploader/locale/locales/ru/ru.js +0 -6
  657. package/components/FileUploader/locale/locales/ru/ru.js.map +0 -1
  658. package/components/FileUploader/locale/locales/ru.d.ts +0 -2
  659. package/components/FileUploader/locale/package.json +0 -6
  660. package/components/FileUploader/locale/types.d.ts +0 -6
  661. package/hooks/useDrop/package.json +0 -6
  662. package/hooks/useDrop/useDrop.js +0 -57
  663. package/hooks/useDrop/useDrop.js.map +0 -1
  664. package/hooks/useDrop.d.ts +0 -11
  665. package/hooks/useMemoObject/package.json +0 -6
  666. package/hooks/useMemoObject/useMemoObject.js +0 -6
  667. package/hooks/useMemoObject/useMemoObject.js.map +0 -1
  668. package/hooks/useMemoObject.d.ts +0 -1
  669. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +0 -2
  670. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +0 -1
  671. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +0 -6
  672. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  673. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +0 -79
  674. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +0 -1
  675. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +0 -6
  676. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  677. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +0 -176
  678. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +0 -1
  679. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +0 -6
  680. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  681. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +0 -32
  682. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +0 -1
  683. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +0 -6
  684. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  685. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +0 -23
  686. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  687. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +0 -6
  688. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  689. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +0 -11
  690. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +0 -1
  691. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +0 -6
  692. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  693. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +0 -18
  694. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +0 -1
  695. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +0 -6
  696. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  697. package/internal/FileUploaderControl/fileUtils/fileUtils.js +0 -85
  698. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +0 -1
  699. package/internal/FileUploaderControl/fileUtils/package.json +0 -6
  700. package/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  701. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +0 -6
  702. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +0 -5
  703. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +0 -1
  704. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  705. package/internal/FileUploaderControl/hooks/useUpload/package.json +0 -6
  706. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +0 -56
  707. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +0 -1
  708. package/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  709. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +0 -6
  710. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +0 -16
  711. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +0 -1
  712. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  713. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  714. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  715. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  716. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  717. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +0 -49
  718. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +0 -1
  719. package/internal/TextWidthHelper/TextWidthHelper/package.json +0 -6
  720. package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  721. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +0 -14
  722. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +0 -1
  723. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +0 -6
  724. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  725. package/lib/guidUtils/guidUtils.js +0 -4
  726. package/lib/guidUtils/guidUtils.js.map +0 -1
  727. package/lib/guidUtils/package.json +0 -6
  728. package/lib/guidUtils.d.ts +0 -1
  729. package/lib/locale/useLocaleForControl/package.json +0 -6
  730. package/lib/locale/useLocaleForControl/useLocaleForControl.js +0 -12
  731. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +0 -1
  732. package/lib/locale/useLocaleForControl.d.ts +0 -3
  733. package/lib/stringUtils/package.json +0 -6
  734. package/lib/stringUtils/stringUtils.js +0 -12
  735. package/lib/stringUtils/stringUtils.js.map +0 -1
  736. package/lib/stringUtils.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { PopupPosition } from './Popup';
1
+ import { PopupPositionsType } from './Popup';
2
2
  export interface Rect {
3
3
  top: number;
4
4
  left: number;
@@ -16,7 +16,7 @@ export interface PositionObject {
16
16
  declare function getPositionObject(position: string): PositionObject;
17
17
  declare function getElementAbsoluteRect(element: HTMLElement): Rect;
18
18
  declare function isAbsoluteRectFullyVisible(coordinates: Offset, popupRect: Rect): boolean;
19
- declare function canBecomeFullyVisible(positionName: PopupPosition, coordinates: Offset): boolean;
19
+ declare function canBecomeFullyVisible(positionName: PopupPositionsType, coordinates: Offset): boolean;
20
20
  export declare const PopupHelper: {
21
21
  getPositionObject: typeof getPositionObject;
22
22
  getElementAbsoluteRect: typeof getElementAbsoluteRect;
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../../cjs/components/FileUploader/locale/types.js",
2
+ "main": "../../../cjs/internal/Popup/types.js",
3
3
  "module": "types",
4
4
  "types": "../types.d.ts",
5
5
  "sideEffects": false
@@ -0,0 +1 @@
1
+ export type { PopupPositionsType } from './Popup';
@@ -1,18 +1,23 @@
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
7
  import { isKeyArrowVertical, isKeyEnter, isKeyEscape, isKeySpace, someKeys } from "../../../lib/events/keyboard/identifiers";
4
8
  import { InternalMenu } from "../../InternalMenu";
5
9
  import { Popup } from "../../Popup";
6
10
  import { RenderLayer } from "../../RenderLayer";
7
11
  import { CommonWrapper } from "../../../internal/CommonWrapper";
8
- import { PopupMenuPositions } from "../PopupMenuPositions";
12
+ import { rootNode } from "../../../lib/rootNode";
9
13
  import { isValidPositions } from "../validatePositions";
10
14
  import { styles } from "../PopupMenu.styles";
11
15
  export var PopupMenuType = {
12
16
  Dropdown: 'dropdown',
13
17
  Tooltip: 'tooltip'
14
18
  };
15
- export var PopupMenu = /*#__PURE__*/function (_React$Component) {
19
+ var Positions = ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left middle', 'left bottom'];
20
+ export var PopupMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
16
21
  _inheritsLoose(PopupMenu, _React$Component);
17
22
 
18
23
  function PopupMenu() {
@@ -30,6 +35,7 @@ export var PopupMenu = /*#__PURE__*/function (_React$Component) {
30
35
  _this.captionWrapper = null;
31
36
  _this.savedFocusableElement = null;
32
37
  _this.menu = null;
38
+ _this.setRootNode = void 0;
33
39
 
34
40
  _this.open = function () {
35
41
  return _this.showMenu();
@@ -170,7 +176,9 @@ export var PopupMenu = /*#__PURE__*/function (_React$Component) {
170
176
  var _proto = PopupMenu.prototype;
171
177
 
172
178
  _proto.render = function render() {
173
- return /*#__PURE__*/React.createElement(CommonWrapper, this.props, /*#__PURE__*/React.createElement(RenderLayer, {
179
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
180
+ rootNodeRef: this.setRootNode
181
+ }, this.props), /*#__PURE__*/React.createElement(RenderLayer, {
174
182
  onClickOutside: this.hideMenuWithoutFocusing,
175
183
  onFocusOutside: this.hideMenuWithoutFocusing,
176
184
  active: this.state.menuVisible
@@ -208,16 +216,13 @@ export var PopupMenu = /*#__PURE__*/function (_React$Component) {
208
216
  return this.props.positions;
209
217
  }
210
218
 
211
- return PopupMenuPositions;
219
+ return Positions;
212
220
  };
213
221
 
214
222
  return PopupMenu;
215
- }(React.Component);
216
- PopupMenu.__KONTUR_REACT_UI__ = 'PopupMenu';
217
- PopupMenu.defaultProps = {
218
- positions: PopupMenuPositions,
223
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'PopupMenu', _class2.defaultProps = {
224
+ positions: Positions,
219
225
  type: PopupMenuType.Tooltip,
220
226
  popupHasPin: true,
221
227
  disableAnimations: false
222
- };
223
- PopupMenu.Type = PopupMenuType;
228
+ }, _class2.Type = PopupMenuType, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupMenu.tsx"],"names":["React","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","InternalMenu","Popup","RenderLayer","CommonWrapper","PopupMenuPositions","isValidPositions","styles","PopupMenuType","Dropdown","Tooltip","PopupMenu","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","caption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","container","width","children","popupMargin","popupHasPin","popupPinOffset","getPositions","disableAnimations","menuWidth","menuMaxHeight","header","footer","positions","Component","__KONTUR_REACT_UI__","defaultProps","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPosition } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { PopupMenuPositions } from './PopupMenuPositions';\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPosition[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations: boolean;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n};\n\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n public static defaultProps = {\n positions: PopupMenuPositions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n\n public render() {\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={this.props.popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={this.props.disableAnimations}\n onOpen={this.handleOpen}\n width={this.props.menuWidth || 'auto'}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions() {\n if (this.props.positions && isValidPositions(this.props.positions)) {\n return this.props.positions;\n }\n\n return PopupMenuPositions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
1
+ {"version":3,"sources":["PopupMenu.tsx"],"names":["React","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","InternalMenu","Popup","RenderLayer","CommonWrapper","rootNode","isValidPositions","styles","PopupMenuType","Dropdown","Tooltip","Positions","PopupMenu","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","setRootNode","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","caption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","container","width","children","popupMargin","popupHasPin","popupPinOffset","getPositions","disableAnimations","menuWidth","menuMaxHeight","header","footer","positions","Component","__KONTUR_REACT_UI__","defaultProps","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations: boolean;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n};\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\n@rootNode\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n public static defaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={this.props.popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={this.props.disableAnimations}\n onOpen={this.handleOpen}\n width={this.props.menuWidth || 'auto'}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n if (this.props.positions && isValidPositions(this.props.positions)) {\n return this.props.positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PopupPosition } from '../Popup';
2
+ import { PopupPositionsType } from '../Popup';
3
3
  import { CommonProps } from '../../internal/CommonWrapper';
4
4
  export interface PopupMenuCaptionProps {
5
5
  opened: boolean;
@@ -25,7 +25,7 @@ export interface PopupMenuProps extends CommonProps {
25
25
  header?: React.ReactNode;
26
26
  footer?: React.ReactNode;
27
27
  /** Массив разрешенных положений меню относительно caption'а. */
28
- positions?: PopupPosition[];
28
+ positions?: PopupPositionsType[];
29
29
  /** Колбэк, вызываемый после открытия/закрытия меню */
30
30
  onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;
31
31
  /** Пропсы, передающиеся в Popup */
@@ -46,7 +46,7 @@ export declare const PopupMenuType: {
46
46
  export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {
47
47
  static __KONTUR_REACT_UI__: string;
48
48
  static defaultProps: {
49
- positions: PopupPosition[];
49
+ positions: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
50
50
  type: string;
51
51
  popupHasPin: boolean;
52
52
  disableAnimations: boolean;
@@ -62,6 +62,7 @@ export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenu
62
62
  private captionWrapper;
63
63
  private savedFocusableElement;
64
64
  private menu;
65
+ private setRootNode;
65
66
  render(): JSX.Element;
66
67
  open: () => void;
67
68
  close: () => void;
@@ -1,8 +1,8 @@
1
1
  import { isProductionEnv } from "../../../lib/currentEnvironment";
2
- import { PopupMenuPositions } from "../PopupMenuPositions";
2
+ import { PopupPositions } from "../../Popup";
3
3
 
4
4
  var isValidPosition = function isValidPosition(position) {
5
- return PopupMenuPositions.includes(position);
5
+ return PopupPositions.includes(position);
6
6
  };
7
7
 
8
8
  export var isValidPositions = function isValidPositions(positions) {
@@ -1 +1 @@
1
- {"version":3,"sources":["validatePositions.tsx"],"names":["isProductionEnv","PopupMenuPositions","isValidPosition","position","includes","isValidPositions","positions","every","item","Error"],"mappings":"AAAA,SAASA,eAAT,QAAgC,8BAAhC;;;AAGA,SAASC,kBAAT,QAAmC,sBAAnC;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAAsC;AAC5D,SAAOF,kBAAkB,CAACG,QAAnB,CAA4BD,QAA5B,CAAP;AACD,CAFD;;AAIA,OAAO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,SAAD,EAAyC;AACvE,SAAOA,SAAS,CAACC,KAAV,CAAgB,UAACC,IAAD,EAAU;AAC/B,QAAIR,eAAJ,EAAqB;AACnB,aAAOE,eAAe,CAACM,IAAD,CAAtB;AACD,KAFD,MAEO;AACL,UAAIN,eAAe,CAACM,IAAD,CAAnB,EAA2B;AACzB,eAAO,IAAP;AACD,OAFD,MAEO;AACL,cAAM,IAAIC,KAAJ,2BAAiCD,IAAjC,QAAN;AACD;AACF;AACF,GAVM,CAAP;AAWD,CAZM","sourcesContent":["import { isProductionEnv } from '../../lib/currentEnvironment';\nimport { PopupPosition } from '../Popup';\n\nimport { PopupMenuPositions } from './PopupMenuPositions';\n\nconst isValidPosition = (position: PopupPosition): boolean => {\n return PopupMenuPositions.includes(position);\n};\n\nexport const isValidPositions = (positions: PopupPosition[]): boolean => {\n return positions.every((item) => {\n if (isProductionEnv) {\n return isValidPosition(item);\n } else {\n if (isValidPosition(item)) {\n return true;\n } else {\n throw new Error(`Unxpected position \"${item}\"`);\n }\n }\n });\n};\n"]}
1
+ {"version":3,"sources":["validatePositions.ts"],"names":["isProductionEnv","PopupPositions","isValidPosition","position","includes","isValidPositions","positions","every","item","Error"],"mappings":"AAAA,SAASA,eAAT,QAAgC,8BAAhC;AACA,SAA6BC,cAA7B,QAAmD,UAAnD;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAA2C;AACjE,SAAOF,cAAc,CAACG,QAAf,CAAwBD,QAAxB,CAAP;AACD,CAFD;;AAIA,OAAO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,SAAD,EAA8C;AAC5E,SAAOA,SAAS,CAACC,KAAV,CAAgB,UAACC,IAAD,EAAU;AAC/B,QAAIR,eAAJ,EAAqB;AACnB,aAAOE,eAAe,CAACM,IAAD,CAAtB;AACD,KAFD,MAEO;AACL,UAAIN,eAAe,CAACM,IAAD,CAAnB,EAA2B;AACzB,eAAO,IAAP;AACD,OAFD,MAEO;AACL,cAAM,IAAIC,KAAJ,2BAAiCD,IAAjC,QAAN;AACD;AACF;AACF,GAVM,CAAP;AAWD,CAZM","sourcesContent":["import { isProductionEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType, PopupPositions } from '../Popup';\n\nconst isValidPosition = (position: PopupPositionsType): boolean => {\n return PopupPositions.includes(position);\n};\n\nexport const isValidPositions = (positions: PopupPositionsType[]): boolean => {\n return positions.every((item) => {\n if (isProductionEnv) {\n return isValidPosition(item);\n } else {\n if (isValidPosition(item)) {\n return true;\n } else {\n throw new Error(`Unxpected position \"${item}\"`);\n }\n }\n });\n};\n"]}
@@ -1,2 +1,2 @@
1
- import { PopupPosition } from '../Popup';
2
- export declare const isValidPositions: (positions: PopupPosition[]) => boolean;
1
+ import { PopupPositionsType } from '../Popup';
2
+ export declare const isValidPositions: (positions: PopupPositionsType[]) => boolean;
@@ -24,7 +24,7 @@ export var RenderContainer = /*#__PURE__*/function (_React$Component) {
24
24
 
25
25
  var _proto = RenderContainer.prototype;
26
26
 
27
- _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {
27
+ _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
28
28
  if (!this.props.children && nextProps.children) {
29
29
  this.mountContainer();
30
30
  }
@@ -32,6 +32,8 @@ export var RenderContainer = /*#__PURE__*/function (_React$Component) {
32
32
  if (this.props.children && !nextProps.children) {
33
33
  this.unmountContainer();
34
34
  }
35
+
36
+ return true;
35
37
  };
36
38
 
37
39
  _proto.componentWillUnmount = function componentWillUnmount() {
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderContainer.tsx"],"names":["React","canUseDOM","isBrowser","getRandomID","Upgrade","RenderInnerContainer","RenderContainer","props","domContainer","rootId","getRootId","children","mountContainer","UNSAFE_componentWillReceiveProps","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","document","createElement","setAttribute","getSpecificityClassName","parentNode","body","appendChild","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"gIAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,kBAArC;;AAEA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,OAAT,QAAwB,oBAAxB;;AAEA,SAASC,oBAAT,QAAqC,wBAArC;;;AAGA,WAAaC,eAAb;;;;;;;;AAQE,2BAAYC,KAAZ,EAAyC;AACvC,wCAAMA,KAAN,UADuC,MAJjCC,YAIiC,GAJK,IAIL,OAFxBC,MAEwB,GAFPH,eAAe,CAACI,SAAhB,EAEO;;AAGvC,QAAIR,SAAS,IAAIK,KAAK,CAACI,QAAvB,EAAiC;AAC/B,YAAKC,cAAL;AACD,KALsC;AAMxC,GAdH;;AAgBSC,EAAAA,gCAhBT,GAgBE,0CAAwCC,SAAxC,EAAyF;AACvF,QAAI,CAAC,KAAKP,KAAL,CAAWI,QAAZ,IAAwBG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKL,KAAL,CAAWI,QAAX,IAAuB,CAACG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKI,gBAAL;AACD;AACF,GAvBH;;AAyBSC,EAAAA,oBAzBT,GAyBE,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,GA3BH;;AA6BSC,EAAAA,MA7BT,GA6BE,kBAAgB;AACd,wBAAO,oBAAC,oBAAD,eAA0B,KAAKX,KAA/B,IAAsC,YAAY,EAAE,KAAKC,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,GA/BH;;AAiCUU,EAAAA,eAjCV,GAiCE,2BAA0B;AACxB,QAAIlB,SAAJ,EAAe;AACb,UAAMO,YAAY,GAAGY,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAb,MAAAA,YAAY,CAACc,YAAb,CAA0B,OAA1B,EAAmClB,OAAO,CAACmB,uBAAR,EAAnC;AACAf,MAAAA,YAAY,CAACc,YAAb,CAA0B,4BAA1B,OAA2D,KAAKb,MAAhE;AACA,WAAKD,YAAL,GAAoBA,YAApB;AACD;AACF,GAxCH;;AA0CUI,EAAAA,cA1CV,GA0CE,0BAAyB;AACvB,QAAI,CAAC,KAAKJ,YAAV,EAAwB;AACtB,WAAKW,eAAL;AACD;AACD,QAAI,KAAKX,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAAlB,KAAiCJ,QAAQ,CAACK,IAAnE,EAAyE;AACvEL,MAAAA,QAAQ,CAACK,IAAT,CAAcC,WAAd,CAA0B,KAAKlB,YAA/B;AACA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBC,kBAApB,CAAuC,KAAKpB,MAA5C,EAAoD,IAApD;AACD;AACF;AACF,GApDH;;AAsDUQ,EAAAA,gBAtDV,GAsDE,4BAA2B;AACzB,QAAI,KAAKT,YAAT,EAAuB;AACrB,WAAKO,gBAAL;AACA,WAAKP,YAAL,GAAoB,IAApB;AACD;AACF,GA3DH;;AA6DUO,EAAAA,gBA7DV,GA6DE,4BAA2B;AACzB,QAAI,KAAKP,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAA3C,EAAuD;AACrD,WAAKhB,YAAL,CAAkBgB,UAAlB,CAA6BM,WAA7B,CAAyC,KAAKtB,YAA9C;;AAEA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBG,qBAApB,CAA0C,KAAKtB,MAA/C;AACD;AACF;AACF,GArEH,0BAAqCT,KAAK,CAACgC,SAA3C,EAAa1B,e,CACG2B,mB,GAAsB,iB,CADzB3B,e,CAGII,S,GAAY,oBAAMP,WAAW,EAAjB,E","sourcesContent":["import React from 'react';\n\nimport { canUseDOM, isBrowser } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n constructor(props: RenderContainerProps) {\n super(props);\n\n if (isBrowser && props.children) {\n this.mountContainer();\n }\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: Readonly<RenderContainerProps>): void {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n }\n\n private createContainer() {\n if (canUseDOM) {\n const domContainer = document.createElement('div');\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n if (this.domContainer && this.domContainer.parentNode !== document.body) {\n document.body.appendChild(this.domContainer);\n if (window.ReactTesting) {\n window.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (window.ReactTesting) {\n window.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["RenderContainer.tsx"],"names":["React","canUseDOM","isBrowser","getRandomID","Upgrade","RenderInnerContainer","RenderContainer","props","domContainer","rootId","getRootId","children","mountContainer","shouldComponentUpdate","nextProps","unmountContainer","componentWillUnmount","destroyContainer","render","createContainer","document","createElement","setAttribute","getSpecificityClassName","parentNode","body","appendChild","window","ReactTesting","addRenderContainer","removeChild","removeRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"gIAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,SAAT,EAAoBC,SAApB,QAAqC,kBAArC;;AAEA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,OAAT,QAAwB,oBAAxB;;AAEA,SAASC,oBAAT,QAAqC,wBAArC;;;AAGA,WAAaC,eAAb;;;;;;;;AAQE,2BAAYC,KAAZ,EAAyC;AACvC,wCAAMA,KAAN,UADuC,MAJjCC,YAIiC,GAJK,IAIL,OAFxBC,MAEwB,GAFPH,eAAe,CAACI,SAAhB,EAEO;;AAGvC,QAAIR,SAAS,IAAIK,KAAK,CAACI,QAAvB,EAAiC;AAC/B,YAAKC,cAAL;AACD,KALsC;AAMxC,GAdH;;AAgBSC,EAAAA,qBAhBT,GAgBE,+BAA6BC,SAA7B,EAA8D;AAC5D,QAAI,CAAC,KAAKP,KAAL,CAAWI,QAAZ,IAAwBG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKC,cAAL;AACD;AACD,QAAI,KAAKL,KAAL,CAAWI,QAAX,IAAuB,CAACG,SAAS,CAACH,QAAtC,EAAgD;AAC9C,WAAKI,gBAAL;AACD;AACD,WAAO,IAAP;AACD,GAxBH;;AA0BSC,EAAAA,oBA1BT,GA0BE,gCAA8B;AAC5B,SAAKC,gBAAL;AACD,GA5BH;;AA8BSC,EAAAA,MA9BT,GA8BE,kBAAgB;AACd,wBAAO,oBAAC,oBAAD,eAA0B,KAAKX,KAA/B,IAAsC,YAAY,EAAE,KAAKC,YAAzD,EAAuE,MAAM,EAAE,KAAKC,MAApF,IAAP;AACD,GAhCH;;AAkCUU,EAAAA,eAlCV,GAkCE,2BAA0B;AACxB,QAAIlB,SAAJ,EAAe;AACb,UAAMO,YAAY,GAAGY,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAArB;AACAb,MAAAA,YAAY,CAACc,YAAb,CAA0B,OAA1B,EAAmClB,OAAO,CAACmB,uBAAR,EAAnC;AACAf,MAAAA,YAAY,CAACc,YAAb,CAA0B,4BAA1B,OAA2D,KAAKb,MAAhE;AACA,WAAKD,YAAL,GAAoBA,YAApB;AACD;AACF,GAzCH;;AA2CUI,EAAAA,cA3CV,GA2CE,0BAAyB;AACvB,QAAI,CAAC,KAAKJ,YAAV,EAAwB;AACtB,WAAKW,eAAL;AACD;AACD,QAAI,KAAKX,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAAlB,KAAiCJ,QAAQ,CAACK,IAAnE,EAAyE;AACvEL,MAAAA,QAAQ,CAACK,IAAT,CAAcC,WAAd,CAA0B,KAAKlB,YAA/B;AACA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBC,kBAApB,CAAuC,KAAKpB,MAA5C,EAAoD,IAApD;AACD;AACF;AACF,GArDH;;AAuDUQ,EAAAA,gBAvDV,GAuDE,4BAA2B;AACzB,QAAI,KAAKT,YAAT,EAAuB;AACrB,WAAKO,gBAAL;AACA,WAAKP,YAAL,GAAoB,IAApB;AACD;AACF,GA5DH;;AA8DUO,EAAAA,gBA9DV,GA8DE,4BAA2B;AACzB,QAAI,KAAKP,YAAL,IAAqB,KAAKA,YAAL,CAAkBgB,UAA3C,EAAuD;AACrD,WAAKhB,YAAL,CAAkBgB,UAAlB,CAA6BM,WAA7B,CAAyC,KAAKtB,YAA9C;;AAEA,UAAImB,MAAM,CAACC,YAAX,EAAyB;AACvBD,QAAAA,MAAM,CAACC,YAAP,CAAoBG,qBAApB,CAA0C,KAAKtB,MAA/C;AACD;AACF;AACF,GAtEH,0BAAqCT,KAAK,CAACgC,SAA3C,EAAa1B,e,CACG2B,mB,GAAsB,iB,CADzB3B,e,CAGII,S,GAAY,oBAAMP,WAAW,EAAjB,E","sourcesContent":["import React from 'react';\n\nimport { canUseDOM, isBrowser } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID } from '../../lib/utils';\nimport { Upgrade } from '../../lib/Upgrades';\n\nimport { RenderInnerContainer } from './RenderInnerContainer';\nimport { RenderContainerProps } from './RenderContainerTypes';\n\nexport class RenderContainer extends React.Component<RenderContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderContainer';\n\n private static getRootId = () => getRandomID();\n private domContainer: Nullable<HTMLElement> = null;\n\n private readonly rootId: string = RenderContainer.getRootId();\n\n constructor(props: RenderContainerProps) {\n super(props);\n\n if (isBrowser && props.children) {\n this.mountContainer();\n }\n }\n\n public shouldComponentUpdate(nextProps: RenderContainerProps) {\n if (!this.props.children && nextProps.children) {\n this.mountContainer();\n }\n if (this.props.children && !nextProps.children) {\n this.unmountContainer();\n }\n return true;\n }\n\n public componentWillUnmount() {\n this.destroyContainer();\n }\n\n public render() {\n return <RenderInnerContainer {...this.props} domContainer={this.domContainer} rootId={this.rootId} />;\n }\n\n private createContainer() {\n if (canUseDOM) {\n const domContainer = document.createElement('div');\n domContainer.setAttribute('class', Upgrade.getSpecificityClassName());\n domContainer.setAttribute('data-rendered-container-id', `${this.rootId}`);\n this.domContainer = domContainer;\n }\n }\n\n private mountContainer() {\n if (!this.domContainer) {\n this.createContainer();\n }\n if (this.domContainer && this.domContainer.parentNode !== document.body) {\n document.body.appendChild(this.domContainer);\n if (window.ReactTesting) {\n window.ReactTesting.addRenderContainer(this.rootId, this);\n }\n }\n }\n\n private destroyContainer() {\n if (this.domContainer) {\n this.unmountContainer();\n this.domContainer = null;\n }\n }\n\n private unmountContainer() {\n if (this.domContainer && this.domContainer.parentNode) {\n this.domContainer.parentNode.removeChild(this.domContainer);\n\n if (window.ReactTesting) {\n window.ReactTesting.removeRenderContainer(this.rootId);\n }\n }\n }\n}\n"]}
@@ -6,7 +6,7 @@ export declare class RenderContainer extends React.Component<RenderContainerProp
6
6
  private domContainer;
7
7
  private readonly rootId;
8
8
  constructor(props: RenderContainerProps);
9
- UNSAFE_componentWillReceiveProps(nextProps: Readonly<RenderContainerProps>): void;
9
+ shouldComponentUpdate(nextProps: RenderContainerProps): boolean;
10
10
  componentWillUnmount(): void;
11
11
  render(): JSX.Element;
12
12
  private createContainer;
@@ -1,7 +1,6 @@
1
1
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
2
  import React from 'react';
3
- import ReactDOM from 'react-dom';
4
- import { CommonWrapper } from "../../CommonWrapper"; // Заглушка нужна для корректной гидрации порталов после SSR,
3
+ import ReactDOM from 'react-dom'; // Заглушка нужна для корректной гидрации порталов после SSR,
5
4
  // которую реакт сам пока не поддерживает.
6
5
  // @see https://github.com/facebook/react/issues/13097
7
6
  // А также для вставки актуального render-container-id на клиенте.
@@ -56,7 +55,7 @@ export var RenderInnerContainer = /*#__PURE__*/function (_React$Component) {
56
55
  key: "portal-ref",
57
56
  rt_rootID: rootId,
58
57
  container: domContainer
59
- }, /*#__PURE__*/React.createElement(CommonWrapper, this.props, children)));
58
+ }, children));
60
59
  }
61
60
 
62
61
  return inner;
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","CommonWrapper","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;;;AAGA,SAASC,aAAT,QAA8B,kBAA9B;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAA4C,GAAG,SAA/CA,MAA+C,OAAwC,KAArCC,SAAqC,QAArCA,SAAqC,CAA1BC,SAA0B,QAA1BA,SAA0B,CAAfC,QAAe,QAAfA,QAAe;AAClG;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGJ,QAAQ,CAACO,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,kCAAU,4BAA0BC,SAApC,GAAH,gBAAuD,oBAAC,cAAD,OAFnE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;AAGSC,EAAAA,MAHT,GAGE,kBAAgB;AACqC,SAAKC,KAD1C,CACNC,MADM,eACNA,MADM,CACEL,QADF,eACEA,QADF,CACYM,YADZ,eACYA,YADZ,CAC0BC,MAD1B,eAC0BA,MAD1B;AAEd,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACE,0BAAC,aAAD,EAAmB,KAAKF,KAAxB,EAAgCJ,QAAhC,CADF,CAFF,CADF;;;;AAQD;;AAED,WAAOQ,KAAP;AACD,GAnBH,+BAA0Cf,KAAK,CAACgB,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal: React.FunctionComponent<PortalProps> = ({ container, rt_rootID, children }) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n <CommonWrapper {...this.props}>{children}</CommonWrapper>\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n"]}
1
+ {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["React","ReactDOM","SSRPlaceholder","Portal","container","rt_rootID","children","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","Component","__KONTUR_REACT_UI__"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,WAArB;;;;;;;;;;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,gCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEA,OAAO,IAAMC,MAA4C,GAAG,SAA/CA,MAA+C,OAAwC,KAArCC,SAAqC,QAArCA,SAAqC,CAA1BC,SAA0B,QAA1BA,SAA0B,CAAfC,QAAe,QAAfA,QAAe;AAClG;AACA;AACE,wBAAC,KAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGH,QAAQ,CAACM,YAAT,CAAsBD,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,oBAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,kCAAU,4BAA0BC,SAApC,GAAH,gBAAuD,oBAAC,cAAD,OAFnE,CADF;;;AAMD,CARM;;AAUP,WAAaG,oBAAb;;;AAGSC,EAAAA,MAHT,GAGE,kBAAgB;AACqC,SAAKC,KAD1C,CACNC,MADM,eACNA,MADM,CACEL,QADF,eACEA,QADF,CACYM,YADZ,eACYA,YADZ,CAC0BC,MAD1B,eAC0BA,MAD1B;AAEd,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIL,QAAJ,EAAc;AACZQ,MAAAA,KAAK;AACH,0BAAC,KAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,0BAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACGN,MAAAA,QADH,CAFF,CADF;;;;AAQD;;AAED,WAAOQ,KAAP;AACD,GAnBH,+BAA0Cd,KAAK,CAACe,SAAhD,EAAaP,oB,CACGQ,mB,GAAsB,sB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal: React.FunctionComponent<PortalProps> = ({ container, rt_rootID, children }) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n {children}\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n"]}
@@ -1,9 +1,14 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
1
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
+
5
+ var _class, _class2, _temp;
6
+
2
7
  import React from 'react';
3
- import { findDOMNode } from 'react-dom';
4
8
  import { listen as listenFocusOutside, containsTargetOrRenderContainer } from "../../../lib/listenFocusOutside";
5
9
  import { CommonWrapper } from "../../CommonWrapper";
6
- export var RenderLayer = /*#__PURE__*/function (_React$Component) {
10
+ import { getRootNode, rootNode } from "../../../lib/rootNode";
11
+ export var RenderLayer = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
7
12
  _inheritsLoose(RenderLayer, _React$Component);
8
13
 
9
14
  function RenderLayer() {
@@ -15,6 +20,7 @@ export var RenderLayer = /*#__PURE__*/function (_React$Component) {
15
20
 
16
21
  _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
17
22
  _this.focusOutsideListenerToken = null;
23
+ _this.setRootNode = void 0;
18
24
 
19
25
  _this.handleFocusOutside = function (event) {
20
26
  if (_this.props.onFocusOutside) {
@@ -24,10 +30,9 @@ export var RenderLayer = /*#__PURE__*/function (_React$Component) {
24
30
 
25
31
  _this.handleNativeDocClick = function (event) {
26
32
  var target = event.target || event.srcElement;
33
+ var node = getRootNode(_assertThisInitialized(_this)) || getRootNode(_this.props.getAnchorElement == null ? void 0 : _this.props.getAnchorElement());
27
34
 
28
- var node = _this.getDomNode();
29
-
30
- if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {
35
+ if (!node || target instanceof Element && containsTargetOrRenderContainer(target)(node)) {
31
36
  return;
32
37
  }
33
38
 
@@ -64,14 +69,18 @@ export var RenderLayer = /*#__PURE__*/function (_React$Component) {
64
69
  };
65
70
 
66
71
  _proto.render = function render() {
67
- return /*#__PURE__*/React.createElement(CommonWrapper, this.props, React.Children.only(this.props.children));
72
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
73
+ rootNodeRef: this.setRootNode
74
+ }, this.props), React.Children.only(this.props.children));
68
75
  };
69
76
 
70
77
  _proto.attachListeners = function attachListeners() {
71
- var _this2 = this;
78
+ var _this$props$getAnchor, _this$props;
72
79
 
80
+ var rootNode = getRootNode(this) || ((_this$props$getAnchor = (_this$props = this.props).getAnchorElement) == null ? void 0 : _this$props$getAnchor.call(_this$props));
81
+ if (!rootNode) return;
73
82
  this.focusOutsideListenerToken = listenFocusOutside(function () {
74
- return [_this2.getDomNode()];
83
+ return [rootNode];
75
84
  }, this.handleFocusOutside);
76
85
  window.addEventListener('blur', this.handleFocusOutside);
77
86
  document.addEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);
@@ -87,14 +96,8 @@ export var RenderLayer = /*#__PURE__*/function (_React$Component) {
87
96
  document.removeEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);
88
97
  };
89
98
 
90
- _proto.getDomNode = function getDomNode() {
91
- return findDOMNode(this);
92
- };
93
-
94
99
  return RenderLayer;
95
- }(React.Component);
96
- RenderLayer.__KONTUR_REACT_UI__ = 'RenderLayer';
97
- RenderLayer.propTypes = {
100
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'RenderLayer', _class2.propTypes = {
98
101
  active: function active(props, propName, componentName) {
99
102
  var active = props.active,
100
103
  onClickOutside = props.onClickOutside,
@@ -104,7 +107,6 @@ RenderLayer.propTypes = {
104
107
  return new Error("[" + componentName + "]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.");
105
108
  }
106
109
  }
107
- };
108
- RenderLayer.defaultProps = {
110
+ }, _class2.defaultProps = {
109
111
  active: true
110
- };
112
+ }, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderLayer.tsx"],"names":["React","findDOMNode","listen","listenFocusOutside","containsTargetOrRenderContainer","CommonWrapper","RenderLayer","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getDomNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","Children","only","children","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n}\n\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps = {\n active: true,\n };\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentDidMount() {\n if (this.props.active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n if (!prevProps.active && this.props.active) {\n this.attachListeners();\n }\n if (prevProps.active && !this.props.active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.props.active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return <CommonWrapper {...this.props}>{React.Children.only(this.props.children)}</CommonWrapper>;\n }\n\n private attachListeners() {\n this.focusOutsideListenerToken = listenFocusOutside(() => [this.getDomNode()], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private getDomNode() {\n return findDOMNode(this) as HTMLElement;\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getDomNode();\n\n if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["RenderLayer.tsx"],"names":["React","listen","listenFocusOutside","containsTargetOrRenderContainer","CommonWrapper","getRootNode","rootNode","RenderLayer","focusOutsideListenerToken","setRootNode","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorElement","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","Children","only","children","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<HTMLElement>;\n}\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps = {\n active: true,\n };\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n if (!prevProps.active && this.props.active) {\n this.attachListeners();\n }\n if (prevProps.active && !this.props.active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.props.active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private attachListeners() {\n const rootNode = getRootNode(this) || this.props.getAnchorElement?.();\n if (!rootNode) return;\n this.focusOutsideListenerToken = listenFocusOutside(() => [rootNode], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this) || getRootNode(this.props.getAnchorElement?.());\n\n if (!node || (target instanceof Element && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
  import { CommonProps } from '../CommonWrapper';
3
+ import { Nullable } from '../../typings/utility-types';
3
4
  export interface RenderLayerProps extends CommonProps {
4
5
  children: JSX.Element;
5
6
  onClickOutside?: (e: Event) => void;
6
7
  onFocusOutside?: (e: Event) => void;
7
8
  active?: boolean;
9
+ getAnchorElement?: () => Nullable<HTMLElement>;
8
10
  }
9
11
  export declare class RenderLayer extends React.Component<RenderLayerProps> {
10
12
  static __KONTUR_REACT_UI__: string;
@@ -15,13 +17,13 @@ export declare class RenderLayer extends React.Component<RenderLayerProps> {
15
17
  active: boolean;
16
18
  };
17
19
  private focusOutsideListenerToken;
20
+ private setRootNode;
18
21
  componentDidMount(): void;
19
22
  componentDidUpdate(prevProps: RenderLayerProps): void;
20
23
  componentWillUnmount(): void;
21
24
  render(): JSX.Element;
22
25
  private attachListeners;
23
26
  private detachListeners;
24
- private getDomNode;
25
27
  private handleFocusOutside;
26
28
  private handleNativeDocClick;
27
29
  }
@@ -19,7 +19,6 @@ import { Tooltip } from "../../../components/Tooltip";
19
19
  import { Sticky } from "../../../components/Sticky";
20
20
  import { isTestEnv } from "../../../lib/currentEnvironment";
21
21
  import { cx } from "../../../lib/theming/Emotion";
22
- import { FileUploader } from "../../../components/FileUploader";
23
22
  import { ThemeType } from "../constants";
24
23
  import { TokenInputPlayground } from "../TokenInputPlayground";
25
24
  import { DatePickerPlayground } from "../AnotherInputsPlayground";
@@ -300,15 +299,6 @@ export var Playground = /*#__PURE__*/function (_React$Component) {
300
299
  }, /*#__PURE__*/React.createElement(PagingPlayground, null));
301
300
  };
302
301
 
303
- _this.renderFileUploader = function () {
304
- return /*#__PURE__*/React.createElement(ComponentsGroup, {
305
- title: 'FileUploader',
306
- theme: _this.theme
307
- }, /*#__PURE__*/React.createElement(FileUploader, {
308
- multiple: true
309
- }));
310
- };
311
-
312
302
  _this.renderStickyStopElement = function () {
313
303
  return /*#__PURE__*/React.createElement("div", {
314
304
  ref: _this.stopEl,
@@ -346,7 +336,7 @@ export var Playground = /*#__PURE__*/function (_React$Component) {
346
336
  }, this.renderTabsGroup(), this.renderSizesGroup(), this.renderLinksGroup(), this.renderButtonsGroup(), this.renderInputsGroup(), this.renderOtherInputsGroup(), this.renderTokenInputsGroup(), this.renderSwitchersGroup(), this.renderControlsGroup()), this.renderStickyStopElement(), /*#__PURE__*/React.createElement(Gapped, {
347
337
  vertical: true,
348
338
  gap: 50
349
- }, this.renderHintsGroup(), this.renderTooltip(), this.renderPaging(), this.renderFileUploader()));
339
+ }, this.renderHintsGroup(), this.renderTooltip(), this.renderPaging()));
350
340
  };
351
341
 
352
342
  _proto.renderTabs = function renderTabs() {