@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 +1 @@
1
- {"version":3,"sources":["Tooltip.tsx"],"names":["React","warning","isEqual","ThemeFactory","Popup","RenderLayer","CrossIcon","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","styles","Positions","Tooltip","state","opened","focused","theme","hoverTimeout","contentElement","positions","clickedOutside","renderContent","content","props","render","refContent","tooltipContent","renderCloseButton","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","UNSAFE_componentWillReceiveProps","nextProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getProps","popupProps","layerProps","active","anchorElement","children","popup","renderPopup","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","closeOnChildrenMouseLeave"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup, PopupPosition, PopupProps } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { styles } from './Tooltip.styles';\n\nconst Positions: PopupPosition[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n pos: PopupPosition;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n *\n * ```ts\n * type PopupPosition =\n * 'right bottom',\n * | 'right middle',\n * | 'right top',\n * | 'top right',\n * | 'top center',\n * | 'top left',\n * | 'left top',\n * | 'left middle',\n * | 'left bottom',\n * | 'bottom left',\n * | 'bottom center',\n * | 'bottom right'\n * ```\n */\n allowedPositions: PopupPosition[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps = {\n pos: 'top left',\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n closeOnChildrenMouseLeave: false,\n };\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPosition[]> = null;\n private clickedOutside = true;\n\n public UNSAFE_componentWillReceiveProps(nextProps: TooltipProps) {\n if (nextProps.trigger === 'closed') {\n this.close();\n }\n\n const { allowedPositions, pos } = this.props;\n const posChanged = nextProps.pos !== pos;\n const allowedChanged = !isEqual(nextProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (content == null) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) return;\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return <RenderLayer {...layerProps}>{popup}</RenderLayer>;\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n return (\n <CommonWrapper {...this.props}>\n <Popup\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={this.props.disableAnimations}\n positions={this.getPositions()}\n ignoreHover={this.props.trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const allowedPositions = this.props.allowedPositions;\n const index = allowedPositions.indexOf(this.props.pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && props.useWrapper;\n switch (props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + props.trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.props.trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (\n (this.props.trigger === 'hover&focus' && this.state.focused) ||\n (this.props.trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (this.props.trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n if (this.props.trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (this.props.trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}
1
+ {"version":3,"sources":["Tooltip.tsx"],"names":["React","warning","isEqual","ThemeFactory","DefaultPosition","Popup","RenderLayer","CrossIcon","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","getRootNode","rootNode","styles","Positions","Tooltip","state","opened","focused","theme","hoverTimeout","contentElement","positions","clickedOutside","setRootNode","renderContent","content","props","render","refContent","tooltipContent","renderCloseButton","getRenderLayerAnchorElement","node","open","setState","close","handleMouseEnter","event","isHoverAnchor","trigger","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getProps","popupProps","layerProps","active","anchorElement","children","popup","renderPopup","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","closeOnChildrenMouseLeave"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\n@rootNode\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n closeOnChildrenMouseLeave: false,\n };\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: TooltipProps) {\n if (this.props.trigger === 'closed' && this.state.opened) {\n this.close();\n }\n\n const { allowedPositions, pos } = this.props;\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (content == null) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger)\n : this.props.closeButton;\n\n if (!hasCross) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) return;\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getRenderLayerAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private getRenderLayerAnchorElement = () => {\n return getRootNode(this);\n };\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={this.props.disableAnimations}\n positions={this.getPositions()}\n ignoreHover={this.props.trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n tryPreserveFirstRenderedPosition\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const allowedPositions = this.props.allowedPositions;\n const index = allowedPositions.indexOf(this.props.pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && props.useWrapper;\n switch (props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + props.trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.props.trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (\n (this.props.trigger === 'hover&focus' && this.state.focused) ||\n (this.props.trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (this.props.trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n if (this.props.trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (this.props.trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PopupPosition } from '../../internal/Popup';
2
+ import { PopupPositionsType } from '../../internal/Popup';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export declare type TooltipTrigger =
@@ -41,7 +41,10 @@ export interface TooltipProps extends CommonProps {
41
41
  * Если эта функция вернула `null`, то тултип не показывается.
42
42
  */
43
43
  render?: Nullable<() => React.ReactNode>;
44
- pos: PopupPosition;
44
+ /**
45
+ * Значение по умолчанию: `"top left"`.
46
+ */
47
+ pos: PopupPositionsType;
45
48
  /**
46
49
  * Триггер открытия тултипа
47
50
  * ```ts
@@ -80,24 +83,8 @@ export interface TooltipProps extends CommonProps {
80
83
  * будет выходить за край экрана, то будет выбрана
81
84
  * следующая позиция. Обязательно должен включать
82
85
  * позицию указанную в `pos`
83
- *
84
- * ```ts
85
- * type PopupPosition =
86
- * 'right bottom',
87
- * | 'right middle',
88
- * | 'right top',
89
- * | 'top right',
90
- * | 'top center',
91
- * | 'top left',
92
- * | 'left top',
93
- * | 'left middle',
94
- * | 'left bottom',
95
- * | 'bottom left',
96
- * | 'bottom center',
97
- * | 'bottom right'
98
- * ```
99
86
  */
100
- allowedPositions: PopupPosition[];
87
+ allowedPositions: PopupPositionsType[];
101
88
  /**
102
89
  * Флаг отключения анимации.
103
90
  * @default false
@@ -120,9 +107,9 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
120
107
  children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
121
108
  };
122
109
  static defaultProps: {
123
- pos: string;
110
+ pos: "top left";
124
111
  trigger: string;
125
- allowedPositions: PopupPosition[];
112
+ allowedPositions: ("top left" | "top center" | "top right" | "right top" | "right middle" | "right bottom" | "bottom right" | "bottom center" | "bottom left" | "left bottom" | "left middle" | "left top")[];
126
113
  disableAnimations: boolean;
127
114
  useWrapper: boolean;
128
115
  closeOnChildrenMouseLeave: boolean;
@@ -135,7 +122,8 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
135
122
  private contentElement;
136
123
  private positions;
137
124
  private clickedOutside;
138
- UNSAFE_componentWillReceiveProps(nextProps: TooltipProps): void;
125
+ private setRootNode;
126
+ componentDidUpdate(prevProps: TooltipProps): void;
139
127
  componentWillUnmount(): void;
140
128
  render(): JSX.Element;
141
129
  renderContent: () => JSX.Element | null;
@@ -153,6 +141,7 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
153
141
  */
154
142
  hide(): void;
155
143
  private renderMain;
144
+ private getRenderLayerAnchorElement;
156
145
  private renderPopup;
157
146
  private refContent;
158
147
  private getPositions;
@@ -1,29 +1,35 @@
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 { ThemeFactory } from "../../../lib/theming/ThemeFactory";
4
8
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
5
9
  import { PopupMenu } from "../../../internal/PopupMenu";
6
10
  import { isProductionEnv, isTestEnv } from "../../../lib/currentEnvironment";
7
11
  import { CommonWrapper } from "../../../internal/CommonWrapper";
12
+ import { rootNode } from "../../../lib/rootNode";
13
+ export
8
14
  /**
9
- * Меню, раскрывающееся по клику на переданный в `caption` элемент.
10
- *
11
- * Положение меню задаётся с помощью массива `positions` и работает так:
12
- * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,
13
- * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.
14
- *
15
- * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.
16
- *
17
- * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.
18
- */
19
-
20
- export var TooltipMenu = /*#__PURE__*/function (_React$Component) {
15
+ * Меню, раскрывающееся по клику на переданный в `caption` элемент.
16
+ *
17
+ * Положение меню задаётся с помощью массива `positions` и работает так:
18
+ * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,
19
+ * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.
20
+ *
21
+ * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.
22
+ *
23
+ * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.
24
+ */
25
+ var TooltipMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
21
26
  _inheritsLoose(TooltipMenu, _React$Component);
22
27
 
23
28
  function TooltipMenu(props) {
24
29
  var _this;
25
30
 
26
31
  _this = _React$Component.call(this, props) || this;
32
+ _this.setRootNode = void 0;
27
33
 
28
34
  if (!props.caption && !isProductionEnv) {
29
35
  throw new Error('Prop "caption" is required!!!');
@@ -53,7 +59,9 @@ export var TooltipMenu = /*#__PURE__*/function (_React$Component) {
53
59
  return null;
54
60
  }
55
61
 
56
- return /*#__PURE__*/React.createElement(CommonWrapper, this.props, /*#__PURE__*/React.createElement(PopupMenu, {
62
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
63
+ rootNodeRef: this.setRootNode
64
+ }, this.props), /*#__PURE__*/React.createElement(PopupMenu, {
57
65
  menuMaxHeight: this.props.menuMaxHeight,
58
66
  menuWidth: this.props.menuWidth,
59
67
  caption: this.props.caption,
@@ -66,8 +74,6 @@ export var TooltipMenu = /*#__PURE__*/function (_React$Component) {
66
74
  };
67
75
 
68
76
  return TooltipMenu;
69
- }(React.Component);
70
- TooltipMenu.__KONTUR_REACT_UI__ = 'TooltipMenu';
71
- TooltipMenu.defaultProps = {
77
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'TooltipMenu', _class2.defaultProps = {
72
78
  disableAnimations: isTestEnv
73
- };
79
+ }, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["TooltipMenu.tsx"],"names":["React","ThemeFactory","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","TooltipMenu","props","caption","Error","render","theme","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","menuMaxHeight","menuWidth","header","footer","positions","disableAnimations","children","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,SAAT,QAA0C,0BAA1C;;AAEA,SAASC,eAAT,EAA0BC,SAA1B,QAA2C,8BAA3C;;;AAGA,SAAsBC,aAAtB,QAA2C,8BAA3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAaC,WAAb;;;;;;AAME,uBAAYC,KAAZ,EAAqC;AACnC,wCAAMA,KAAN;;AAEA,QAAI,CAACA,KAAK,CAACC,OAAP,IAAkB,CAACL,eAAvB,EAAwC;AACtC,YAAM,IAAIM,KAAJ,CAAU,+BAAV,CAAN;AACD,KALkC;AAMpC,GAZH;;AAcSC,EAAAA,MAdT,GAcE,kBAAgB;AACd;AACE,0BAAC,YAAD,CAAc,QAAd;AACG,gBAACC,KAAD,EAAW;AACV;AACE,8BAAC,YAAD,CAAc,QAAd;AACE,YAAA,KAAK,EAAEX,YAAY,CAACY,MAAb;AACL;AACEC,cAAAA,cAAc,EAAEF,KAAK,CAACG,oBADxB;AAEEC,cAAAA,WAAW,EAAEJ,KAAK,CAACK,iBAFrB;AAGEC,cAAAA,YAAY,EAAEN,KAAK,CAACO,kBAHtB,EADK;;AAMLP,YAAAA,KANK,CADT;;;AAUG,UAAA,MAAI,CAACQ,UAAL,EAVH,CADF;;;AAcD,OAhBH,CADF;;;AAoBD,GAnCH;;AAqCSA,EAAAA,UArCT,GAqCE,sBAAoB;AAClB,QAAI,CAAC,KAAKZ,KAAL,CAAWC,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED;AACE,0BAAC,aAAD,EAAmB,KAAKD,KAAxB;AACE,0BAAC,SAAD;AACE,QAAA,aAAa,EAAE,KAAKA,KAAL,CAAWa,aAD5B;AAEE,QAAA,SAAS,EAAE,KAAKb,KAAL,CAAWc,SAFxB;AAGE,QAAA,OAAO,EAAE,KAAKd,KAAL,CAAWC,OAHtB;AAIE,QAAA,MAAM,EAAE,KAAKD,KAAL,CAAWe,MAJrB;AAKE,QAAA,MAAM,EAAE,KAAKf,KAAL,CAAWgB,MALrB;AAME,QAAA,SAAS,EAAE,KAAKhB,KAAL,CAAWiB,SANxB;AAOE,QAAA,WAAW,EAAE,IAPf;AAQE,QAAA,iBAAiB,EAAE,KAAKjB,KAAL,CAAWkB,iBARhC;;AAUG,WAAKlB,KAAL,CAAWmB,QAVd,CADF,CADF;;;;AAgBD,GA1DH,sBAAiC3B,KAAK,CAAC4B,SAAvC,EAAarB,W,CACGsB,mB,GAAsB,a,CADzBtB,W,CAGGuB,Y,GAAe,EAC3BJ,iBAAiB,EAAErB,SADQ,E","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPosition } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;\n\nexport interface TooltipMenuProps extends CommonProps {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPosition[];\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n };\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n return (\n <CommonWrapper {...this.props}>\n <PopupMenu\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n positions={this.props.positions}\n popupHasPin={true}\n disableAnimations={this.props.disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["TooltipMenu.tsx"],"names":["React","ThemeFactory","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","TooltipMenu","props","setRootNode","caption","Error","render","theme","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","menuMaxHeight","menuWidth","header","footer","positions","disableAnimations","children","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"2JAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,SAAT,QAA0C,0BAA1C;;AAEA,SAASC,eAAT,EAA0BC,SAA1B,QAA2C,8BAA3C;;;AAGA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,QAAT,QAAuC,oBAAvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,OAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEA,IAAaC,WAAb,GADCD,QACD,qHAOE,qBAAYE,KAAZ,EAAqC,WACnC,oCAAMA,KAAN,UADmC,MAL7BC,WAK6B,UAGnC,IAAI,CAACD,KAAK,CAACE,OAAP,IAAkB,CAACP,eAAvB,EAAwC;AACtC,YAAM,IAAIQ,KAAJ,CAAU,+BAAV,CAAN;AACD,KALkC;AAMpC,GAbH;;AAeSC,EAAAA,MAfT,GAeE,kBAAgB;AACd;AACE,0BAAC,YAAD,CAAc,QAAd;AACG,gBAACC,KAAD,EAAW;AACV;AACE,8BAAC,YAAD,CAAc,QAAd;AACE,YAAA,KAAK,EAAEb,YAAY,CAACc,MAAb;AACL;AACEC,cAAAA,cAAc,EAAEF,KAAK,CAACG,oBADxB;AAEEC,cAAAA,WAAW,EAAEJ,KAAK,CAACK,iBAFrB;AAGEC,cAAAA,YAAY,EAAEN,KAAK,CAACO,kBAHtB,EADK;;AAMLP,YAAAA,KANK,CADT;;;AAUG,UAAA,MAAI,CAACQ,UAAL,EAVH,CADF;;;AAcD,OAhBH,CADF;;;AAoBD,GApCH;;AAsCSA,EAAAA,UAtCT,GAsCE,sBAAoB;AAClB,QAAI,CAAC,KAAKb,KAAL,CAAWE,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED;AACE,0BAAC,aAAD,aAAe,WAAW,EAAE,KAAKD,WAAjC,IAAkD,KAAKD,KAAvD;AACE,0BAAC,SAAD;AACE,QAAA,aAAa,EAAE,KAAKA,KAAL,CAAWc,aAD5B;AAEE,QAAA,SAAS,EAAE,KAAKd,KAAL,CAAWe,SAFxB;AAGE,QAAA,OAAO,EAAE,KAAKf,KAAL,CAAWE,OAHtB;AAIE,QAAA,MAAM,EAAE,KAAKF,KAAL,CAAWgB,MAJrB;AAKE,QAAA,MAAM,EAAE,KAAKhB,KAAL,CAAWiB,MALrB;AAME,QAAA,SAAS,EAAE,KAAKjB,KAAL,CAAWkB,SANxB;AAOE,QAAA,WAAW,EAAE,IAPf;AAQE,QAAA,iBAAiB,EAAE,KAAKlB,KAAL,CAAWmB,iBARhC;;AAUG,WAAKnB,KAAL,CAAWoB,QAVd,CADF,CADF;;;;AAgBD,GA3DH,sBAAiC7B,KAAK,CAAC8B,SAAvC,WACgBC,mBADhB,GACsC,aADtC,UAIgBC,YAJhB,GAI+B,EAC3BJ,iBAAiB,EAAEvB,SADQ,EAJ/B","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;\n\nexport interface TooltipMenuProps extends CommonProps {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPositionsType[];\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n private setRootNode!: TSetRootNode;\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n };\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n positions={this.props.positions}\n popupHasPin={true}\n disableAnimations={this.props.disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { PopupMenuProps } from '../../internal/PopupMenu';
3
3
  import { MenuItemProps } from '../MenuItem';
4
4
  import { MenuHeaderProps } from '../MenuHeader';
5
- import { PopupPosition } from '../../internal/Popup';
5
+ import { PopupPositionsType } from '../../internal/Popup';
6
6
  import { CommonProps } from '../../internal/CommonWrapper';
7
7
  export declare type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;
8
8
  export interface TooltipMenuProps extends CommonProps {
@@ -36,7 +36,7 @@ export interface TooltipMenuProps extends CommonProps {
36
36
  *
37
37
  * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
38
38
  */
39
- positions?: PopupPosition[];
39
+ positions?: PopupPositionsType[];
40
40
  /**
41
41
  * Не показывать анимацию
42
42
  */
@@ -55,6 +55,7 @@ export interface TooltipMenuProps extends CommonProps {
55
55
  */
56
56
  export declare class TooltipMenu extends React.Component<TooltipMenuProps> {
57
57
  static __KONTUR_REACT_UI__: string;
58
+ private setRootNode;
58
59
  static defaultProps: {
59
60
  disableAnimations: boolean;
60
61
  };
package/index.d.ts CHANGED
@@ -9,7 +9,6 @@ export * from './components/DateInput';
9
9
  export * from './components/DatePicker';
10
10
  export * from './components/Dropdown';
11
11
  export * from './components/DropdownMenu';
12
- export * from './components/FileUploader';
13
12
  export * from './components/FxInput';
14
13
  export * from './components/Gapped';
15
14
  export * from './components/Group';
@@ -47,3 +46,4 @@ export * from './lib/theming/themes/DefaultThemeOld';
47
46
  export * from './lib/theming/themes/DefaultTheme';
48
47
  export * from './lib/theming/themes/FlatThemeOld';
49
48
  export * from './lib/theming/themes/FlatTheme';
49
+ export * from './internal/Popup/types';
package/index.js CHANGED
@@ -9,7 +9,6 @@ export * from './components/DateInput';
9
9
  export * from './components/DatePicker';
10
10
  export * from './components/Dropdown';
11
11
  export * from './components/DropdownMenu';
12
- export * from './components/FileUploader';
13
12
  export * from './components/FxInput';
14
13
  export * from './components/Gapped';
15
14
  export * from './components/Group';
@@ -46,4 +45,5 @@ export * from './lib/theming/ThemeFactory';
46
45
  export * from './lib/theming/themes/DefaultThemeOld';
47
46
  export * from './lib/theming/themes/DefaultTheme';
48
47
  export * from './lib/theming/themes/FlatThemeOld';
49
- export * from './lib/theming/themes/FlatTheme';
48
+ export * from './lib/theming/themes/FlatTheme';
49
+ export * from './internal/Popup/types';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,qBAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,4BAAd;AACA,cAAc,wBAAd;AACA,cAAc,yBAAd;AACA,cAAc,uBAAd;AACA,cAAc,2BAAd;AACA,cAAc,2BAAd;AACA,cAAc,sBAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd;AACA,cAAc,mBAAd;AACA,cAAc,oBAAd;AACA,cAAc,oBAAd;AACA,cAAc,mBAAd;AACA,cAAc,qBAAd;AACA,cAAc,yBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,qBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,yBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,sBAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,mBAAd;AACA,cAAc,uBAAd;AACA,cAAc,oBAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd;AACA,cAAc,yBAAd;AACA,cAAc,sBAAd;AACA,cAAc,0BAAd;AACA,cAAc,cAAd;AACA,cAAc,4BAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,mCAAd;AACA,cAAc,mCAAd;AACA,cAAc,gCAAd","sourcesContent":["export * from './components/Autocomplete';\nexport * from './components/Button';\nexport * from './components/Center';\nexport * from './components/Checkbox';\nexport * from './components/ComboBox';\nexport * from './components/CurrencyInput';\nexport * from './components/CurrencyLabel';\nexport * from './components/DateInput';\nexport * from './components/DatePicker';\nexport * from './components/Dropdown';\nexport * from './components/DropdownMenu';\nexport * from './components/FileUploader';\nexport * from './components/FxInput';\nexport * from './components/Gapped';\nexport * from './components/Group';\nexport * from './components/Hint';\nexport * from './components/Input';\nexport * from './components/Kebab';\nexport * from './components/Link';\nexport * from './components/Loader';\nexport * from './components/MenuHeader';\nexport * from './components/MenuItem';\nexport * from './components/MenuSeparator';\nexport * from './components/Modal';\nexport * from './components/Paging';\nexport * from './components/PasswordInput';\nexport * from './components/Radio';\nexport * from './components/RadioGroup';\nexport * from './components/ScrollContainer';\nexport * from './components/Select';\nexport * from './components/SidePage';\nexport * from './components/Spinner';\nexport * from './components/Sticky';\nexport * from './components/Switcher';\nexport * from './components/Tabs';\nexport * from './components/Textarea';\nexport * from './components/Toast';\nexport * from './components/Toggle';\nexport * from './components/Token';\nexport * from './components/TokenInput';\nexport * from './components/Tooltip';\nexport * from './components/TooltipMenu';\nexport * from './lib/locale';\nexport * from './lib/theming/ThemeContext';\nexport * from './lib/theming/ThemeFactory';\nexport * from './lib/theming/themes/DefaultThemeOld';\nexport * from './lib/theming/themes/DefaultTheme';\nexport * from './lib/theming/themes/FlatThemeOld';\nexport * from './lib/theming/themes/FlatTheme';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,qBAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,4BAAd;AACA,cAAc,wBAAd;AACA,cAAc,yBAAd;AACA,cAAc,uBAAd;AACA,cAAc,2BAAd;AACA,cAAc,sBAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd;AACA,cAAc,mBAAd;AACA,cAAc,oBAAd;AACA,cAAc,oBAAd;AACA,cAAc,mBAAd;AACA,cAAc,qBAAd;AACA,cAAc,yBAAd;AACA,cAAc,uBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,qBAAd;AACA,cAAc,4BAAd;AACA,cAAc,oBAAd;AACA,cAAc,yBAAd;AACA,cAAc,8BAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,sBAAd;AACA,cAAc,qBAAd;AACA,cAAc,uBAAd;AACA,cAAc,mBAAd;AACA,cAAc,uBAAd;AACA,cAAc,oBAAd;AACA,cAAc,qBAAd;AACA,cAAc,oBAAd;AACA,cAAc,yBAAd;AACA,cAAc,sBAAd;AACA,cAAc,0BAAd;AACA,cAAc,cAAd;AACA,cAAc,4BAAd;AACA,cAAc,4BAAd;AACA,cAAc,sCAAd;AACA,cAAc,mCAAd;AACA,cAAc,mCAAd;AACA,cAAc,gCAAd;AACA,cAAc,wBAAd","sourcesContent":["export * from './components/Autocomplete';\nexport * from './components/Button';\nexport * from './components/Center';\nexport * from './components/Checkbox';\nexport * from './components/ComboBox';\nexport * from './components/CurrencyInput';\nexport * from './components/CurrencyLabel';\nexport * from './components/DateInput';\nexport * from './components/DatePicker';\nexport * from './components/Dropdown';\nexport * from './components/DropdownMenu';\nexport * from './components/FxInput';\nexport * from './components/Gapped';\nexport * from './components/Group';\nexport * from './components/Hint';\nexport * from './components/Input';\nexport * from './components/Kebab';\nexport * from './components/Link';\nexport * from './components/Loader';\nexport * from './components/MenuHeader';\nexport * from './components/MenuItem';\nexport * from './components/MenuSeparator';\nexport * from './components/Modal';\nexport * from './components/Paging';\nexport * from './components/PasswordInput';\nexport * from './components/Radio';\nexport * from './components/RadioGroup';\nexport * from './components/ScrollContainer';\nexport * from './components/Select';\nexport * from './components/SidePage';\nexport * from './components/Spinner';\nexport * from './components/Sticky';\nexport * from './components/Switcher';\nexport * from './components/Tabs';\nexport * from './components/Textarea';\nexport * from './components/Toast';\nexport * from './components/Toggle';\nexport * from './components/Token';\nexport * from './components/TokenInput';\nexport * from './components/Tooltip';\nexport * from './components/TooltipMenu';\nexport * from './lib/locale';\nexport * from './lib/theming/ThemeContext';\nexport * from './lib/theming/ThemeFactory';\nexport * from './lib/theming/themes/DefaultThemeOld';\nexport * from './lib/theming/themes/DefaultTheme';\nexport * from './lib/theming/themes/FlatThemeOld';\nexport * from './lib/theming/themes/FlatTheme';\nexport * from './internal/Popup/types';\n"]}
@@ -1,14 +1,38 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
+
5
+ var _class, _temp;
6
+
4
7
  import React from 'react';
5
- import { isFunction } from "../../../lib/utils";
8
+ import { isFunction, isRefableElement } from "../../../lib/utils";
6
9
  import { cx } from "../../../lib/theming/Emotion";
7
- export var CommonWrapper = /*#__PURE__*/function (_React$Component) {
10
+ import { getRootNode, rootNode } from "../../../lib/rootNode";
11
+ import { callChildRef } from "../../../lib/callChildRef/callChildRef";
12
+ export var CommonWrapper = rootNode(_class = (_temp = /*#__PURE__*/function (_React$Component) {
8
13
  _inheritsLoose(CommonWrapper, _React$Component);
9
14
 
10
15
  function CommonWrapper() {
11
- return _React$Component.apply(this, arguments) || this;
16
+ var _this;
17
+
18
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
+ args[_key] = arguments[_key];
20
+ }
21
+
22
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
23
+ _this.child = void 0;
24
+ _this.setRootNode = void 0;
25
+
26
+ _this.ref = function (instance) {
27
+ var childAsAny = _this.child;
28
+ childAsAny && callChildRef(childAsAny.ref, instance);
29
+
30
+ _this.setRootNode(instance);
31
+
32
+ _this.props.rootNodeRef == null ? void 0 : _this.props.rootNodeRef(getRootNode(instance));
33
+ };
34
+
35
+ return _this;
12
36
  }
13
37
 
14
38
  var _proto = CommonWrapper.prototype;
@@ -18,20 +42,22 @@ export var CommonWrapper = /*#__PURE__*/function (_React$Component) {
18
42
  _extractCommonProps$ = _extractCommonProps[0],
19
43
  className = _extractCommonProps$.className,
20
44
  style = _extractCommonProps$.style,
21
- dataProps = _objectWithoutPropertiesLoose(_extractCommonProps$, ["className", "style"]),
45
+ rootNodeRef = _extractCommonProps$.rootNodeRef,
46
+ dataProps = _objectWithoutPropertiesLoose(_extractCommonProps$, ["className", "style", "rootNodeRef"]),
22
47
  _extractCommonProps$2 = _extractCommonProps[1],
23
48
  children = _extractCommonProps$2.children,
24
49
  rest = _objectWithoutPropertiesLoose(_extractCommonProps$2, ["children"]);
25
50
 
26
- var child = isFunction(children) ? children(rest) : children;
27
- return /*#__PURE__*/React.isValidElement(child) ? /*#__PURE__*/React.cloneElement(child, _extends({
28
- className: cx(child.props.className, className),
29
- style: _extends({}, child.props.style, style)
30
- }, dataProps)) : child;
51
+ this.child = isFunction(children) ? children(rest) : children;
52
+ return /*#__PURE__*/React.isValidElement(this.child) ? /*#__PURE__*/React.cloneElement(this.child, _extends({
53
+ ref: isRefableElement(this.child) ? this.ref : null,
54
+ className: cx(this.child.props.className, className),
55
+ style: _extends({}, this.child.props.style, style)
56
+ }, dataProps)) : this.child;
31
57
  };
32
58
 
33
59
  return CommonWrapper;
34
- }(React.Component);
60
+ }(React.Component), _temp)) || _class;
35
61
 
36
62
  var extractCommonProps = function extractCommonProps(props) {
37
63
  var common = {};
@@ -54,6 +80,7 @@ var isCommonProp = function isCommonProp(name) {
54
80
  switch (true) {
55
81
  case name == 'className':
56
82
  case name == 'style':
83
+ case name == 'rootNodeRef':
57
84
  case name.indexOf('data-') === 0:
58
85
  // все data-атрибуты
59
86
  return true;
@@ -1 +1 @@
1
- {"version":3,"sources":["CommonWrapper.tsx"],"names":["React","isFunction","cx","CommonWrapper","render","extractCommonProps","props","className","style","dataProps","children","rest","child","isValidElement","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"oOAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,EAAT,QAAmB,2BAAnB;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,WAAaC,aAAb;AACEC,EAAAA,MADF,GACE,kBAAS;AAC6DC,IAAAA,kBAAkB,CAAC,KAAKC,KAAN,CAD/E,+CACEC,SADF,wBACEA,SADF,CACaC,KADb,wBACaA,KADb,CACuBC,SADvB,8HACsCC,QADtC,yBACsCA,QADtC,CACmDC,IADnD;AAEP,QAAMC,KAAK,GAAGX,UAAU,CAACS,QAAD,CAAV,GAAuBA,QAAQ,CAACC,IAAD,CAA/B,GAAwCD,QAAtD;;AAEA,WAAO,aAAAV,KAAK,CAACa,cAAN,CAAkCD,KAAlC;AACHZ,IAAAA,KAAK,CAACc,YAAN,CAAmBF,KAAnB;AACEL,MAAAA,SAAS,EAAEL,EAAE,CAACU,KAAK,CAACN,KAAN,CAAYC,SAAb,EAAwBA,SAAxB,CADf;AAEEC,MAAAA,KAAK;AACAI,MAAAA,KAAK,CAACN,KAAN,CAAYE,KADZ;AAEAA,MAAAA,KAFA,CAFP;;AAMKC,IAAAA,SANL,EADG;;AASHG,IAAAA,KATJ;AAUD,GAfH,wBAA0DZ,KAAK,CAACe,SAAhE;;;AAkBA,IAAMV,kBAAkB,GAAG,SAArBA,kBAAqB,CAAwBC,KAAxB,EAAuE;AAChG,MAAMU,MAAM,GAAG,EAAf;AACA,MAAML,IAAI,GAAG,EAAb;;AAEA,OAAK,IAAMM,GAAX,IAAkBX,KAAlB,EAAyB;AACvB,QAAIY,YAAY,CAACD,GAAD,CAAhB,EAAuB;AACrB;AACAD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcX,KAAK,CAACW,GAAD,CAAnB;AACD,KAHD,MAGO;AACL;AACAN,MAAAA,IAAI,CAACM,GAAD,CAAJ,GAAYX,KAAK,CAACW,GAAD,CAAjB;AACD;AACF;;AAED,SAAO,CAACD,MAAD,EAASL,IAAT,CAAP;AACD,CAfD;;AAiBA,IAAMO,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAkB;AACrC,UAAQ,IAAR;AACE,SAAKA,IAAI,IAAI,WAAb;AACA,SAAKA,IAAI,IAAI,OAAb;AACA,SAAKA,IAAI,CAACC,OAAL,CAAa,OAAb,MAA0B,CAA/B,EAAkC;AAChC,aAAO,IAAP;AACF;AACE,aAAO,KAAP,CANJ;;AAQD,CATD","sourcesContent":["import React from 'react';\n\nimport { isFunction } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\n\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n\nexport class CommonWrapper<P extends CommonProps> extends React.Component<CommonWrapperProps<P>> {\n render() {\n const [{ className, style, ...dataProps }, { children, ...rest }] = extractCommonProps(this.props);\n const child = isFunction(children) ? children(rest) : children;\n\n return React.isValidElement<CommonProps>(child)\n ? React.cloneElement(child, {\n className: cx(child.props.className, className),\n style: {\n ...child.props.style,\n ...style,\n },\n ...dataProps,\n })\n : child;\n }\n}\n\nconst extractCommonProps = <P extends CommonProps>(props: P): [CommonProps, NotCommonProps<P>] => {\n const common = {} as CommonProps;\n const rest = {} as NotCommonProps<P>;\n\n for (const key in props) {\n if (isCommonProp(key)) {\n // @ts-ignore\n common[key] = props[key];\n } else {\n // @ts-ignore\n rest[key] = props[key];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (name: string) => {\n switch (true) {\n case name == 'className':\n case name == 'style':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
1
+ {"version":3,"sources":["CommonWrapper.tsx"],"names":["React","isFunction","isRefableElement","cx","getRootNode","rootNode","callChildRef","CommonWrapper","child","setRootNode","ref","instance","childAsAny","props","rootNodeRef","render","extractCommonProps","className","style","dataProps","children","rest","isValidElement","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"sPAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,UAAT,EAAqBC,gBAArB,QAA6C,iBAA7C;AACA,SAASC,EAAT,QAAmB,2BAAnB;;AAEA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,YAAT,QAA6B,qCAA7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,WAAaC,aAAb,GADCF,QACD;;;AAGUG,IAAAA,KAHV;AAIUC,IAAAA,WAJV;;;;;;;;;;;;;;;;;;AAsBUC,IAAAA,GAtBV,GAsBgB,UAACC,QAAD,EAA6C;AACzD,UAAMC,UAAU,GAAG,MAAKJ,KAAxB;AACAI,MAAAA,UAAU,IAAIN,YAAY,CAACM,UAAU,CAACF,GAAZ,EAAiBC,QAAjB,CAA1B;AACA,YAAKF,WAAL,CAAiBE,QAAjB;AACA,YAAKE,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyBV,WAAW,CAACO,QAAD,CAApC;AACD,KA3BH,2DAMEI,MANF,GAME,kBAAS,2BAC0EC,kBAAkB,CAAC,KAAKH,KAAN,CAD5F,+CACEI,SADF,wBACEA,SADF,CACaC,KADb,wBACaA,KADb,CACoBJ,WADpB,wBACoBA,WADpB,CACoCK,SADpC,6IACmDC,QADnD,yBACmDA,QADnD,CACgEC,IADhE,sEAEP,KAAKb,KAAL,GAAaP,UAAU,CAACmB,QAAD,CAAV,GAAuBA,QAAQ,CAACC,IAAD,CAA/B,GAAwCD,QAArD,CACA,OAAO,aAAApB,KAAK,CAACsB,cAAN,CAA6D,KAAKd,KAAlE,iBACHR,KAAK,CAACuB,YAAN,CAAmB,KAAKf,KAAxB,aACEE,GAAG,EAAER,gBAAgB,CAAC,KAAKM,KAAN,CAAhB,GAA+B,KAAKE,GAApC,GAA0C,IADjD,EAEEO,SAAS,EAAEd,EAAE,CAAC,KAAKK,KAAL,CAAWK,KAAX,CAAiBI,SAAlB,EAA6BA,SAA7B,CAFf,EAGEC,KAAK,eACA,KAAKV,KAAL,CAAWK,KAAX,CAAiBK,KADjB,EAEAA,KAFA,CAHP,IAOKC,SAPL,EADG,GAUH,KAAKX,KAVT,CAWD,CApBH,wBAAmFR,KAAK,CAACwB,SAAzF;;;AA8BA,IAAMR,kBAAkB,GAAG,SAArBA,kBAAqB;AACzBH,KADyB;AAEqC;AAC9D,MAAMY,MAAM,GAAG,EAAf;AACA,MAAMJ,IAAI,GAAG,EAAb;;AAEA,OAAK,IAAMK,GAAX,IAAkBb,KAAlB,EAAyB;AACvB,QAAIc,YAAY,CAACD,GAAD,CAAhB,EAAuB;AACrB;AACAD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcb,KAAK,CAACa,GAAD,CAAnB;AACD,KAHD,MAGO;AACL;AACAL,MAAAA,IAAI,CAACK,GAAD,CAAJ,GAAYb,KAAK,CAACa,GAAD,CAAjB;AACD;AACF;;AAED,SAAO,CAACD,MAAD,EAASJ,IAAT,CAAP;AACD,CAjBD;;AAmBA,IAAMM,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAkB;AACrC,UAAQ,IAAR;AACE,SAAKA,IAAI,IAAI,WAAb;AACA,SAAKA,IAAI,IAAI,OAAb;AACA,SAAKA,IAAI,IAAI,aAAb;AACA,SAAKA,IAAI,CAACC,OAAL,CAAa,OAAb,MAA0B,CAA/B,EAAkC;AAChC,aAAO,IAAP;AACF;AACE,aAAO,KAAP,CAPJ;;AASD,CAVD","sourcesContent":["import React from 'react';\n\nimport { isFunction, isRefableElement } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n}\n\ninterface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<HTMLElement>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\n\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n\n@rootNode\nexport class CommonWrapper<P extends CommonProps & CommonPropsRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n private child: React.ReactNode;\n private setRootNode!: TSetRootNode;\n\n render() {\n const [{ className, style, rootNodeRef, ...dataProps }, { children, ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, {\n ref: isRefableElement(this.child) ? this.ref : null,\n className: cx(this.child.props.className, className),\n style: {\n ...this.child.props.style,\n ...style,\n },\n ...dataProps,\n })\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n const childAsAny = this.child as any;\n childAsAny && callChildRef(childAsAny.ref, instance);\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n };\n}\n\nconst extractCommonProps = <P extends CommonProps & CommonPropsRootNodeRef>(\n props: P,\n): [CommonProps & CommonPropsRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonProps & CommonPropsRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const key in props) {\n if (isCommonProp(key)) {\n // @ts-ignore\n common[key] = props[key];\n } else {\n // @ts-ignore\n rest[key] = props[key];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (name: string) => {\n switch (true) {\n case name == 'className':\n case name == 'style':\n case name == 'rootNodeRef':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { Nullable } from '../../typings/utility-types';
2
3
  export interface CommonProps {
3
4
  /**
4
5
  * HTML-атрибут `class`.
@@ -13,11 +14,18 @@ export interface CommonProps {
13
14
  */
14
15
  'data-tid'?: string;
15
16
  }
17
+ interface CommonPropsRootNodeRef {
18
+ rootNodeRef?: (instance: Nullable<HTMLElement>) => void;
19
+ }
16
20
  export declare type NotCommonProps<P> = Omit<P, keyof CommonProps>;
17
21
  export declare type CommonWrapperProps<P> = P & {
18
22
  children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);
19
23
  };
20
24
  export declare type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;
21
- export declare class CommonWrapper<P extends CommonProps> extends React.Component<CommonWrapperProps<P>> {
25
+ export declare class CommonWrapper<P extends CommonProps & CommonPropsRootNodeRef> extends React.Component<CommonWrapperProps<P> & CommonPropsRootNodeRef> {
26
+ private child;
27
+ private setRootNode;
22
28
  render(): React.ReactNode;
29
+ private ref;
23
30
  }
31
+ export {};
@@ -4,7 +4,6 @@ var _dec, _class, _class2, _temp;
4
4
 
5
5
  import React, { Component } from 'react';
6
6
  import { locale } from "../../../lib/locale/decorators";
7
- import { isReactUINode } from "../../../lib/utils";
8
7
  import { Menu } from "../../Menu";
9
8
  import { MenuItem } from "../../../components/MenuItem";
10
9
  import { Spinner } from "../../../components/Spinner";
@@ -135,9 +134,12 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
135
134
  }
136
135
 
137
136
  var total = null;
138
- var renderedItems = items && items.map(this.renderItem);
137
+ var renderedItems = items && items.map(this.renderItem); // @ts-ignore // todo fix checking
138
+
139
139
  var countItems = renderedItems == null ? void 0 : renderedItems.filter(function (item) {
140
- return isReactUINode('MenuItem', item);
140
+ var _item$type;
141
+
142
+ return (item == null ? void 0 : (_item$type = item.type) == null ? void 0 : _item$type.__KONTUR_REACT_UI__) === 'MenuItem';
141
143
  }).length;
142
144
 
143
145
  if (countItems && renderTotalCount && totalCount && countItems < totalCount) {