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

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 (784) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/LICENSE +21 -21
  3. package/README.md +57 -0
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  5. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  8. package/cjs/components/Button/Button.d.ts +5 -1
  9. package/cjs/components/Button/Button.js +17 -5
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.d.ts +1 -0
  12. package/cjs/components/Button/Button.styles.js +38 -28
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Center/Center.d.ts +1 -0
  15. package/cjs/components/Center/Center.js +10 -3
  16. package/cjs/components/Center/Center.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.d.ts +3 -3
  18. package/cjs/components/Checkbox/Checkbox.js +31 -22
  19. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  20. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  21. package/cjs/components/ComboBox/ComboBox.js +100 -70
  22. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  23. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  24. package/cjs/components/CurrencyInput/CurrencyInput.js +35 -4
  25. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  26. package/cjs/components/CurrencyInput/CurrencyInput.md +24 -24
  27. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  28. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  29. package/cjs/components/DateInput/DateInput.js +6 -3
  30. package/cjs/components/DateInput/DateInput.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.md +106 -106
  32. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  33. package/cjs/components/DatePicker/DatePicker.js +17 -7
  34. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  35. package/cjs/components/DatePicker/DatePicker.md +307 -307
  36. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  37. package/cjs/components/Dropdown/Dropdown.js +11 -4
  38. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  39. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  40. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  41. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  42. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  43. package/cjs/components/FxInput/FxInput.js +9 -2
  44. package/cjs/components/FxInput/FxInput.js.map +1 -1
  45. package/cjs/components/FxInput/FxInput.md +16 -16
  46. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  47. package/cjs/components/Gapped/Gapped.js +22 -14
  48. package/cjs/components/Gapped/Gapped.js.map +1 -1
  49. package/cjs/components/Gapped/Gapped.md +43 -43
  50. package/cjs/components/Group/Group.d.ts +1 -0
  51. package/cjs/components/Group/Group.js +10 -7
  52. package/cjs/components/Group/Group.js.map +1 -1
  53. package/cjs/components/Group/Group.md +18 -18
  54. package/cjs/components/Hint/Hint.d.ts +5 -3
  55. package/cjs/components/Hint/Hint.js +7 -20
  56. package/cjs/components/Hint/Hint.js.map +1 -1
  57. package/cjs/components/Input/Input.d.ts +8 -1
  58. package/cjs/components/Input/Input.js +22 -5
  59. package/cjs/components/Input/Input.js.map +1 -1
  60. package/cjs/components/Input/Input.md +13 -13
  61. package/cjs/components/Kebab/Kebab.d.ts +3 -2
  62. package/cjs/components/Kebab/Kebab.js +8 -5
  63. package/cjs/components/Kebab/Kebab.js.map +1 -1
  64. package/cjs/components/Link/Link.d.ts +1 -0
  65. package/cjs/components/Link/Link.js +11 -3
  66. package/cjs/components/Link/Link.js.map +1 -1
  67. package/cjs/components/Loader/Loader.d.ts +1 -0
  68. package/cjs/components/Loader/Loader.js +11 -7
  69. package/cjs/components/Loader/Loader.js.map +1 -1
  70. package/cjs/components/MenuItem/MenuItem.d.ts +2 -1
  71. package/cjs/components/MenuItem/MenuItem.js +11 -8
  72. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  73. package/cjs/components/Modal/Modal.js +1 -1
  74. package/cjs/components/Modal/Modal.js.map +1 -1
  75. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  76. package/cjs/components/Modal/ModalBody.js +9 -6
  77. package/cjs/components/Modal/ModalBody.js.map +1 -1
  78. package/cjs/components/Paging/Paging.d.ts +2 -2
  79. package/cjs/components/Paging/Paging.js +6 -5
  80. package/cjs/components/Paging/Paging.js.map +1 -1
  81. package/cjs/components/Paging/Paging.md +43 -43
  82. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  83. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  84. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  85. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  86. package/cjs/components/Radio/Radio.d.ts +5 -10
  87. package/cjs/components/Radio/Radio.js +15 -11
  88. package/cjs/components/Radio/Radio.js.map +1 -1
  89. package/cjs/components/RadioGroup/RadioGroup.d.ts +11 -26
  90. package/cjs/components/RadioGroup/RadioGroup.js +25 -29
  91. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  92. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  93. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  94. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  95. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  96. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  97. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  98. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  99. package/cjs/components/ScrollContainer/ScrollContainer.js +10 -6
  100. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  101. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  102. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  103. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  104. package/cjs/components/Select/Select.d.ts +1 -0
  105. package/cjs/components/Select/Select.js +9 -5
  106. package/cjs/components/Select/Select.js.map +1 -1
  107. package/cjs/components/SidePage/SidePage.d.ts +3 -0
  108. package/cjs/components/SidePage/SidePage.js +20 -2
  109. package/cjs/components/SidePage/SidePage.js.map +1 -1
  110. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  111. package/cjs/components/SidePage/SidePageBody.js +9 -6
  112. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  113. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  114. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  115. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  116. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -2
  117. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  118. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  119. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  120. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  121. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  122. package/cjs/components/Spinner/Spinner.d.ts +9 -0
  123. package/cjs/components/Spinner/Spinner.js +29 -8
  124. package/cjs/components/Spinner/Spinner.js.map +1 -1
  125. package/cjs/components/Spinner/Spinner.md +1 -0
  126. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  127. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  128. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  129. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  130. package/cjs/components/Sticky/Sticky.js +8 -5
  131. package/cjs/components/Sticky/Sticky.js.map +1 -1
  132. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  133. package/cjs/components/Switcher/Switcher.js +6 -3
  134. package/cjs/components/Switcher/Switcher.js.map +1 -1
  135. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  136. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  137. package/cjs/components/Tabs/Indicator.d.ts +1 -0
  138. package/cjs/components/Tabs/Indicator.js +16 -15
  139. package/cjs/components/Tabs/Indicator.js.map +1 -1
  140. package/cjs/components/Tabs/Tab.d.ts +2 -1
  141. package/cjs/components/Tabs/Tab.js +13 -9
  142. package/cjs/components/Tabs/Tab.js.map +1 -1
  143. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  144. package/cjs/components/Tabs/Tabs.js +9 -9
  145. package/cjs/components/Tabs/Tabs.js.map +1 -1
  146. package/cjs/components/Tabs/Tabs.md +36 -36
  147. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  148. package/cjs/components/Textarea/Textarea.js +12 -5
  149. package/cjs/components/Textarea/Textarea.js.map +1 -1
  150. package/cjs/components/Textarea/Textarea.md +25 -25
  151. package/cjs/components/Toast/Toast.d.ts +3 -0
  152. package/cjs/components/Toast/Toast.js +15 -4
  153. package/cjs/components/Toast/Toast.js.map +1 -1
  154. package/cjs/components/Toast/ToastView.d.ts +1 -0
  155. package/cjs/components/Toast/ToastView.js +8 -5
  156. package/cjs/components/Toast/ToastView.js.map +1 -1
  157. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  158. package/cjs/components/Toggle/Toggle.js +9 -6
  159. package/cjs/components/Toggle/Toggle.js.map +1 -1
  160. package/cjs/components/Token/Token.d.ts +1 -0
  161. package/cjs/components/Token/Token.js +7 -4
  162. package/cjs/components/Token/Token.js.map +1 -1
  163. package/cjs/components/Token/Token.md +112 -112
  164. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  165. package/cjs/components/TokenInput/TokenInput.js +11 -8
  166. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  167. package/cjs/components/TokenInput/TokenInput.md +79 -79
  168. package/cjs/components/Tooltip/Tooltip.d.ts +11 -22
  169. package/cjs/components/Tooltip/Tooltip.js +28 -30
  170. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  171. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  172. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  173. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  174. package/cjs/index.d.ts +1 -1
  175. package/cjs/index.js +2 -2
  176. package/cjs/index.js.map +1 -1
  177. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  178. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  179. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  180. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  181. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  182. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  183. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  184. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  185. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  186. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  187. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  188. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -2
  189. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  190. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  191. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  192. package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -11
  193. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  194. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  195. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js +9 -0
  196. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js.map +1 -0
  197. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  198. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  199. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  200. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  201. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  202. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  203. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  204. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  205. package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
  206. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  207. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  208. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  209. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  210. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  211. package/cjs/internal/Menu/Menu.d.ts +3 -0
  212. package/cjs/internal/Menu/Menu.js +33 -6
  213. package/cjs/internal/Menu/Menu.js.map +1 -1
  214. package/cjs/internal/Menu/Menu.styles.d.ts +3 -0
  215. package/cjs/internal/Menu/Menu.styles.js +22 -3
  216. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  217. package/cjs/internal/Popup/Popup.d.ts +9 -8
  218. package/cjs/internal/Popup/Popup.js +64 -48
  219. package/cjs/internal/Popup/Popup.js.map +1 -1
  220. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  221. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  222. package/cjs/internal/Popup/types.d.ts +1 -0
  223. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js +0 -0
  224. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js.map +0 -0
  225. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -3
  226. package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
  227. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  228. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  229. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  230. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  231. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  232. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  233. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  234. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  235. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  236. package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
  237. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  238. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  239. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -1
  240. package/cjs/internal/ThemePlayground/Playground.js +1 -11
  241. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  242. package/cjs/internal/ThemePlayground/darkTheme.d.ts +0 -15
  243. package/cjs/internal/ThemePlayground/darkTheme.js +1 -25
  244. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  245. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  246. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  247. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  248. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  249. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  250. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  251. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  252. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  253. package/cjs/internal/icons/16px/index.d.ts +17 -19
  254. package/cjs/internal/icons/16px/index.js +105 -84
  255. package/cjs/internal/icons/16px/index.js.map +1 -1
  256. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  257. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  258. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  259. package/cjs/internal/themes/DefaultTheme.d.ts +0 -23
  260. package/cjs/internal/themes/DefaultTheme.js +1 -64
  261. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  262. package/cjs/lib/ModalStack.js +16 -17
  263. package/cjs/lib/ModalStack.js.map +1 -1
  264. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  265. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  266. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  267. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  268. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  269. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  270. package/cjs/lib/getDisplayName.d.ts +3 -0
  271. package/cjs/lib/getDisplayName.js +9 -0
  272. package/cjs/lib/getDisplayName.js.map +1 -0
  273. package/cjs/lib/locale/types.d.ts +0 -2
  274. package/cjs/lib/locale/types.js +0 -2
  275. package/cjs/lib/locale/types.js.map +1 -1
  276. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  277. package/cjs/lib/rootNode/getRootNode.js +27 -0
  278. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  279. package/cjs/lib/rootNode/index.d.ts +2 -0
  280. package/cjs/lib/rootNode/index.js +2 -0
  281. package/cjs/lib/rootNode/index.js.map +1 -0
  282. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  283. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  284. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  285. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  286. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  287. package/cjs/lib/theming/Emotion.js +1 -0
  288. package/cjs/lib/theming/Emotion.js.map +1 -1
  289. package/cjs/lib/theming/useTheme.d.ts +1 -0
  290. package/cjs/lib/theming/useTheme.js +7 -0
  291. package/cjs/lib/theming/useTheme.js.map +1 -0
  292. package/cjs/lib/utils.d.ts +35 -1
  293. package/cjs/lib/utils.js +77 -22
  294. package/cjs/lib/utils.js.map +1 -1
  295. package/cjs/lib/withClassWrapper.d.ts +71 -0
  296. package/cjs/lib/withClassWrapper.js +59 -0
  297. package/cjs/lib/withClassWrapper.js.map +1 -0
  298. package/cjs/typings/html-props.d.ts +123 -0
  299. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  300. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  301. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  302. package/components/Autocomplete/Autocomplete.md +7 -7
  303. package/components/Button/Button/Button.js +24 -15
  304. package/components/Button/Button/Button.js.map +1 -1
  305. package/components/Button/Button.d.ts +5 -1
  306. package/components/Button/Button.styles/Button.styles.js +31 -28
  307. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  308. package/components/Button/Button.styles.d.ts +1 -0
  309. package/components/Center/Center/Center.js +14 -9
  310. package/components/Center/Center/Center.js.map +1 -1
  311. package/components/Center/Center.d.ts +1 -0
  312. package/components/Checkbox/Checkbox/Checkbox.js +34 -30
  313. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  314. package/components/Checkbox/Checkbox.d.ts +3 -3
  315. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  316. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  317. package/components/ComboBox/ComboBox.d.ts +2 -0
  318. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +62 -27
  319. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  320. package/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  321. package/components/CurrencyInput/CurrencyInput.md +24 -24
  322. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  323. package/components/DateInput/DateInput/DateInput.js +7 -3
  324. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  325. package/components/DateInput/DateInput.d.ts +1 -0
  326. package/components/DateInput/DateInput.md +106 -106
  327. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  328. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  329. package/components/DatePicker/DatePicker.d.ts +4 -2
  330. package/components/DatePicker/DatePicker.md +307 -307
  331. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  332. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  333. package/components/Dropdown/Dropdown.d.ts +1 -0
  334. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  335. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  336. package/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  337. package/components/FxInput/FxInput/FxInput.js +13 -9
  338. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  339. package/components/FxInput/FxInput.d.ts +1 -0
  340. package/components/FxInput/FxInput.md +16 -16
  341. package/components/Gapped/Gapped/Gapped.js +24 -21
  342. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  343. package/components/Gapped/Gapped.d.ts +2 -0
  344. package/components/Gapped/Gapped.md +43 -43
  345. package/components/Group/Group/Group.js +22 -9
  346. package/components/Group/Group/Group.js.map +1 -1
  347. package/components/Group/Group.d.ts +1 -0
  348. package/components/Group/Group.md +18 -18
  349. package/components/Hint/Hint/Hint.js +18 -12
  350. package/components/Hint/Hint/Hint.js.map +1 -1
  351. package/components/Hint/Hint.d.ts +5 -3
  352. package/components/Input/Input/Input.js +29 -14
  353. package/components/Input/Input/Input.js.map +1 -1
  354. package/components/Input/Input.d.ts +8 -1
  355. package/components/Input/Input.md +13 -13
  356. package/components/Kebab/Kebab/Kebab.js +12 -7
  357. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  358. package/components/Kebab/Kebab.d.ts +3 -2
  359. package/components/Link/Link/Link.js +15 -11
  360. package/components/Link/Link/Link.js.map +1 -1
  361. package/components/Link/Link.d.ts +1 -0
  362. package/components/Loader/Loader/Loader.js +19 -13
  363. package/components/Loader/Loader/Loader.js.map +1 -1
  364. package/components/Loader/Loader.d.ts +1 -0
  365. package/components/MenuItem/MenuItem/MenuItem.js +19 -17
  366. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  367. package/components/MenuItem/MenuItem.d.ts +2 -1
  368. package/components/Modal/Modal/Modal.js +1 -1
  369. package/components/Modal/Modal/Modal.js.map +1 -1
  370. package/components/Modal/ModalBody/ModalBody.js +16 -10
  371. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  372. package/components/Modal/ModalBody.d.ts +1 -0
  373. package/components/Paging/Paging/Paging.js +17 -14
  374. package/components/Paging/Paging/Paging.js.map +1 -1
  375. package/components/Paging/Paging.d.ts +2 -2
  376. package/components/Paging/Paging.md +43 -43
  377. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  378. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  379. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  380. package/components/PasswordInput/PasswordInput.md +9 -9
  381. package/components/Radio/Radio/Radio.js +21 -20
  382. package/components/Radio/Radio/Radio.js.map +1 -1
  383. package/components/Radio/Radio.d.ts +5 -10
  384. package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
  385. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  386. package/components/RadioGroup/RadioGroup.d.ts +11 -26
  387. package/components/RadioGroup/RadioGroup.md +43 -43
  388. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  389. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  390. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  391. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  392. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  393. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  394. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +15 -9
  395. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  396. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  397. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  398. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  399. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  400. package/components/Select/Select/Select.js +16 -7
  401. package/components/Select/Select/Select.js.map +1 -1
  402. package/components/Select/Select.d.ts +1 -0
  403. package/components/SidePage/SidePage/SidePage.js +27 -3
  404. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  405. package/components/SidePage/SidePage.d.ts +3 -0
  406. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  407. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  408. package/components/SidePage/SidePageBody.d.ts +1 -0
  409. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  410. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  411. package/components/SidePage/SidePageContainer.d.ts +1 -0
  412. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  413. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  414. package/components/SidePage/SidePageFooter.d.ts +1 -2
  415. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  416. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  417. package/components/SidePage/SidePageHeader.d.ts +1 -0
  418. package/components/Spinner/Spinner/Spinner.js +14 -6
  419. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  420. package/components/Spinner/Spinner.d.ts +9 -0
  421. package/components/Spinner/Spinner.md +1 -0
  422. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  423. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  424. package/components/Spinner/Spinner.styles.d.ts +2 -1
  425. package/components/Sticky/Sticky/Sticky.js +13 -8
  426. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  427. package/components/Sticky/Sticky.d.ts +1 -0
  428. package/components/Switcher/Switcher/Switcher.js +11 -6
  429. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  430. package/components/Switcher/Switcher.d.ts +1 -0
  431. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  432. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  433. package/components/Tabs/Indicator/Indicator.js +16 -14
  434. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  435. package/components/Tabs/Indicator.d.ts +1 -0
  436. package/components/Tabs/Tab/Tab.js +31 -34
  437. package/components/Tabs/Tab/Tab.js.map +1 -1
  438. package/components/Tabs/Tab.d.ts +2 -1
  439. package/components/Tabs/Tabs/Tabs.js +20 -20
  440. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  441. package/components/Tabs/Tabs.d.ts +1 -0
  442. package/components/Tabs/Tabs.md +36 -36
  443. package/components/Textarea/Textarea/Textarea.js +21 -17
  444. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  445. package/components/Textarea/Textarea.d.ts +1 -0
  446. package/components/Textarea/Textarea.md +25 -25
  447. package/components/Toast/Toast/Toast.js +29 -14
  448. package/components/Toast/Toast/Toast.js.map +1 -1
  449. package/components/Toast/Toast.d.ts +3 -0
  450. package/components/Toast/ToastView/ToastView.js +10 -5
  451. package/components/Toast/ToastView/ToastView.js.map +1 -1
  452. package/components/Toast/ToastView.d.ts +1 -0
  453. package/components/Toggle/Toggle/Toggle.js +16 -11
  454. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  455. package/components/Toggle/Toggle.d.ts +1 -0
  456. package/components/Token/Token/Token.js +11 -4
  457. package/components/Token/Token/Token.js.map +1 -1
  458. package/components/Token/Token.d.ts +1 -0
  459. package/components/Token/Token.md +112 -112
  460. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  461. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  462. package/components/TokenInput/TokenInput.d.ts +1 -0
  463. package/components/TokenInput/TokenInput.md +79 -79
  464. package/components/Tooltip/Tooltip/Tooltip.js +26 -17
  465. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  466. package/components/Tooltip/Tooltip.d.ts +11 -22
  467. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  468. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  469. package/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  470. package/index.d.ts +1 -1
  471. package/index.js +2 -2
  472. package/index.js.map +1 -1
  473. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  474. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  475. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  476. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  477. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  478. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  479. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  480. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  481. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  482. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  483. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  484. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  485. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  486. package/internal/DateSelect/DateSelect.d.ts +2 -2
  487. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +17 -16
  488. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  489. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  490. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js +10 -0
  491. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js.map +1 -0
  492. package/internal/DropdownContainer/DropdownContainer.styles/package.json +6 -0
  493. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  494. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  495. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  496. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  497. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  498. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  499. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  500. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  501. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  502. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  503. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  504. package/internal/InternalMenu/InternalMenu.d.ts +2 -3
  505. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  506. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  507. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  508. package/internal/Menu/Menu/Menu.js +24 -12
  509. package/internal/Menu/Menu/Menu.js.map +1 -1
  510. package/internal/Menu/Menu.d.ts +3 -0
  511. package/internal/Menu/Menu.styles/Menu.styles.js +12 -3
  512. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  513. package/internal/Menu/Menu.styles.d.ts +3 -0
  514. package/internal/Popup/Popup/Popup.js +85 -68
  515. package/internal/Popup/Popup/Popup.js.map +1 -1
  516. package/internal/Popup/Popup.d.ts +9 -8
  517. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  518. package/internal/Popup/PopupHelper.d.ts +2 -2
  519. package/{components/FileUploader/locale → internal/Popup}/types/package.json +1 -1
  520. package/{components/FileUploader/locale → internal/Popup}/types/types.js +0 -0
  521. package/{components/FileUploader/locale → internal/Popup}/types/types.js.map +0 -0
  522. package/internal/Popup/types.d.ts +1 -0
  523. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
  524. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  525. package/internal/PopupMenu/PopupMenu.d.ts +4 -3
  526. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  527. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  528. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  529. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  530. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  531. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  532. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  533. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  534. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  535. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  536. package/internal/RenderLayer/RenderLayer.d.ts +3 -1
  537. package/internal/ThemePlayground/Playground/Playground.js +1 -11
  538. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  539. package/internal/ThemePlayground/Playground.d.ts +0 -1
  540. package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -26
  541. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  542. package/internal/ThemePlayground/darkTheme.d.ts +0 -15
  543. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  544. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  545. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  546. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  547. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  548. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  549. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  550. package/internal/ZIndex/ZIndex.d.ts +2 -0
  551. package/internal/icons/16px/index/index.js +83 -78
  552. package/internal/icons/16px/index/index.js.map +1 -1
  553. package/internal/icons/16px/index.d.ts +17 -19
  554. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  555. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  556. package/internal/icons/SpinnerIcon.d.ts +4 -1
  557. package/internal/themes/DefaultTheme/DefaultTheme.js +0 -67
  558. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  559. package/internal/themes/DefaultTheme.d.ts +0 -23
  560. package/lib/ModalStack/ModalStack.js +9 -13
  561. package/lib/ModalStack/ModalStack.js.map +1 -1
  562. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  563. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  564. package/lib/callChildRef/callChildRef/package.json +6 -0
  565. package/lib/callChildRef/callChildRef.d.ts +3 -0
  566. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  567. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  568. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  569. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  570. package/lib/getDisplayName/getDisplayName.js +3 -0
  571. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  572. package/lib/getDisplayName/package.json +6 -0
  573. package/lib/getDisplayName.d.ts +3 -0
  574. package/lib/locale/types/types.js.map +1 -1
  575. package/lib/locale/types.d.ts +0 -2
  576. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  577. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  578. package/lib/rootNode/getRootNode/package.json +6 -0
  579. package/lib/rootNode/getRootNode.d.ts +3 -0
  580. package/lib/rootNode/index/index.js +2 -0
  581. package/lib/rootNode/index/index.js.map +1 -0
  582. package/{components/FileUploader → lib/rootNode}/index/package.json +1 -1
  583. package/lib/rootNode/index.d.ts +2 -0
  584. package/{components/FileUploader → lib/rootNode}/package.json +1 -1
  585. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  586. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  587. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  588. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  589. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  590. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  591. package/lib/theming/Emotion/Emotion.js +1 -0
  592. package/lib/theming/Emotion/Emotion.js.map +1 -1
  593. package/lib/theming/useTheme/package.json +6 -0
  594. package/lib/theming/useTheme/useTheme.js +5 -0
  595. package/lib/theming/useTheme/useTheme.js.map +1 -0
  596. package/lib/theming/useTheme.d.ts +1 -0
  597. package/lib/utils/utils.js +77 -19
  598. package/lib/utils/utils.js.map +1 -1
  599. package/lib/utils.d.ts +35 -1
  600. package/lib/withClassWrapper/package.json +6 -0
  601. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  602. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  603. package/lib/withClassWrapper.d.ts +71 -0
  604. package/package.json +13 -5
  605. package/typings/html-props.d.ts +123 -0
  606. package/cjs/components/FileUploader/FileUploader.d.ts +0 -31
  607. package/cjs/components/FileUploader/FileUploader.js +0 -270
  608. package/cjs/components/FileUploader/FileUploader.js.map +0 -1
  609. package/cjs/components/FileUploader/FileUploader.md +0 -67
  610. package/cjs/components/FileUploader/FileUploader.styles.d.ts +0 -19
  611. package/cjs/components/FileUploader/FileUploader.styles.js +0 -159
  612. package/cjs/components/FileUploader/FileUploader.styles.js.map +0 -1
  613. package/cjs/components/FileUploader/index.d.ts +0 -4
  614. package/cjs/components/FileUploader/index.js +0 -4
  615. package/cjs/components/FileUploader/index.js.map +0 -1
  616. package/cjs/components/FileUploader/locale/index.d.ts +0 -4
  617. package/cjs/components/FileUploader/locale/index.js +0 -11
  618. package/cjs/components/FileUploader/locale/index.js.map +0 -1
  619. package/cjs/components/FileUploader/locale/locales/en.d.ts +0 -2
  620. package/cjs/components/FileUploader/locale/locales/en.js +0 -7
  621. package/cjs/components/FileUploader/locale/locales/en.js.map +0 -1
  622. package/cjs/components/FileUploader/locale/locales/ru.d.ts +0 -2
  623. package/cjs/components/FileUploader/locale/locales/ru.js +0 -7
  624. package/cjs/components/FileUploader/locale/locales/ru.js.map +0 -1
  625. package/cjs/components/FileUploader/locale/types.d.ts +0 -6
  626. package/cjs/hooks/useDrop.d.ts +0 -11
  627. package/cjs/hooks/useDrop.js +0 -75
  628. package/cjs/hooks/useDrop.js.map +0 -1
  629. package/cjs/hooks/useMemoObject.d.ts +0 -1
  630. package/cjs/hooks/useMemoObject.js +0 -5
  631. package/cjs/hooks/useMemoObject.js.map +0 -1
  632. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  633. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +0 -15
  634. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +0 -1
  635. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  636. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +0 -107
  637. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +0 -1
  638. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  639. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +0 -187
  640. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +0 -1
  641. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  642. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +0 -66
  643. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +0 -1
  644. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  645. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +0 -24
  646. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  647. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  648. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +0 -17
  649. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  650. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  651. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +0 -16
  652. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +0 -1
  653. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  654. package/cjs/internal/FileUploaderControl/fileUtils.js +0 -55
  655. package/cjs/internal/FileUploaderControl/fileUtils.js.map +0 -1
  656. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  657. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +0 -4
  658. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +0 -1
  659. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  660. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +0 -51
  661. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +0 -1
  662. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  663. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +0 -18
  664. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +0 -1
  665. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  666. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  667. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  668. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  669. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +0 -34
  670. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +0 -1
  671. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  672. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -23
  673. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  674. package/cjs/lib/guidUtils.d.ts +0 -1
  675. package/cjs/lib/guidUtils.js +0 -5
  676. package/cjs/lib/guidUtils.js.map +0 -1
  677. package/cjs/lib/locale/useLocaleForControl.d.ts +0 -3
  678. package/cjs/lib/locale/useLocaleForControl.js +0 -14
  679. package/cjs/lib/locale/useLocaleForControl.js.map +0 -1
  680. package/cjs/lib/stringUtils.d.ts +0 -1
  681. package/cjs/lib/stringUtils.js +0 -13
  682. package/cjs/lib/stringUtils.js.map +0 -1
  683. package/components/FileUploader/FileUploader/FileUploader.js +0 -277
  684. package/components/FileUploader/FileUploader/FileUploader.js.map +0 -1
  685. package/components/FileUploader/FileUploader/package.json +0 -6
  686. package/components/FileUploader/FileUploader.d.ts +0 -31
  687. package/components/FileUploader/FileUploader.md +0 -67
  688. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +0 -56
  689. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +0 -1
  690. package/components/FileUploader/FileUploader.styles/package.json +0 -6
  691. package/components/FileUploader/FileUploader.styles.d.ts +0 -19
  692. package/components/FileUploader/index/index.js +0 -3
  693. package/components/FileUploader/index/index.js.map +0 -1
  694. package/components/FileUploader/index.d.ts +0 -4
  695. package/components/FileUploader/locale/index/index.js +0 -8
  696. package/components/FileUploader/locale/index/index.js.map +0 -1
  697. package/components/FileUploader/locale/index/package.json +0 -6
  698. package/components/FileUploader/locale/index.d.ts +0 -4
  699. package/components/FileUploader/locale/locales/en/en.js +0 -6
  700. package/components/FileUploader/locale/locales/en/en.js.map +0 -1
  701. package/components/FileUploader/locale/locales/en/package.json +0 -6
  702. package/components/FileUploader/locale/locales/en.d.ts +0 -2
  703. package/components/FileUploader/locale/locales/ru/package.json +0 -6
  704. package/components/FileUploader/locale/locales/ru/ru.js +0 -6
  705. package/components/FileUploader/locale/locales/ru/ru.js.map +0 -1
  706. package/components/FileUploader/locale/locales/ru.d.ts +0 -2
  707. package/components/FileUploader/locale/package.json +0 -6
  708. package/components/FileUploader/locale/types.d.ts +0 -6
  709. package/hooks/useDrop/package.json +0 -6
  710. package/hooks/useDrop/useDrop.js +0 -57
  711. package/hooks/useDrop/useDrop.js.map +0 -1
  712. package/hooks/useDrop.d.ts +0 -11
  713. package/hooks/useMemoObject/package.json +0 -6
  714. package/hooks/useMemoObject/useMemoObject.js +0 -6
  715. package/hooks/useMemoObject/useMemoObject.js.map +0 -1
  716. package/hooks/useMemoObject.d.ts +0 -1
  717. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +0 -2
  718. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +0 -1
  719. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +0 -6
  720. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  721. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +0 -79
  722. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +0 -1
  723. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +0 -6
  724. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  725. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +0 -176
  726. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +0 -1
  727. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +0 -6
  728. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  729. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +0 -32
  730. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +0 -1
  731. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +0 -6
  732. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  733. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +0 -23
  734. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  735. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +0 -6
  736. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  737. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +0 -11
  738. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +0 -1
  739. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +0 -6
  740. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  741. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +0 -18
  742. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +0 -1
  743. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +0 -6
  744. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  745. package/internal/FileUploaderControl/fileUtils/fileUtils.js +0 -85
  746. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +0 -1
  747. package/internal/FileUploaderControl/fileUtils/package.json +0 -6
  748. package/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  749. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +0 -6
  750. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +0 -5
  751. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +0 -1
  752. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  753. package/internal/FileUploaderControl/hooks/useUpload/package.json +0 -6
  754. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +0 -56
  755. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +0 -1
  756. package/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  757. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +0 -6
  758. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +0 -16
  759. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +0 -1
  760. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  761. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  762. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  763. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  764. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  765. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +0 -49
  766. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +0 -1
  767. package/internal/TextWidthHelper/TextWidthHelper/package.json +0 -6
  768. package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  769. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +0 -14
  770. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +0 -1
  771. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +0 -6
  772. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  773. package/lib/guidUtils/guidUtils.js +0 -4
  774. package/lib/guidUtils/guidUtils.js.map +0 -1
  775. package/lib/guidUtils/package.json +0 -6
  776. package/lib/guidUtils.d.ts +0 -1
  777. package/lib/locale/useLocaleForControl/package.json +0 -6
  778. package/lib/locale/useLocaleForControl/useLocaleForControl.js +0 -12
  779. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +0 -1
  780. package/lib/locale/useLocaleForControl.d.ts +0 -3
  781. package/lib/stringUtils/package.json +0 -6
  782. package/lib/stringUtils/stringUtils.js +0 -12
  783. package/lib/stringUtils/stringUtils.js.map +0 -1
  784. package/lib/stringUtils.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["Group.tsx"],"names":["Group","render","style","width","props","first","last","React","Children","forEach","children","child","isValidElement","styles","root","map","isWidthInPercent","Boolean","toString","includes","itemCss","item","itemFirst","corners","Corners","TOP_LEFT","BOTTOM_LEFT","TOP_RIGHT","BOTTOM_RIGHT","cloneElement","fixed","stretch","stretchFallback","isIE11","isEdge","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","number","string"],"mappings":"iPAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uC;;;;;;;;;;;AAWaA,K;;;;;;;AAOJC,EAAAA,M,GAAP,kBAAgB;AACd,QAAMC,KAA0B,GAAG;AACjCC,MAAAA,KAAK,EAAE,KAAKC,KAAL,CAAWD,KADe,EAAnC;;;AAIA,QAAIE,KAAwC,GAAG,IAA/C;AACA,QAAIC,IAAuC,GAAG,IAA9C;;AAEAC,mBAAMC,QAAN,CAAeC,OAAf,CAAuB,KAAKL,KAAL,CAAWM,QAAlC,EAA4C,UAACC,KAAD,EAAW;AACrD,UAAIA,KAAK,iBAAIJ,eAAMK,cAAN,CAAqBD,KAArB,CAAb,EAA0C;AACxCN,QAAAA,KAAK,GAAGA,KAAK,IAAIM,KAAjB;AACAL,QAAAA,IAAI,GAAGK,KAAP;AACD;AACF,KALD;;AAOA;AACE,mCAAC,4BAAD,EAAmB,KAAKP,KAAxB;AACE,6CAAM,SAAS,EAAES,cAAOC,IAAP,EAAjB,EAAgC,KAAK,EAAEZ,KAAvC;AACGK,qBAAMC,QAAN,CAAeO,GAAf,CAAmB,KAAKX,KAAL,CAAWM,QAA9B,EAAwC,UAACC,KAAD,EAAW;AAClD,YAAI,CAACA,KAAD,IAAU,eAACJ,eAAMK,cAAN,CAAsCD,KAAtC,CAAf,EAA6D;AAC3D,iBAAO,IAAP;AACD;;AAED,YAAMK,gBAAgB,GAAGC,OAAO,CAACN,KAAK,CAACP,KAAN,CAAYD,KAAZ,IAAqBQ,KAAK,CAACP,KAAN,CAAYD,KAAZ,CAAkBe,QAAlB,GAA6BC,QAA7B,CAAsC,GAAtC,CAAtB,CAAhC;AACA,YAAMC,OAAO,GAAG;AACbP,sBAAOQ,IAAP,EADa,IACG,IADH;AAEbR,sBAAOS,SAAP,EAFa,IAEQX,KAAK,KAAKN,KAFlB,OAAhB;;;AAKA,YAAIkB,OAAO,GAAG,CAAd;AACA,YAAIZ,KAAK,KAAKN,KAAd,EAAqB;AACnBkB,UAAAA,OAAO,IAAIC,iBAAQC,QAAR,GAAmBD,iBAAQE,WAAtC;AACD;AACD,YAAIf,KAAK,KAAKL,IAAd,EAAoB;AAClBiB,UAAAA,OAAO,IAAIC,iBAAQG,SAAR,GAAoBH,iBAAQI,YAAvC;AACD;;AAED,YAAI,sBAASjB,KAAT,CAAJ,EAAqB;AACnBA,UAAAA,KAAK,gBAAGJ,eAAMsB,YAAN,CAAmBlB,KAAnB,EAA0B,EAAEY,OAAO,EAAPA,OAAF,EAA1B,CAAR;AACD;;AAED;AACE;AACE,YAAA,SAAS,EAAE;AACRV,0BAAOiB,KAAP,EADQ,IACS,CAACd,gBADV;AAERH,0BAAOkB,OAAP,EAFQ,IAEWf,gBAFX;AAGRH,0BAAOmB,eAAP,EAHQ,IAGmBf,OAAO,CAACD,gBAAgB,IAAI,KAAI,CAACZ,KAAL,CAAWD,KAA/B,KAAyC8B,kBAAUC,cAAnD,CAAD,CAH1B,QADb;;;AAOE,gDAAK,SAAS,EAAEd,OAAhB,IAA0BT,KAA1B,CAPF,CADF;;;AAWD,OAlCA,CADH,CADF,CADF;;;;AAyCD,G,gBA/DwBJ,eAAM4B,S,wBAApBnC,K,CACGoC,mB,GAAsB,O,CADzBpC,K,CAGGqC,S,GAAY,EACxBlC,KAAK,EAAEmC,mBAAUC,SAAV,CAAoB,CAACD,mBAAUE,MAAX,EAAmBF,mBAAUG,MAA7B,CAApB,CADiB,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { Corners } from '../Button/Corners';\nimport { Nullable } from '../../typings/utility-types';\nimport { isButton } from '../Button';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n\n public static propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n };\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n let first: Nullable<React.ReactElement<any>> = null;\n let last: Nullable<React.ReactElement<any>> = null;\n\n React.Children.forEach(this.props.children, (child) => {\n if (child && React.isValidElement(child)) {\n first = first || child;\n last = child;\n }\n });\n\n return (\n <CommonWrapper {...this.props}>\n <span className={styles.root()} style={style}>\n {React.Children.map(this.props.children, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));\n const itemCss = cx({\n [styles.item()]: true,\n [styles.itemFirst()]: child === first,\n });\n\n let corners = 0;\n if (child !== first) {\n corners |= Corners.TOP_LEFT | Corners.BOTTOM_LEFT;\n }\n if (child !== last) {\n corners |= Corners.TOP_RIGHT | Corners.BOTTOM_RIGHT;\n }\n\n if (isButton(child)) {\n child = React.cloneElement(child, { corners });\n }\n\n return (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div className={itemCss}>{child}</div>\n </div>\n );\n })}\n </span>\n </CommonWrapper>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["Group.tsx"],"names":["Group","rootNode","setRootNode","render","style","width","props","first","last","React","Children","forEach","children","child","isValidElement","styles","root","map","isWidthInPercent","Boolean","toString","includes","itemCss","item","itemFirst","corners","Corners","TOP_LEFT","BOTTOM_LEFT","TOP_RIGHT","BOTTOM_RIGHT","cloneElement","fixed","stretch","stretchFallback","isIE11","isEdge","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","number","string"],"mappings":"mUAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uC;;;;;;;;;;;;AAYaA,K,OADZC,kB;;AAGSC,IAAAA,W;;;;;;AAMDC,EAAAA,M,GAAP,kBAAgB;AACd,QAAMC,KAA0B,GAAG;AACjCC,MAAAA,KAAK,EAAE,KAAKC,KAAL,CAAWD,KADe,EAAnC;;;AAIA,QAAIE,KAAwC,GAAG,IAA/C;AACA,QAAIC,IAAuC,GAAG,IAA9C;;AAEAC,mBAAMC,QAAN,CAAeC,OAAf,CAAuB,KAAKL,KAAL,CAAWM,QAAlC,EAA4C,UAACC,KAAD,EAAW;AACrD,UAAIA,KAAK,iBAAIJ,eAAMK,cAAN,CAAqBD,KAArB,CAAb,EAA0C;AACxCN,QAAAA,KAAK,GAAGA,KAAK,IAAIM,KAAjB;AACAL,QAAAA,IAAI,GAAGK,KAAP;AACD;AACF,KALD;;AAOA;AACE,mCAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKX,WAAjC,IAAkD,KAAKI,KAAvD;AACE,6CAAM,SAAS,EAAES,cAAOC,IAAP,EAAjB,EAAgC,KAAK,EAAEZ,KAAvC;AACGK,qBAAMC,QAAN,CAAeO,GAAf,CAAmB,KAAKX,KAAL,CAAWM,QAA9B,EAAwC,UAACC,KAAD,EAAW;AAClD,YAAI,CAACA,KAAD,IAAU,eAACJ,eAAMK,cAAN,CAAsCD,KAAtC,CAAf,EAA6D;AAC3D,iBAAO,IAAP;AACD;;AAED,YAAMK,gBAAgB,GAAGC,OAAO,CAACN,KAAK,CAACP,KAAN,CAAYD,KAAZ,IAAqBQ,KAAK,CAACP,KAAN,CAAYD,KAAZ,CAAkBe,QAAlB,GAA6BC,QAA7B,CAAsC,GAAtC,CAAtB,CAAhC;AACA,YAAMC,OAAO,GAAG;AACbP,sBAAOQ,IAAP,EADa,IACG,IADH;AAEbR,sBAAOS,SAAP,EAFa,IAEQX,KAAK,KAAKN,KAFlB,OAAhB;;;AAKA,YAAIkB,OAAO,GAAG,CAAd;AACA,YAAIZ,KAAK,KAAKN,KAAd,EAAqB;AACnBkB,UAAAA,OAAO,IAAIC,iBAAQC,QAAR,GAAmBD,iBAAQE,WAAtC;AACD;AACD,YAAIf,KAAK,KAAKL,IAAd,EAAoB;AAClBiB,UAAAA,OAAO,IAAIC,iBAAQG,SAAR,GAAoBH,iBAAQI,YAAvC;AACD;;AAED,YAAI,sBAASjB,KAAT,CAAJ,EAAqB;AACnBA,UAAAA,KAAK,gBAAGJ,eAAMsB,YAAN,CAAmBlB,KAAnB,EAA0B,EAAEY,OAAO,EAAPA,OAAF,EAA1B,CAAR;AACD;;AAED;AACE;AACE,YAAA,SAAS,EAAE;AACRV,0BAAOiB,KAAP,EADQ,IACS,CAACd,gBADV;AAERH,0BAAOkB,OAAP,EAFQ,IAEWf,gBAFX;AAGRH,0BAAOmB,eAAP,EAHQ,IAGmBf,OAAO,CAACD,gBAAgB,IAAI,MAAI,CAACZ,KAAL,CAAWD,KAA/B,KAAyC8B,kBAAUC,cAAnD,CAAD,CAH1B,QADb;;;AAOE,gDAAK,SAAS,EAAEd,OAAhB,IAA0BT,KAA1B,CAPF,CADF;;;AAWD,OAlCA,CADH,CADF,CADF;;;;AAyCD,G,gBAhEwBJ,eAAM4B,S,WACjBC,mB,GAAsB,O,UAGtBC,S,GAAY,EACxBlC,KAAK,EAAEmC,mBAAUC,SAAV,CAAoB,CAACD,mBAAUE,MAAX,EAAmBF,mBAAUG,MAA7B,CAApB,CADiB,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { Corners } from '../Button/Corners';\nimport { Nullable } from '../../typings/utility-types';\nimport { isButton } from '../Button';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Group.styles';\n\nexport interface GroupProps extends CommonProps {\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n private setRootNode!: TSetRootNode;\n\n public static propTypes = {\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n };\n\n public render() {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n let first: Nullable<React.ReactElement<any>> = null;\n let last: Nullable<React.ReactElement<any>> = null;\n\n React.Children.forEach(this.props.children, (child) => {\n if (child && React.isValidElement(child)) {\n first = first || child;\n last = child;\n }\n });\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span className={styles.root()} style={style}>\n {React.Children.map(this.props.children, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isWidthInPercent = Boolean(child.props.width && child.props.width.toString().includes('%'));\n const itemCss = cx({\n [styles.item()]: true,\n [styles.itemFirst()]: child === first,\n });\n\n let corners = 0;\n if (child !== first) {\n corners |= Corners.TOP_LEFT | Corners.BOTTOM_LEFT;\n }\n if (child !== last) {\n corners |= Corners.TOP_RIGHT | Corners.BOTTOM_RIGHT;\n }\n\n if (isButton(child)) {\n child = React.cloneElement(child, { corners });\n }\n\n return (\n <div\n className={cx({\n [styles.fixed()]: !isWidthInPercent,\n [styles.stretch()]: isWidthInPercent,\n [styles.stretchFallback()]: Boolean(isWidthInPercent && this.props.width && (isIE11 || isEdge)),\n })}\n >\n <div className={itemCss}>{child}</div>\n </div>\n );\n })}\n </span>\n </CommonWrapper>\n );\n }\n}\n"]}
@@ -1,18 +1,18 @@
1
- ```jsx harmony
2
- import FunctionIcon from '@skbkontur/react-icons/Function';
3
- import SearchIcon from '@skbkontur/react-icons/Search';
4
- import { Button, Input } from '@skbkontur/react-ui';
5
-
6
- const [value, setValue] = React.useState('Foo');
7
-
8
- <Group width={300}>
9
- <Button>
10
- <FunctionIcon />
11
- </Button>
12
- <Input value={value} width="100%" onValueChange={setValue} />
13
- <Button>
14
- <SearchIcon />
15
- </Button>
16
- <Button>Bar</Button>
17
- </Group>;
18
- ```
1
+ ```jsx harmony
2
+ import FunctionIcon from '@skbkontur/react-icons/Function';
3
+ import SearchIcon from '@skbkontur/react-icons/Search';
4
+ import { Button, Input } from '@skbkontur/react-ui';
5
+
6
+ const [value, setValue] = React.useState('Foo');
7
+
8
+ <Group width={300}>
9
+ <Button>
10
+ <FunctionIcon />
11
+ </Button>
12
+ <Input value={value} width="100%" onValueChange={setValue} />
13
+ <Button>
14
+ <SearchIcon />
15
+ </Button>
16
+ <Button>Bar</Button>
17
+ </Group>;
18
+ ```
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { PopupPositionsType } from '../../internal/Popup';
2
3
  import { MouseEventType } from '../../typings/event-types';
3
4
  import { CommonProps } from '../../internal/CommonWrapper';
4
5
  export interface HintProps extends CommonProps {
@@ -32,7 +33,7 @@ export interface HintProps extends CommonProps {
32
33
  *
33
34
  * **Допустимые значения**: `"top"`, `"right"`, `"bottom"`, `"left"`, `"top left"`, `"top center"`, `"top right"`, `"right top"`, `"right middle"`, `"right bottom"`, `"bottom left"`, `"bottom center"`, `"bottom right"`, `"left top"`, `"left middle"`, `"left bottom"`.
34
35
  */
35
- pos: 'top' | 'right' | 'bottom' | 'left' | 'top left' | 'top center' | 'top right' | 'bottom left' | 'bottom center' | 'bottom right' | 'left top' | 'left middle' | 'left bottom' | 'right top' | 'right middle' | 'right bottom';
36
+ pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;
36
37
  /**
37
38
  * Текст подсказки.
38
39
  */
@@ -54,7 +55,7 @@ export interface HintState {
54
55
  /**
55
56
  * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
56
57
  */
57
- export declare class Hint extends React.Component<HintProps, HintState> {
58
+ export declare class Hint extends React.PureComponent<HintProps, HintState> {
58
59
  static __KONTUR_REACT_UI__: string;
59
60
  static defaultProps: {
60
61
  pos: string;
@@ -67,7 +68,8 @@ export declare class Hint extends React.Component<HintProps, HintState> {
67
68
  state: HintState;
68
69
  private timer;
69
70
  private theme;
70
- UNSAFE_componentWillReceiveProps(nextProps: HintProps): void;
71
+ private setRootNode;
72
+ componentDidUpdate(prevProps: HintProps): void;
71
73
  componentWillUnmount(): void;
72
74
  render(): JSX.Element;
73
75
  renderMain(): JSX.Element;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Hint = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Hint = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _ThemeContext = require("../../lib/theming/ThemeContext");
4
4
  var _ThemeFactory = require("../../lib/theming/ThemeFactory");
@@ -9,8 +9,9 @@ var _Popup = require("../../internal/Popup");
9
9
  var _currentEnvironment = require("../../lib/currentEnvironment");
10
10
  var _CommonWrapper = require("../../internal/CommonWrapper");
11
11
  var _Emotion = require("../../lib/theming/Emotion");
12
+ var _rootNode = require("../../lib/rootNode");
12
13
 
13
- var _Hint = require("./Hint.styles");
14
+ var _Hint = require("./Hint.styles");var _class, _class2, _temp;
14
15
 
15
16
  var HINT_BORDER_COLOR = 'transparent';
16
17
 
@@ -49,22 +50,6 @@ var HINT_BORDER_COLOR = 'transparent';
49
50
 
50
51
 
51
52
 
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
53
 
69
54
 
70
55
 
@@ -100,7 +85,8 @@ var Positions = [
100
85
  /**
101
86
  * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
102
87
  */var
103
- Hint = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Hint, _React$Component);function Hint() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
88
+
89
+ Hint = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(Hint, _React$PureComponent);function Hint() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
104
90
 
105
91
 
106
92
 
@@ -118,6 +104,7 @@ Hint = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Hi
118
104
 
119
105
  timer = null;_this.
120
106
  theme = void 0;_this.
107
+ setRootNode = void 0;_this.
121
108
 
122
109
 
123
110
 
@@ -230,4 +217,4 @@ Hint = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Hi
230
217
 
231
218
  open = function () {
232
219
  _this.setState({ opened: true });
233
- };return _this;}var _proto = Hint.prototype;_proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {if (!nextProps.manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (nextProps.opened !== this.props.opened) {this.setState({ opened: !!nextProps.opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, disableAnimations: this.props.disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: this.props.useWrapper }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$props = this.props,pos = _this$props.pos,maxWidth = _this$props.maxWidth;var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = pos === 'top' || pos === 'bottom', _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.Component);exports.Hint = Hint;Hint.__KONTUR_REACT_UI__ = 'Hint';Hint.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false };
220
+ };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (!this.props.manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (this.props.opened !== prevProps.opened) {this.setState({ opened: !!this.props.opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, disableAnimations: this.props.disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: this.props.useWrapper }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$props = this.props,pos = _this$props.pos,maxWidth = _this$props.maxWidth;var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = pos === 'top' || pos === 'bottom', _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class;exports.Hint = Hint;
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","state","opened","props","manual","timer","theme","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","UNSAFE_componentWillReceiveProps","nextProps","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","children","hintBgColor","disableAnimations","useWrapper","renderContent","text","maxWidth","className","styles","content","contentCenter","React","Component","__KONTUR_REACT_UI__","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPosition } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подcказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"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 pos:\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top left'\n | 'top center'\n | 'top right'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'left top'\n | 'left middle'\n | 'left bottom'\n | 'right top'\n | 'right middle'\n | 'right bottom';\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPosition[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\nexport class Hint extends React.Component<HintProps, HintState> {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n\n public UNSAFE_componentWillReceiveProps(nextProps: HintProps) {\n if (!nextProps.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (nextProps.opened !== this.props.opened) {\n this.setState({ opened: !!nextProps.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\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.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPosition[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","state","opened","props","manual","timer","theme","setRootNode","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","children","hintBgColor","disableAnimations","useWrapper","renderContent","text","maxWidth","className","styles","content","contentCenter","React","PureComponent","__KONTUR_REACT_UI__","defaultProps","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подcказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"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 pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: HintProps) {\n if (!this.props.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (this.props.opened !== prevProps.opened) {\n this.setState({ opened: !!this.props.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\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.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -99,9 +99,12 @@ export declare class Input extends React.Component<InputProps, InputState> {
99
99
  private theme;
100
100
  private blinkTimeout;
101
101
  private input;
102
+ private setRootNode;
102
103
  componentDidMount(): void;
103
104
  componentWillUnmount(): void;
104
- UNSAFE_componentWillReceiveProps(nextProps: InputProps): void;
105
+ static getDerivedStateFromProps(props: InputProps, state: InputState): InputState | {
106
+ polyfillPlaceholder: boolean;
107
+ };
105
108
  /**
106
109
  * @public
107
110
  */
@@ -110,6 +113,10 @@ export declare class Input extends React.Component<InputProps, InputState> {
110
113
  * @public
111
114
  */
112
115
  blur(): void;
116
+ /**
117
+ * @public
118
+ */
119
+ getNode(): HTMLInputElement | null;
113
120
  /**
114
121
  * @public
115
122
  */
@@ -11,8 +11,9 @@ var _ThemeContext = require("../../lib/theming/ThemeContext");
11
11
 
12
12
  var _CommonWrapper = require("../../internal/CommonWrapper");
13
13
  var _Emotion = require("../../lib/theming/Emotion");
14
+ var _rootNode = require("../../lib/rootNode");
14
15
 
15
- var _Input = require("./Input.styles");
16
+ var _Input = require("./Input.styles");var _class, _class2, _temp;
16
17
 
17
18
 
18
19
 
@@ -110,7 +111,8 @@ var _Input = require("./Input.styles");
110
111
  * Интерфес пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.
111
112
  * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`
112
113
  */var
113
- Input = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Input, _React$Component);function Input() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
114
+
115
+ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Input, _React$Component);function Input() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
114
116
 
115
117
 
116
118
 
@@ -129,6 +131,19 @@ Input = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(I
129
131
  theme = void 0;_this.
130
132
  blinkTimeout = 0;_this.
131
133
  input = null;_this.
134
+ setRootNode = void 0;_this.
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
132
147
 
133
148
 
134
149
 
@@ -550,18 +565,20 @@ Input = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(I
550
565
  return /*#__PURE__*/(
551
566
  _react.default.createElement("span", { className: (0, _Emotion.cx)(_Input.styles.suffix(_this.theme), (_cx4 = {}, _cx4[_Input.styles.suffixDisabled(_this.theme)] = disabled, _cx4)) }, suffix));
552
567
 
553
- };return _this;}var _proto = Input.prototype;_proto.componentDidMount = function componentDidMount() {if (_polyfillPlaceholder.polyfillPlaceholder) {this.setState({ polyfillPlaceholder: true });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.blinkTimeout) {clearTimeout(this.blinkTimeout);}this.cancelDelayedSelectAll();};_proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {if (_polyfillPlaceholder.polyfillPlaceholder && !nextProps.value) {this.setState({ polyfillPlaceholder: true });}} /**
568
+ };return _this;}var _proto = Input.prototype;_proto.componentDidMount = function componentDidMount() {if (_polyfillPlaceholder.polyfillPlaceholder) {this.setState({ polyfillPlaceholder: true });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.blinkTimeout) {clearTimeout(this.blinkTimeout);}this.cancelDelayedSelectAll();};Input.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {if (_polyfillPlaceholder.polyfillPlaceholder && !props.value) {return { polyfillPlaceholder: true };}return state;} /**
554
569
  * @public
555
570
  */;_proto.focus = function focus() {(0, _invariant.default)(this.input, 'Cannot call "focus" because Input is not mounted');this.input.focus();} /**
556
571
  * @public
557
572
  */;_proto.blur = function blur() {(0, _invariant.default)(this.input, 'Cannot call "blur" because Input is not mounted');this.input.blur();} /**
558
573
  * @public
574
+ */;_proto.getNode = function getNode() {return this.input;} /**
575
+ * @public
559
576
  */;_proto.blink = function blink() {var _this2 = this;if (this.blinkTimeout) {this.cancelBlink(function () {// trigger reflow to restart animation
560
577
  // @see https://css-tricks.com/restart-css-animation/#article-header-id-0
561
578
  void (_this2.input && _this2.input.offsetWidth);_this2.blink();});return;}this.setState({ blinking: true }, function () {_this2.blinkTimeout = window.setTimeout(_this2.cancelBlink, 150);});} /**
562
579
  * @public
563
580
  * @param {number} start
564
581
  * @param {number} end
565
- */;_proto.setSelectionRange = function setSelectionRange(start, end) {if (!this.input) {throw new Error('Cannot call "setSelectionRange" on unmounted Input');}if (document.activeElement !== this.input) {this.focus();}this.input.setSelectionRange(start, end);};_proto.render = function render() {var _this3 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this3.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this3.props, _this3.renderMain);});} /**
582
+ */;_proto.setSelectionRange = function setSelectionRange(start, end) {if (!this.input) {throw new Error('Cannot call "setSelectionRange" on unmounted Input');}if (document.activeElement !== this.input) {this.focus();}this.input.setSelectionRange(start, end);};_proto.render = function render() {var _this3 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this3.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this3.setRootNode }, _this3.props), _this3.renderMain);});} /**
566
583
  * @public
567
- */;_proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {return /*#__PURE__*/_react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({}, inputProps, { mask: mask, maskChar: this.props.maskChar, alwaysShowMask: this.props.alwaysShowMask, formatChars: this.props.formatChars, onChange: this.props.onChange, onValueChange: this.handleMaskedValueChange, onUnexpectedInput: this.handleUnexpectedInput }));};_proto.getIconSizeClassname = function getIconSizeClassname(right) {if (right === void 0) {right = false;}switch (this.props.size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};_proto.renderLeftIcon = function renderLeftIcon() {return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());};_proto.renderRightIcon = function renderRightIcon() {return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));};_proto.renderIcon = function renderIcon(icon, sizeClassName) {var _cx5;if (!icon) {return null;}var disabled = this.props.disabled;var iconNode = icon instanceof Function ? icon() : icon;return /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Input.styles.icon(), sizeClassName, _Input.styles.useDefaultColor(this.theme), (_cx5 = {}, _cx5[_Input.styles.iconDisabled()] = disabled, _cx5)) }, iconNode);};_proto.renderPlaceholder = function renderPlaceholder() {var disabled = this.props.disabled;var focused = this.state.focused;var placeholder = null;if (this.state.polyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value) {var _cx6;placeholder = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Input.styles.placeholder(this.theme), (_cx6 = {}, _cx6[_Input.styles.placeholderDisabled(this.theme)] = disabled, _cx6[_Input.styles.placeholderFocus(this.theme)] = focused, _cx6)), style: { textAlign: this.props.align || 'inherit' } }, this.props.placeholder);}return placeholder;};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;switch (this.props.size) {case 'large':return (0, _Emotion.cx)((_cx7 = {}, _cx7[_Input.styles.sizeLarge(this.theme)] = true, _cx7[_Input.styles.sizeLargeFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx7));case 'medium':return (0, _Emotion.cx)((_cx8 = {}, _cx8[_Input.styles.sizeMedium(this.theme)] = true, _cx8[_Input.styles.sizeMediumFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx8));case 'small':default:return (0, _Emotion.cx)((_cx9 = {}, _cx9[_Input.styles.sizeSmall(this.theme)] = true, _cx9[_Input.styles.sizeSmallFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx9));}};(0, _createClass2.default)(Input, [{ key: "isMaskVisible", get: function get() {var _this$props3 = this.props,mask = _this$props3.mask,alwaysShowMask = _this$props3.alwaysShowMask;var focused = this.state.focused;return Boolean(mask && (focused || alwaysShowMask));} }]);return Input;}(_react.default.Component);exports.Input = Input;Input.__KONTUR_REACT_UI__ = 'Input';Input.defaultProps = { size: 'small' };
584
+ */;_proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {return /*#__PURE__*/_react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({}, inputProps, { mask: mask, maskChar: this.props.maskChar, alwaysShowMask: this.props.alwaysShowMask, formatChars: this.props.formatChars, onChange: this.props.onChange, onValueChange: this.handleMaskedValueChange, onUnexpectedInput: this.handleUnexpectedInput }));};_proto.getIconSizeClassname = function getIconSizeClassname(right) {if (right === void 0) {right = false;}switch (this.props.size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};_proto.renderLeftIcon = function renderLeftIcon() {return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());};_proto.renderRightIcon = function renderRightIcon() {return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));};_proto.renderIcon = function renderIcon(icon, sizeClassName) {var _cx5;if (!icon) {return null;}var disabled = this.props.disabled;var iconNode = icon instanceof Function ? icon() : icon;return /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Input.styles.icon(), sizeClassName, _Input.styles.useDefaultColor(this.theme), (_cx5 = {}, _cx5[_Input.styles.iconDisabled()] = disabled, _cx5)) }, iconNode);};_proto.renderPlaceholder = function renderPlaceholder() {var disabled = this.props.disabled;var focused = this.state.focused;var placeholder = null;if (this.state.polyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value) {var _cx6;placeholder = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Input.styles.placeholder(this.theme), (_cx6 = {}, _cx6[_Input.styles.placeholderDisabled(this.theme)] = disabled, _cx6[_Input.styles.placeholderFocus(this.theme)] = focused, _cx6)), style: { textAlign: this.props.align || 'inherit' } }, this.props.placeholder);}return placeholder;};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;switch (this.props.size) {case 'large':return (0, _Emotion.cx)((_cx7 = {}, _cx7[_Input.styles.sizeLarge(this.theme)] = true, _cx7[_Input.styles.sizeLargeFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx7));case 'medium':return (0, _Emotion.cx)((_cx8 = {}, _cx8[_Input.styles.sizeMedium(this.theme)] = true, _cx8[_Input.styles.sizeMediumFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx8));case 'small':default:return (0, _Emotion.cx)((_cx9 = {}, _cx9[_Input.styles.sizeSmall(this.theme)] = true, _cx9[_Input.styles.sizeSmallFallback(this.theme)] = _client.isIE11 || _client.isEdge, _cx9));}};(0, _createClass2.default)(Input, [{ key: "isMaskVisible", get: function get() {var _this$props3 = this.props,mask = _this$props3.mask,alwaysShowMask = _this$props3.alwaysShowMask;var focused = this.state.focused;return Boolean(mask && (focused || alwaysShowMask));} }]);return Input;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Input', _class2.defaultProps = { size: 'small' }, _temp)) || _class;exports.Input = Input;
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.tsx"],"names":["Input","state","polyfillPlaceholder","blinking","focused","selectAllId","theme","blinkTimeout","input","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","warning","leftIcon","rightIcon","borderless","align","type","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","rest","labelProps","className","styles","root","getSizeClassName","focus","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","renderMaskedInput","React","createElement","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","componentDidMount","componentWillUnmount","UNSAFE_componentWillReceiveProps","nextProps","blur","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Boolean","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport React from 'react';\nimport raf from 'raf';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { polyfillPlaceholder } from '../../lib/polyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Input.styles';\n\nexport type InputSize = 'small' | 'medium' | 'large';\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = 'password' | 'text';\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport interface InputProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: InputSize;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /** Тип */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n polyfillPlaceholder: boolean;\n}\n\n/**\n * Интерфес пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: {\n size: InputSize;\n } = {\n size: 'small',\n };\n\n public state: InputState = {\n polyfillPlaceholder: false,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n\n public componentDidMount() {\n if (polyfillPlaceholder) {\n this.setState({ polyfillPlaceholder: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: InputProps) {\n if (polyfillPlaceholder && !nextProps.value) {\n this.setState({ polyfillPlaceholder: true });\n }\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input!.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input!.blur();\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n\n this.input.setSelectionRange(start, end);\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n style: { width },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type: 'text',\n placeholder: !this.isMaskVisible && !polyfillPlaceholder ? placeholder : undefined,\n disabled,\n };\n\n if (type === 'password') {\n inputProps.type = type;\n }\n\n const input = mask ? this.renderMaskedInput(inputProps, mask) : React.createElement('input', inputProps);\n\n return (\n <label {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (this.state.polyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (polyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.polyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ polyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Input.tsx"],"names":["Input","rootNode","state","polyfillPlaceholder","blinking","focused","selectAllId","theme","blinkTimeout","input","setRootNode","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","warning","leftIcon","rightIcon","borderless","align","type","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","rest","labelProps","className","styles","root","getSizeClassName","focus","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","renderMaskedInput","React","createElement","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","componentDidMount","componentWillUnmount","getDerivedStateFromProps","blur","getNode","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Boolean","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport React from 'react';\nimport raf from 'raf';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { polyfillPlaceholder } from '../../lib/polyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Input.styles';\n\nexport type InputSize = 'small' | 'medium' | 'large';\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = 'password' | 'text';\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport interface InputProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: InputSize;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /** Тип */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n polyfillPlaceholder: boolean;\n}\n\n/**\n * Интерфес пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: {\n size: InputSize;\n } = {\n size: 'small',\n };\n\n public state: InputState = {\n polyfillPlaceholder: false,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (polyfillPlaceholder) {\n this.setState({ polyfillPlaceholder: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n public static getDerivedStateFromProps(props: InputProps, state: InputState) {\n if (polyfillPlaceholder && !props.value) {\n return { polyfillPlaceholder: true };\n }\n return state;\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input!.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input!.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n\n this.input.setSelectionRange(start, end);\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n style: { width },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type: 'text',\n placeholder: !this.isMaskVisible && !polyfillPlaceholder ? placeholder : undefined,\n disabled,\n };\n\n if (type === 'password') {\n inputProps.type = type;\n }\n\n const input = mask ? this.renderMaskedInput(inputProps, mask) : React.createElement('input', inputProps);\n\n return (\n <label {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (this.state.polyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (polyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.polyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ polyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
@@ -1,13 +1,13 @@
1
- ```jsx harmony
2
- import SearchIcon from '@skbkontur/react-icons/Search';
3
-
4
- <Input leftIcon={<SearchIcon />} />;
5
- ```
6
-
7
- Пример с префиксом:
8
-
9
- ```jsx harmony
10
- import SearchIcon from '@skbkontur/react-icons/Search';
11
-
12
- <Input width={400} prefix="https://kontur.ru/search?query=" rightIcon={<SearchIcon />} />;
13
- ```
1
+ ```jsx harmony
2
+ import SearchIcon from '@skbkontur/react-icons/Search';
3
+
4
+ <Input leftIcon={<SearchIcon />} />;
5
+ ```
6
+
7
+ Пример с префиксом:
8
+
9
+ ```jsx harmony
10
+ import SearchIcon from '@skbkontur/react-icons/Search';
11
+
12
+ <Input width={400} prefix="https://kontur.ru/search?query=" rightIcon={<SearchIcon />} />;
13
+ ```
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Nullable } from '../../typings/utility-types';
3
- import { PopupPosition } from '../../internal/Popup';
3
+ import { PopupPositionsType } from '../../internal/Popup';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface KebabProps extends CommonProps {
6
6
  disabled?: boolean;
@@ -23,7 +23,7 @@ export interface KebabProps extends CommonProps {
23
23
  * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
24
24
  * @default ['bottom left', 'bottom right', 'top left', 'top right']
25
25
  */
26
- positions: PopupPosition[];
26
+ positions: PopupPositionsType[];
27
27
  menuMaxHeight?: number | string;
28
28
  /**
29
29
  * Не показывать анимацию
@@ -56,6 +56,7 @@ export declare class Kebab extends React.Component<KebabProps, KebabState> {
56
56
  anchor: null;
57
57
  };
58
58
  private theme;
59
+ private setRootNode;
59
60
  private listener;
60
61
  componentDidMount(): void;
61
62
  componentWillUnmount(): void;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Kebab = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");exports.__esModule = true;exports.Kebab = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
 
4
4
  var _identifiers = require("../../lib/events/keyboard/identifiers");
@@ -14,8 +14,9 @@ var _currentEnvironment = require("../../lib/currentEnvironment");
14
14
  var _ThemeFactory = require("../../lib/theming/ThemeFactory");
15
15
  var _CommonWrapper = require("../../internal/CommonWrapper");
16
16
  var _Emotion = require("../../lib/theming/Emotion");
17
+ var _rootNode = require("../../lib/rootNode");
17
18
 
18
- var _Kebab = require("./Kebab.styles");var
19
+ var _Kebab = require("./Kebab.styles");var _class, _class2, _temp;var
19
20
 
20
21
 
21
22
 
@@ -56,7 +57,8 @@ var _Kebab = require("./Kebab.styles");var
56
57
 
57
58
 
58
59
 
59
- Kebab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Kebab, _React$Component);function Kebab() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
60
+
61
+ Kebab = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Kebab, _React$Component);function Kebab() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
60
62
 
61
63
 
62
64
 
@@ -77,6 +79,7 @@ Kebab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(K
77
79
 
78
80
 
79
81
  theme = void 0;_this.
82
+ setRootNode = void 0;_this.
80
83
 
81
84
  listener =
82
85
 
@@ -214,7 +217,7 @@ Kebab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(K
214
217
  _this.setState({
215
218
  focusedByTab: false });
216
219
 
217
- };return _this;}var _proto = Kebab.prototype;_proto.componentDidMount = function componentDidMount() {/** addListener'у нужен колбэк в аргумент */this.listener = LayoutEvents.addListener(function () {return undefined;});};_proto.componentWillUnmount = function componentWillUnmount() {this.listener.remove();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.kebabPinOffset, popupMargin: theme.kebabMargin, popupPinSize: theme.kebabPinSize }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props = this.props,disabled = _this$props.disabled,positions = _this$props.positions;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_PopupMenu.PopupMenu, { popupHasPin: true, positions: positions, onChangeMenuState: this.handleChangeMenuState, caption: this.renderCaption, disableAnimations: this.props.disableAnimations, menuMaxHeight: this.props.menuMaxHeight }, !disabled && this.props.children));};_proto.
220
+ };return _this;}var _proto = Kebab.prototype;_proto.componentDidMount = function componentDidMount() {/** addListener'у нужен колбэк в аргумент */this.listener = LayoutEvents.addListener(function () {return undefined;});};_proto.componentWillUnmount = function componentWillUnmount() {this.listener.remove();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.kebabPinOffset, popupMargin: theme.kebabMargin, popupPinSize: theme.kebabPinSize }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props = this.props,disabled = _this$props.disabled,positions = _this$props.positions;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_PopupMenu.PopupMenu, { popupHasPin: true, positions: positions, onChangeMenuState: this.handleChangeMenuState, caption: this.renderCaption, disableAnimations: this.props.disableAnimations, menuMaxHeight: this.props.menuMaxHeight }, !disabled && this.props.children));};_proto.
218
221
 
219
222
  renderIcon = function renderIcon() {var _cx2;
220
223
  return /*#__PURE__*/(
@@ -229,7 +232,7 @@ Kebab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(K
229
232
  this.props.icon));
230
233
 
231
234
 
232
- };return Kebab;}(_react.default.Component);exports.Kebab = Kebab;Kebab.__KONTUR_REACT_UI__ = 'Kebab';Kebab.propTypes = {};Kebab.defaultProps = { onOpen: function onOpen() {return undefined;}, onClose: function onClose() {return undefined;}, positions: ['bottom left', 'bottom right', 'top left', 'top right'], size: 'small', disableAnimations: _currentEnvironment.isTestEnv, icon: /*#__PURE__*/_react.default.createElement(_px.MenuKebabIcon, null) };
235
+ };return Kebab;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Kebab', _class2.propTypes = {}, _class2.defaultProps = { onOpen: function onOpen() {return undefined;}, onClose: function onClose() {return undefined;}, positions: ['bottom left', 'bottom right', 'top left', 'top right'], size: 'small', disableAnimations: _currentEnvironment.isTestEnv, icon: /*#__PURE__*/_react.default.createElement(_px.MenuKebabIcon, null) }, _temp)) || _class;exports.Kebab = Kebab;
233
236
 
234
237
 
235
238
  Kebab.propTypes = {