@skbkontur/react-ui 3.9.2 → 3.9.3-sidepagefix

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 (816) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +112 -112
  3. package/cjs/components/Autocomplete/index.d.ts +1 -1
  4. package/cjs/components/Button/Button.d.ts +160 -157
  5. package/cjs/components/Button/Button.js +8 -1
  6. package/cjs/components/Button/Button.js.map +1 -1
  7. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  8. package/cjs/components/Button/Button.styles.d.ts +67 -67
  9. package/cjs/components/Button/Corners.d.ts +6 -6
  10. package/cjs/components/Button/index.d.ts +1 -1
  11. package/cjs/components/Center/Center.d.ts +24 -24
  12. package/cjs/components/Center/Center.styles.d.ts +7 -7
  13. package/cjs/components/Center/index.d.ts +1 -1
  14. package/cjs/components/Checkbox/Checkbox.d.ts +95 -96
  15. package/cjs/components/Checkbox/Checkbox.js +21 -18
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  18. package/cjs/components/Checkbox/index.d.ts +1 -1
  19. package/cjs/components/ComboBox/ComboBox.d.ts +182 -182
  20. package/cjs/components/ComboBox/index.d.ts +1 -1
  21. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  22. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +106 -105
  23. package/cjs/components/CurrencyInput/CurrencyInput.js +29 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  25. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  26. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  27. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  28. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  29. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  30. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  32. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  33. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  34. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  35. package/cjs/components/DateInput/DateInput.d.ts +106 -106
  36. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -10
  37. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  38. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  39. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  40. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  41. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  42. package/cjs/components/DateInput/index.d.ts +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +132 -132
  44. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  45. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  46. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  47. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  48. package/cjs/components/DatePicker/index.d.ts +1 -1
  49. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  50. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  51. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  52. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  53. package/cjs/components/Dropdown/Dropdown.d.ts +123 -123
  54. package/cjs/components/Dropdown/index.d.ts +1 -1
  55. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +64 -64
  56. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  57. package/cjs/components/FxInput/FxInput.d.ts +49 -49
  58. package/cjs/components/FxInput/index.d.ts +1 -1
  59. package/cjs/components/Gapped/Gapped.d.ts +56 -56
  60. package/cjs/components/Gapped/index.d.ts +1 -1
  61. package/cjs/components/Group/Group.d.ts +13 -13
  62. package/cjs/components/Group/Group.styles.d.ts +8 -8
  63. package/cjs/components/Group/index.d.ts +1 -1
  64. package/cjs/components/Hint/Hint.d.ts +79 -79
  65. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  66. package/cjs/components/Hint/index.d.ts +1 -1
  67. package/cjs/components/Input/Input.d.ts +154 -150
  68. package/cjs/components/Input/Input.js +9 -0
  69. package/cjs/components/Input/Input.js.map +1 -1
  70. package/cjs/components/Input/Input.styles.d.ts +42 -42
  71. package/cjs/components/Input/index.d.ts +1 -1
  72. package/cjs/components/Kebab/Kebab.d.ts +70 -70
  73. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  74. package/cjs/components/Kebab/index.d.ts +1 -1
  75. package/cjs/components/Link/Link.d.ts +71 -71
  76. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  77. package/cjs/components/Link/Link.styles.d.ts +15 -15
  78. package/cjs/components/Link/index.d.ts +1 -1
  79. package/cjs/components/Loader/Loader.d.ts +99 -99
  80. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  81. package/cjs/components/Loader/index.d.ts +1 -1
  82. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  83. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  84. package/cjs/components/MenuHeader/index.d.ts +1 -1
  85. package/cjs/components/MenuItem/MenuItem.d.ts +93 -93
  86. package/cjs/components/MenuItem/MenuItem.styles.d.ts +13 -13
  87. package/cjs/components/MenuItem/index.d.ts +1 -1
  88. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  89. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  90. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  91. package/cjs/components/Modal/Modal.d.ts +87 -87
  92. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  93. package/cjs/components/Modal/ModalBody.d.ts +20 -20
  94. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  95. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  96. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  97. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  98. package/cjs/components/Modal/index.d.ts +4 -4
  99. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  100. package/cjs/components/Paging/Paging.d.ts +90 -90
  101. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  102. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  103. package/cjs/components/Paging/index.d.ts +1 -1
  104. package/cjs/components/Paging/locale/index.d.ts +4 -4
  105. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  106. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  107. package/cjs/components/Paging/locale/types.d.ts +3 -3
  108. package/cjs/components/PasswordInput/PasswordInput.d.ts +48 -48
  109. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  110. package/cjs/components/PasswordInput/index.d.ts +1 -1
  111. package/cjs/components/Radio/Radio.d.ts +82 -82
  112. package/cjs/components/Radio/Radio.js +4 -1
  113. package/cjs/components/Radio/Radio.js.map +1 -1
  114. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  115. package/cjs/components/Radio/index.d.ts +1 -1
  116. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  117. package/cjs/components/RadioGroup/RadioGroup.d.ts +132 -132
  118. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  119. package/cjs/components/RadioGroup/index.d.ts +1 -1
  120. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  121. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  122. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +83 -83
  123. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  124. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  125. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  126. package/cjs/components/Select/Item.d.ts +7 -7
  127. package/cjs/components/Select/Select.d.ts +178 -178
  128. package/cjs/components/Select/Select.js +3 -2
  129. package/cjs/components/Select/Select.js.map +1 -1
  130. package/cjs/components/Select/Select.styles.d.ts +17 -17
  131. package/cjs/components/Select/index.d.ts +1 -1
  132. package/cjs/components/Select/locale/index.d.ts +4 -4
  133. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  134. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  135. package/cjs/components/Select/locale/types.d.ts +4 -4
  136. package/cjs/components/Select/selectTheme.d.ts +3 -3
  137. package/cjs/components/SidePage/SidePage.d.ts +107 -103
  138. package/cjs/components/SidePage/SidePage.js +19 -8
  139. package/cjs/components/SidePage/SidePage.js.map +1 -1
  140. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -37
  141. package/cjs/components/SidePage/SidePageBody.d.ts +18 -18
  142. package/cjs/components/SidePage/SidePageContainer.d.ts +14 -14
  143. package/cjs/components/SidePage/SidePageContext.d.ts +17 -15
  144. package/cjs/components/SidePage/SidePageContext.js +3 -0
  145. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  146. package/cjs/components/SidePage/SidePageFooter.d.ts +37 -37
  147. package/cjs/components/SidePage/SidePageHeader.d.ts +43 -40
  148. package/cjs/components/SidePage/SidePageHeader.js +26 -8
  149. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  150. package/cjs/components/SidePage/index.d.ts +5 -5
  151. package/cjs/components/Spinner/Spinner.d.ts +47 -47
  152. package/cjs/components/Spinner/Spinner.styles.d.ts +11 -11
  153. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  154. package/cjs/components/Spinner/index.d.ts +1 -1
  155. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  156. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  157. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  158. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  159. package/cjs/components/Sticky/Sticky.d.ts +58 -53
  160. package/cjs/components/Sticky/Sticky.js +5 -0
  161. package/cjs/components/Sticky/Sticky.js.map +1 -1
  162. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  163. package/cjs/components/Sticky/index.d.ts +1 -1
  164. package/cjs/components/Switcher/Switcher.d.ts +55 -55
  165. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  166. package/cjs/components/Switcher/index.d.ts +1 -1
  167. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  168. package/cjs/components/Tabs/Indicator.d.ts +27 -27
  169. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  170. package/cjs/components/Tabs/Tab.d.ts +120 -120
  171. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  172. package/cjs/components/Tabs/Tabs.d.ts +61 -61
  173. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  174. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  175. package/cjs/components/Tabs/index.d.ts +2 -2
  176. package/cjs/components/Textarea/Textarea.d.ts +184 -184
  177. package/cjs/components/Textarea/Textarea.styles.d.ts +15 -15
  178. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  179. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  180. package/cjs/components/Textarea/index.d.ts +1 -1
  181. package/cjs/components/Toast/Toast.d.ts +55 -55
  182. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  183. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  184. package/cjs/components/Toast/ToastView.d.ts +37 -37
  185. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  186. package/cjs/components/Toast/index.d.ts +1 -1
  187. package/cjs/components/Toggle/Toggle.d.ts +106 -106
  188. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  189. package/cjs/components/Toggle/index.d.ts +1 -1
  190. package/cjs/components/Token/Token.d.ts +35 -35
  191. package/cjs/components/Token/Token.styles.d.ts +29 -29
  192. package/cjs/components/Token/index.d.ts +1 -1
  193. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  194. package/cjs/components/TokenInput/TokenInput.d.ts +193 -193
  195. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  196. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  197. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  198. package/cjs/components/TokenInput/index.d.ts +1 -1
  199. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  200. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  201. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  202. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  203. package/cjs/components/Tooltip/Tooltip.d.ts +171 -171
  204. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  205. package/cjs/components/Tooltip/index.d.ts +1 -1
  206. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +64 -64
  207. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  208. package/cjs/index.d.ts +48 -48
  209. package/cjs/internal/BGRuler.d.ts +30 -30
  210. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  211. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  212. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  213. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  214. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  215. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  216. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  217. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  218. package/cjs/internal/Calendar/Month.d.ts +33 -33
  219. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  220. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  221. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  222. package/cjs/internal/Calendar/config.d.ts +9 -9
  223. package/cjs/internal/Calendar/index.d.ts +2 -2
  224. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +23 -23
  225. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  226. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  227. package/cjs/internal/ComponentTable.d.ts +21 -21
  228. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  229. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +87 -87
  230. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +135 -135
  231. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  232. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  233. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  234. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  235. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  236. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  237. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  238. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  239. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  240. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  241. package/cjs/internal/DateSelect/index.d.ts +1 -1
  242. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +46 -46
  243. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  244. package/cjs/internal/FocusTrap/FocusTrap.d.ts +16 -16
  245. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  246. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  247. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  248. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  249. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  250. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  251. package/cjs/internal/InputLikeText/InputLikeText.d.ts +72 -72
  252. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  253. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  254. package/cjs/internal/InternalMenu/InternalMenu.d.ts +64 -64
  255. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  256. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  257. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  258. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  259. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  260. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  261. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  262. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  263. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  264. package/cjs/internal/Menu/Menu.d.ts +62 -62
  265. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  266. package/cjs/internal/Menu/index.d.ts +1 -1
  267. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  268. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  269. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  270. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  271. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  272. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  273. package/cjs/internal/Popup/Popup.d.ts +161 -161
  274. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  275. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  276. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  277. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  278. package/cjs/internal/Popup/index.d.ts +1 -1
  279. package/cjs/internal/PopupMenu/PopupMenu.d.ts +84 -84
  280. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  281. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  282. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  283. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  284. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  285. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  286. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  287. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  288. package/cjs/internal/RenderLayer/RenderLayer.d.ts +27 -27
  289. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  290. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  291. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  292. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  293. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  294. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  295. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  296. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  297. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  298. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  299. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  300. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  301. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  302. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  303. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  304. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  305. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  306. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  307. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  308. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  309. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  310. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  311. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  312. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  313. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  314. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  315. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  316. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  317. package/cjs/internal/ZIndex/ZIndex.d.ts +34 -34
  318. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  319. package/cjs/internal/ZIndex/index.d.ts +1 -1
  320. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  321. package/cjs/internal/icons/16px/index.d.ts +21 -21
  322. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  323. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  324. package/cjs/internal/icons/20px/index.d.ts +2 -2
  325. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  326. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  327. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  328. package/cjs/internal/icons/SpinnerIcon.d.ts +23 -23
  329. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  330. package/cjs/internal/themes/DefaultTheme.d.ts +766 -766
  331. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  332. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  333. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  334. package/cjs/lib/LayoutEvents.d.ts +4 -4
  335. package/cjs/lib/ModalStack.d.ts +14 -14
  336. package/cjs/lib/SSRSafe.d.ts +4 -4
  337. package/cjs/lib/Supports.d.ts +1 -1
  338. package/cjs/lib/Upgrades.d.ts +6 -6
  339. package/cjs/lib/animation/index.d.ts +6 -6
  340. package/cjs/lib/animation/presets.d.ts +18 -18
  341. package/cjs/lib/animation/stepper.d.ts +1 -1
  342. package/cjs/lib/client.d.ts +16 -16
  343. package/cjs/lib/createPropsGetter.d.ts +2 -2
  344. package/cjs/lib/currentEnvironment.d.ts +3 -3
  345. package/cjs/lib/date/InternalDate.d.ts +58 -58
  346. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  347. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  348. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  349. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  350. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  351. package/cjs/lib/date/constants.d.ts +28 -28
  352. package/cjs/lib/date/localeSets.d.ts +5 -5
  353. package/cjs/lib/date/types.d.ts +90 -90
  354. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  355. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  356. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  357. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  358. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  359. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  360. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  361. package/cjs/lib/events/keyListener.d.ts +7 -7
  362. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  363. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  364. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  365. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  366. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  367. package/cjs/lib/events/tabListener.d.ts +1 -1
  368. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  369. package/cjs/lib/filterProps.d.ts +12 -12
  370. package/cjs/lib/forwardRefAndName.d.ts +5 -5
  371. package/cjs/lib/getDisplayName.d.ts +3 -0
  372. package/cjs/lib/getDisplayName.js +9 -0
  373. package/cjs/lib/getDisplayName.js.map +1 -0
  374. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  375. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  376. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  377. package/cjs/lib/locale/constants.d.ts +2 -2
  378. package/cjs/lib/locale/decorators.d.ts +36 -36
  379. package/cjs/lib/locale/index.d.ts +3 -3
  380. package/cjs/lib/locale/types.d.ts +19 -19
  381. package/cjs/lib/memo.d.ts +1 -1
  382. package/cjs/lib/net/fetch.d.ts +13 -13
  383. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  384. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  385. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  386. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  387. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  388. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  389. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  390. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  391. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  392. package/cjs/lib/styles/Mixins.d.ts +2 -2
  393. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  394. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  395. package/cjs/lib/theming/Emotion.d.ts +15 -15
  396. package/cjs/lib/theming/Theme.d.ts +3 -3
  397. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  398. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  399. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  400. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  401. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  402. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  403. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  404. package/cjs/lib/utils.d.ts +28 -28
  405. package/cjs/lib/withClassWrapper.d.ts +68 -0
  406. package/cjs/lib/withClassWrapper.js +59 -0
  407. package/cjs/lib/withClassWrapper.js.map +1 -0
  408. package/components/Autocomplete/Autocomplete.d.ts +112 -112
  409. package/components/Autocomplete/index.d.ts +1 -1
  410. package/components/Button/Button/Button.js +10 -0
  411. package/components/Button/Button/Button.js.map +1 -1
  412. package/components/Button/Button.d.ts +160 -157
  413. package/components/Button/Button.mixins.d.ts +6 -6
  414. package/components/Button/Button.styles.d.ts +67 -67
  415. package/components/Button/Corners.d.ts +6 -6
  416. package/components/Button/index.d.ts +1 -1
  417. package/components/Center/Center.d.ts +24 -24
  418. package/components/Center/Center.styles.d.ts +7 -7
  419. package/components/Center/index.d.ts +1 -1
  420. package/components/Checkbox/Checkbox/Checkbox.js +18 -20
  421. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  422. package/components/Checkbox/Checkbox.d.ts +95 -96
  423. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  424. package/components/Checkbox/index.d.ts +1 -1
  425. package/components/ComboBox/ComboBox.d.ts +182 -182
  426. package/components/ComboBox/index.d.ts +1 -1
  427. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  428. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +34 -1
  429. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  430. package/components/CurrencyInput/CurrencyInput.d.ts +106 -105
  431. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  432. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  433. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  434. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  435. package/components/CurrencyInput/constants.d.ts +2 -2
  436. package/components/CurrencyInput/index.d.ts +1 -1
  437. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  438. package/components/CurrencyLabel/index.d.ts +1 -1
  439. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  440. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  441. package/components/DateInput/DateInput.d.ts +106 -106
  442. package/components/DateInput/DateInput.styles.d.ts +10 -10
  443. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  444. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  445. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  446. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  447. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  448. package/components/DateInput/index.d.ts +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +132 -132
  450. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  451. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  452. package/components/DatePicker/Picker.d.ts +33 -33
  453. package/components/DatePicker/Picker.styles.d.ts +5 -5
  454. package/components/DatePicker/index.d.ts +1 -1
  455. package/components/DatePicker/locale/index.d.ts +4 -4
  456. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  457. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  458. package/components/DatePicker/locale/types.d.ts +5 -5
  459. package/components/Dropdown/Dropdown.d.ts +123 -123
  460. package/components/Dropdown/index.d.ts +1 -1
  461. package/components/DropdownMenu/DropdownMenu.d.ts +64 -64
  462. package/components/DropdownMenu/index.d.ts +1 -1
  463. package/components/FxInput/FxInput.d.ts +49 -49
  464. package/components/FxInput/index.d.ts +1 -1
  465. package/components/Gapped/Gapped.d.ts +56 -56
  466. package/components/Gapped/index.d.ts +1 -1
  467. package/components/Group/Group.d.ts +13 -13
  468. package/components/Group/Group.styles.d.ts +8 -8
  469. package/components/Group/index.d.ts +1 -1
  470. package/components/Hint/Hint.d.ts +79 -79
  471. package/components/Hint/Hint.styles.d.ts +5 -5
  472. package/components/Hint/index.d.ts +1 -1
  473. package/components/Input/Input/Input.js +8 -0
  474. package/components/Input/Input/Input.js.map +1 -1
  475. package/components/Input/Input.d.ts +154 -150
  476. package/components/Input/Input.styles.d.ts +42 -42
  477. package/components/Input/index.d.ts +1 -1
  478. package/components/Kebab/Kebab.d.ts +70 -70
  479. package/components/Kebab/Kebab.styles.d.ts +12 -12
  480. package/components/Kebab/index.d.ts +1 -1
  481. package/components/Link/Link.d.ts +71 -71
  482. package/components/Link/Link.mixins.d.ts +3 -3
  483. package/components/Link/Link.styles.d.ts +15 -15
  484. package/components/Link/index.d.ts +1 -1
  485. package/components/Loader/Loader.d.ts +99 -99
  486. package/components/Loader/Loader.styles.d.ts +8 -8
  487. package/components/Loader/index.d.ts +1 -1
  488. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  489. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  490. package/components/MenuHeader/index.d.ts +1 -1
  491. package/components/MenuItem/MenuItem.d.ts +93 -93
  492. package/components/MenuItem/MenuItem.styles.d.ts +13 -13
  493. package/components/MenuItem/index.d.ts +1 -1
  494. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  495. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  496. package/components/MenuSeparator/index.d.ts +1 -1
  497. package/components/Modal/Modal.d.ts +87 -87
  498. package/components/Modal/Modal.styles.d.ts +26 -26
  499. package/components/Modal/ModalBody.d.ts +20 -20
  500. package/components/Modal/ModalClose.d.ts +2 -2
  501. package/components/Modal/ModalContext.d.ts +15 -15
  502. package/components/Modal/ModalFooter.d.ts +21 -21
  503. package/components/Modal/ModalHeader.d.ts +17 -17
  504. package/components/Modal/index.d.ts +4 -4
  505. package/components/Paging/NavigationHelper.d.ts +7 -7
  506. package/components/Paging/Paging.d.ts +90 -90
  507. package/components/Paging/Paging.styles.d.ts +16 -16
  508. package/components/Paging/PagingHelper.d.ts +2 -2
  509. package/components/Paging/index.d.ts +1 -1
  510. package/components/Paging/locale/index.d.ts +4 -4
  511. package/components/Paging/locale/locales/en.d.ts +2 -2
  512. package/components/Paging/locale/locales/ru.d.ts +2 -2
  513. package/components/Paging/locale/types.d.ts +3 -3
  514. package/components/PasswordInput/PasswordInput.d.ts +48 -48
  515. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  516. package/components/PasswordInput/index.d.ts +1 -1
  517. package/components/Radio/Radio/Radio.js +4 -1
  518. package/components/Radio/Radio/Radio.js.map +1 -1
  519. package/components/Radio/Radio.d.ts +82 -82
  520. package/components/Radio/Radio.styles.d.ts +19 -19
  521. package/components/Radio/index.d.ts +1 -1
  522. package/components/RadioGroup/Prevent.d.ts +8 -8
  523. package/components/RadioGroup/RadioGroup.d.ts +132 -132
  524. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  525. package/components/RadioGroup/index.d.ts +1 -1
  526. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  527. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  528. package/components/ScrollContainer/ScrollContainer.d.ts +83 -83
  529. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  530. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  531. package/components/ScrollContainer/index.d.ts +1 -1
  532. package/components/Select/Item.d.ts +7 -7
  533. package/components/Select/Select/Select.js +6 -1
  534. package/components/Select/Select/Select.js.map +1 -1
  535. package/components/Select/Select.d.ts +178 -178
  536. package/components/Select/Select.styles.d.ts +17 -17
  537. package/components/Select/index.d.ts +1 -1
  538. package/components/Select/locale/index.d.ts +4 -4
  539. package/components/Select/locale/locales/en.d.ts +2 -2
  540. package/components/Select/locale/locales/ru.d.ts +2 -2
  541. package/components/Select/locale/types.d.ts +4 -4
  542. package/components/Select/selectTheme.d.ts +3 -3
  543. package/components/SidePage/SidePage/SidePage.js +21 -12
  544. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  545. package/components/SidePage/SidePage.d.ts +107 -103
  546. package/components/SidePage/SidePage.styles.d.ts +37 -37
  547. package/components/SidePage/SidePageBody.d.ts +18 -18
  548. package/components/SidePage/SidePageContainer.d.ts +14 -14
  549. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  550. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  551. package/components/SidePage/SidePageContext.d.ts +17 -15
  552. package/components/SidePage/SidePageFooter.d.ts +37 -37
  553. package/components/SidePage/SidePageHeader/SidePageHeader.js +21 -2
  554. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  555. package/components/SidePage/SidePageHeader.d.ts +43 -40
  556. package/components/SidePage/index.d.ts +5 -5
  557. package/components/Spinner/Spinner.d.ts +47 -47
  558. package/components/Spinner/Spinner.styles.d.ts +11 -11
  559. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  560. package/components/Spinner/index.d.ts +1 -1
  561. package/components/Spinner/locale/index.d.ts +4 -4
  562. package/components/Spinner/locale/locales/en.d.ts +2 -2
  563. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  564. package/components/Spinner/locale/types.d.ts +4 -4
  565. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  566. package/components/Sticky/Sticky.d.ts +58 -53
  567. package/components/Sticky/Sticky.styles.d.ts +7 -7
  568. package/components/Sticky/index.d.ts +1 -1
  569. package/components/Switcher/Switcher.d.ts +55 -55
  570. package/components/Switcher/Switcher.styles.d.ts +10 -10
  571. package/components/Switcher/index.d.ts +1 -1
  572. package/components/Switcher/switcherTheme.d.ts +2 -2
  573. package/components/Tabs/Indicator.d.ts +27 -27
  574. package/components/Tabs/Indicator.styles.d.ts +8 -8
  575. package/components/Tabs/Tab.d.ts +120 -120
  576. package/components/Tabs/Tab.styles.d.ts +27 -27
  577. package/components/Tabs/Tabs.d.ts +61 -61
  578. package/components/Tabs/Tabs.styles.d.ts +5 -5
  579. package/components/Tabs/TabsContext.d.ts +14 -14
  580. package/components/Tabs/index.d.ts +2 -2
  581. package/components/Textarea/Textarea.d.ts +184 -184
  582. package/components/Textarea/Textarea.styles.d.ts +15 -15
  583. package/components/Textarea/TextareaCounter.d.ts +13 -13
  584. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  585. package/components/Textarea/index.d.ts +1 -1
  586. package/components/Toast/Toast.d.ts +55 -55
  587. package/components/Toast/Toast.styles.d.ts +6 -6
  588. package/components/Toast/ToastStatic.d.ts +8 -8
  589. package/components/Toast/ToastView.d.ts +37 -37
  590. package/components/Toast/ToastView.styles.d.ts +8 -8
  591. package/components/Toast/index.d.ts +1 -1
  592. package/components/Toggle/Toggle.d.ts +106 -106
  593. package/components/Toggle/Toggle.styles.d.ts +30 -30
  594. package/components/Toggle/index.d.ts +1 -1
  595. package/components/Token/Token.d.ts +35 -35
  596. package/components/Token/Token.styles.d.ts +29 -29
  597. package/components/Token/index.d.ts +1 -1
  598. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  599. package/components/TokenInput/TokenInput.d.ts +193 -193
  600. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  601. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  602. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  603. package/components/TokenInput/index.d.ts +1 -1
  604. package/components/TokenInput/locale/index.d.ts +4 -4
  605. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  606. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  607. package/components/TokenInput/locale/types.d.ts +4 -4
  608. package/components/Tooltip/Tooltip.d.ts +171 -171
  609. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  610. package/components/Tooltip/index.d.ts +1 -1
  611. package/components/TooltipMenu/TooltipMenu.d.ts +64 -64
  612. package/components/TooltipMenu/index.d.ts +1 -1
  613. package/index.d.ts +48 -48
  614. package/internal/BGRuler.d.ts +30 -30
  615. package/internal/Calendar/Calendar.d.ts +66 -66
  616. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  617. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  618. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  619. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  620. package/internal/Calendar/DayCellView.d.ts +13 -13
  621. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  622. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  623. package/internal/Calendar/Month.d.ts +33 -33
  624. package/internal/Calendar/MonthView.d.ts +21 -21
  625. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  626. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  627. package/internal/Calendar/config.d.ts +9 -9
  628. package/internal/Calendar/index.d.ts +2 -2
  629. package/internal/CommonWrapper/CommonWrapper.d.ts +23 -23
  630. package/internal/CommonWrapper/index.d.ts +1 -1
  631. package/internal/ComponentCombinator.d.ts +25 -25
  632. package/internal/ComponentTable.d.ts +21 -21
  633. package/internal/CustomComboBox/ComboBoxMenu.d.ts +31 -31
  634. package/internal/CustomComboBox/ComboBoxView.d.ts +87 -87
  635. package/internal/CustomComboBox/CustomComboBox.d.ts +135 -135
  636. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  637. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  638. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  639. package/internal/CustomComboBox/index.d.ts +2 -2
  640. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  641. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  642. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  643. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  644. package/internal/DateSelect/DateSelect.d.ts +93 -93
  645. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  646. package/internal/DateSelect/index.d.ts +1 -1
  647. package/internal/DropdownContainer/DropdownContainer.d.ts +46 -46
  648. package/internal/DropdownContainer/index.d.ts +1 -1
  649. package/internal/FocusTrap/FocusTrap.d.ts +16 -16
  650. package/internal/FocusTrap/index.d.ts +1 -1
  651. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  652. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  653. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  654. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  655. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  656. package/internal/InputLikeText/InputLikeText.d.ts +72 -72
  657. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  658. package/internal/InputLikeText/index.d.ts +1 -1
  659. package/internal/InternalMenu/InternalMenu.d.ts +64 -64
  660. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  661. package/internal/InternalMenu/index.d.ts +1 -1
  662. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  663. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  664. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  665. package/internal/MaskCharLowLine/index.d.ts +1 -1
  666. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  667. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  668. package/internal/MaskedInput/index.d.ts +1 -1
  669. package/internal/Menu/Menu.d.ts +62 -62
  670. package/internal/Menu/Menu.styles.d.ts +6 -6
  671. package/internal/Menu/index.d.ts +1 -1
  672. package/internal/Menu/isActiveElement.d.ts +3 -3
  673. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  674. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  675. package/internal/NativeDateInput/index.d.ts +1 -1
  676. package/internal/NativeDateInput/utils.d.ts +7 -7
  677. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  678. package/internal/Popup/Popup.d.ts +161 -161
  679. package/internal/Popup/Popup.styles.d.ts +16 -16
  680. package/internal/Popup/PopupHelper.d.ts +26 -26
  681. package/internal/Popup/PopupPin.d.ts +56 -56
  682. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  683. package/internal/Popup/index.d.ts +1 -1
  684. package/internal/PopupMenu/PopupMenu.d.ts +84 -84
  685. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  686. package/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  687. package/internal/PopupMenu/index.d.ts +1 -1
  688. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  689. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  690. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  691. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  692. package/internal/RenderContainer/index.d.ts +1 -1
  693. package/internal/RenderLayer/RenderLayer.d.ts +27 -27
  694. package/internal/RenderLayer/index.d.ts +1 -1
  695. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  696. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  697. package/internal/ResizeDetector/index.d.ts +1 -1
  698. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  699. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  700. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  701. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  702. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  703. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  704. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  705. package/internal/ThemePlayground/Playground.d.ts +31 -31
  706. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  707. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  708. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  709. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  710. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  711. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  712. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  713. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  714. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  715. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  716. package/internal/ThemePlayground/constants.d.ts +18 -18
  717. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  718. package/internal/ThemePlayground/helpers.d.ts +2 -2
  719. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  720. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  721. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  722. package/internal/ZIndex/ZIndex.d.ts +34 -34
  723. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  724. package/internal/ZIndex/index.d.ts +1 -1
  725. package/internal/icons/16px/icon.styles.d.ts +4 -4
  726. package/internal/icons/16px/index.d.ts +21 -21
  727. package/internal/icons/20px/Icon.d.ts +30 -30
  728. package/internal/icons/20px/icon.styles.d.ts +4 -4
  729. package/internal/icons/20px/index.d.ts +2 -2
  730. package/internal/icons/20px/svg.d.ts +14 -14
  731. package/internal/icons/CloudIcon.d.ts +1 -1
  732. package/internal/icons/CrossIcon.d.ts +1 -1
  733. package/internal/icons/SpinnerIcon.d.ts +23 -23
  734. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  735. package/internal/themes/DefaultTheme.d.ts +766 -766
  736. package/internal/themes/FlatTheme.d.ts +132 -132
  737. package/internal/themes/Theme8px.d.ts +271 -271
  738. package/lib/ConditionalHandler.d.ts +11 -11
  739. package/lib/LayoutEvents.d.ts +4 -4
  740. package/lib/ModalStack.d.ts +14 -14
  741. package/lib/SSRSafe.d.ts +4 -4
  742. package/lib/Supports.d.ts +1 -1
  743. package/lib/Upgrades.d.ts +6 -6
  744. package/lib/animation/index.d.ts +6 -6
  745. package/lib/animation/presets.d.ts +18 -18
  746. package/lib/animation/stepper.d.ts +1 -1
  747. package/lib/client.d.ts +16 -16
  748. package/lib/createPropsGetter.d.ts +2 -2
  749. package/lib/currentEnvironment.d.ts +3 -3
  750. package/lib/date/InternalDate.d.ts +58 -58
  751. package/lib/date/InternalDateCalculator.d.ts +6 -6
  752. package/lib/date/InternalDateGetter.d.ts +15 -15
  753. package/lib/date/InternalDateSetter.d.ts +6 -6
  754. package/lib/date/InternalDateTransformer.d.ts +12 -12
  755. package/lib/date/InternalDateValidator.d.ts +12 -12
  756. package/lib/date/constants.d.ts +28 -28
  757. package/lib/date/localeSets.d.ts +5 -5
  758. package/lib/date/types.d.ts +90 -90
  759. package/lib/dom/getScrollWidth.d.ts +1 -1
  760. package/lib/dom/tabbableHelpers.d.ts +16 -16
  761. package/lib/events/MouseDrag.d.ts +58 -58
  762. package/lib/events/fixClickFocusIE.d.ts +1 -1
  763. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  764. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  765. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  766. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  767. package/lib/events/keyListener.d.ts +7 -7
  768. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  769. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  770. package/lib/events/keyboard/extractCode.d.ts +3 -3
  771. package/lib/events/keyboard/identifiers.d.ts +48 -48
  772. package/lib/events/stopPropagation.d.ts +1 -1
  773. package/lib/events/tabListener.d.ts +1 -1
  774. package/lib/extractKeyboardAction.d.ts +13 -13
  775. package/lib/filterProps.d.ts +12 -12
  776. package/lib/forwardRefAndName.d.ts +5 -5
  777. package/lib/getDisplayName/getDisplayName.js +3 -0
  778. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  779. package/lib/getDisplayName/package.json +6 -0
  780. package/lib/getDisplayName.d.ts +3 -0
  781. package/lib/listenFocusOutside.d.ts +8 -8
  782. package/lib/locale/LocaleContext.d.ts +7 -7
  783. package/lib/locale/LocaleHelper.d.ts +9 -9
  784. package/lib/locale/constants.d.ts +2 -2
  785. package/lib/locale/decorators.d.ts +36 -36
  786. package/lib/locale/index.d.ts +3 -3
  787. package/lib/locale/types.d.ts +19 -19
  788. package/lib/memo.d.ts +1 -1
  789. package/lib/net/fetch.d.ts +13 -13
  790. package/lib/polyfillPlaceholder.d.ts +1 -1
  791. package/lib/reactGetTextContent.d.ts +2 -2
  792. package/lib/styles/ColorFactory.d.ts +11 -11
  793. package/lib/styles/ColorFunctions.d.ts +11 -11
  794. package/lib/styles/ColorHelpers.d.ts +20 -20
  795. package/lib/styles/ColorKeywords.d.ts +150 -150
  796. package/lib/styles/ColorObject.d.ts +52 -52
  797. package/lib/styles/DimensionFunctions.d.ts +1 -1
  798. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  799. package/lib/styles/Mixins.d.ts +2 -2
  800. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  801. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  802. package/lib/theming/Emotion.d.ts +15 -15
  803. package/lib/theming/Theme.d.ts +3 -3
  804. package/lib/theming/ThemeContext.d.ts +2 -2
  805. package/lib/theming/ThemeFactory.d.ts +8 -8
  806. package/lib/theming/ThemeHelpers.d.ts +11 -11
  807. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  808. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  809. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  810. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  811. package/lib/utils.d.ts +28 -28
  812. package/lib/withClassWrapper/package.json +6 -0
  813. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  814. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  815. package/lib/withClassWrapper.d.ts +68 -0
  816. package/package.json +4 -5
@@ -1,35 +1,35 @@
1
- import { Nullable } from '../../typings/utility-types';
2
- import { DecimalOptions } from './CurrencyInputHelper';
3
- import { CursorMap } from './CursorHelper';
4
- export interface DecimalFormattingOptions {
5
- fractionDigits?: Nullable<number>;
6
- hideTrailingZeros?: boolean;
7
- thousandsDelimiter?: string;
8
- minusSign?: string;
9
- }
10
- declare type DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;
11
- export interface FormattingInfo {
12
- raw: string;
13
- formatted: string;
14
- cursorMap: CursorMap;
15
- }
16
- export declare class CurrencyHelper {
17
- static defaultOptions: DecimalFormattingOptionsInternal;
18
- static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal;
19
- static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo;
20
- static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap;
21
- static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string;
22
- static parse(value: string): Nullable<number>;
23
- static unformatString(value: string): string;
24
- static formatForClipboard(value: string): string;
25
- static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
26
- static isValidString(value: string, options: DecimalOptions): boolean;
27
- static extractValid(value: string, options: DecimalOptions): string;
28
- static destructString(value: string): {
29
- sign: string;
30
- integer: string;
31
- delimiter: string;
32
- fraction: string;
33
- } | null;
34
- }
35
- export {};
1
+ import { Nullable } from '../../typings/utility-types';
2
+ import { DecimalOptions } from './CurrencyInputHelper';
3
+ import { CursorMap } from './CursorHelper';
4
+ export interface DecimalFormattingOptions {
5
+ fractionDigits?: Nullable<number>;
6
+ hideTrailingZeros?: boolean;
7
+ thousandsDelimiter?: string;
8
+ minusSign?: string;
9
+ }
10
+ declare type DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;
11
+ export interface FormattingInfo {
12
+ raw: string;
13
+ formatted: string;
14
+ cursorMap: CursorMap;
15
+ }
16
+ export declare class CurrencyHelper {
17
+ static defaultOptions: DecimalFormattingOptionsInternal;
18
+ static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal;
19
+ static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo;
20
+ static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap;
21
+ static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string;
22
+ static parse(value: string): Nullable<number>;
23
+ static unformatString(value: string): string;
24
+ static formatForClipboard(value: string): string;
25
+ static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
26
+ static isValidString(value: string, options: DecimalOptions): boolean;
27
+ static extractValid(value: string, options: DecimalOptions): string;
28
+ static destructString(value: string): {
29
+ sign: string;
30
+ integer: string;
31
+ delimiter: string;
32
+ fraction: string;
33
+ } | null;
34
+ }
35
+ export {};
@@ -1,105 +1,106 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { InputProps } from '../Input';
4
- import { Nullable, Override } from '../../typings/utility-types';
5
- import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
- import { Selection } from './SelectionHelper';
7
- export interface CurrencyInputProps extends CommonProps, Override<InputProps, {
8
- /** Значение */
9
- value: Nullable<number>;
10
- /** Убрать лишние нули после запятой */
11
- hideTrailingZeros: boolean;
12
- /** Кол-во цифр после зяпятой */
13
- fractionDigits?: Nullable<number>;
14
- /** Отрицательные значения */
15
- signed?: boolean;
16
- /**
17
- * Допустимое кол-во цифр целой части.
18
- * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.
19
- */
20
- integerDigits?: Nullable<number>;
21
- /** Вызывается при изменении `value` */
22
- onValueChange: (value: Nullable<number>) => void;
23
- /** onSubmit */
24
- onSubmit?: () => void;
25
- }> {
26
- }
27
- export interface CurrencyInputState {
28
- formatted: string;
29
- selection: Selection;
30
- focused: boolean;
31
- }
32
- /**
33
- * Поле для денежных сумм (и других числовых значений).
34
- * Принимает любые свойства `Input`.
35
- *
36
- * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
37
- * <br/>
38
- * Если `fractionDigits=15`, то в целой части допускается **0**.
39
- */
40
- export declare class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {
41
- static __KONTUR_REACT_UI__: string;
42
- static propTypes: {
43
- align: PropTypes.Requireable<string>;
44
- autoFocus: PropTypes.Requireable<boolean>;
45
- borderless: PropTypes.Requireable<boolean>;
46
- disabled: PropTypes.Requireable<boolean>;
47
- error: PropTypes.Requireable<boolean>;
48
- fractionDigits: PropTypes.Requireable<number>;
49
- hideTrailingZeros: PropTypes.Requireable<boolean>;
50
- leftIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
51
- placeholder: PropTypes.Requireable<string>;
52
- signed: PropTypes.Requireable<boolean>;
53
- size: PropTypes.Requireable<string>;
54
- value: PropTypes.Requireable<number>;
55
- warning: PropTypes.Requireable<boolean>;
56
- width: PropTypes.Requireable<string | number>;
57
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
58
- onValueChange: PropTypes.Validator<(...args: any[]) => any>;
59
- onFocus: PropTypes.Requireable<(...args: any[]) => any>;
60
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
61
- onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
62
- onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
63
- onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
64
- };
65
- static defaultProps: {
66
- align: string;
67
- fractionDigits: number;
68
- hideTrailingZeros: boolean;
69
- value: null;
70
- inputMode: string;
71
- };
72
- state: CurrencyInputState;
73
- private input;
74
- private tempSelectionForOnChange;
75
- componentDidMount(): void;
76
- UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps): void;
77
- componentDidUpdate(): void;
78
- render(): JSX.Element;
79
- renderMain: (props: CommonWrapperRestProps<CurrencyInputProps>) => JSX.Element;
80
- /**
81
- * @public
82
- */
83
- focus: () => void;
84
- /**
85
- * @public
86
- */
87
- blur: () => void;
88
- private getState;
89
- private setSelectionFromEvent;
90
- private readonly debouncedSetSelectionFromEvent;
91
- private handleMouseUp;
92
- private handleKeyDown;
93
- private getSelection;
94
- private moveCursor;
95
- private extendSelection;
96
- private inputValue;
97
- private getOnChangeDelta;
98
- private handleValueChange;
99
- private handlePaste;
100
- private handleCopy;
101
- private handleCut;
102
- private handleFocus;
103
- private handleBlur;
104
- private refInput;
105
- }
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { InputProps } from '../Input';
4
+ import { Nullable, Override } from '../../typings/utility-types';
5
+ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ import { Selection } from './SelectionHelper';
7
+ export interface CurrencyInputProps extends CommonProps, Override<InputProps, {
8
+ /** Значение */
9
+ value: Nullable<number>;
10
+ /** Убрать лишние нули после запятой */
11
+ hideTrailingZeros: boolean;
12
+ /** Кол-во цифр после зяпятой */
13
+ fractionDigits?: Nullable<number>;
14
+ /** Отрицательные значения */
15
+ signed?: boolean;
16
+ /**
17
+ * Допустимое кол-во цифр целой части.
18
+ * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.
19
+ */
20
+ integerDigits?: Nullable<number>;
21
+ /** Вызывается при изменении `value` */
22
+ onValueChange: (value: Nullable<number>) => void;
23
+ /** onSubmit */
24
+ onSubmit?: () => void;
25
+ }> {
26
+ }
27
+ export interface CurrencyInputState {
28
+ formatted: string;
29
+ selection: Selection;
30
+ focused: boolean;
31
+ }
32
+ /**
33
+ * Поле для денежных сумм (и других числовых значений).
34
+ * Принимает любые свойства `Input`.
35
+ *
36
+ * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
37
+ * <br/>
38
+ * Если `fractionDigits=15`, то в целой части допускается **0**.
39
+ */
40
+ export declare class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {
41
+ static __KONTUR_REACT_UI__: string;
42
+ static propTypes: {
43
+ align: PropTypes.Requireable<string>;
44
+ autoFocus: PropTypes.Requireable<boolean>;
45
+ borderless: PropTypes.Requireable<boolean>;
46
+ disabled: PropTypes.Requireable<boolean>;
47
+ error: PropTypes.Requireable<boolean>;
48
+ fractionDigits: PropTypes.Requireable<number>;
49
+ hideTrailingZeros: PropTypes.Requireable<boolean>;
50
+ leftIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
51
+ placeholder: PropTypes.Requireable<string>;
52
+ signed: PropTypes.Requireable<boolean>;
53
+ size: PropTypes.Requireable<string>;
54
+ value: PropTypes.Requireable<number>;
55
+ warning: PropTypes.Requireable<boolean>;
56
+ width: PropTypes.Requireable<string | number>;
57
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
58
+ onValueChange: PropTypes.Validator<(...args: any[]) => any>;
59
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
60
+ onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
61
+ onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
62
+ onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
63
+ onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
64
+ };
65
+ static defaultProps: {
66
+ align: string;
67
+ fractionDigits: number;
68
+ hideTrailingZeros: boolean;
69
+ value: null;
70
+ inputMode: string;
71
+ };
72
+ state: CurrencyInputState;
73
+ private input;
74
+ private tempSelectionForOnChange;
75
+ componentDidMount(): void;
76
+ UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps): void;
77
+ componentDidUpdate(prevProps: Readonly<CurrencyInputProps>, prevState: Readonly<CurrencyInputState>): void;
78
+ render(): JSX.Element;
79
+ renderMain: (props: CommonWrapperRestProps<CurrencyInputProps>) => JSX.Element;
80
+ /**
81
+ * @public
82
+ */
83
+ focus: () => void;
84
+ /**
85
+ * @public
86
+ */
87
+ blur: () => void;
88
+ private getState;
89
+ private setSelectionFromEvent;
90
+ private readonly debouncedSetSelectionFromEvent;
91
+ private handleMouseUp;
92
+ private handleKeyDown;
93
+ private scrollInput;
94
+ private getSelection;
95
+ private moveCursor;
96
+ private extendSelection;
97
+ private inputValue;
98
+ private getOnChangeDelta;
99
+ private handleValueChange;
100
+ private handlePaste;
101
+ private handleCopy;
102
+ private handleCut;
103
+ private handleFocus;
104
+ private handleBlur;
105
+ private refInput;
106
+ }
@@ -125,6 +125,9 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
125
125
 
126
126
 
127
127
 
128
+
129
+
130
+
128
131
 
129
132
 
130
133
 
@@ -283,6 +286,31 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
283
286
 
284
287
  };_this.
285
288
 
289
+ scrollInput = function () {var _this$input;
290
+ var node = (_this$input = _this.input) == null ? void 0 : _this$input.getNode();
291
+ if (!node || node.scrollWidth === node.clientWidth) {
292
+ return;
293
+ }
294
+ var PAD = 1;
295
+ var SHIFT = 3;
296
+
297
+ var selection = _this.state.selection;
298
+ var selected = selection.start !== selection.end;
299
+ var position = selected && selection.direction === 'forward' ? selection.end : selection.start;
300
+ var charsCount = _this.state.formatted.length;
301
+ var charWidth = node.scrollWidth / charsCount;
302
+ var frame = Math.ceil(node.clientWidth / charWidth);
303
+ var frameStart = Math.ceil(node.scrollLeft / charWidth);
304
+ var frameEnd = frameStart + frame;
305
+
306
+ if (position < frameStart + PAD) {
307
+ node.scrollLeft = (position - SHIFT) * charWidth;
308
+ }
309
+ if (position > frameEnd - PAD) {
310
+ node.scrollLeft = (position - frame + SHIFT) * charWidth;
311
+ }
312
+ };_this.
313
+
286
314
  getSelection = function (input) {
287
315
  var selection = getInputSelectionFromEvent(input);
288
316
  return {
@@ -408,7 +436,7 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
408
436
 
409
437
  refInput = function (element) {
410
438
  _this.input = element;
411
- };return _this;}var _proto = CurrencyInput.prototype;_proto.componentDidMount = function componentDidMount() {var _this$props = this.props,maxLength = _this$props.maxLength,integerDigits = _this$props.integerDigits,fractionDigits = _this$props.fractionDigits;(0, _warning.default)(maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");(0, _warning.default)((integerDigits || 0) + (fractionDigits || 0) <= _constants.MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + _constants.MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");};_proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {var value = nextProps.value,fractionDigits = nextProps.fractionDigits,hideTrailingZeros = nextProps.hideTrailingZeros;if (value !== _CurrencyHelper.CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {var state = this.getState(value, fractionDigits, hideTrailingZeros);this.setState(state);}};_proto.componentDidUpdate = function componentDidUpdate() {if (this.state.focused && this.input) {var _this$state$selection = this.state.selection,start = _this$state$selection.start,end = _this$state$selection.end;this.input.setSelectionRange(start, end);}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, this.renderMain);};_proto.getState = function getState(value, fractionDigits, hideTrailingZeros) {return { formatted: _CurrencyHelper.CurrencyHelper.format(value, { fractionDigits: fractionDigits, hideTrailingZeros: hideTrailingZeros }), selection: _SelectionHelper.SelectionHelper.fromPosition(0) };};_proto.setSelectionFromEvent = function setSelectionFromEvent(event) {var selection = getInputSelectionFromEvent(event.target);var normilized = _CurrencyInputHelper.CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);this.setState({ selection: normilized });} // for IE11
439
+ };return _this;}var _proto = CurrencyInput.prototype;_proto.componentDidMount = function componentDidMount() {var _this$props = this.props,maxLength = _this$props.maxLength,integerDigits = _this$props.integerDigits,fractionDigits = _this$props.fractionDigits;(0, _warning.default)(maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");(0, _warning.default)((integerDigits || 0) + (fractionDigits || 0) <= _constants.MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + _constants.MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");};_proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {var value = nextProps.value,fractionDigits = nextProps.fractionDigits,hideTrailingZeros = nextProps.hideTrailingZeros;if (value !== _CurrencyHelper.CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {var state = this.getState(value, fractionDigits, hideTrailingZeros);this.setState(state);}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (this.state.focused && this.input) {var _this$state$selection = this.state.selection,start = _this$state$selection.start,end = _this$state$selection.end;this.input.setSelectionRange(start, end);}if (prevState.selection !== this.state.selection) {this.scrollInput();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, this.renderMain);};_proto.getState = function getState(value, fractionDigits, hideTrailingZeros) {return { formatted: _CurrencyHelper.CurrencyHelper.format(value, { fractionDigits: fractionDigits, hideTrailingZeros: hideTrailingZeros }), selection: _SelectionHelper.SelectionHelper.fromPosition(0) };};_proto.setSelectionFromEvent = function setSelectionFromEvent(event) {var selection = getInputSelectionFromEvent(event.target);var normilized = _CurrencyInputHelper.CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);this.setState({ selection: normilized });} // for IE11
412
440
  ;return CurrencyInput;}(_react.default.Component);exports.CurrencyInput = CurrencyInput;CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput';CurrencyInput.propTypes = { align: _propTypes.default.oneOf(['left', 'center', 'right']), autoFocus: _propTypes.default.bool, borderless: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, fractionDigits: _propTypes.default.number, hideTrailingZeros: _propTypes.default.bool, leftIcon: _propTypes.default.element, placeholder: _propTypes.default.string, signed: _propTypes.default.bool, size: _propTypes.default.oneOf(['small', 'medium', 'large']), value: _propTypes.default.number, warning: _propTypes.default.bool, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onBlur: _propTypes.default.func, onValueChange: _propTypes.default.func.isRequired, onFocus: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onSubmit: _propTypes.default.func };CurrencyInput.defaultProps = { align: 'right', fractionDigits: 2, hideTrailingZeros: false, value: null, inputMode: 'decimal' };
413
441
 
414
442
  function getInputSelectionFromEvent(input) {
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInput.tsx"],"names":["CurrencyInput","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","input","tempSelectionForOnChange","SelectionHelper","fromPosition","renderMain","signed","onSubmit","integerDigits","rest","placeholder","CurrencyHelper","format","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","focus","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","isIE11","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","CurrencyInputHelper","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","getInputSelectionFromEvent","direction","step","position","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLenght","onFocus","onBlur","element","componentDidMount","maxLength","undefined","MAX_SAFE_DIGITS","UNSAFE_componentWillReceiveProps","nextProps","componentDidUpdate","setSelectionRange","render","normilized","normalizeSelection","React","Component","__KONTUR_REACT_UI__","propTypes","align","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","warning","width","oneOfType","func","isRequired","defaultProps","inputMode","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\n\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros: boolean;\n /** Кол-во цифр после зяпятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\n/**\n * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\nexport class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: PropTypes.number,\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n public state: CurrencyInputState = {\n ...this.getState(this.props.value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n\n public componentDidMount(): void {\n const { maxLength, integerDigits, fractionDigits } = this.props;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps) {\n const { value, fractionDigits, hideTrailingZeros } = nextProps;\n if (value !== CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {\n const state = this.getState(value, fractionDigits, hideTrailingZeros);\n this.setState(state);\n }\n }\n\n public componentDidUpdate() {\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n }\n\n public render() {\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n const placeholder =\n this.props.placeholder == null\n ? CurrencyHelper.format(0, { fractionDigits, hideTrailingZeros })\n : this.props.placeholder;\n\n return (\n <Input\n {...rest}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : placeholder}\n />\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 getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.props.fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (delta != null && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLenght = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLenght,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLenght,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!(input instanceof HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart!,\n end: input.selectionEnd!,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n"]}
1
+ {"version":3,"sources":["CurrencyInput.tsx"],"names":["CurrencyInput","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","input","tempSelectionForOnChange","SelectionHelper","fromPosition","renderMain","signed","onSubmit","integerDigits","rest","placeholder","CurrencyHelper","format","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","focus","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","isIE11","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","CurrencyInputHelper","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","scrollInput","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLenght","onFocus","onBlur","element","componentDidMount","maxLength","undefined","MAX_SAFE_DIGITS","UNSAFE_componentWillReceiveProps","nextProps","componentDidUpdate","prevProps","prevState","setSelectionRange","render","normilized","normalizeSelection","React","Component","__KONTUR_REACT_UI__","propTypes","align","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","warning","width","oneOfType","func","isRequired","defaultProps","inputMode","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\n\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros: boolean;\n /** Кол-во цифр после зяпятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\n/**\n * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\nexport class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: PropTypes.number,\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n public state: CurrencyInputState = {\n ...this.getState(this.props.value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n\n public componentDidMount(): void {\n const { maxLength, integerDigits, fractionDigits } = this.props;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps) {\n const { value, fractionDigits, hideTrailingZeros } = nextProps;\n if (value !== CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {\n const state = this.getState(value, fractionDigits, hideTrailingZeros);\n this.setState(state);\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<CurrencyInputProps>, prevState: Readonly<CurrencyInputState>) {\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n const placeholder =\n this.props.placeholder == null\n ? CurrencyHelper.format(0, { fractionDigits, hideTrailingZeros })\n : this.props.placeholder;\n\n return (\n <Input\n {...rest}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : placeholder}\n />\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 getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.props.fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (delta != null && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLenght = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLenght,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLenght,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!(input instanceof HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart!,\n end: input.selectionEnd!,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n"]}
@@ -1,20 +1,20 @@
1
- import { Nullable } from '../../typings/utility-types';
2
- import { Selection } from './SelectionHelper';
3
- export interface DecimalOptions {
4
- integerDigits?: Nullable<number>;
5
- fractionDigits?: Nullable<number>;
6
- unsigned?: boolean;
7
- }
8
- export declare class CurrencyInputHelper {
9
- static moveCursor(value: string, selection: Selection, step: number): number;
10
- static extendSelection(value: string, selection: Selection, step: number): Selection;
11
- static normalizeSelection(value: string, selection: Selection): Selection;
12
- static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions): {
13
- value: string;
14
- position: number;
15
- } | null;
16
- static insert(value: string, start: number, end: number, input: string): {
17
- value: string;
18
- position: number;
19
- };
20
- }
1
+ import { Nullable } from '../../typings/utility-types';
2
+ import { Selection } from './SelectionHelper';
3
+ export interface DecimalOptions {
4
+ integerDigits?: Nullable<number>;
5
+ fractionDigits?: Nullable<number>;
6
+ unsigned?: boolean;
7
+ }
8
+ export declare class CurrencyInputHelper {
9
+ static moveCursor(value: string, selection: Selection, step: number): number;
10
+ static extendSelection(value: string, selection: Selection, step: number): Selection;
11
+ static normalizeSelection(value: string, selection: Selection): Selection;
12
+ static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions): {
13
+ value: string;
14
+ position: number;
15
+ } | null;
16
+ static insert(value: string, start: number, end: number, input: string): {
17
+ value: string;
18
+ position: number;
19
+ };
20
+ }
@@ -1,18 +1,18 @@
1
- /// <reference types="react" />
2
- export declare const CURRENCY_INPUT_ACTIONS: {
3
- Unknown: number;
4
- Ignore: number;
5
- MoveCursorLeft: number;
6
- MoveCursorRight: number;
7
- Home: number;
8
- End: number;
9
- ExtendSelectionLeft: number;
10
- ExtendSelectionRight: number;
11
- FullSelection: number;
12
- ExtendSelectionToStart: number;
13
- ExtendSelectionToEnd: number;
14
- Backspace: number;
15
- Delete: number;
16
- Submit: number;
17
- };
18
- export declare const extractAction: (x0: import("react").KeyboardEvent<HTMLElement>) => unknown;
1
+ /// <reference types="react" />
2
+ export declare const CURRENCY_INPUT_ACTIONS: {
3
+ Unknown: number;
4
+ Ignore: number;
5
+ MoveCursorLeft: number;
6
+ MoveCursorRight: number;
7
+ Home: number;
8
+ End: number;
9
+ ExtendSelectionLeft: number;
10
+ ExtendSelectionRight: number;
11
+ FullSelection: number;
12
+ ExtendSelectionToStart: number;
13
+ ExtendSelectionToEnd: number;
14
+ Backspace: number;
15
+ Delete: number;
16
+ Submit: number;
17
+ };
18
+ export declare const extractAction: (x0: import("react").KeyboardEvent<HTMLElement>) => unknown;
@@ -1,10 +1,10 @@
1
- import { Selection } from './SelectionHelper';
2
- export declare type CursorMap = number[];
3
- export declare class CursorHelper {
4
- static normalizePosition(map: CursorMap, position: number): number;
5
- static calculatePosition(map: CursorMap, position: number, step: number): number;
6
- static extendSelection(map: CursorMap, selection: Selection, step: number): Selection;
7
- static normalizeSelection(map: CursorMap, selection: Selection): Selection;
8
- static toRawPosition(map: CursorMap, formattedPosition: number): number;
9
- static toFormattedPosition(map: CursorMap, rawPosition: number): number;
10
- }
1
+ import { Selection } from './SelectionHelper';
2
+ export declare type CursorMap = number[];
3
+ export declare class CursorHelper {
4
+ static normalizePosition(map: CursorMap, position: number): number;
5
+ static calculatePosition(map: CursorMap, position: number, step: number): number;
6
+ static extendSelection(map: CursorMap, selection: Selection, step: number): Selection;
7
+ static normalizeSelection(map: CursorMap, selection: Selection): Selection;
8
+ static toRawPosition(map: CursorMap, formattedPosition: number): number;
9
+ static toFormattedPosition(map: CursorMap, rawPosition: number): number;
10
+ }
@@ -1,11 +1,11 @@
1
- export interface Selection {
2
- start: number;
3
- end: number;
4
- direction: SelectionDirection;
5
- }
6
- export declare type SelectionDirection = 'forward' | 'backward' | 'none';
7
- export declare class SelectionHelper {
8
- static fromPosition: (position: number) => Selection;
9
- static backward: (start: number, end: number) => Selection;
10
- static forward: (start: number, end: number) => Selection;
11
- }
1
+ export interface Selection {
2
+ start: number;
3
+ end: number;
4
+ direction: SelectionDirection;
5
+ }
6
+ export declare type SelectionDirection = 'forward' | 'backward' | 'none';
7
+ export declare class SelectionHelper {
8
+ static fromPosition: (position: number) => Selection;
9
+ static backward: (start: number, end: number) => Selection;
10
+ static forward: (start: number, end: number) => Selection;
11
+ }
@@ -1,2 +1,2 @@
1
- export declare const MAX_SAFE_DIGITS = 15;
2
- export declare const MAX_ALLOWED_CHARS: number;
1
+ export declare const MAX_SAFE_DIGITS = 15;
2
+ export declare const MAX_ALLOWED_CHARS: number;
@@ -1 +1 @@
1
- export * from './CurrencyInput';
1
+ export * from './CurrencyInput';