@skbkontur/react-ui 4.2.1 → 4.3.1

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 (417) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -17
  3. package/cjs/components/Autocomplete/Autocomplete.js +10 -6
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +4 -5
  6. package/cjs/components/Button/Button.js +8 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.mixins.js +1 -1
  9. package/cjs/components/Button/Button.mixins.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.js +18 -18
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Center/Center.d.ts +4 -3
  13. package/cjs/components/Center/Center.js +9 -3
  14. package/cjs/components/Center/Center.js.map +1 -1
  15. package/cjs/components/Checkbox/Checkbox.md +48 -0
  16. package/cjs/components/ComboBox/ComboBox.d.ts +8 -13
  17. package/cjs/components/ComboBox/ComboBox.js +12 -2
  18. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  19. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  20. package/cjs/components/CurrencyInput/CurrencyInput.js +19 -6
  21. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  22. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +2 -0
  23. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +14 -2
  24. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
  26. package/cjs/components/CurrencyLabel/CurrencyLabel.js +15 -15
  27. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  28. package/cjs/components/DateInput/DateFragmentsView.js +1 -1
  29. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  30. package/cjs/components/DateInput/DateInput.d.ts +8 -11
  31. package/cjs/components/DateInput/DateInput.js +11 -3
  32. package/cjs/components/DateInput/DateInput.js.map +1 -1
  33. package/cjs/components/DatePicker/DatePicker.d.ts +7 -9
  34. package/cjs/components/DatePicker/DatePicker.js +12 -6
  35. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  36. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +5 -5
  37. package/cjs/components/DropdownMenu/DropdownMenu.js +9 -3
  38. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  39. package/cjs/components/FileUploader/FileUploader.md +8 -1
  40. package/cjs/components/FxInput/FxInput.d.ts +6 -6
  41. package/cjs/components/FxInput/FxInput.js +13 -10
  42. package/cjs/components/FxInput/FxInput.js.map +1 -1
  43. package/cjs/components/Gapped/Gapped.d.ts +7 -8
  44. package/cjs/components/Gapped/Gapped.js +12 -6
  45. package/cjs/components/Gapped/Gapped.js.map +1 -1
  46. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  47. package/cjs/components/GlobalLoader/GlobalLoader.js +13 -9
  48. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  49. package/cjs/components/Hint/Hint.d.ts +8 -12
  50. package/cjs/components/Hint/Hint.js +15 -5
  51. package/cjs/components/Hint/Hint.js.map +1 -1
  52. package/cjs/components/Hint/Hint.md +14 -0
  53. package/cjs/components/Input/Input.d.ts +4 -3
  54. package/cjs/components/Input/Input.js +7 -4
  55. package/cjs/components/Input/Input.js.map +1 -1
  56. package/cjs/components/Kebab/Kebab.d.ts +7 -11
  57. package/cjs/components/Kebab/Kebab.js +14 -5
  58. package/cjs/components/Kebab/Kebab.js.map +1 -1
  59. package/cjs/components/Link/Link.d.ts +4 -4
  60. package/cjs/components/Link/Link.js +11 -4
  61. package/cjs/components/Link/Link.js.map +1 -1
  62. package/cjs/components/Loader/Loader.d.ts +7 -4
  63. package/cjs/components/Loader/Loader.js +14 -4
  64. package/cjs/components/Loader/Loader.js.map +1 -1
  65. package/cjs/components/Modal/Modal.d.ts +4 -3
  66. package/cjs/components/Modal/Modal.js +8 -3
  67. package/cjs/components/Modal/Modal.js.map +1 -1
  68. package/cjs/components/Modal/ModalFooter.js +1 -1
  69. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  70. package/cjs/components/Modal/ModalHeader.js +1 -1
  71. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  72. package/cjs/components/Paging/Paging.d.ts +6 -9
  73. package/cjs/components/Paging/Paging.js +15 -5
  74. package/cjs/components/Paging/Paging.js.map +1 -1
  75. package/cjs/components/Paging/PagingDefaultComponent.d.ts +1 -1
  76. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  77. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -3
  78. package/cjs/components/PasswordInput/PasswordInput.js +8 -3
  79. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  80. package/cjs/components/Radio/Radio.d.ts +4 -3
  81. package/cjs/components/Radio/Radio.js +8 -3
  82. package/cjs/components/Radio/Radio.js.map +1 -1
  83. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -4
  84. package/cjs/components/RadioGroup/RadioGroup.js +4 -2
  85. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  86. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +7 -8
  87. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +4 -4
  88. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  89. package/cjs/components/ScrollContainer/ScrollContainer.js +12 -6
  90. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  91. package/cjs/components/Select/Select.d.ts +3 -12
  92. package/cjs/components/Select/Select.js +6 -1
  93. package/cjs/components/Select/Select.js.map +1 -1
  94. package/cjs/components/Select/Select.styles.js +4 -4
  95. package/cjs/components/Select/Select.styles.js.map +1 -1
  96. package/cjs/components/SidePage/SidePage.d.ts +5 -6
  97. package/cjs/components/SidePage/SidePage.js +8 -1
  98. package/cjs/components/SidePage/SidePage.js.map +1 -1
  99. package/cjs/components/Spinner/Spinner.d.ts +4 -2
  100. package/cjs/components/Spinner/Spinner.js +9 -3
  101. package/cjs/components/Spinner/Spinner.js.map +1 -1
  102. package/cjs/components/Sticky/Sticky.d.ts +5 -4
  103. package/cjs/components/Sticky/Sticky.js +9 -2
  104. package/cjs/components/Sticky/Sticky.js.map +1 -1
  105. package/cjs/components/Tabs/Tab.d.ts +4 -4
  106. package/cjs/components/Tabs/Tab.js +11 -13
  107. package/cjs/components/Tabs/Tab.js.map +1 -1
  108. package/cjs/components/Tabs/Tabs.d.ts +4 -4
  109. package/cjs/components/Tabs/Tabs.js +12 -3
  110. package/cjs/components/Tabs/Tabs.js.map +1 -1
  111. package/cjs/components/Textarea/Textarea.d.ts +8 -10
  112. package/cjs/components/Textarea/Textarea.js +10 -6
  113. package/cjs/components/Textarea/Textarea.js.map +1 -1
  114. package/cjs/components/Toast/Toast.js.map +1 -1
  115. package/cjs/components/Toggle/Toggle.d.ts +5 -6
  116. package/cjs/components/Toggle/Toggle.js +10 -4
  117. package/cjs/components/Toggle/Toggle.js.map +1 -1
  118. package/cjs/components/TokenInput/TokenInput.d.ts +19 -16
  119. package/cjs/components/TokenInput/TokenInput.js +75 -57
  120. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  121. package/cjs/components/Tooltip/Tooltip.d.ts +13 -19
  122. package/cjs/components/Tooltip/Tooltip.js +27 -24
  123. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  124. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +5 -4
  125. package/cjs/components/TooltipMenu/TooltipMenu.js +11 -5
  126. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  127. package/cjs/internal/BGRuler.d.ts +13 -15
  128. package/cjs/internal/BGRuler.js +16 -8
  129. package/cjs/internal/BGRuler.js.map +1 -1
  130. package/cjs/internal/Calendar/Calendar.d.ts +4 -13
  131. package/cjs/internal/Calendar/Calendar.js +10 -5
  132. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  133. package/cjs/internal/Calendar/DayCellView.styles.js +1 -1
  134. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  135. package/cjs/internal/Calendar/Month.js +16 -11
  136. package/cjs/internal/Calendar/Month.js.map +1 -1
  137. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  138. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  139. package/cjs/internal/ComponentCombinator.d.ts +6 -8
  140. package/cjs/internal/ComponentCombinator.js +6 -2
  141. package/cjs/internal/ComponentCombinator.js.map +1 -1
  142. package/cjs/internal/ComponentTable.d.ts +5 -6
  143. package/cjs/internal/ComponentTable.js +11 -2
  144. package/cjs/internal/ComponentTable.js.map +1 -1
  145. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +4 -4
  146. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +7 -1
  147. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  148. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
  149. package/cjs/internal/CustomComboBox/ComboBoxView.js +18 -10
  150. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  151. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -6
  152. package/cjs/internal/DateSelect/DateSelect.js +15 -9
  153. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  154. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  155. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -5
  156. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  157. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  158. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  159. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  160. package/cjs/internal/InputLikeText/InputLikeText.js +7 -2
  161. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  162. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -9
  163. package/cjs/internal/InternalMenu/InternalMenu.js +36 -14
  164. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  165. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -1
  166. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  167. package/cjs/internal/MaskedInput/MaskedInput.d.ts +5 -2
  168. package/cjs/internal/MaskedInput/MaskedInput.js +17 -6
  169. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  170. package/cjs/internal/Menu/Menu.d.ts +4 -7
  171. package/cjs/internal/Menu/Menu.js +14 -4
  172. package/cjs/internal/Menu/Menu.js.map +1 -1
  173. package/cjs/internal/Popup/Popup.d.ts +11 -17
  174. package/cjs/internal/Popup/Popup.js +38 -19
  175. package/cjs/internal/Popup/Popup.js.map +1 -1
  176. package/cjs/internal/Popup/PopupHelper.d.ts +1 -1
  177. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  178. package/cjs/internal/Popup/PopupPin.d.ts +1 -1
  179. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  180. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -11
  181. package/cjs/internal/PopupMenu/PopupMenu.js +8 -1
  182. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  183. package/cjs/internal/RenderLayer/RenderLayer.d.ts +6 -4
  184. package/cjs/internal/RenderLayer/RenderLayer.js +15 -4
  185. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  186. package/cjs/internal/ThemePlayground/VariableValue.d.ts +5 -4
  187. package/cjs/internal/ThemePlayground/VariableValue.js +6 -1
  188. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  189. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -11
  190. package/cjs/internal/ZIndex/ZIndex.js +10 -3
  191. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  192. package/cjs/internal/themes/DefaultTheme.js +1 -1
  193. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  194. package/cjs/lib/InstanceWithAnchorElement.d.ts +1 -1
  195. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -1
  196. package/cjs/lib/SSRSafe.d.ts +2 -1
  197. package/cjs/lib/SSRSafe.js +9 -1
  198. package/cjs/lib/SSRSafe.js.map +1 -1
  199. package/cjs/lib/createPropsGetter.d.ts +2 -1
  200. package/cjs/lib/createPropsGetter.js +2 -0
  201. package/cjs/lib/createPropsGetter.js.map +1 -1
  202. package/cjs/lib/listenFocusOutside.d.ts +1 -1
  203. package/cjs/lib/listenFocusOutside.js.map +1 -1
  204. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  205. package/cjs/lib/rootNode/getRootNode.js +7 -7
  206. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  207. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +7 -7
  208. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  209. package/cjs/typings/event-types.d.ts +2 -2
  210. package/components/Autocomplete/Autocomplete/Autocomplete.js +22 -12
  211. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  212. package/components/Autocomplete/Autocomplete.d.ts +9 -17
  213. package/components/Button/Button/Button.js +11 -5
  214. package/components/Button/Button/Button.js.map +1 -1
  215. package/components/Button/Button.d.ts +4 -5
  216. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  217. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  218. package/components/Button/Button.styles/Button.styles.js +18 -18
  219. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  220. package/components/Center/Center/Center.js +7 -5
  221. package/components/Center/Center/Center.js.map +1 -1
  222. package/components/Center/Center.d.ts +4 -3
  223. package/components/Checkbox/Checkbox.md +48 -0
  224. package/components/ComboBox/ComboBox/ComboBox.js +3 -1
  225. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  226. package/components/ComboBox/ComboBox.d.ts +8 -13
  227. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +28 -18
  228. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  229. package/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  230. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js +4 -2
  231. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  232. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +2 -0
  233. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +21 -15
  234. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  235. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -9
  236. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +1 -0
  237. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  238. package/components/DateInput/DateInput/DateInput.js +17 -4
  239. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  240. package/components/DateInput/DateInput.d.ts +8 -11
  241. package/components/DatePicker/DatePicker/DatePicker.js +12 -9
  242. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  243. package/components/DatePicker/DatePicker.d.ts +7 -9
  244. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +8 -2
  245. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  246. package/components/DropdownMenu/DropdownMenu.d.ts +5 -5
  247. package/components/FileUploader/FileUploader.md +8 -1
  248. package/components/FxInput/FxInput/FxInput.js +11 -9
  249. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  250. package/components/FxInput/FxInput.d.ts +6 -6
  251. package/components/Gapped/Gapped/Gapped.js +17 -8
  252. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  253. package/components/Gapped/Gapped.d.ts +7 -8
  254. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +35 -16
  255. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  256. package/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  257. package/components/Hint/Hint/Hint.js +30 -18
  258. package/components/Hint/Hint/Hint.js.map +1 -1
  259. package/components/Hint/Hint.d.ts +8 -12
  260. package/components/Hint/Hint.md +14 -0
  261. package/components/Input/Input/Input.js +9 -7
  262. package/components/Input/Input/Input.js.map +1 -1
  263. package/components/Input/Input.d.ts +4 -3
  264. package/components/Kebab/Kebab/Kebab.js +19 -8
  265. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  266. package/components/Kebab/Kebab.d.ts +7 -11
  267. package/components/Link/Link/Link.js +9 -6
  268. package/components/Link/Link/Link.js.map +1 -1
  269. package/components/Link/Link.d.ts +4 -4
  270. package/components/Loader/Loader/Loader.js +22 -17
  271. package/components/Loader/Loader/Loader.js.map +1 -1
  272. package/components/Loader/Loader.d.ts +7 -4
  273. package/components/Modal/Modal/Modal.js +3 -1
  274. package/components/Modal/Modal/Modal.js.map +1 -1
  275. package/components/Modal/Modal.d.ts +4 -3
  276. package/components/Modal/ModalFooter/ModalFooter.js +2 -2
  277. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  278. package/components/Modal/ModalHeader/ModalHeader.js +2 -2
  279. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  280. package/components/Paging/Paging/Paging.js +24 -14
  281. package/components/Paging/Paging/Paging.js.map +1 -1
  282. package/components/Paging/Paging.d.ts +6 -9
  283. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  284. package/components/Paging/PagingDefaultComponent.d.ts +1 -1
  285. package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -5
  286. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  287. package/components/PasswordInput/PasswordInput.d.ts +4 -3
  288. package/components/Radio/Radio/Radio.js +7 -5
  289. package/components/Radio/Radio/Radio.js.map +1 -1
  290. package/components/Radio/Radio.d.ts +4 -3
  291. package/components/RadioGroup/RadioGroup/RadioGroup.js +10 -10
  292. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  293. package/components/RadioGroup/RadioGroup.d.ts +2 -4
  294. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +11 -7
  295. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  296. package/components/ScrollContainer/ScrollContainer.d.ts +7 -8
  297. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +4 -4
  298. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -1
  299. package/components/Select/Select/Select.js +4 -3
  300. package/components/Select/Select/Select.js.map +1 -1
  301. package/components/Select/Select.d.ts +3 -12
  302. package/components/Select/Select.styles/Select.styles.js +4 -4
  303. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  304. package/components/SidePage/SidePage/SidePage.js +14 -9
  305. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  306. package/components/SidePage/SidePage.d.ts +5 -6
  307. package/components/Spinner/Spinner/Spinner.js +7 -5
  308. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  309. package/components/Spinner/Spinner.d.ts +4 -2
  310. package/components/Sticky/Sticky/Sticky.js +7 -4
  311. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  312. package/components/Sticky/Sticky.d.ts +5 -4
  313. package/components/Tabs/Tab/Tab.js +15 -7
  314. package/components/Tabs/Tab/Tab.js.map +1 -1
  315. package/components/Tabs/Tab.d.ts +4 -4
  316. package/components/Tabs/Tabs/Tabs.js +10 -8
  317. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  318. package/components/Tabs/Tabs.d.ts +4 -4
  319. package/components/Textarea/Textarea/Textarea.js +19 -14
  320. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  321. package/components/Textarea/Textarea.d.ts +8 -10
  322. package/components/Toast/Toast/Toast.js.map +1 -1
  323. package/components/Toggle/Toggle/Toggle.js +12 -7
  324. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  325. package/components/Toggle/Toggle.d.ts +5 -6
  326. package/components/TokenInput/TokenInput/TokenInput.js +107 -77
  327. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  328. package/components/TokenInput/TokenInput.d.ts +19 -16
  329. package/components/Tooltip/Tooltip/Tooltip.js +60 -47
  330. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  331. package/components/Tooltip/Tooltip.d.ts +13 -19
  332. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +15 -13
  333. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  334. package/components/TooltipMenu/TooltipMenu.d.ts +5 -4
  335. package/internal/BGRuler/BGRuler.js +11 -6
  336. package/internal/BGRuler/BGRuler.js.map +1 -1
  337. package/internal/BGRuler.d.ts +13 -15
  338. package/internal/Calendar/Calendar/Calendar.js +11 -5
  339. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  340. package/internal/Calendar/Calendar.d.ts +4 -13
  341. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
  342. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  343. package/internal/Calendar/Month/Month.js +20 -11
  344. package/internal/Calendar/Month/Month.js.map +1 -1
  345. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  346. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  347. package/internal/ComponentCombinator/ComponentCombinator.js +8 -5
  348. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  349. package/internal/ComponentCombinator.d.ts +6 -8
  350. package/internal/ComponentTable/ComponentTable.js +16 -4
  351. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  352. package/internal/ComponentTable.d.ts +5 -6
  353. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +4 -2
  354. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  355. package/internal/CustomComboBox/ComboBoxMenu.d.ts +4 -4
  356. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +21 -10
  357. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  358. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -12
  359. package/internal/DateSelect/DateSelect/DateSelect.js +14 -11
  360. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  361. package/internal/DateSelect/DateSelect.d.ts +4 -6
  362. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +6 -10
  363. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  364. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  365. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  366. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  367. package/internal/InputLikeText/InputLikeText/InputLikeText.js +4 -2
  368. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  369. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  370. package/internal/InternalMenu/InternalMenu/InternalMenu.js +37 -16
  371. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  372. package/internal/InternalMenu/InternalMenu.d.ts +3 -9
  373. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  374. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  375. package/internal/MaskedInput/MaskedInput/MaskedInput.js +12 -6
  376. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  377. package/internal/MaskedInput/MaskedInput.d.ts +5 -2
  378. package/internal/Menu/Menu/Menu.js +16 -4
  379. package/internal/Menu/Menu/Menu.js.map +1 -1
  380. package/internal/Menu/Menu.d.ts +4 -7
  381. package/internal/Popup/Popup/Popup.js +52 -35
  382. package/internal/Popup/Popup/Popup.js.map +1 -1
  383. package/internal/Popup/Popup.d.ts +11 -17
  384. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  385. package/internal/Popup/PopupHelper.d.ts +1 -1
  386. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  387. package/internal/Popup/PopupPin.d.ts +1 -1
  388. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -4
  389. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  390. package/internal/PopupMenu/PopupMenu.d.ts +8 -11
  391. package/internal/RenderLayer/RenderLayer/RenderLayer.js +18 -11
  392. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  393. package/internal/RenderLayer/RenderLayer.d.ts +6 -4
  394. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -2
  395. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  396. package/internal/ThemePlayground/VariableValue.d.ts +5 -4
  397. package/internal/ZIndex/ZIndex/ZIndex.js +15 -13
  398. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  399. package/internal/ZIndex/ZIndex.d.ts +7 -11
  400. package/internal/themes/DefaultTheme/DefaultTheme.js +6 -6
  401. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  402. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -1
  403. package/lib/InstanceWithAnchorElement.d.ts +1 -1
  404. package/lib/SSRSafe/SSRSafe.js +7 -0
  405. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  406. package/lib/SSRSafe.d.ts +2 -1
  407. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  408. package/lib/createPropsGetter.d.ts +2 -1
  409. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  410. package/lib/listenFocusOutside.d.ts +1 -1
  411. package/lib/rootNode/getRootNode/getRootNode.js +8 -8
  412. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  413. package/lib/rootNode/getRootNode.d.ts +3 -3
  414. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  415. package/lib/rootNode/rootNodeDecorator.d.ts +7 -7
  416. package/package.json +2 -2
  417. package/typings/event-types.d.ts +2 -2
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Input, InputProps } from '../Input';
4
4
  import { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';
5
+ import { DefaultizedProps } from '../../lib/createPropsGetter';
5
6
  import { Override } from '../../typings/utility-types';
6
7
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
7
8
  export interface FxInputProps extends CommonProps, Override<CurrencyInputProps, {
@@ -24,6 +25,8 @@ export interface FxInputProps extends CommonProps, Override<CurrencyInputProps,
24
25
  export declare const FxInputDataTids: {
25
26
  readonly root: "FxInput__root";
26
27
  };
28
+ declare type DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;
29
+ declare type DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;
27
30
  /** Принимает все свойства `Input`'a */
28
31
  export declare class FxInput extends React.Component<FxInputProps> {
29
32
  static __KONTUR_REACT_UI__: string;
@@ -31,16 +34,12 @@ export declare class FxInput extends React.Component<FxInputProps> {
31
34
  auto: PropTypes.Requireable<boolean>;
32
35
  type: PropTypes.Requireable<string>;
33
36
  };
34
- static defaultProps: {
35
- width: number;
36
- type: string;
37
- value: string;
38
- };
37
+ static defaultProps: DefaultProps;
39
38
  private input;
40
39
  private getProps;
41
40
  private setRootNode;
42
41
  render(): JSX.Element;
43
- renderMain: (props: CommonWrapperRestProps<FxInputProps>) => JSX.Element;
42
+ renderMain: (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => JSX.Element;
44
43
  /**
45
44
  * @public
46
45
  */
@@ -51,3 +50,4 @@ export declare class FxInput extends React.Component<FxInputProps> {
51
50
  blur: () => void;
52
51
  private refInput;
53
52
  }
53
+ export {};
@@ -9,7 +9,7 @@ var _createPropsGetter = require("../../lib/createPropsGetter");
9
9
 
10
10
  var _px = require("../../internal/icons/16px");
11
11
  var _CommonWrapper = require("../../internal/CommonWrapper");
12
- var _rootNode = require("../../lib/rootNode");var _excluded = ["type", "onRestore", "auto", "refInput"];var _class, _class2, _temp;
12
+ var _rootNode = require("../../lib/rootNode");var _excluded = ["type", "onRestore", "auto", "refInput", "value", "width"];var _class, _class2, _temp;
13
13
 
14
14
 
15
15
 
@@ -34,10 +34,13 @@ var _rootNode = require("../../lib/rootNode");var _excluded = ["type", "onRestor
34
34
 
35
35
 
36
36
  var FxInputDataTids = {
37
- root: 'FxInput__root' };
37
+ root: 'FxInput__root' };exports.FxInputDataTids = FxInputDataTids;
38
38
 
39
39
 
40
- /** Принимает все свойства `Input`'a */exports.FxInputDataTids = FxInputDataTids;var
40
+
41
+
42
+
43
+ /** Принимает все свойства `Input`'a */var
41
44
 
42
45
  FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(FxInput, _React$Component);function FxInput() {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.
43
46
 
@@ -67,7 +70,7 @@ FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
67
70
 
68
71
 
69
72
  renderMain = function (props) {
70
- var type = props.type,onRestore = props.onRestore,auto = props.auto,refInput = props.refInput,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
73
+ var type = props.type,onRestore = props.onRestore,auto = props.auto,refInput = props.refInput,value = props.value,width = props.width,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
71
74
  var inputProps = {
72
75
  align: 'right' };
73
76
 
@@ -91,15 +94,15 @@ FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
91
94
  }
92
95
 
93
96
  return /*#__PURE__*/(
94
- _react.default.createElement(_Group.Group, { "data-tid": FxInputDataTids.root, width: _this.props.width },
97
+ _react.default.createElement(_Group.Group, { "data-tid": FxInputDataTids.root, width: width },
95
98
  button,
96
- _this.getProps().type === 'currency' ? /*#__PURE__*/
99
+ type === 'currency' ? /*#__PURE__*/
97
100
  _react.default.createElement(_CurrencyInput.CurrencyInput, (0, _extends2.default)({},
98
101
  inputProps,
99
102
  rest, {
100
103
  width: '100%',
101
104
  ref: _this.refInput,
102
- value: _this.props.value,
105
+ value: value,
103
106
  onValueChange: _this.props.onValueChange })) : /*#__PURE__*/
104
107
 
105
108
 
@@ -108,8 +111,8 @@ FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
108
111
  rest, {
109
112
  width: '100%',
110
113
  ref: _this.refInput,
111
- type: _this.props.type,
112
- value: _this.props.value,
114
+ type: type,
115
+ value: value,
113
116
  onValueChange: _this.props.onValueChange }))));
114
117
 
115
118
 
@@ -141,4 +144,4 @@ FxInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/funct
141
144
  if (_this.props.refInput) {
142
145
  _this.props.refInput(_this.input);
143
146
  }
144
- };return _this;}var _proto = FxInput.prototype;_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), this.renderMain);};return FxInput;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'FxInput', _class2.propTypes = { auto: _propTypes.default.bool, type: _propTypes.default.string }, _class2.defaultProps = { width: 250, type: 'text', value: '' }, _temp)) || _class;exports.FxInput = FxInput;
147
+ };return _this;}var _proto = FxInput.prototype;_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.getProps()), this.renderMain);};return FxInput;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'FxInput', _class2.propTypes = { auto: _propTypes.default.bool, type: _propTypes.default.string }, _class2.defaultProps = { width: 250, type: 'text', value: '' }, _temp)) || _class;exports.FxInput = FxInput;
@@ -1 +1 @@
1
- {"version":3,"sources":["FxInput.tsx"],"names":["FxInputDataTids","root","FxInput","rootNode","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","rest","inputProps","align","button","leftIcon","size","borderless","disabled","width","value","onValueChange","focus","blur","element","render","setRootNode","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string"],"mappings":"2dAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8C;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,IAAMA,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAE,eADuB,EAAxB;;;AAIP,uC;;AAEaC,O,OADZC,kB;;;;;;;;;;;;;;AAeSC,IAAAA,K,GAAsC,I;;AAEtCC,IAAAA,Q,GAAW,0CAAkBH,OAAO,CAACI,YAA1B,C;;;;;;;;;;;AAWZC,IAAAA,U,GAAa,UAACC,KAAD,EAAiD;AACnE,UAAQC,IAAR,GAAqDD,KAArD,CAAQC,IAAR,CAAcC,SAAd,GAAqDF,KAArD,CAAcE,SAAd,CAAyBC,IAAzB,GAAqDH,KAArD,CAAyBG,IAAzB,CAA+BC,QAA/B,GAAqDJ,KAArD,CAA+BI,QAA/B,CAA4CC,IAA5C,+CAAqDL,KAArD;AACA,UAAMM,UAAuC,GAAG;AAC9CC,QAAAA,KAAK,EAAE,OADuC,EAAhD;;;AAIA,UAAIC,MAAM,GAAG,IAAb;;AAEA,UAAIL,IAAJ,EAAU;AACRG,QAAAA,UAAU,CAACG,QAAX,gBAAsB,6BAAC,gBAAD,OAAtB;AACD,OAFD,MAEO;AACLD,QAAAA,MAAM;AACJ,qCAAC,cAAD;AACE,UAAA,IAAI,EAAE,MAAKR,KAAL,CAAWU,IADnB;AAEE,UAAA,MAAM,MAFR;AAGE,UAAA,OAAO,EAAE,MAAKV,KAAL,CAAWE,SAHtB;AAIE,UAAA,UAAU,EAAE,MAAKF,KAAL,CAAWW,UAJzB;AAKE,UAAA,QAAQ,EAAE,MAAKX,KAAL,CAAWY,QALvB;;AAOE,qCAAC,YAAD,OAPF,CADF;;;AAWD;;AAED;AACE,qCAAC,YAAD,IAAO,YAAUpB,eAAe,CAACC,IAAjC,EAAuC,KAAK,EAAE,MAAKO,KAAL,CAAWa,KAAzD;AACGL,QAAAA,MADH;AAEG,cAAKX,QAAL,GAAgBI,IAAhB,KAAyB,UAAzB;AACC,qCAAC,4BAAD;AACMK,QAAAA,UADN;AAEMD,QAAAA,IAFN;AAGE,UAAA,KAAK,EAAE,MAHT;AAIE,UAAA,GAAG,EAAE,MAAKD,QAJZ;AAKE,UAAA,KAAK,EAAE,MAAKJ,KAAL,CAAWc,KALpB;AAME,UAAA,aAAa,EAAE,MAAKd,KAAL,CAAWe,aAN5B,IADD;;;AAUC,qCAAC,YAAD;AACMT,QAAAA,UADN;AAEMD,QAAAA,IAFN;AAGE,UAAA,KAAK,EAAE,MAHT;AAIE,UAAA,GAAG,EAAE,MAAKD,QAJZ;AAKE,UAAA,IAAI,EAAE,MAAKJ,KAAL,CAAWC,IALnB;AAME,UAAA,KAAK,EAAE,MAAKD,KAAL,CAAWc,KANpB;AAOE,UAAA,aAAa,EAAE,MAAKd,KAAL,CAAWe,aAP5B,IAZJ,CADF;;;;;AAyBD,K;;;;;AAKMC,IAAAA,K,GAAQ,YAAM;AACnB,UAAI,MAAKpB,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWoB,KAAX;AACD;AACF,K;;;;;AAKMC,IAAAA,I,GAAO,YAAM;AAClB,UAAI,MAAKrB,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWqB,IAAX;AACD;AACF,K;;AAEOb,IAAAA,Q,GAAW,UAACc,OAAD,EAA2C;AAC5D,YAAKtB,KAAL,GAAasB,OAAb;;AAEA,UAAI,MAAKlB,KAAL,CAAWI,QAAf,EAAyB;AACvB,cAAKJ,KAAL,CAAWI,QAAX,CAAoB,MAAKR,KAAzB;AACD;AACF,K,qDAnFMuB,M,GAAP,kBAAgB,CACd,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAKpB,KAAvD,GACG,KAAKD,UADR,CADF,CAKD,C,kBAzB0BsB,eAAMC,S,WACnBC,mB,GAAsB,S,UAEtBC,S,GAAY,EACxBrB,IAAI,EAAEsB,mBAAUC,IADQ,EAExBzB,IAAI,EAAEwB,mBAAUE,MAFQ,E,UAKZ7B,Y,GAAe,EAC3Be,KAAK,EAAE,GADoB,EAE3BZ,IAAI,EAAE,MAFqB,EAG3Ba,KAAK,EAAE,EAHoB,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '../Button';\nimport { Group } from '../Group';\nimport { Input, InputProps, InputType } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon, UndoIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface FxInputProps\n extends CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<FxInputProps>) => {\n const { type, onRestore, auto, refInput, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n\n if (auto) {\n inputProps.leftIcon = <FunctionIcon />;\n } else {\n button = (\n <Button\n size={this.props.size}\n narrow\n onClick={this.props.onRestore}\n borderless={this.props.borderless}\n disabled={this.props.disabled}\n >\n <UndoIcon />\n </Button>\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={this.props.width}>\n {button}\n {this.getProps().type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n value={this.props.value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n type={this.props.type as InputType}\n value={this.props.value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["FxInput.tsx"],"names":["FxInputDataTids","root","FxInput","rootNode","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","inputProps","align","button","leftIcon","size","borderless","disabled","onValueChange","focus","blur","element","render","setRootNode","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '../Button';\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon, UndoIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface FxInputProps\n extends CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n\n if (auto) {\n inputProps.leftIcon = <FunctionIcon />;\n } else {\n button = (\n <Button\n size={this.props.size}\n narrow\n onClick={this.props.onRestore}\n borderless={this.props.borderless}\n disabled={this.props.disabled}\n >\n <UndoIcon />\n </Button>\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
@@ -11,23 +11,24 @@ export interface GappedProps extends CommonProps {
11
11
  * Вертикальное выравнивание
12
12
  * @default "baseline"
13
13
  */
14
- verticalAlign: 'top' | 'middle' | 'baseline' | 'bottom';
14
+ verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';
15
15
  /**
16
16
  * Расположение элементов по вертикали
17
17
  * @default false
18
18
  */
19
- vertical: boolean;
19
+ vertical?: boolean;
20
20
  /**
21
21
  * Перенос элементов на новую строку при горизонтальном расположении
22
22
  * @default false
23
23
  */
24
- wrap: boolean;
24
+ wrap?: boolean;
25
25
  children: React.ReactNode;
26
26
  }
27
27
  export declare const GappedDataTids: {
28
28
  readonly vertical: "Gapped__vertical";
29
29
  readonly horizontal: "Gapped__horizontal";
30
30
  };
31
+ declare type DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;
31
32
  /**
32
33
  * Контейнер, расстояние между элементами в котором равно `gap`.
33
34
  */
@@ -48,14 +49,12 @@ export declare class Gapped extends React.Component<GappedProps> {
48
49
  verticalAlign: PropTypes.Requireable<string>;
49
50
  };
50
51
  private setRootNode;
51
- static defaultProps: {
52
- wrap: boolean;
53
- vertical: boolean;
54
- verticalAlign: string;
55
- };
52
+ static defaultProps: DefaultProps;
53
+ private getProps;
56
54
  render(): JSX.Element;
57
55
  private getGapValue;
58
56
  private renderVertical;
59
57
  private renderHorizontal;
60
58
  private filterChildren;
61
59
  }
60
+ export {};
@@ -3,7 +3,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
 
4
4
  var _utils = require("../../lib/utils");
5
5
  var _CommonWrapper = require("../../internal/CommonWrapper");
6
- var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;
6
+ var _rootNode = require("../../lib/rootNode");
7
+ var _createPropsGetter = require("../../lib/createPropsGetter");var _class, _class2, _temp;
7
8
 
8
9
 
9
10
 
@@ -31,14 +32,17 @@ var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;
31
32
 
32
33
  var GappedDataTids = {
33
34
  vertical: 'Gapped__vertical',
34
- horizontal: 'Gapped__horizontal' };
35
+ horizontal: 'Gapped__horizontal' };exports.GappedDataTids = GappedDataTids;
36
+
37
+
35
38
 
36
39
 
37
40
  /**
38
41
  * Контейнер, расстояние между элементами в котором равно `gap`.
39
- */exports.GappedDataTids = GappedDataTids;var
42
+ */var
43
+
44
+ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Gapped, _React$Component);function Gapped() {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.
40
45
 
41
- Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Gapped, _React$Component);function Gapped() {return _React$Component.apply(this, arguments) || this;}var _proto = Gapped.prototype;_proto.
42
46
 
43
47
 
44
48
 
@@ -65,11 +69,12 @@ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
65
69
 
66
70
 
67
71
 
72
+ getProps = (0, _createPropsGetter.createPropsGetter)(Gapped.defaultProps);return _this;}var _proto = Gapped.prototype;_proto.
68
73
 
69
74
  render = function render() {
70
75
  return /*#__PURE__*/(
71
76
  _react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props),
72
- this.props.vertical ? this.renderVertical() : this.renderHorizontal()));
77
+ this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()));
73
78
 
74
79
 
75
80
  };_proto.
@@ -103,7 +108,8 @@ Gapped = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
103
108
  };_proto.
104
109
 
105
110
  renderHorizontal = function renderHorizontal() {
106
- var _this$props = this.props,children = _this$props.children,verticalAlign = _this$props.verticalAlign,wrap = _this$props.wrap;
111
+ var _this$props = this.props,children = _this$props.children,verticalAlign = _this$props.verticalAlign;
112
+ var wrap = this.getProps().wrap;
107
113
  var gap = this.getGapValue();
108
114
  var itemStyle = (0, _extends2.default)({
109
115
  display: 'inline-block',
@@ -1 +1 @@
1
- {"version":3,"sources":["Gapped.tsx"],"names":["GappedDataTids","vertical","horizontal","Gapped","rootNode","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","number","bool","oneOf","defaultProps"],"mappings":"6VAAA;AACA;;AAEA;AACA;AACA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,IAAMA,cAAc,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,kBADkB;AAE5BC,EAAAA,UAAU,EAAE,oBAFgB,EAAvB;;;AAKP;AACA;AACA,G;;AAEaC,M,OADZC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BQC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAKC,KAAvD;AACG,WAAKA,KAAL,CAAWN,QAAX,GAAsB,KAAKO,cAAL,EAAtB,GAA8C,KAAKC,gBAAL,EADjD,CADF;;;AAKD,G;;AAEOC,EAAAA,W,GAAR,uBAAsB;AACpB;AACA,QAAaC,QAAb,GAA0B,KAAKJ,KAA/B,CAAQK,GAAR;AACA,QAAI,0BAAcD,QAAd,CAAJ,EAA6B;AAC3B,aAAOA,QAAP;AACD;;AAED,WAAO,CAAP;AACD,G;;AAEOH,EAAAA,c,GAAR,0BAAyB;AACvB,QAAMK,mBAAwC,GAAG;AAC/CC,MAAAA,UAAU,EAAE,KAAKJ,WAAL,EADmC,EAAjD;;AAGA,QAAMK,QAAQ,GAAGC,eAAMC,QAAN,CAAeC,OAAf,CAAuB,KAAKX,KAAL,CAAWQ,QAAlC;AACdI,IAAAA,MADc,CACP,KAAKC,cADE;AAEdC,IAAAA,GAFc,CAEV,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACrB,UAAMC,KAAK,GAAGD,KAAK,KAAK,CAAV,GAAcE,SAAd,GAA0BZ,mBAAxC;AACA;AACE,8CAAK,KAAK,EAAEW,KAAZ,EAAmB,GAAG,EAAED,KAAxB;AACGD,QAAAA,KADH,CADF;;;AAKD,KATc,CAAjB;;AAWA,wBAAO,sCAAK,YAAUtB,cAAc,CAACC,QAA9B,IAAyCc,QAAzC,CAAP;AACD,G;;AAEON,EAAAA,gB,GAAR,4BAA2B;AACzB,sBAA0C,KAAKF,KAA/C,CAAQQ,QAAR,eAAQA,QAAR,CAAkBW,aAAlB,eAAkBA,aAAlB,CAAiCC,IAAjC,eAAiCA,IAAjC;AACA,QAAMf,GAAG,GAAG,KAAKF,WAAL,EAAZ;AACA,QAAMkB,SAA8B;AAClCC,MAAAA,OAAO,EAAE,cADyB;AAElCH,MAAAA,aAAa,EAAbA,aAFkC;AAG9BC,IAAAA,IAAI,GAAG,EAAEG,UAAU,EAAElB,GAAd,EAAmBmB,SAAS,EAAEnB,GAA9B,EAAH,GAAyC,EAHf,CAApC;;AAKA,QAAMoB,SAA8B,GAAGL,IAAI,GAAG,EAAEb,UAAU,EAAE,CAAd,EAAH,GAAuB,EAAlE;AACA,QAAMmB,SAA8B,GAAGN,IAAI,GAAG,EAAEI,SAAS,EAAE,CAACnB,GAAD,GAAO,CAApB,EAAuBkB,UAAU,EAAE,CAAClB,GAApC,EAAH,GAA+C,EAAEsB,UAAU,EAAE,QAAd,EAA1F;;AAEA;AACE,4CAAK,YAAUlC,cAAc,CAACE,UAA9B,EAA0C,KAAK,EAAE8B,SAAjD;AACE,4CAAK,KAAK,EAAEC,SAAZ;AACGjB,qBAAMC,QAAN,CAAeC,OAAf,CAAuBH,QAAvB;AACEI,MAAAA,MADF,CACS,KAAKC,cADd;AAEEC,MAAAA,GAFF,CAEM,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACrB,YAAMO,UAAU,GAAGP,KAAK,KAAK,CAAV,GAAcE,SAAd,GAA0Bb,GAA7C;AACA;AACE,iDAAM,GAAG,EAAEW,KAAX,EAAkB,KAAK,2BAAIO,UAAU,EAAVA,UAAJ,IAAmBF,SAAnB,CAAvB;AACGN,UAAAA,KADH,CADF;;;AAKD,OATF,CADH,CADF,CADF;;;;AAgBD,G;;AAEOF,EAAAA,c,GAAR,wBAAuBE,KAAvB,EAAwD;AACtD,WAAOa,OAAO,CAACb,KAAD,CAAP,IAAkB,OAAOA,KAAP,KAAiB,QAA1C;AACD,G,iBA/FyBN,eAAMoB,S,WAClBC,mB,GAAsB,Q,UAEtBC,S,GAAY,EACxB;AACJ;AACA,KACI1B,GAAG,EAAE2B,mBAAUC,MAJS,EAMxB;AACJ;AACA,KACIvC,QAAQ,EAAEsC,mBAAUE,IATI,EAWxB;AACJ;AACA,KACIf,aAAa,EAAEa,mBAAUG,KAAV,CAAgB,CAAC,KAAD,EAAQ,QAAR,EAAkB,UAAlB,EAA8B,QAA9B,CAAhB,CAdS,E,UAmBZC,Y,GAAe,EAC3BhB,IAAI,EAAE,KADqB,EAE3B1B,QAAQ,EAAE,KAFiB,EAG3ByB,aAAa,EAAE,UAHY,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface GappedProps extends CommonProps {\n /**\n * Расстояние между элементами в пикселях\n * @default 8\n */\n gap?: number;\n /**\n * Вертикальное выравнивание\n * @default \"baseline\"\n */\n verticalAlign: 'top' | 'middle' | 'baseline' | 'bottom';\n /**\n * Расположение элементов по вертикали\n * @default false\n */\n vertical: boolean;\n /**\n * Перенос элементов на новую строку при горизонтальном расположении\n * @default false\n */\n wrap: boolean;\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\n/**\n * Контейнер, расстояние между элементами в котором равно `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.props.vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign, wrap } = this.props;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
1
+ {"version":3,"sources":["Gapped.tsx"],"names":["GappedDataTids","vertical","horizontal","Gapped","rootNode","getProps","defaultProps","render","setRootNode","props","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","React","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","number","bool","oneOf"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport interface GappedProps extends CommonProps {\n /**\n * Расстояние между элементами в пикселях\n * @default 8\n */\n gap?: number;\n /**\n * Вертикальное выравнивание\n * @default \"baseline\"\n */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n /**\n * Расположение элементов по вертикали\n * @default false\n */\n vertical?: boolean;\n /**\n * Перенос элементов на новую строку при горизонтальном расположении\n * @default false\n */\n wrap?: boolean;\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер, расстояние между элементами в котором равно `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export interface GlobalLoaderProps extends Partial<DefaultProps> {
2
+ export interface GlobalLoaderProps {
3
3
  /**
4
4
  * Время(ms) до появления лоадера
5
5
  */
@@ -11,7 +11,7 @@ export interface GlobalLoaderProps extends Partial<DefaultProps> {
11
11
  /**
12
12
  * Ожидаемое время(ms) ответа сервера
13
13
  */
14
- expectedResponseTime: number;
14
+ expectedResponseTime?: number;
15
15
  /**
16
16
  * Анимация лоадера в виде спиннера
17
17
  */
@@ -23,7 +23,7 @@ export interface GlobalLoaderProps extends Partial<DefaultProps> {
23
23
  /**
24
24
  * Не показывать анимацию
25
25
  */
26
- disableAnimations: boolean;
26
+ disableAnimations?: boolean;
27
27
  /**
28
28
  * Коллбек, вызывающийся после появления лоадера
29
29
  */
@@ -53,25 +53,18 @@ export interface GlobalLoaderState {
53
53
  expectedResponseTime: number;
54
54
  started: boolean;
55
55
  }
56
- interface DefaultProps {
57
- expectedResponseTime: number;
58
- delayBeforeShow: number;
59
- delayBeforeHide: number;
60
- rejected: boolean;
61
- active: boolean;
62
- disableAnimations: boolean;
63
- }
64
- export declare type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;
65
56
  export declare const GlobalLoaderDataTids: {
66
57
  readonly root: "GlobalLoader";
67
58
  };
68
- export declare class GlobalLoader extends React.Component<GlobalLoaderComponentProps, GlobalLoaderState> {
59
+ declare type DefaultProps = Required<Pick<GlobalLoaderProps, 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'>>;
60
+ export declare class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {
69
61
  private successAnimationInProgressTimeout;
70
62
  private setRootNode;
63
+ private getProps;
71
64
  private readonly startTask;
72
65
  private readonly stopTask;
73
66
  static defaultProps: DefaultProps;
74
- constructor(props: GlobalLoaderComponentProps);
67
+ constructor(props: GlobalLoaderProps);
75
68
  componentDidMount(): void;
76
69
  componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>): void;
77
70
  componentWillUnmount(): void;
@@ -5,6 +5,7 @@ var _lodash = _interopRequireDefault(require("lodash.debounce"));
5
5
  var _currentEnvironment = require("../../lib/currentEnvironment");
6
6
  var _CommonWrapper = require("../../internal/CommonWrapper");
7
7
  var _rootNode = require("../../lib/rootNode");
8
+ var _createPropsGetter = require("../../lib/createPropsGetter");
8
9
 
9
10
  var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp;
10
11
 
@@ -63,6 +64,8 @@ var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp
63
64
 
64
65
 
65
66
 
67
+ var GlobalLoaderDataTids = {
68
+ root: 'GlobalLoader' };exports.GlobalLoaderDataTids = GlobalLoaderDataTids;
66
69
 
67
70
 
68
71
 
@@ -70,10 +73,6 @@ var _GlobalLoaderView = require("./GlobalLoaderView");var _class, _class2, _temp
70
73
 
71
74
 
72
75
 
73
-
74
-
75
- var GlobalLoaderDataTids = {
76
- root: 'GlobalLoader' };exports.GlobalLoaderDataTids = GlobalLoaderDataTids;
77
76
 
78
77
 
79
78
  var currentGlobalLoader;var
@@ -100,10 +99,14 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
100
99
 
101
100
 
102
101
 
102
+
103
103
 
104
104
 
105
105
  function GlobalLoader(props) {var _currentGlobalLoader;var _this;
106
- _this = _React$Component.call(this, props) || this;_this.startTask = (0, _lodash.default)(function () {_this.setState({ visible: true });_this.props.onStart == null ? void 0 : _this.props.onStart();}, _this.props.delayBeforeShow);_this.stopTask = (0, _lodash.default)(function () {_this.setState({ visible: false, successAnimationInProgress: false, started: false });_this.props.onDone == null ? void 0 : _this.props.onDone();}, _this.props.delayBeforeHide);_this.
106
+ _this = _React$Component.call(this, props) || this;_this.getProps = (0, _createPropsGetter.createPropsGetter)(GlobalLoader.defaultProps);_this.startTask = (0, _lodash.default)(function () {_this.setState({ visible: true });_this.props.onStart == null ? void 0 : _this.props.onStart();}, _this.getProps().delayBeforeShow);_this.stopTask = (0, _lodash.default)(function () {_this.setState({ visible: false, successAnimationInProgress: false, started: false });_this.props.onDone == null ? void 0 : _this.props.onDone();}, _this.getProps().delayBeforeHide);_this.
107
+
108
+
109
+
107
110
 
108
111
 
109
112
 
@@ -216,14 +219,15 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
216
219
 
217
220
 
218
221
  setActive = function () {
222
+ var _this$getProps = _this.getProps(),delayBeforeHide = _this$getProps.delayBeforeHide,rejected = _this$getProps.rejected;
219
223
  _this.startTask.cancel();
220
224
  if (_this.state.successAnimationInProgress) {
221
225
  _this.successAnimationInProgressTimeout = setTimeout(function () {
222
226
  _this.setActive();
223
- }, _this.props.delayBeforeHide);
227
+ }, delayBeforeHide);
224
228
  } else {
225
229
  _this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });
226
- if (_this.props.rejected) {
230
+ if (rejected) {
227
231
  _this.setReject(true);
228
232
  } else {
229
233
  _this.stopTask.cancel();
@@ -239,7 +243,7 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
239
243
  };_this.
240
244
 
241
245
  setReject = function (reject) {
242
- if (!_this.state.visible && (_this.state.started || _this.props.active)) {
246
+ if (!_this.state.visible && (_this.state.started || _this.getProps().active)) {
243
247
  _this.setState({ visible: true });
244
248
  }
245
249
  _this.startTask.cancel();
@@ -263,7 +267,7 @@ GlobalLoader = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/
263
267
  _this.setState({
264
268
  dead: true });
265
269
 
266
- };_this.state = { started: false, visible: false, done: false, rejected: false, accept: false, dead: false, successAnimationInProgress: false, expectedResponseTime: _this.props.expectedResponseTime };_this.successAnimationInProgressTimeout = null;(_currentGlobalLoader = currentGlobalLoader) == null ? void 0 : _currentGlobalLoader.kill();currentGlobalLoader = (0, _assertThisInitialized2.default)(_this);return _this;}var _proto = GlobalLoader.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.setActive();}if (this.props.rejected) {this.setReject(true);}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {this.setState({ expectedResponseTime: this.props.expectedResponseTime });}if (this.props.rejected !== prevProps.rejected) {this.setReject(!!this.props.rejected);}if (this.props.active !== prevProps.active) {if (this.props.active) {this.setActive();} else {this.setDone();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);};_proto.render = function render() {var status = 'standard';if (this.state.done) {status = 'success';} else if (this.state.rejected) {status = 'error';} else if (this.state.accept) {status = 'accept';}return !this.state.dead && this.state.visible && /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_GlobalLoaderView.GlobalLoaderView, { expectedResponseTime: this.state.expectedResponseTime, delayBeforeHide: this.props.delayBeforeHide, status: status, "data-tid": GlobalLoaderDataTids.root, disableAnimations: this.props.disableAnimations }));} /**
270
+ };_this.state = { started: false, visible: false, done: false, rejected: false, accept: false, dead: false, successAnimationInProgress: false, expectedResponseTime: _this.getProps().expectedResponseTime };_this.successAnimationInProgressTimeout = null;(_currentGlobalLoader = currentGlobalLoader) == null ? void 0 : _currentGlobalLoader.kill();currentGlobalLoader = (0, _assertThisInitialized2.default)(_this);return _this;}var _proto = GlobalLoader.prototype;_proto.componentDidMount = function componentDidMount() {var _this$getProps2 = this.getProps(),active = _this$getProps2.active,rejected = _this$getProps2.rejected;if (active) {this.setActive();}if (rejected) {this.setReject(true);}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps3 = this.getProps(),expectedResponseTime = _this$getProps3.expectedResponseTime,rejected = _this$getProps3.rejected,active = _this$getProps3.active;if (expectedResponseTime !== prevProps.expectedResponseTime) {this.setState({ expectedResponseTime: expectedResponseTime });}if (rejected !== prevProps.rejected) {this.setReject(!!rejected);}if (active !== prevProps.active) {if (active) {this.setActive();} else {this.setDone();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);};_proto.render = function render() {var status = 'standard';if (this.state.done) {status = 'success';} else if (this.state.rejected) {status = 'error';} else if (this.state.accept) {status = 'accept';}var _this$getProps4 = this.getProps(),delayBeforeHide = _this$getProps4.delayBeforeHide,disableAnimations = _this$getProps4.disableAnimations;return !this.state.dead && this.state.visible && /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_GlobalLoaderView.GlobalLoaderView, { expectedResponseTime: this.state.expectedResponseTime, delayBeforeHide: delayBeforeHide, status: status, "data-tid": GlobalLoaderDataTids.root, disableAnimations: disableAnimations }));} /**
267
271
  * Запускает анимацию лоадера <br />
268
272
  * Равносильно установке пропа `active = true`
269
273
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["GlobalLoader.tsx"],"names":["GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","rootNode","props","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","setActive","cancel","state","successAnimationInProgressTimeout","setTimeout","done","rejected","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","clearTimeout","render","status","setRootNode","disableAnimations","updateExpectedResponseTime","React","Component","defaultProps","isTestEnv","start"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { GlobalLoaderView, GlobalLoaderViewProps } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps extends Partial<DefaultProps> {\n /**\n * Время(ms) до появления лоадера\n */\n delayBeforeShow?: number;\n /**\n * Время(ms) до исчезновения лоадера\n */\n delayBeforeHide?: number;\n /**\n * Ожидаемое время(ms) ответа сервера\n */\n expectedResponseTime: number;\n /**\n * Анимация лоадера в виде спиннера\n */\n rejected?: boolean;\n /**\n * Показывать лоадер\n */\n active?: boolean;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Коллбек, вызывающийся после появления лоадера\n */\n onStart?(): void;\n /**\n * Коллбек, вызывающийся после исчезновения лоадера\n */\n onDone?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.reject()`.\n * Или после установки пропа `rejected = true`\n */\n onReject?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.accept()`.\n * Или после установки пропа `rejected = false`\n */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\ninterface DefaultProps {\n expectedResponseTime: number;\n delayBeforeShow: number;\n delayBeforeHide: number;\n rejected: boolean;\n active: boolean;\n disableAnimations: boolean;\n}\nexport type GlobalLoaderComponentProps = GlobalLoaderProps & DefaultProps;\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\nlet currentGlobalLoader: GlobalLoader;\n\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderComponentProps, GlobalLoaderState> {\n private successAnimationInProgressTimeout: Nullable<NodeJS.Timeout>;\n private setRootNode!: TSetRootNode;\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.props.delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.props.delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderComponentProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.props.expectedResponseTime,\n };\n this.successAnimationInProgressTimeout = null;\n currentGlobalLoader?.kill();\n currentGlobalLoader = this;\n }\n componentDidMount() {\n if (this.props.active) {\n this.setActive();\n }\n if (this.props.rejected) {\n this.setReject(true);\n }\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n if (this.props.expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime: this.props.expectedResponseTime });\n }\n if (this.props.rejected !== prevProps.rejected) {\n this.setReject(!!this.props.rejected);\n }\n if (this.props.active !== prevProps.active) {\n if (this.props.active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n componentWillUnmount() {\n this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={this.props.delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={this.props.disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader.setReject(false);\n };\n\n public setActive = () => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.successAnimationInProgressTimeout = setTimeout(() => {\n this.setActive();\n }, this.props.delayBeforeHide);\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.props.rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.props.active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
1
+ {"version":3,"sources":["GlobalLoader.tsx"],"names":["GlobalLoaderDataTids","root","currentGlobalLoader","GlobalLoader","rootNode","props","getProps","defaultProps","startTask","setState","visible","onStart","delayBeforeShow","stopTask","successAnimationInProgress","started","onDone","delayBeforeHide","setActive","rejected","cancel","state","successAnimationInProgressTimeout","setTimeout","done","accept","setReject","setDone","reject","active","onReject","onAccept","kill","dead","expectedResponseTime","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","clearTimeout","render","status","disableAnimations","setRootNode","updateExpectedResponseTime","React","Component","isTestEnv","start"],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { GlobalLoaderView, GlobalLoaderViewProps } from './GlobalLoaderView';\n\nexport interface GlobalLoaderProps {\n /**\n * Время(ms) до появления лоадера\n */\n delayBeforeShow?: number;\n /**\n * Время(ms) до исчезновения лоадера\n */\n delayBeforeHide?: number;\n /**\n * Ожидаемое время(ms) ответа сервера\n */\n expectedResponseTime?: number;\n /**\n * Анимация лоадера в виде спиннера\n */\n rejected?: boolean;\n /**\n * Показывать лоадер\n */\n active?: boolean;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n /**\n * Коллбек, вызывающийся после появления лоадера\n */\n onStart?(): void;\n /**\n * Коллбек, вызывающийся после исчезновения лоадера\n */\n onDone?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.reject()`.\n * Или после установки пропа `rejected = true`\n */\n onReject?(): void;\n /**\n * Коллбек, вызывающийся после вызова `GlobalLoader.accept()`.\n * Или после установки пропа `rejected = false`\n */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n GlobalLoaderProps,\n 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'\n >\n>;\n\nlet currentGlobalLoader: GlobalLoader;\n\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {\n private successAnimationInProgressTimeout: Nullable<NodeJS.Timeout>;\n private setRootNode!: TSetRootNode;\n private getProps = createPropsGetter(GlobalLoader.defaultProps);\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.getProps().delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.getProps().delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.getProps().expectedResponseTime,\n };\n this.successAnimationInProgressTimeout = null;\n currentGlobalLoader?.kill();\n currentGlobalLoader = this;\n }\n componentDidMount() {\n const { active, rejected } = this.getProps();\n if (active) {\n this.setActive();\n }\n if (rejected) {\n this.setReject(true);\n }\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n const { expectedResponseTime, rejected, active } = this.getProps();\n if (expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime });\n }\n if (rejected !== prevProps.rejected) {\n this.setReject(!!rejected);\n }\n if (active !== prevProps.active) {\n if (active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n componentWillUnmount() {\n this.successAnimationInProgressTimeout && clearTimeout(this.successAnimationInProgressTimeout);\n }\n\n public render() {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n const { delayBeforeHide, disableAnimations } = this.getProps();\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера <br />\n * Равносильно установке пропа `active = true`\n *\n * @public\n */\n public static start = (expectedResponseTime?: number) => {\n currentGlobalLoader.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки <br />\n * Равносильно установке пропа `active = false`\n *\n * @public\n */\n public static done = () => {\n currentGlobalLoader.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние спиннера <br />\n * Равносильно установке пропа `rejected = true`\n *\n * @public\n */\n public static reject = () => {\n currentGlobalLoader.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния спиннера в обычное и продолжает анимацию с того места, на котором она была прерван <br />\n * Равносильно установке пропа `rejected = false`\n *\n * @public\n */\n public static accept = () => {\n currentGlobalLoader.setReject(false);\n };\n\n public setActive = () => {\n const { delayBeforeHide, rejected } = this.getProps();\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.successAnimationInProgressTimeout = setTimeout(() => {\n this.setActive();\n }, delayBeforeHide);\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = () => {\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean) => {\n if (!this.state.visible && (this.state.started || this.getProps().active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number) {\n this.setState({ expectedResponseTime });\n }\n\n public kill = () => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
@@ -35,7 +35,7 @@ export interface HintProps extends CommonProps {
35
35
  *
36
36
  * **Допустимые значения**: `"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"`.
37
37
  */
38
- pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;
38
+ pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;
39
39
  /**
40
40
  * Текст подсказки.
41
41
  */
@@ -43,31 +43,26 @@ export interface HintProps extends CommonProps {
43
43
  /**
44
44
  * Отключает анимацию.
45
45
  */
46
- disableAnimations: boolean;
46
+ disableAnimations?: boolean;
47
47
  /**
48
48
  * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
49
49
  *
50
50
  * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
51
51
  */
52
- useWrapper: boolean;
52
+ useWrapper?: boolean;
53
53
  }
54
54
  export interface HintState {
55
55
  opened: boolean;
56
56
  }
57
+ declare type DefaultProps = Required<Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;
57
58
  /**
58
59
  * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
59
60
  */
60
61
  export declare class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {
61
62
  static __KONTUR_REACT_UI__: string;
62
63
  private isMobileLayout;
63
- static defaultProps: {
64
- pos: string;
65
- manual: boolean;
66
- opened: boolean;
67
- maxWidth: number;
68
- disableAnimations: boolean;
69
- useWrapper: boolean;
70
- };
64
+ static defaultProps: DefaultProps;
65
+ private getProps;
71
66
  state: HintState;
72
67
  private timer;
73
68
  private theme;
@@ -78,7 +73,7 @@ export declare class Hint extends React.PureComponent<HintProps, HintState> impl
78
73
  render(): JSX.Element;
79
74
  renderMobile(): JSX.Element;
80
75
  renderMain(): JSX.Element;
81
- getAnchorElement: () => Nullable<HTMLElement>;
76
+ getAnchorElement: () => Nullable<Element>;
82
77
  private renderContent;
83
78
  private getPositions;
84
79
  private handleMouseEnter;
@@ -86,3 +81,4 @@ export declare class Hint extends React.PureComponent<HintProps, HintState> impl
86
81
  private close;
87
82
  private open;
88
83
  }
84
+ export {};