@skbkontur/react-ui 0.0.0-80ce75eca6 → 0.0.0-85ea551f96

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 (1782) hide show
  1. package/CHANGELOG.md +2657 -2056
  2. package/LICENSE +21 -21
  3. package/README.md +125 -61
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -2
  5. package/cjs/components/Autocomplete/Autocomplete.js +33 -27
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  8. package/cjs/components/Autocomplete/index.js.map +1 -1
  9. package/cjs/components/Button/Button.d.ts +75 -14
  10. package/cjs/components/Button/Button.js +122 -13
  11. package/cjs/components/Button/Button.js.map +1 -1
  12. package/cjs/components/Button/Button.md +104 -89
  13. package/cjs/components/Button/Button.mixins.d.ts +6 -5
  14. package/cjs/components/Button/Button.mixins.js +84 -70
  15. package/cjs/components/Button/Button.mixins.js.map +1 -1
  16. package/cjs/components/Button/Button.styles.d.ts +55 -29
  17. package/cjs/components/Button/Button.styles.js +319 -229
  18. package/cjs/components/Button/Button.styles.js.map +1 -1
  19. package/cjs/components/Button/Corners.js.map +1 -1
  20. package/cjs/components/Button/index.js.map +1 -1
  21. package/cjs/components/Center/Center.d.ts +5 -8
  22. package/cjs/components/Center/Center.js +17 -15
  23. package/cjs/components/Center/Center.js.map +1 -1
  24. package/cjs/components/Center/Center.md +26 -5
  25. package/cjs/components/Center/Center.styles.d.ts +1 -1
  26. package/cjs/components/Center/Center.styles.js +8 -11
  27. package/cjs/components/Center/Center.styles.js.map +1 -1
  28. package/cjs/components/Center/index.js.map +1 -1
  29. package/cjs/components/Checkbox/Checkbox.d.ts +34 -17
  30. package/cjs/components/Checkbox/Checkbox.js +89 -52
  31. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  32. package/cjs/components/Checkbox/Checkbox.md +104 -63
  33. package/cjs/components/Checkbox/Checkbox.styles.d.ts +15 -10
  34. package/cjs/components/Checkbox/Checkbox.styles.js +55 -74
  35. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  36. package/cjs/components/Checkbox/index.js.map +1 -1
  37. package/cjs/components/ComboBox/ComboBox.d.ts +16 -3
  38. package/cjs/components/ComboBox/ComboBox.js +115 -74
  39. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  40. package/cjs/components/ComboBox/ComboBox.md +445 -432
  41. package/cjs/components/ComboBox/index.js.map +1 -1
  42. package/cjs/components/CurrencyInput/CurrencyHelper.js +2 -1
  43. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  44. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +10 -6
  45. package/cjs/components/CurrencyInput/CurrencyInput.js +77 -16
  46. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  47. package/cjs/components/CurrencyInput/CurrencyInput.md +24 -20
  48. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  49. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  50. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  51. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  52. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  53. package/cjs/components/CurrencyInput/index.js.map +1 -1
  54. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +1 -3
  55. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  56. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  57. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  58. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  59. package/cjs/components/DateInput/DateFragmentsView.js +2 -2
  60. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  61. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +5 -4
  62. package/cjs/components/DateInput/DateFragmentsView.styles.js +7 -10
  63. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  64. package/cjs/components/DateInput/DateInput.d.ts +8 -0
  65. package/cjs/components/DateInput/DateInput.js +26 -11
  66. package/cjs/components/DateInput/DateInput.js.map +1 -1
  67. package/cjs/components/DateInput/DateInput.md +106 -104
  68. package/cjs/components/DateInput/DateInput.styles.d.ts +9 -6
  69. package/cjs/components/DateInput/DateInput.styles.js +20 -8
  70. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  71. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  72. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  73. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  74. package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -4
  75. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  76. package/cjs/components/DateInput/helpers/SelectionHelpers.js +1 -1
  77. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  78. package/cjs/components/DateInput/helpers/inputNumber.d.ts +3 -3
  79. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  80. package/cjs/components/DateInput/index.js.map +1 -1
  81. package/cjs/components/DatePicker/DatePicker.d.ts +44 -11
  82. package/cjs/components/DatePicker/DatePicker.js +109 -34
  83. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  84. package/cjs/components/DatePicker/DatePicker.md +329 -312
  85. package/cjs/components/DatePicker/DatePicker.styles.d.ts +1 -1
  86. package/cjs/components/DatePicker/DatePicker.styles.js +4 -6
  87. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  88. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  89. package/cjs/components/DatePicker/Picker.d.ts +3 -1
  90. package/cjs/components/DatePicker/Picker.js +6 -1
  91. package/cjs/components/DatePicker/Picker.js.map +1 -1
  92. package/cjs/components/DatePicker/Picker.styles.d.ts +4 -3
  93. package/cjs/components/DatePicker/Picker.styles.js +10 -11
  94. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  95. package/cjs/components/DatePicker/index.js.map +1 -1
  96. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  97. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  98. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  99. package/cjs/components/Dropdown/Dropdown.d.ts +6 -4
  100. package/cjs/components/Dropdown/Dropdown.js +35 -27
  101. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  102. package/cjs/components/Dropdown/Dropdown.md +11 -12
  103. package/cjs/components/Dropdown/index.js.map +1 -1
  104. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +22 -5
  105. package/cjs/components/DropdownMenu/DropdownMenu.js +27 -6
  106. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  107. package/cjs/components/DropdownMenu/DropdownMenu.md +154 -73
  108. package/cjs/components/DropdownMenu/index.js.map +1 -1
  109. package/cjs/components/FxInput/FxInput.d.ts +3 -2
  110. package/cjs/components/FxInput/FxInput.js +17 -4
  111. package/cjs/components/FxInput/FxInput.js.map +1 -1
  112. package/cjs/components/FxInput/FxInput.md +16 -13
  113. package/cjs/components/FxInput/index.js.map +1 -1
  114. package/cjs/components/Gapped/Gapped.d.ts +6 -3
  115. package/cjs/components/Gapped/Gapped.js +55 -24
  116. package/cjs/components/Gapped/Gapped.js.map +1 -1
  117. package/cjs/components/Gapped/Gapped.md +43 -43
  118. package/cjs/components/Gapped/index.js.map +1 -1
  119. package/cjs/components/Group/Group.d.ts +1 -0
  120. package/cjs/components/Group/Group.js +19 -16
  121. package/cjs/components/Group/Group.js.map +1 -1
  122. package/cjs/components/Group/Group.md +18 -26
  123. package/cjs/components/Group/Group.styles.d.ts +1 -1
  124. package/cjs/components/Group/Group.styles.js +9 -12
  125. package/cjs/components/Group/Group.styles.js.map +1 -1
  126. package/cjs/components/Group/index.js.map +1 -1
  127. package/cjs/components/Hint/Hint.d.ts +43 -3
  128. package/cjs/components/Hint/Hint.js +36 -7
  129. package/cjs/components/Hint/Hint.js.map +1 -1
  130. package/cjs/components/Hint/Hint.md +42 -3
  131. package/cjs/components/Hint/Hint.styles.d.ts +4 -3
  132. package/cjs/components/Hint/Hint.styles.js +14 -15
  133. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  134. package/cjs/components/Hint/index.js.map +1 -1
  135. package/cjs/components/Input/Input.d.ts +16 -3
  136. package/cjs/components/Input/Input.js +72 -39
  137. package/cjs/components/Input/Input.js.map +1 -1
  138. package/cjs/components/Input/Input.md +13 -13
  139. package/cjs/components/Input/Input.styles.d.ts +36 -27
  140. package/cjs/components/Input/Input.styles.js +102 -83
  141. package/cjs/components/Input/Input.styles.js.map +1 -1
  142. package/cjs/components/Input/index.js.map +1 -1
  143. package/cjs/components/Kebab/Kebab.d.ts +13 -4
  144. package/cjs/components/Kebab/Kebab.js +43 -40
  145. package/cjs/components/Kebab/Kebab.js.map +1 -1
  146. package/cjs/components/Kebab/Kebab.md +291 -45
  147. package/cjs/components/Kebab/Kebab.styles.d.ts +7 -5
  148. package/cjs/components/Kebab/Kebab.styles.js +26 -29
  149. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  150. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  151. package/cjs/components/Kebab/index.js.map +1 -1
  152. package/cjs/components/Link/Link.d.ts +30 -11
  153. package/cjs/components/Link/Link.js +57 -31
  154. package/cjs/components/Link/Link.js.map +1 -1
  155. package/cjs/components/Link/Link.md +77 -11
  156. package/cjs/components/Link/Link.mixins.js +2 -1
  157. package/cjs/components/Link/Link.mixins.js.map +1 -1
  158. package/cjs/components/Link/Link.styles.d.ts +12 -10
  159. package/cjs/components/Link/Link.styles.js +21 -25
  160. package/cjs/components/Link/Link.styles.js.map +1 -1
  161. package/cjs/components/Link/index.js.map +1 -1
  162. package/cjs/components/Loader/Loader.d.ts +35 -3
  163. package/cjs/components/Loader/Loader.js +176 -28
  164. package/cjs/components/Loader/Loader.js.map +1 -1
  165. package/cjs/components/Loader/Loader.md +25 -25
  166. package/cjs/components/Loader/Loader.styles.d.ts +3 -4
  167. package/cjs/components/Loader/Loader.styles.js +11 -31
  168. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  169. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  170. package/cjs/components/Loader/index.js.map +1 -1
  171. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
  172. package/cjs/components/MenuHeader/MenuHeader.js +11 -7
  173. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  174. package/cjs/components/MenuHeader/MenuHeader.md +23 -0
  175. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +4 -3
  176. package/cjs/components/MenuHeader/MenuHeader.styles.js +13 -11
  177. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  178. package/cjs/components/MenuHeader/index.js.map +1 -1
  179. package/cjs/components/MenuItem/MenuItem.d.ts +52 -7
  180. package/cjs/components/MenuItem/MenuItem.js +61 -28
  181. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  182. package/cjs/components/MenuItem/MenuItem.md +109 -7
  183. package/cjs/components/MenuItem/MenuItem.styles.d.ts +11 -10
  184. package/cjs/components/MenuItem/MenuItem.styles.js +39 -33
  185. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  186. package/cjs/components/MenuItem/index.js.map +1 -1
  187. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -2
  188. package/cjs/components/MenuSeparator/MenuSeparator.js +5 -3
  189. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  190. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  191. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +3 -2
  192. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +6 -9
  193. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  194. package/cjs/components/MenuSeparator/index.js.map +1 -1
  195. package/cjs/components/Modal/Modal.d.ts +6 -3
  196. package/cjs/components/Modal/Modal.js +33 -39
  197. package/cjs/components/Modal/Modal.js.map +1 -1
  198. package/cjs/components/Modal/Modal.md +38 -37
  199. package/cjs/components/Modal/Modal.styles.d.ts +19 -18
  200. package/cjs/components/Modal/Modal.styles.js +68 -82
  201. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  202. package/cjs/components/Modal/ModalBody.d.ts +3 -0
  203. package/cjs/components/Modal/ModalBody.js +36 -18
  204. package/cjs/components/Modal/ModalBody.js.map +1 -1
  205. package/cjs/components/Modal/ModalClose.d.ts +0 -1
  206. package/cjs/components/Modal/ModalClose.js +29 -10
  207. package/cjs/components/Modal/ModalClose.js.map +1 -1
  208. package/cjs/components/Modal/ModalContext.d.ts +3 -0
  209. package/cjs/components/Modal/ModalContext.js +3 -0
  210. package/cjs/components/Modal/ModalContext.js.map +1 -1
  211. package/cjs/components/Modal/ModalFooter.js +26 -26
  212. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  213. package/cjs/components/Modal/ModalHeader.js +26 -27
  214. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  215. package/cjs/components/Modal/index.js.map +1 -1
  216. package/cjs/components/Paging/NavigationHelper.d.ts +1 -1
  217. package/cjs/components/Paging/NavigationHelper.js +2 -1
  218. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  219. package/cjs/components/Paging/Paging.d.ts +3 -3
  220. package/cjs/components/Paging/Paging.js +38 -37
  221. package/cjs/components/Paging/Paging.js.map +1 -1
  222. package/cjs/components/Paging/Paging.md +43 -43
  223. package/cjs/components/Paging/Paging.styles.d.ts +12 -11
  224. package/cjs/components/Paging/Paging.styles.js +45 -44
  225. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  226. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  227. package/cjs/components/Paging/index.js.map +1 -1
  228. package/cjs/components/Paging/locale/index.js.map +1 -1
  229. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  230. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  231. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -2
  232. package/cjs/components/PasswordInput/PasswordInput.js +45 -14
  233. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  234. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  235. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +5 -1
  236. package/cjs/components/PasswordInput/PasswordInput.styles.js +25 -8
  237. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  238. package/cjs/components/PasswordInput/index.js.map +1 -1
  239. package/cjs/components/Radio/Radio.d.ts +42 -23
  240. package/cjs/components/Radio/Radio.js +85 -28
  241. package/cjs/components/Radio/Radio.js.map +1 -1
  242. package/cjs/components/Radio/Radio.md +38 -14
  243. package/cjs/components/Radio/Radio.styles.d.ts +15 -10
  244. package/cjs/components/Radio/Radio.styles.js +61 -50
  245. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  246. package/cjs/components/Radio/index.js.map +1 -1
  247. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  248. package/cjs/components/RadioGroup/RadioGroup.d.ts +52 -77
  249. package/cjs/components/RadioGroup/RadioGroup.js +55 -105
  250. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  251. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  252. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +3 -2
  253. package/cjs/components/RadioGroup/RadioGroup.styles.js +7 -10
  254. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  255. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  256. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  257. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  258. package/cjs/components/RadioGroup/index.js.map +1 -1
  259. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
  260. package/cjs/components/ScrollContainer/ScrollBar.js +246 -0
  261. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
  262. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  263. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
  264. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
  265. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +40 -23
  266. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  267. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
  268. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
  269. package/cjs/components/ScrollContainer/ScrollContainer.js +91 -156
  270. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  271. package/cjs/components/ScrollContainer/ScrollContainer.md +143 -94
  272. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +14 -4
  273. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +76 -12
  274. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  275. package/cjs/components/ScrollContainer/index.js.map +1 -1
  276. package/cjs/components/Select/Item.js.map +1 -1
  277. package/cjs/components/Select/Select.d.ts +9 -5
  278. package/cjs/components/Select/Select.js +18 -8
  279. package/cjs/components/Select/Select.js.map +1 -1
  280. package/cjs/components/Select/Select.md +55 -55
  281. package/cjs/components/Select/Select.styles.d.ts +12 -6
  282. package/cjs/components/Select/Select.styles.js +45 -35
  283. package/cjs/components/Select/Select.styles.js.map +1 -1
  284. package/cjs/components/Select/index.js.map +1 -1
  285. package/cjs/components/Select/locale/index.js.map +1 -1
  286. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  287. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  288. package/cjs/components/Select/selectTheme.d.ts +2 -1
  289. package/cjs/components/Select/selectTheme.js +7 -4
  290. package/cjs/components/Select/selectTheme.js.map +1 -1
  291. package/cjs/components/SidePage/SidePage.d.ts +25 -2
  292. package/cjs/components/SidePage/SidePage.js +80 -28
  293. package/cjs/components/SidePage/SidePage.js.map +1 -1
  294. package/cjs/components/SidePage/SidePage.md +48 -48
  295. package/cjs/components/SidePage/SidePage.styles.d.ts +25 -16
  296. package/cjs/components/SidePage/SidePage.styles.js +139 -66
  297. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  298. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  299. package/cjs/components/SidePage/SidePageBody.js +14 -11
  300. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  301. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  302. package/cjs/components/SidePage/SidePageContainer.js +43 -10
  303. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  304. package/cjs/components/SidePage/SidePageContext.d.ts +8 -0
  305. package/cjs/components/SidePage/SidePageContext.js +9 -0
  306. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  307. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -2
  308. package/cjs/components/SidePage/SidePageFooter.js +24 -17
  309. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  310. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -1
  311. package/cjs/components/SidePage/SidePageHeader.js +78 -35
  312. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  313. package/cjs/components/SidePage/index.js.map +1 -1
  314. package/cjs/components/Spinner/Spinner.d.ts +9 -0
  315. package/cjs/components/Spinner/Spinner.js +41 -20
  316. package/cjs/components/Spinner/Spinner.js.map +1 -1
  317. package/cjs/components/Spinner/Spinner.md +35 -34
  318. package/cjs/components/Spinner/Spinner.styles.d.ts +9 -7
  319. package/cjs/components/Spinner/Spinner.styles.js +17 -17
  320. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  321. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +4 -4
  322. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  323. package/cjs/components/Spinner/index.js.map +1 -1
  324. package/cjs/components/Spinner/locale/index.js.map +1 -1
  325. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  326. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  327. package/cjs/components/Sticky/Sticky.d.ts +7 -1
  328. package/cjs/components/Sticky/Sticky.js +17 -9
  329. package/cjs/components/Sticky/Sticky.js.map +1 -1
  330. package/cjs/components/Sticky/Sticky.md +27 -27
  331. package/cjs/components/Sticky/Sticky.styles.d.ts +1 -1
  332. package/cjs/components/Sticky/Sticky.styles.js +8 -11
  333. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  334. package/cjs/components/Sticky/index.js.map +1 -1
  335. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  336. package/cjs/components/Switcher/Switcher.js +10 -7
  337. package/cjs/components/Switcher/Switcher.js.map +1 -1
  338. package/cjs/components/Switcher/Switcher.md +10 -10
  339. package/cjs/components/Switcher/Switcher.styles.d.ts +7 -6
  340. package/cjs/components/Switcher/Switcher.styles.js +15 -15
  341. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  342. package/cjs/components/Switcher/index.js.map +1 -1
  343. package/cjs/components/Switcher/switcherTheme.d.ts +2 -1
  344. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  345. package/cjs/components/Tabs/Indicator.d.ts +2 -2
  346. package/cjs/components/Tabs/Indicator.js +18 -19
  347. package/cjs/components/Tabs/Indicator.js.map +1 -1
  348. package/cjs/components/Tabs/Indicator.styles.d.ts +7 -6
  349. package/cjs/components/Tabs/Indicator.styles.js +8 -11
  350. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  351. package/cjs/components/Tabs/Tab.d.ts +9 -13
  352. package/cjs/components/Tabs/Tab.js +30 -34
  353. package/cjs/components/Tabs/Tab.js.map +1 -1
  354. package/cjs/components/Tabs/Tab.styles.d.ts +26 -10
  355. package/cjs/components/Tabs/Tab.styles.js +85 -43
  356. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  357. package/cjs/components/Tabs/Tabs.d.ts +5 -5
  358. package/cjs/components/Tabs/Tabs.js +13 -17
  359. package/cjs/components/Tabs/Tabs.js.map +1 -1
  360. package/cjs/components/Tabs/Tabs.md +36 -36
  361. package/cjs/components/Tabs/Tabs.styles.d.ts +4 -3
  362. package/cjs/components/Tabs/Tabs.styles.js +6 -11
  363. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  364. package/cjs/components/Tabs/TabsContext.d.ts +8 -8
  365. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  366. package/cjs/components/Tabs/index.js.map +1 -1
  367. package/cjs/components/Textarea/Textarea.d.ts +12 -4
  368. package/cjs/components/Textarea/Textarea.js +64 -30
  369. package/cjs/components/Textarea/Textarea.js.map +1 -1
  370. package/cjs/components/Textarea/Textarea.md +25 -25
  371. package/cjs/components/Textarea/Textarea.styles.d.ts +10 -8
  372. package/cjs/components/Textarea/Textarea.styles.js +29 -27
  373. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  374. package/cjs/components/Textarea/TextareaCounter.js +7 -7
  375. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  376. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  377. package/cjs/components/Textarea/index.js.map +1 -1
  378. package/cjs/components/Toast/Toast.d.ts +14 -9
  379. package/cjs/components/Toast/Toast.js +36 -21
  380. package/cjs/components/Toast/Toast.js.map +1 -1
  381. package/cjs/components/Toast/Toast.md +41 -41
  382. package/cjs/components/Toast/Toast.styles.d.ts +1 -1
  383. package/cjs/components/Toast/Toast.styles.js +7 -10
  384. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  385. package/cjs/components/Toast/ToastStatic.js +4 -3
  386. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  387. package/cjs/components/Toast/ToastView.d.ts +1 -0
  388. package/cjs/components/Toast/ToastView.js +15 -12
  389. package/cjs/components/Toast/ToastView.js.map +1 -1
  390. package/cjs/components/Toast/ToastView.styles.d.ts +6 -5
  391. package/cjs/components/Toast/ToastView.styles.js +37 -28
  392. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  393. package/cjs/components/Toast/index.js.map +1 -1
  394. package/cjs/components/Toggle/Toggle.d.ts +49 -1
  395. package/cjs/components/Toggle/Toggle.js +94 -12
  396. package/cjs/components/Toggle/Toggle.js.map +1 -1
  397. package/cjs/components/Toggle/Toggle.md +94 -24
  398. package/cjs/components/Toggle/Toggle.styles.d.ts +27 -13
  399. package/cjs/components/Toggle/Toggle.styles.js +83 -57
  400. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  401. package/cjs/components/Toggle/index.js.map +1 -1
  402. package/cjs/components/Token/Token.d.ts +9 -2
  403. package/cjs/components/Token/Token.js +14 -5
  404. package/cjs/components/Token/Token.js.map +1 -1
  405. package/cjs/components/Token/Token.md +112 -112
  406. package/cjs/components/Token/Token.styles.d.ts +27 -23
  407. package/cjs/components/Token/Token.styles.js +27 -26
  408. package/cjs/components/Token/Token.styles.js.map +1 -1
  409. package/cjs/components/Token/index.js.map +1 -1
  410. package/cjs/components/TokenInput/TextWidthHelper.js +4 -4
  411. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  412. package/cjs/components/TokenInput/TokenInput.d.ts +27 -0
  413. package/cjs/components/TokenInput/TokenInput.js +77 -26
  414. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  415. package/cjs/components/TokenInput/TokenInput.md +79 -77
  416. package/cjs/components/TokenInput/TokenInput.styles.d.ts +14 -15
  417. package/cjs/components/TokenInput/TokenInput.styles.js +40 -40
  418. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  419. package/cjs/components/TokenInput/TokenInputMenu.d.ts +4 -1
  420. package/cjs/components/TokenInput/TokenInputMenu.js +18 -2
  421. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  422. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  423. package/cjs/components/TokenInput/index.js.map +1 -1
  424. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  425. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  426. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  427. package/cjs/components/Tooltip/Tooltip.d.ts +16 -26
  428. package/cjs/components/Tooltip/Tooltip.js +44 -39
  429. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  430. package/cjs/components/Tooltip/Tooltip.md +292 -301
  431. package/cjs/components/Tooltip/Tooltip.styles.d.ts +4 -3
  432. package/cjs/components/Tooltip/Tooltip.styles.js +9 -11
  433. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  434. package/cjs/components/Tooltip/index.js.map +1 -1
  435. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +29 -11
  436. package/cjs/components/TooltipMenu/TooltipMenu.js +36 -17
  437. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  438. package/cjs/components/TooltipMenu/TooltipMenu.md +183 -115
  439. package/cjs/components/TooltipMenu/index.js.map +1 -1
  440. package/cjs/index.d.ts +3 -2
  441. package/cjs/index.js +3 -2
  442. package/cjs/index.js.map +1 -1
  443. package/cjs/internal/BGRuler.js +5 -5
  444. package/cjs/internal/BGRuler.js.map +1 -1
  445. package/cjs/internal/Calendar/Calendar.d.ts +17 -1
  446. package/cjs/internal/Calendar/Calendar.js +128 -38
  447. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  448. package/cjs/internal/Calendar/Calendar.styles.d.ts +3 -2
  449. package/cjs/internal/Calendar/Calendar.styles.js +9 -10
  450. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  451. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  452. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  453. package/cjs/internal/Calendar/CalendarUtils.d.ts +5 -4
  454. package/cjs/internal/Calendar/CalendarUtils.js +33 -26
  455. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  456. package/cjs/internal/Calendar/DayCellView.d.ts +2 -1
  457. package/cjs/internal/Calendar/DayCellView.js +10 -20
  458. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  459. package/cjs/internal/Calendar/DayCellView.styles.d.ts +6 -5
  460. package/cjs/internal/Calendar/DayCellView.styles.js +14 -11
  461. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  462. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  463. package/cjs/internal/Calendar/Month.d.ts +3 -0
  464. package/cjs/internal/Calendar/Month.js +44 -11
  465. package/cjs/internal/Calendar/Month.js.map +1 -1
  466. package/cjs/internal/Calendar/MonthView.js +17 -15
  467. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  468. package/cjs/internal/Calendar/MonthView.styles.d.ts +8 -6
  469. package/cjs/internal/Calendar/MonthView.styles.js +25 -18
  470. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  471. package/cjs/internal/Calendar/MonthViewModel.d.ts +2 -1
  472. package/cjs/internal/Calendar/MonthViewModel.js +33 -33
  473. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  474. package/cjs/internal/Calendar/config.d.ts +3 -17
  475. package/cjs/internal/Calendar/config.js +36 -24
  476. package/cjs/internal/Calendar/config.js.map +1 -1
  477. package/cjs/internal/Calendar/index.js.map +1 -1
  478. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +19 -3
  479. package/cjs/internal/CommonWrapper/CommonWrapper.js +47 -16
  480. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  481. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  482. package/cjs/internal/ComponentCombinator.js.map +1 -1
  483. package/cjs/internal/ComponentTable.js.map +1 -1
  484. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +6 -1
  485. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  486. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -1
  487. package/cjs/internal/CustomComboBox/ComboBoxView.js +30 -13
  488. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  489. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +10 -1
  490. package/cjs/internal/CustomComboBox/CustomComboBox.js +33 -15
  491. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  492. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  493. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js +7 -10
  494. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  495. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +5 -4
  496. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  497. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  498. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  499. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  500. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  501. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  502. package/cjs/internal/DateSelect/DateSelect.d.ts +5 -2
  503. package/cjs/internal/DateSelect/DateSelect.js +44 -6
  504. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  505. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +12 -11
  506. package/cjs/internal/DateSelect/DateSelect.styles.js +35 -40
  507. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  508. package/cjs/internal/DateSelect/index.js.map +1 -1
  509. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +6 -8
  510. package/cjs/internal/DropdownContainer/DropdownContainer.js +26 -16
  511. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  512. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  513. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js +9 -0
  514. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js.map +1 -0
  515. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  516. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  517. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  518. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  519. package/cjs/internal/FocusTrap/index.js.map +1 -1
  520. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  521. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +31 -72
  522. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  523. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  524. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  525. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  526. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  527. package/cjs/internal/InputLikeText/HiddenInput.js +6 -6
  528. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  529. package/cjs/internal/InputLikeText/InputLikeText.d.ts +3 -1
  530. package/cjs/internal/InputLikeText/InputLikeText.js +113 -59
  531. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  532. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  533. package/cjs/internal/InputLikeText/InputLikeText.styles.js +9 -18
  534. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  535. package/cjs/internal/InputLikeText/index.js.map +1 -1
  536. package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
  537. package/cjs/internal/InternalMenu/InternalMenu.js +25 -31
  538. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  539. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +4 -3
  540. package/cjs/internal/InternalMenu/InternalMenu.styles.js +12 -15
  541. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  542. package/cjs/internal/InternalMenu/index.js.map +1 -1
  543. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  544. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +0 -1
  545. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +7 -7
  546. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  547. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  548. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js +4 -7
  549. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  550. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  551. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  552. package/cjs/internal/MaskedInput/MaskedInput.js +4 -4
  553. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  554. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +3 -2
  555. package/cjs/internal/MaskedInput/MaskedInput.styles.js +6 -9
  556. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  557. package/cjs/internal/MaskedInput/index.js.map +1 -1
  558. package/cjs/internal/Menu/Menu.d.ts +3 -0
  559. package/cjs/internal/Menu/Menu.js +53 -18
  560. package/cjs/internal/Menu/Menu.js.map +1 -1
  561. package/cjs/internal/Menu/Menu.styles.d.ts +8 -3
  562. package/cjs/internal/Menu/Menu.styles.js +33 -9
  563. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  564. package/cjs/internal/Menu/index.js.map +1 -1
  565. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  566. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  567. package/cjs/internal/NativeDateInput/NativeDateInput.js +65 -0
  568. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -0
  569. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  570. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js +19 -0
  571. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  572. package/cjs/internal/NativeDateInput/index.d.ts +1 -0
  573. package/cjs/internal/NativeDateInput/index.js +1 -0
  574. package/cjs/internal/NativeDateInput/index.js.map +1 -0
  575. package/cjs/internal/NativeDateInput/utils.d.ts +7 -0
  576. package/cjs/internal/NativeDateInput/utils.js +49 -0
  577. package/cjs/internal/NativeDateInput/utils.js.map +1 -0
  578. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  579. package/cjs/internal/Popup/Popup.d.ts +26 -8
  580. package/cjs/internal/Popup/Popup.js +154 -81
  581. package/cjs/internal/Popup/Popup.js.map +1 -1
  582. package/cjs/internal/Popup/Popup.styles.d.ts +7 -6
  583. package/cjs/internal/Popup/Popup.styles.js +18 -19
  584. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  585. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  586. package/cjs/internal/Popup/PopupHelper.js +1 -0
  587. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  588. package/cjs/internal/Popup/PopupPin.js +17 -17
  589. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  590. package/cjs/internal/Popup/PopupPin.styles.d.ts +1 -1
  591. package/cjs/internal/Popup/PopupPin.styles.js +4 -7
  592. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  593. package/cjs/internal/Popup/index.js.map +1 -1
  594. package/cjs/internal/Popup/types.d.ts +1 -0
  595. package/cjs/internal/Popup/types.js +1 -0
  596. package/cjs/internal/Popup/types.js.map +1 -0
  597. package/cjs/internal/PopupMenu/PopupMenu.d.ts +6 -4
  598. package/cjs/internal/PopupMenu/PopupMenu.js +26 -8
  599. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  600. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  601. package/cjs/internal/PopupMenu/PopupMenu.styles.js +6 -8
  602. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  603. package/cjs/internal/PopupMenu/index.js.map +1 -1
  604. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  605. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  606. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  607. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  608. package/cjs/internal/RenderContainer/RenderContainer.js +4 -2
  609. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  610. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  611. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  612. package/cjs/internal/RenderContainer/index.js.map +1 -1
  613. package/cjs/internal/RenderLayer/RenderLayer.d.ts +4 -2
  614. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  615. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  616. package/cjs/internal/RenderLayer/index.js.map +1 -1
  617. package/cjs/internal/ResizeDetector/ResizeDetector.js +1 -1
  618. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  619. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -1
  620. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -9
  621. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  622. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  623. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  624. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  625. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  626. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +1 -1
  627. package/cjs/internal/ThemePlayground/ComponentsGroup.js +2 -2
  628. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  629. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  630. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  631. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  632. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  633. package/cjs/internal/ThemePlayground/Playground.js +9 -9
  634. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  635. package/cjs/internal/ThemePlayground/Playground.md +7 -7
  636. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +12 -11
  637. package/cjs/internal/ThemePlayground/Playground.styles.js +23 -26
  638. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  639. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  640. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  641. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  642. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +0 -1
  643. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  644. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  645. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -4
  646. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +8 -8
  647. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  648. package/cjs/internal/ThemePlayground/ThemeEditor.js +2 -2
  649. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  650. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  651. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +1 -3
  652. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  653. package/cjs/internal/ThemePlayground/VariableValue.js +6 -6
  654. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  655. package/cjs/internal/ThemePlayground/constants.d.ts +2 -2
  656. package/cjs/internal/ThemePlayground/constants.js +1 -1
  657. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  658. package/cjs/internal/ThemePlayground/darkTheme.d.ts +52 -35
  659. package/cjs/internal/ThemePlayground/darkTheme.js +81 -51
  660. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  661. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  662. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  663. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  664. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +61 -52
  665. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  666. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  667. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +5 -1
  668. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +37 -28
  669. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  670. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  671. package/cjs/internal/ThemeShowcase/VariablesCollector.js +60 -55
  672. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  673. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  674. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  675. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  676. package/cjs/internal/ZIndex/ZIndexStorage.js +1 -1
  677. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  678. package/cjs/internal/ZIndex/index.js.map +1 -1
  679. package/cjs/internal/icons/16px/icon.styles.d.ts +1 -1
  680. package/cjs/internal/icons/16px/icon.styles.js +5 -8
  681. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  682. package/cjs/internal/icons/16px/index.d.ts +17 -15
  683. package/cjs/internal/icons/16px/index.js +121 -51
  684. package/cjs/internal/icons/16px/index.js.map +1 -1
  685. package/cjs/internal/icons/20px/Icon.js +2 -2
  686. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  687. package/cjs/internal/icons/20px/icon.styles.d.ts +1 -1
  688. package/cjs/internal/icons/20px/icon.styles.js +5 -8
  689. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  690. package/cjs/internal/icons/20px/index.js.map +1 -1
  691. package/cjs/internal/icons/20px/svg.js +2 -2
  692. package/cjs/internal/icons/20px/svg.js.map +1 -1
  693. package/cjs/internal/icons/CloudIcon.d.ts +0 -1
  694. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  695. package/cjs/internal/icons/CrossIcon.d.ts +0 -1
  696. package/cjs/internal/icons/CrossIcon.js +8 -1
  697. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  698. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -2
  699. package/cjs/internal/icons/SpinnerIcon.js +8 -5
  700. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  701. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +1 -1
  702. package/cjs/internal/icons/SpinnerIcon.styles.js +5 -8
  703. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  704. package/cjs/internal/themes/DefaultTheme.d.ts +243 -79
  705. package/cjs/internal/themes/DefaultTheme.js +819 -567
  706. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  707. package/cjs/internal/themes/FlatTheme.d.ts +39 -53
  708. package/cjs/internal/themes/FlatTheme.js +107 -135
  709. package/cjs/internal/themes/FlatTheme.js.map +1 -1
  710. package/cjs/internal/themes/Theme8px.d.ts +101 -16
  711. package/cjs/internal/themes/Theme8px.js +333 -204
  712. package/cjs/internal/themes/Theme8px.js.map +1 -1
  713. package/cjs/lib/ConditionalHandler.js +2 -2
  714. package/cjs/lib/ConditionalHandler.js.map +1 -1
  715. package/cjs/lib/LayoutEvents.js +4 -4
  716. package/cjs/lib/LayoutEvents.js.map +1 -1
  717. package/cjs/lib/ModalStack.js +18 -19
  718. package/cjs/lib/ModalStack.js.map +1 -1
  719. package/cjs/lib/SSRSafe.js.map +1 -1
  720. package/cjs/lib/Supports.js.map +1 -1
  721. package/cjs/lib/Upgrades.d.ts +2 -0
  722. package/cjs/lib/Upgrades.js +14 -0
  723. package/cjs/lib/Upgrades.js.map +1 -1
  724. package/cjs/lib/animation/index.js.map +1 -1
  725. package/cjs/lib/animation/presets.js.map +1 -1
  726. package/cjs/lib/animation/stepper.js.map +1 -1
  727. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  728. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  729. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  730. package/cjs/lib/client.d.ts +4 -2
  731. package/cjs/lib/client.js +8 -2
  732. package/cjs/lib/client.js.map +1 -1
  733. package/cjs/lib/createPropsGetter.js.map +1 -1
  734. package/cjs/lib/currentEnvironment.js +12 -3
  735. package/cjs/lib/currentEnvironment.js.map +1 -1
  736. package/cjs/lib/date/InternalDate.js +4 -6
  737. package/cjs/lib/date/InternalDate.js.map +1 -1
  738. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  739. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  740. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  741. package/cjs/lib/date/InternalDateTransformer.d.ts +6 -6
  742. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  743. package/cjs/lib/date/InternalDateValidator.js +3 -0
  744. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  745. package/cjs/lib/date/constants.js.map +1 -1
  746. package/cjs/lib/date/localeSets.js.map +1 -1
  747. package/cjs/lib/date/types.js.map +1 -1
  748. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  749. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -0
  750. package/cjs/lib/dom/tabbableHelpers.js +31 -0
  751. package/cjs/lib/dom/tabbableHelpers.js.map +1 -0
  752. package/cjs/lib/events/MouseDrag.js +26 -26
  753. package/cjs/lib/events/MouseDrag.js.map +1 -1
  754. package/cjs/lib/events/fixClickFocusIE.js +2 -2
  755. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  756. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  757. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  758. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  759. package/cjs/lib/events/keyListener.d.ts +7 -0
  760. package/cjs/lib/events/keyListener.js +22 -0
  761. package/cjs/lib/events/keyListener.js.map +1 -0
  762. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  763. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  764. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  765. package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
  766. package/cjs/lib/events/keyboard/identifiers.js +12 -3
  767. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  768. package/cjs/lib/events/stopPropagation.js.map +1 -1
  769. package/cjs/lib/events/tabListener.d.ts +1 -6
  770. package/cjs/lib/events/tabListener.js +2 -15
  771. package/cjs/lib/events/tabListener.js.map +1 -1
  772. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  773. package/cjs/lib/filterProps.js.map +1 -1
  774. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  775. package/cjs/lib/forwardRefAndName.js +23 -0
  776. package/cjs/lib/forwardRefAndName.js.map +1 -0
  777. package/cjs/lib/getDisplayName.d.ts +3 -0
  778. package/cjs/lib/getDisplayName.js +9 -0
  779. package/cjs/lib/getDisplayName.js.map +1 -0
  780. package/cjs/lib/listenFocusOutside.d.ts +4 -0
  781. package/cjs/lib/listenFocusOutside.js +11 -11
  782. package/cjs/lib/listenFocusOutside.js.map +1 -1
  783. package/cjs/lib/locale/LOCALECONTEXT.md +221 -215
  784. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  785. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  786. package/cjs/lib/locale/constants.js.map +1 -1
  787. package/cjs/lib/locale/decorators.d.ts +4 -3
  788. package/cjs/lib/locale/decorators.js +12 -7
  789. package/cjs/lib/locale/decorators.js.map +1 -1
  790. package/cjs/lib/locale/index.js.map +1 -1
  791. package/cjs/lib/locale/types.js.map +1 -1
  792. package/cjs/lib/memo.js.map +1 -1
  793. package/cjs/lib/net/fetch.js.map +1 -1
  794. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  795. package/cjs/lib/reactGetTextContent.js.map +1 -1
  796. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  797. package/cjs/lib/rootNode/getRootNode.js +27 -0
  798. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  799. package/cjs/lib/rootNode/index.d.ts +2 -0
  800. package/cjs/lib/rootNode/index.js +2 -0
  801. package/cjs/lib/rootNode/index.js.map +1 -0
  802. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  803. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  804. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  805. package/cjs/lib/styles/ColorFactory.js +8 -4
  806. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  807. package/cjs/lib/styles/ColorFunctions.js +1 -1
  808. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  809. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  810. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  811. package/cjs/lib/styles/ColorObject.js.map +1 -1
  812. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  813. package/cjs/lib/styles/HoldSelectionColor.js +2 -2
  814. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  815. package/cjs/lib/styles/Mixins.js +3 -3
  816. package/cjs/lib/styles/Mixins.js.map +1 -1
  817. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  818. package/cjs/lib/taskWithDelayAndMinimalDuration.js +80 -0
  819. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -0
  820. package/cjs/lib/theming/AnimationKeyframes.d.ts +7 -6
  821. package/cjs/lib/theming/AnimationKeyframes.js +7 -7
  822. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  823. package/cjs/lib/theming/Emotion.d.ts +11 -10
  824. package/cjs/lib/theming/Emotion.js +14 -18
  825. package/cjs/lib/theming/Emotion.js.map +1 -1
  826. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  827. package/cjs/lib/theming/ThemeContext.md +265 -283
  828. package/cjs/lib/theming/ThemeFactory.js +4 -8
  829. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  830. package/cjs/lib/theming/ThemeHelpers.d.ts +6 -2
  831. package/cjs/lib/theming/ThemeHelpers.js +30 -10
  832. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  833. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  834. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -0
  835. package/cjs/lib/theming/themes/DefaultThemeOld.js +4 -0
  836. package/cjs/lib/theming/themes/DefaultThemeOld.js.map +1 -0
  837. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  838. package/cjs/lib/theming/themes/FlatTheme.js +4 -2
  839. package/cjs/lib/theming/themes/FlatTheme.js.map +1 -1
  840. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -0
  841. package/cjs/lib/theming/themes/FlatThemeOld.js +6 -0
  842. package/cjs/lib/theming/themes/FlatThemeOld.js.map +1 -0
  843. package/cjs/lib/theming/useTheme.d.ts +1 -0
  844. package/cjs/lib/theming/useTheme.js +7 -0
  845. package/cjs/lib/theming/useTheme.js.map +1 -0
  846. package/cjs/lib/utils.d.ts +47 -0
  847. package/cjs/lib/utils.js +103 -7
  848. package/cjs/lib/utils.js.map +1 -1
  849. package/cjs/lib/withClassWrapper.d.ts +71 -0
  850. package/cjs/lib/withClassWrapper.js +59 -0
  851. package/cjs/lib/withClassWrapper.js.map +1 -0
  852. package/cjs/typings/console.d.ts +3 -3
  853. package/cjs/typings/event-types.d.ts +4 -4
  854. package/cjs/typings/fonts.d.ts +12 -12
  855. package/cjs/typings/global.d.ts +6 -6
  856. package/cjs/typings/html-props.d.ts +123 -0
  857. package/cjs/typings/images.d.ts +1 -1
  858. package/cjs/typings/normalize-wheel.d.ts +5 -5
  859. package/cjs/typings/stories.d.ts +7 -0
  860. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  861. package/cjs/typings/utility-types.d.ts +14 -14
  862. package/components/Autocomplete/Autocomplete/Autocomplete.js +38 -35
  863. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  864. package/components/Autocomplete/Autocomplete.d.ts +3 -2
  865. package/components/Autocomplete/Autocomplete.md +7 -7
  866. package/components/Autocomplete/index/index.js.map +1 -1
  867. package/components/Button/Button/Button.js +120 -81
  868. package/components/Button/Button/Button.js.map +1 -1
  869. package/components/Button/Button.d.ts +75 -14
  870. package/components/Button/Button.md +104 -89
  871. package/components/Button/Button.mixins/Button.mixins.js +21 -62
  872. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  873. package/components/Button/Button.mixins.d.ts +6 -5
  874. package/components/Button/Button.styles/Button.styles.js +116 -458
  875. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  876. package/components/Button/Button.styles.d.ts +55 -29
  877. package/components/Button/Corners/Corners.js.map +1 -1
  878. package/components/Button/index/index.js.map +1 -1
  879. package/components/Center/Center/Center.js +21 -17
  880. package/components/Center/Center/Center.js.map +1 -1
  881. package/components/Center/Center.d.ts +5 -8
  882. package/components/Center/Center.md +26 -5
  883. package/components/Center/Center.styles/Center.styles.js +8 -57
  884. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  885. package/components/Center/Center.styles.d.ts +1 -1
  886. package/components/Center/index/index.js.map +1 -1
  887. package/components/Checkbox/Checkbox/Checkbox.js +60 -54
  888. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  889. package/components/Checkbox/Checkbox.d.ts +34 -17
  890. package/components/Checkbox/Checkbox.md +104 -63
  891. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +30 -173
  892. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  893. package/components/Checkbox/Checkbox.styles.d.ts +15 -10
  894. package/components/Checkbox/index/index.js.map +1 -1
  895. package/components/ComboBox/ComboBox/ComboBox.js +46 -38
  896. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  897. package/components/ComboBox/ComboBox.d.ts +16 -3
  898. package/components/ComboBox/ComboBox.md +445 -432
  899. package/components/ComboBox/index/index.js.map +1 -1
  900. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +2 -1
  901. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  902. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +97 -37
  903. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  904. package/components/CurrencyInput/CurrencyInput.d.ts +10 -6
  905. package/components/CurrencyInput/CurrencyInput.md +24 -20
  906. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  907. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  908. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  909. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  910. package/components/CurrencyInput/constants/constants.js.map +1 -1
  911. package/components/CurrencyInput/index/index.js.map +1 -1
  912. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  913. package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -3
  914. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  915. package/components/CurrencyLabel/index/index.js.map +1 -1
  916. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +6 -6
  917. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  918. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  919. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js +7 -46
  920. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  921. package/components/DateInput/DateFragmentsView.styles.d.ts +5 -4
  922. package/components/DateInput/DateInput/DateInput.js +22 -11
  923. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  924. package/components/DateInput/DateInput.d.ts +8 -0
  925. package/components/DateInput/DateInput.md +106 -104
  926. package/components/DateInput/DateInput.styles/DateInput.styles.js +13 -55
  927. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  928. package/components/DateInput/DateInput.styles.d.ts +9 -6
  929. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  930. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  931. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  932. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  933. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +1 -1
  934. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  935. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  936. package/components/DateInput/helpers/inputNumber.d.ts +3 -3
  937. package/components/DateInput/index/index.js.map +1 -1
  938. package/components/DatePicker/DatePicker/DatePicker.js +95 -54
  939. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  940. package/components/DatePicker/DatePicker.d.ts +44 -11
  941. package/components/DatePicker/DatePicker.md +329 -312
  942. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +4 -13
  943. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  944. package/components/DatePicker/DatePicker.styles.d.ts +1 -1
  945. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  946. package/components/DatePicker/Picker/Picker.js +7 -5
  947. package/components/DatePicker/Picker/Picker.js.map +1 -1
  948. package/components/DatePicker/Picker.d.ts +3 -1
  949. package/components/DatePicker/Picker.styles/Picker.styles.js +5 -24
  950. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  951. package/components/DatePicker/Picker.styles.d.ts +4 -3
  952. package/components/DatePicker/index/index.js.map +1 -1
  953. package/components/DatePicker/locale/index/index.js.map +1 -1
  954. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  955. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  956. package/components/Dropdown/Dropdown/Dropdown.js +39 -36
  957. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  958. package/components/Dropdown/Dropdown.d.ts +6 -4
  959. package/components/Dropdown/Dropdown.md +11 -12
  960. package/components/Dropdown/index/index.js.map +1 -1
  961. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +18 -11
  962. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  963. package/components/DropdownMenu/DropdownMenu.d.ts +22 -5
  964. package/components/DropdownMenu/DropdownMenu.md +154 -73
  965. package/components/DropdownMenu/index/index.js.map +1 -1
  966. package/components/FxInput/FxInput/FxInput.js +16 -10
  967. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  968. package/components/FxInput/FxInput.d.ts +3 -2
  969. package/components/FxInput/FxInput.md +16 -13
  970. package/components/FxInput/index/index.js.map +1 -1
  971. package/components/Gapped/Gapped/Gapped.js +61 -32
  972. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  973. package/components/Gapped/Gapped.d.ts +6 -3
  974. package/components/Gapped/Gapped.md +43 -43
  975. package/components/Gapped/index/index.js.map +1 -1
  976. package/components/Group/Group/Group.js +27 -14
  977. package/components/Group/Group/Group.js.map +1 -1
  978. package/components/Group/Group.d.ts +1 -0
  979. package/components/Group/Group.md +18 -26
  980. package/components/Group/Group.styles/Group.styles.js +9 -68
  981. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  982. package/components/Group/Group.styles.d.ts +1 -1
  983. package/components/Group/index/index.js.map +1 -1
  984. package/components/Hint/Hint/Hint.js +37 -21
  985. package/components/Hint/Hint/Hint.js.map +1 -1
  986. package/components/Hint/Hint.d.ts +43 -3
  987. package/components/Hint/Hint.md +42 -3
  988. package/components/Hint/Hint.styles/Hint.styles.js +7 -26
  989. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  990. package/components/Hint/Hint.styles.d.ts +4 -3
  991. package/components/Hint/index/index.js.map +1 -1
  992. package/components/Input/Input/Input.js +84 -57
  993. package/components/Input/Input/Input.js.map +1 -1
  994. package/components/Input/Input.d.ts +16 -3
  995. package/components/Input/Input.md +13 -13
  996. package/components/Input/Input.styles/Input.styles.js +60 -355
  997. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  998. package/components/Input/Input.styles.d.ts +36 -27
  999. package/components/Input/index/index.js.map +1 -1
  1000. package/components/Kebab/Kebab/Kebab.js +36 -54
  1001. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  1002. package/components/Kebab/Kebab.d.ts +13 -4
  1003. package/components/Kebab/Kebab.md +291 -45
  1004. package/components/Kebab/Kebab.styles/Kebab.styles.js +17 -93
  1005. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  1006. package/components/Kebab/Kebab.styles.d.ts +7 -5
  1007. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  1008. package/components/Kebab/index/index.js.map +1 -1
  1009. package/components/Link/Link/Link.js +30 -32
  1010. package/components/Link/Link/Link.js.map +1 -1
  1011. package/components/Link/Link.d.ts +30 -11
  1012. package/components/Link/Link.md +77 -11
  1013. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  1014. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  1015. package/components/Link/Link.styles/Link.styles.js +18 -124
  1016. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  1017. package/components/Link/Link.styles.d.ts +12 -10
  1018. package/components/Link/index/index.js.map +1 -1
  1019. package/components/Loader/Loader/Loader.js +206 -58
  1020. package/components/Loader/Loader/Loader.js.map +1 -1
  1021. package/components/Loader/Loader.d.ts +35 -3
  1022. package/components/Loader/Loader.md +25 -25
  1023. package/components/Loader/Loader.styles/Loader.styles.js +8 -83
  1024. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  1025. package/components/Loader/Loader.styles.d.ts +3 -4
  1026. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  1027. package/components/Loader/index/index.js.map +1 -1
  1028. package/components/MenuHeader/MenuHeader/MenuHeader.js +10 -6
  1029. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  1030. package/components/MenuHeader/MenuHeader.d.ts +6 -2
  1031. package/components/MenuHeader/MenuHeader.md +23 -0
  1032. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +8 -25
  1033. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  1034. package/components/MenuHeader/MenuHeader.styles.d.ts +4 -3
  1035. package/components/MenuHeader/index/index.js.map +1 -1
  1036. package/components/MenuItem/MenuItem/MenuItem.js +26 -21
  1037. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  1038. package/components/MenuItem/MenuItem.d.ts +52 -7
  1039. package/components/MenuItem/MenuItem.md +109 -7
  1040. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +21 -116
  1041. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  1042. package/components/MenuItem/MenuItem.styles.d.ts +11 -10
  1043. package/components/MenuItem/index/index.js.map +1 -1
  1044. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +6 -4
  1045. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  1046. package/components/MenuSeparator/MenuSeparator.d.ts +3 -2
  1047. package/components/MenuSeparator/MenuSeparator.md +14 -0
  1048. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +4 -13
  1049. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  1050. package/components/MenuSeparator/MenuSeparator.styles.d.ts +3 -2
  1051. package/components/MenuSeparator/index/index.js.map +1 -1
  1052. package/components/Modal/Modal/Modal.js +65 -51
  1053. package/components/Modal/Modal/Modal.js.map +1 -1
  1054. package/components/Modal/Modal.d.ts +6 -3
  1055. package/components/Modal/Modal.md +38 -37
  1056. package/components/Modal/Modal.styles/Modal.styles.js +46 -272
  1057. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  1058. package/components/Modal/Modal.styles.d.ts +19 -18
  1059. package/components/Modal/ModalBody/ModalBody.js +42 -18
  1060. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  1061. package/components/Modal/ModalBody.d.ts +3 -0
  1062. package/components/Modal/ModalClose/ModalClose.js +29 -8
  1063. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  1064. package/components/Modal/ModalClose.d.ts +0 -1
  1065. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  1066. package/components/Modal/ModalContext.d.ts +3 -0
  1067. package/components/Modal/ModalFooter/ModalFooter.js +22 -29
  1068. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  1069. package/components/Modal/ModalHeader/ModalHeader.js +29 -33
  1070. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  1071. package/components/Modal/index/index.js.map +1 -1
  1072. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  1073. package/components/Paging/NavigationHelper.d.ts +1 -1
  1074. package/components/Paging/Paging/Paging.js +45 -42
  1075. package/components/Paging/Paging/Paging.js.map +1 -1
  1076. package/components/Paging/Paging.d.ts +3 -3
  1077. package/components/Paging/Paging.md +43 -43
  1078. package/components/Paging/Paging.styles/Paging.styles.js +22 -150
  1079. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  1080. package/components/Paging/Paging.styles.d.ts +12 -11
  1081. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  1082. package/components/Paging/index/index.js.map +1 -1
  1083. package/components/Paging/locale/index/index.js.map +1 -1
  1084. package/components/Paging/locale/locales/en/en.js.map +1 -1
  1085. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  1086. package/components/PasswordInput/PasswordInput/PasswordInput.js +55 -24
  1087. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  1088. package/components/PasswordInput/PasswordInput.d.ts +5 -2
  1089. package/components/PasswordInput/PasswordInput.md +9 -9
  1090. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +16 -46
  1091. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  1092. package/components/PasswordInput/PasswordInput.styles.d.ts +5 -1
  1093. package/components/PasswordInput/index/index.js.map +1 -1
  1094. package/components/Radio/Radio/Radio.js +77 -40
  1095. package/components/Radio/Radio/Radio.js.map +1 -1
  1096. package/components/Radio/Radio.d.ts +42 -23
  1097. package/components/Radio/Radio.md +38 -14
  1098. package/components/Radio/Radio.styles/Radio.styles.js +29 -137
  1099. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  1100. package/components/Radio/Radio.styles.d.ts +15 -10
  1101. package/components/Radio/index/index.js.map +1 -1
  1102. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  1103. package/components/RadioGroup/RadioGroup/RadioGroup.js +43 -108
  1104. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  1105. package/components/RadioGroup/RadioGroup.d.ts +52 -77
  1106. package/components/RadioGroup/RadioGroup.md +43 -43
  1107. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -46
  1108. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  1109. package/components/RadioGroup/RadioGroup.styles.d.ts +3 -2
  1110. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  1111. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  1112. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  1113. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  1114. package/components/RadioGroup/index/index.js.map +1 -1
  1115. package/components/ScrollContainer/ScrollBar/ScrollBar.js +258 -0
  1116. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
  1117. package/components/ScrollContainer/ScrollBar/package.json +6 -0
  1118. package/components/ScrollContainer/ScrollBar.d.ts +37 -0
  1119. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +142 -219
  1120. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  1121. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
  1122. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
  1123. package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
  1124. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  1125. package/components/ScrollContainer/ScrollContainer.d.ts +40 -23
  1126. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
  1127. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
  1128. package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
  1129. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  1130. package/components/ScrollContainer/ScrollContainer.md +143 -94
  1131. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +30 -62
  1132. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  1133. package/components/ScrollContainer/ScrollContainer.styles.d.ts +14 -4
  1134. package/components/ScrollContainer/index/index.js.map +1 -1
  1135. package/components/Select/Item/Item.js.map +1 -1
  1136. package/components/Select/Select/Select.js +62 -64
  1137. package/components/Select/Select/Select.js.map +1 -1
  1138. package/components/Select/Select.d.ts +9 -5
  1139. package/components/Select/Select.md +55 -55
  1140. package/components/Select/Select.styles/Select.styles.js +32 -106
  1141. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  1142. package/components/Select/Select.styles.d.ts +12 -6
  1143. package/components/Select/index/index.js.map +1 -1
  1144. package/components/Select/locale/index/index.js.map +1 -1
  1145. package/components/Select/locale/locales/en/en.js.map +1 -1
  1146. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  1147. package/components/Select/selectTheme/selectTheme.js +5 -4
  1148. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  1149. package/components/Select/selectTheme.d.ts +2 -1
  1150. package/components/SidePage/SidePage/SidePage.js +118 -65
  1151. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  1152. package/components/SidePage/SidePage.d.ts +25 -2
  1153. package/components/SidePage/SidePage.md +48 -48
  1154. package/components/SidePage/SidePage.styles/SidePage.styles.js +68 -300
  1155. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  1156. package/components/SidePage/SidePage.styles.d.ts +25 -16
  1157. package/components/SidePage/SidePageBody/SidePageBody.js +19 -13
  1158. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  1159. package/components/SidePage/SidePageBody.d.ts +1 -0
  1160. package/components/SidePage/SidePageContainer/SidePageContainer.js +50 -14
  1161. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  1162. package/components/SidePage/SidePageContainer.d.ts +3 -0
  1163. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  1164. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  1165. package/components/SidePage/SidePageContext.d.ts +8 -0
  1166. package/components/SidePage/SidePageFooter/SidePageFooter.js +43 -24
  1167. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  1168. package/components/SidePage/SidePageFooter.d.ts +2 -2
  1169. package/components/SidePage/SidePageHeader/SidePageHeader.js +90 -41
  1170. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  1171. package/components/SidePage/SidePageHeader.d.ts +12 -1
  1172. package/components/SidePage/index/index.js.map +1 -1
  1173. package/components/Spinner/Spinner/Spinner.js +31 -23
  1174. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  1175. package/components/Spinner/Spinner.d.ts +9 -0
  1176. package/components/Spinner/Spinner.md +35 -34
  1177. package/components/Spinner/Spinner.styles/Spinner.styles.js +15 -91
  1178. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  1179. package/components/Spinner/Spinner.styles.d.ts +9 -7
  1180. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  1181. package/components/Spinner/SpinnerFallbackAnimation.d.ts +4 -4
  1182. package/components/Spinner/index/index.js.map +1 -1
  1183. package/components/Spinner/locale/index/index.js.map +1 -1
  1184. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  1185. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  1186. package/components/Sticky/Sticky/Sticky.js +23 -18
  1187. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  1188. package/components/Sticky/Sticky.d.ts +7 -1
  1189. package/components/Sticky/Sticky.md +27 -27
  1190. package/components/Sticky/Sticky.styles/Sticky.styles.js +8 -57
  1191. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  1192. package/components/Sticky/Sticky.styles.d.ts +1 -1
  1193. package/components/Sticky/index/index.js.map +1 -1
  1194. package/components/Switcher/Switcher/Switcher.js +21 -16
  1195. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  1196. package/components/Switcher/Switcher.d.ts +1 -0
  1197. package/components/Switcher/Switcher.md +10 -10
  1198. package/components/Switcher/Switcher.styles/Switcher.styles.js +13 -80
  1199. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  1200. package/components/Switcher/Switcher.styles.d.ts +7 -6
  1201. package/components/Switcher/index/index.js.map +1 -1
  1202. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  1203. package/components/Switcher/switcherTheme.d.ts +2 -1
  1204. package/components/Tabs/Indicator/Indicator.js +23 -24
  1205. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  1206. package/components/Tabs/Indicator.d.ts +2 -2
  1207. package/components/Tabs/Indicator.styles/Indicator.styles.js +8 -57
  1208. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  1209. package/components/Tabs/Indicator.styles.d.ts +7 -6
  1210. package/components/Tabs/Tab/Tab.js +45 -60
  1211. package/components/Tabs/Tab/Tab.js.map +1 -1
  1212. package/components/Tabs/Tab.d.ts +9 -13
  1213. package/components/Tabs/Tab.styles/Tab.styles.js +46 -104
  1214. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  1215. package/components/Tabs/Tab.styles.d.ts +26 -10
  1216. package/components/Tabs/Tabs/Tabs.js +25 -26
  1217. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  1218. package/components/Tabs/Tabs.d.ts +5 -5
  1219. package/components/Tabs/Tabs.md +36 -36
  1220. package/components/Tabs/Tabs.styles/Tabs.styles.js +7 -26
  1221. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  1222. package/components/Tabs/Tabs.styles.d.ts +4 -3
  1223. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  1224. package/components/Tabs/TabsContext.d.ts +8 -8
  1225. package/components/Tabs/index/index.js.map +1 -1
  1226. package/components/Textarea/Textarea/Textarea.js +60 -37
  1227. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  1228. package/components/Textarea/Textarea.d.ts +12 -4
  1229. package/components/Textarea/Textarea.md +25 -25
  1230. package/components/Textarea/Textarea.styles/Textarea.styles.js +18 -124
  1231. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  1232. package/components/Textarea/Textarea.styles.d.ts +10 -8
  1233. package/components/Textarea/TextareaCounter/TextareaCounter.js +6 -6
  1234. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  1235. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  1236. package/components/Textarea/index/index.js.map +1 -1
  1237. package/components/Toast/Toast/Toast.js +46 -29
  1238. package/components/Toast/Toast/Toast.js.map +1 -1
  1239. package/components/Toast/Toast.d.ts +14 -9
  1240. package/components/Toast/Toast.md +41 -41
  1241. package/components/Toast/Toast.styles/Toast.styles.js +7 -46
  1242. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  1243. package/components/Toast/Toast.styles.d.ts +1 -1
  1244. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  1245. package/components/Toast/ToastView/ToastView.js +21 -14
  1246. package/components/Toast/ToastView/ToastView.js.map +1 -1
  1247. package/components/Toast/ToastView.d.ts +1 -0
  1248. package/components/Toast/ToastView.styles/ToastView.styles.js +30 -57
  1249. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  1250. package/components/Toast/ToastView.styles.d.ts +6 -5
  1251. package/components/Toast/index/index.js.map +1 -1
  1252. package/components/Toggle/Toggle/Toggle.js +54 -33
  1253. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  1254. package/components/Toggle/Toggle.d.ts +49 -1
  1255. package/components/Toggle/Toggle.md +94 -24
  1256. package/components/Toggle/Toggle.styles/Toggle.styles.js +44 -161
  1257. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  1258. package/components/Toggle/Toggle.styles.d.ts +27 -13
  1259. package/components/Toggle/index/index.js.map +1 -1
  1260. package/components/Token/Token/Token.js +22 -15
  1261. package/components/Token/Token/Token.js.map +1 -1
  1262. package/components/Token/Token.d.ts +9 -2
  1263. package/components/Token/Token.md +112 -112
  1264. package/components/Token/Token.styles/Token.styles.js +18 -114
  1265. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  1266. package/components/Token/Token.styles.d.ts +27 -23
  1267. package/components/Token/index/index.js.map +1 -1
  1268. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +5 -5
  1269. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  1270. package/components/TokenInput/TokenInput/TokenInput.js +86 -39
  1271. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  1272. package/components/TokenInput/TokenInput.d.ts +27 -0
  1273. package/components/TokenInput/TokenInput.md +79 -77
  1274. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +24 -161
  1275. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  1276. package/components/TokenInput/TokenInput.styles.d.ts +14 -15
  1277. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +11 -4
  1278. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  1279. package/components/TokenInput/TokenInputMenu.d.ts +4 -1
  1280. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  1281. package/components/TokenInput/index/index.js.map +1 -1
  1282. package/components/TokenInput/locale/index/index.js.map +1 -1
  1283. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  1284. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  1285. package/components/Tooltip/Tooltip/Tooltip.js +49 -34
  1286. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  1287. package/components/Tooltip/Tooltip.d.ts +16 -26
  1288. package/components/Tooltip/Tooltip.md +292 -301
  1289. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +6 -25
  1290. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  1291. package/components/Tooltip/Tooltip.styles.d.ts +4 -3
  1292. package/components/Tooltip/index/index.js.map +1 -1
  1293. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +28 -20
  1294. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  1295. package/components/TooltipMenu/TooltipMenu.d.ts +29 -11
  1296. package/components/TooltipMenu/TooltipMenu.md +183 -115
  1297. package/components/TooltipMenu/index/index.js.map +1 -1
  1298. package/index.d.ts +3 -2
  1299. package/index.js +3 -2
  1300. package/index.js.map +1 -1
  1301. package/internal/BGRuler/BGRuler.js +5 -5
  1302. package/internal/BGRuler/BGRuler.js.map +1 -1
  1303. package/internal/Calendar/Calendar/Calendar.js +133 -58
  1304. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  1305. package/internal/Calendar/Calendar.d.ts +17 -1
  1306. package/internal/Calendar/Calendar.styles/Calendar.styles.js +6 -24
  1307. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  1308. package/internal/Calendar/Calendar.styles.d.ts +3 -2
  1309. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  1310. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  1311. package/internal/Calendar/CalendarUtils/CalendarUtils.js +13 -13
  1312. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  1313. package/internal/Calendar/CalendarUtils.d.ts +5 -4
  1314. package/internal/Calendar/DayCellView/DayCellView.js +7 -15
  1315. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  1316. package/internal/Calendar/DayCellView.d.ts +2 -1
  1317. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +7 -46
  1318. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  1319. package/internal/Calendar/DayCellView.styles.d.ts +6 -5
  1320. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  1321. package/internal/Calendar/Month/Month.js +45 -12
  1322. package/internal/Calendar/Month/Month.js.map +1 -1
  1323. package/internal/Calendar/Month.d.ts +3 -0
  1324. package/internal/Calendar/MonthView/MonthView.js +18 -15
  1325. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  1326. package/internal/Calendar/MonthView.styles/MonthView.styles.js +15 -60
  1327. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  1328. package/internal/Calendar/MonthView.styles.d.ts +8 -6
  1329. package/internal/Calendar/MonthViewModel/MonthViewModel.js +50 -38
  1330. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  1331. package/internal/Calendar/MonthViewModel.d.ts +2 -1
  1332. package/internal/Calendar/config/config.js +16 -27
  1333. package/internal/Calendar/config/config.js.map +1 -1
  1334. package/internal/Calendar/config.d.ts +3 -17
  1335. package/internal/Calendar/index/index.js.map +1 -1
  1336. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +38 -11
  1337. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  1338. package/internal/CommonWrapper/CommonWrapper.d.ts +19 -3
  1339. package/internal/CommonWrapper/index/index.js.map +1 -1
  1340. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  1341. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  1342. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +14 -5
  1343. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1344. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +38 -24
  1345. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1346. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -1
  1347. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +32 -18
  1348. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1349. package/internal/CustomComboBox/CustomComboBox.d.ts +10 -1
  1350. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js +7 -36
  1351. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  1352. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  1353. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +5 -4
  1354. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1355. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  1356. package/internal/CustomComboBox/index/index.js.map +1 -1
  1357. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  1358. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  1359. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  1360. package/internal/DateSelect/DateSelect/DateSelect.js +60 -23
  1361. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1362. package/internal/DateSelect/DateSelect.d.ts +5 -2
  1363. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +21 -180
  1364. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  1365. package/internal/DateSelect/DateSelect.styles.d.ts +12 -11
  1366. package/internal/DateSelect/index/index.js.map +1 -1
  1367. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +37 -37
  1368. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1369. package/internal/DropdownContainer/DropdownContainer.d.ts +6 -8
  1370. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js +10 -0
  1371. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js.map +1 -0
  1372. package/internal/DropdownContainer/DropdownContainer.styles/package.json +6 -0
  1373. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  1374. package/internal/DropdownContainer/index/index.js.map +1 -1
  1375. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  1376. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1377. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  1378. package/internal/FocusTrap/index/index.js.map +1 -1
  1379. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +29 -65
  1380. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1381. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  1382. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  1383. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  1384. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1385. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  1386. package/internal/InputLikeText/HiddenInput/HiddenInput.js +6 -14
  1387. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  1388. package/internal/InputLikeText/InputLikeText/InputLikeText.js +78 -46
  1389. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1390. package/internal/InputLikeText/InputLikeText.d.ts +3 -1
  1391. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +9 -71
  1392. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  1393. package/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  1394. package/internal/InputLikeText/index/index.js.map +1 -1
  1395. package/internal/InternalMenu/InternalMenu/InternalMenu.js +32 -33
  1396. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1397. package/internal/InternalMenu/InternalMenu.d.ts +2 -3
  1398. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -69
  1399. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  1400. package/internal/InternalMenu/InternalMenu.styles.d.ts +4 -3
  1401. package/internal/InternalMenu/index/index.js.map +1 -1
  1402. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  1403. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +8 -8
  1404. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  1405. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +0 -1
  1406. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js +4 -13
  1407. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  1408. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  1409. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  1410. package/internal/MaskedInput/MaskedInput/MaskedInput.js +12 -12
  1411. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1412. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  1413. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js +6 -35
  1414. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  1415. package/internal/MaskedInput/MaskedInput.styles.d.ts +3 -2
  1416. package/internal/MaskedInput/index/index.js.map +1 -1
  1417. package/internal/Menu/Menu/Menu.js +56 -27
  1418. package/internal/Menu/Menu/Menu.js.map +1 -1
  1419. package/internal/Menu/Menu.d.ts +3 -0
  1420. package/internal/Menu/Menu.styles/Menu.styles.js +18 -24
  1421. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  1422. package/internal/Menu/Menu.styles.d.ts +8 -3
  1423. package/internal/Menu/index/index.js.map +1 -1
  1424. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1425. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +67 -0
  1426. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -0
  1427. package/internal/NativeDateInput/NativeDateInput/package.json +6 -0
  1428. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  1429. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js +11 -0
  1430. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js.map +1 -0
  1431. package/internal/NativeDateInput/NativeDateInput.styles/package.json +6 -0
  1432. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  1433. package/internal/NativeDateInput/index/index.js +1 -0
  1434. package/internal/NativeDateInput/index/index.js.map +1 -0
  1435. package/internal/NativeDateInput/index/package.json +6 -0
  1436. package/internal/NativeDateInput/index.d.ts +1 -0
  1437. package/internal/NativeDateInput/package.json +6 -0
  1438. package/internal/NativeDateInput/utils/package.json +6 -0
  1439. package/internal/NativeDateInput/utils/utils.js +54 -0
  1440. package/internal/NativeDateInput/utils/utils.js.map +1 -0
  1441. package/internal/NativeDateInput/utils.d.ts +7 -0
  1442. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  1443. package/internal/Popup/Popup/Popup.js +174 -117
  1444. package/internal/Popup/Popup/Popup.js.map +1 -1
  1445. package/internal/Popup/Popup.d.ts +26 -8
  1446. package/internal/Popup/Popup.styles/Popup.styles.js +16 -145
  1447. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  1448. package/internal/Popup/Popup.styles.d.ts +7 -6
  1449. package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
  1450. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1451. package/internal/Popup/PopupHelper.d.ts +2 -2
  1452. package/internal/Popup/PopupPin/PopupPin.js +18 -18
  1453. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1454. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +4 -13
  1455. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  1456. package/internal/Popup/PopupPin.styles.d.ts +1 -1
  1457. package/internal/Popup/index/index.js.map +1 -1
  1458. package/internal/Popup/types/package.json +6 -0
  1459. package/internal/Popup/types/types.js +0 -0
  1460. package/internal/Popup/types/types.js.map +1 -0
  1461. package/internal/Popup/types.d.ts +1 -0
  1462. package/internal/PopupMenu/PopupMenu/PopupMenu.js +24 -17
  1463. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1464. package/internal/PopupMenu/PopupMenu.d.ts +6 -4
  1465. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js +5 -24
  1466. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  1467. package/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  1468. package/internal/PopupMenu/index/index.js.map +1 -1
  1469. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  1470. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1471. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1472. package/internal/RenderContainer/RenderContainer/RenderContainer.js +5 -2
  1473. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1474. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  1475. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  1476. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1477. package/internal/RenderContainer/index/index.js.map +1 -1
  1478. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  1479. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1480. package/internal/RenderLayer/RenderLayer.d.ts +4 -2
  1481. package/internal/RenderLayer/index/index.js.map +1 -1
  1482. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +5 -4
  1483. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1484. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +6 -35
  1485. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  1486. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -1
  1487. package/internal/ResizeDetector/index/index.js.map +1 -1
  1488. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  1489. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  1490. package/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  1491. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js +3 -3
  1492. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
  1493. package/internal/ThemePlayground/ComponentsGroup.d.ts +1 -1
  1494. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  1495. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  1496. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  1497. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  1498. package/internal/ThemePlayground/Playground/Playground.js +15 -15
  1499. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  1500. package/internal/ThemePlayground/Playground.md +7 -7
  1501. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +23 -222
  1502. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  1503. package/internal/ThemePlayground/Playground.styles.d.ts +12 -11
  1504. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  1505. package/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  1506. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  1507. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  1508. package/internal/ThemePlayground/ShowcaseGroup.d.ts +0 -1
  1509. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  1510. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +15 -15
  1511. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  1512. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -4
  1513. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +4 -4
  1514. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  1515. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  1516. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js +1 -1
  1517. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  1518. package/internal/ThemePlayground/VariableValue/VariableValue.js +11 -11
  1519. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1520. package/internal/ThemePlayground/constants/constants.js +2 -2
  1521. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1522. package/internal/ThemePlayground/constants.d.ts +2 -2
  1523. package/internal/ThemePlayground/darkTheme/darkTheme.js +94 -46
  1524. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1525. package/internal/ThemePlayground/darkTheme.d.ts +52 -35
  1526. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1527. package/internal/ThemePlayground/helpers.d.ts +1 -1
  1528. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +70 -67
  1529. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1530. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  1531. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  1532. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +34 -201
  1533. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1534. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +5 -1
  1535. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +69 -62
  1536. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1537. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1538. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  1539. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1540. package/internal/ZIndex/ZIndex.d.ts +2 -0
  1541. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -1
  1542. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1543. package/internal/ZIndex/index/index.js.map +1 -1
  1544. package/internal/icons/16px/icon.styles/icon.styles.js +5 -24
  1545. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1546. package/internal/icons/16px/icon.styles.d.ts +1 -1
  1547. package/internal/icons/16px/index/index.js +101 -53
  1548. package/internal/icons/16px/index/index.js.map +1 -1
  1549. package/internal/icons/16px/index.d.ts +17 -15
  1550. package/internal/icons/20px/Icon/Icon.js +2 -2
  1551. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1552. package/internal/icons/20px/icon.styles/icon.styles.js +5 -24
  1553. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1554. package/internal/icons/20px/icon.styles.d.ts +1 -1
  1555. package/internal/icons/20px/index/index.js.map +1 -1
  1556. package/internal/icons/20px/svg/svg.js +3 -3
  1557. package/internal/icons/20px/svg/svg.js.map +1 -1
  1558. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1559. package/internal/icons/CloudIcon.d.ts +0 -1
  1560. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  1561. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1562. package/internal/icons/CrossIcon.d.ts +0 -1
  1563. package/internal/icons/SpinnerIcon/SpinnerIcon.js +9 -6
  1564. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1565. package/internal/icons/SpinnerIcon.d.ts +4 -2
  1566. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +5 -24
  1567. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1568. package/internal/icons/SpinnerIcon.styles.d.ts +1 -1
  1569. package/internal/themes/DefaultTheme/DefaultTheme.js +553 -227
  1570. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1571. package/internal/themes/DefaultTheme.d.ts +243 -79
  1572. package/internal/themes/FlatTheme/FlatTheme.js +77 -119
  1573. package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
  1574. package/internal/themes/FlatTheme.d.ts +39 -53
  1575. package/internal/themes/Theme8px/Theme8px.js +170 -41
  1576. package/internal/themes/Theme8px/Theme8px.js.map +1 -1
  1577. package/internal/themes/Theme8px.d.ts +101 -16
  1578. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1579. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1580. package/lib/LayoutEvents/LayoutEvents.js +12 -4
  1581. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1582. package/lib/ModalStack/ModalStack.js +13 -17
  1583. package/lib/ModalStack/ModalStack.js.map +1 -1
  1584. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1585. package/lib/Supports/Supports.js.map +1 -1
  1586. package/lib/Upgrades/Upgrades.js +13 -0
  1587. package/lib/Upgrades/Upgrades.js.map +1 -1
  1588. package/lib/Upgrades.d.ts +2 -0
  1589. package/lib/animation/index/index.js.map +1 -1
  1590. package/lib/animation/presets/presets.js.map +1 -1
  1591. package/lib/animation/stepper/stepper.js.map +1 -1
  1592. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  1593. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  1594. package/lib/callChildRef/callChildRef/package.json +6 -0
  1595. package/lib/callChildRef/callChildRef.d.ts +3 -0
  1596. package/lib/client/client.js +3 -1
  1597. package/lib/client/client.js.map +1 -1
  1598. package/lib/client.d.ts +4 -2
  1599. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1600. package/lib/currentEnvironment/currentEnvironment.js +14 -3
  1601. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1602. package/lib/date/InternalDate/InternalDate.js +3 -3
  1603. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1604. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1605. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1606. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1607. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1608. package/lib/date/InternalDateTransformer.d.ts +6 -6
  1609. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1610. package/lib/date/constants/constants.js.map +1 -1
  1611. package/lib/date/localeSets/localeSets.js.map +1 -1
  1612. package/lib/date/types/types.js.map +1 -1
  1613. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1614. package/lib/dom/tabbableHelpers/package.json +6 -0
  1615. package/lib/dom/tabbableHelpers/tabbableHelpers.js +34 -0
  1616. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -0
  1617. package/lib/dom/tabbableHelpers.d.ts +16 -0
  1618. package/lib/events/MouseDrag/MouseDrag.js +26 -26
  1619. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1620. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +1 -1
  1621. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1622. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  1623. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  1624. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  1625. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  1626. package/lib/events/keyListener/keyListener.js +22 -0
  1627. package/lib/events/keyListener/keyListener.js.map +1 -0
  1628. package/lib/events/keyListener/package.json +6 -0
  1629. package/lib/events/keyListener.d.ts +7 -0
  1630. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1631. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1632. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1633. package/lib/events/keyboard/identifiers/identifiers.js +10 -1
  1634. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1635. package/lib/events/keyboard/identifiers.d.ts +1 -0
  1636. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1637. package/lib/events/tabListener/tabListener.js +2 -19
  1638. package/lib/events/tabListener/tabListener.js.map +1 -1
  1639. package/lib/events/tabListener.d.ts +1 -6
  1640. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1641. package/lib/filterProps/filterProps.js.map +1 -1
  1642. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  1643. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  1644. package/lib/forwardRefAndName/package.json +6 -0
  1645. package/lib/forwardRefAndName.d.ts +5 -0
  1646. package/lib/getDisplayName/getDisplayName.js +3 -0
  1647. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  1648. package/lib/getDisplayName/package.json +6 -0
  1649. package/lib/getDisplayName.d.ts +3 -0
  1650. package/lib/listenFocusOutside/listenFocusOutside.js +13 -12
  1651. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1652. package/lib/listenFocusOutside.d.ts +4 -0
  1653. package/lib/locale/LOCALECONTEXT.md +221 -215
  1654. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1655. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1656. package/lib/locale/constants/constants.js.map +1 -1
  1657. package/lib/locale/decorators/decorators.js +8 -3
  1658. package/lib/locale/decorators/decorators.js.map +1 -1
  1659. package/lib/locale/decorators.d.ts +4 -3
  1660. package/lib/locale/index/index.js.map +1 -1
  1661. package/lib/locale/types/types.js.map +1 -1
  1662. package/lib/memo/memo.js.map +1 -1
  1663. package/lib/net/fetch/fetch.js.map +1 -1
  1664. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1665. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1666. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  1667. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  1668. package/lib/rootNode/getRootNode/package.json +6 -0
  1669. package/lib/rootNode/getRootNode.d.ts +3 -0
  1670. package/lib/rootNode/index/index.js +2 -0
  1671. package/lib/rootNode/index/index.js.map +1 -0
  1672. package/lib/rootNode/index/package.json +6 -0
  1673. package/lib/rootNode/index.d.ts +2 -0
  1674. package/lib/rootNode/package.json +6 -0
  1675. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  1676. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  1677. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  1678. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  1679. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1680. package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
  1681. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1682. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1683. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1684. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1685. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1686. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +2 -10
  1687. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1688. package/lib/styles/Mixins/Mixins.js +3 -21
  1689. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1690. package/lib/taskWithDelayAndMinimalDuration/package.json +6 -0
  1691. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +76 -0
  1692. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -0
  1693. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  1694. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +7 -65
  1695. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1696. package/lib/theming/AnimationKeyframes.d.ts +7 -6
  1697. package/lib/theming/Emotion/Emotion.js +19 -7
  1698. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1699. package/lib/theming/Emotion.d.ts +11 -10
  1700. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1701. package/lib/theming/ThemeContext.md +265 -283
  1702. package/lib/theming/ThemeFactory/ThemeFactory.js +4 -13
  1703. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1704. package/lib/theming/ThemeHelpers/ThemeHelpers.js +23 -6
  1705. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1706. package/lib/theming/ThemeHelpers.d.ts +6 -2
  1707. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1708. package/lib/theming/themes/DefaultThemeOld/DefaultThemeOld.js +3 -0
  1709. package/lib/theming/themes/DefaultThemeOld/DefaultThemeOld.js.map +1 -0
  1710. package/lib/theming/themes/DefaultThemeOld/package.json +6 -0
  1711. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -0
  1712. package/lib/theming/themes/FlatTheme/FlatTheme.js +3 -1
  1713. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +1 -1
  1714. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  1715. package/lib/theming/themes/FlatThemeOld/FlatThemeOld.js +5 -0
  1716. package/lib/theming/themes/FlatThemeOld/FlatThemeOld.js.map +1 -0
  1717. package/lib/theming/themes/FlatThemeOld/package.json +6 -0
  1718. package/lib/theming/themes/FlatThemeOld.d.ts +1 -0
  1719. package/lib/theming/useTheme/package.json +6 -0
  1720. package/lib/theming/useTheme/useTheme.js +5 -0
  1721. package/lib/theming/useTheme/useTheme.js.map +1 -0
  1722. package/lib/theming/useTheme.d.ts +1 -0
  1723. package/lib/utils/utils.js +100 -1
  1724. package/lib/utils/utils.js.map +1 -1
  1725. package/lib/utils.d.ts +47 -0
  1726. package/lib/withClassWrapper/package.json +6 -0
  1727. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  1728. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  1729. package/lib/withClassWrapper.d.ts +71 -0
  1730. package/package.json +73 -81
  1731. package/typings/console.d.ts +3 -3
  1732. package/typings/event-types.d.ts +4 -4
  1733. package/typings/fonts.d.ts +12 -12
  1734. package/typings/global.d.ts +6 -6
  1735. package/typings/html-props.d.ts +123 -0
  1736. package/typings/images.d.ts +1 -1
  1737. package/typings/normalize-wheel.d.ts +5 -5
  1738. package/typings/stories.d.ts +7 -0
  1739. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1740. package/typings/utility-types.d.ts +14 -14
  1741. package/cjs/components/Modal/helpers.d.ts +0 -6
  1742. package/cjs/components/Modal/helpers.js +0 -20
  1743. package/cjs/components/Modal/helpers.js.map +0 -1
  1744. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  1745. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  1746. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  1747. package/cjs/lib/MockDate.d.ts +0 -8
  1748. package/cjs/lib/MockDate.js +0 -15
  1749. package/cjs/lib/MockDate.js.map +0 -1
  1750. package/cjs/lib/dom/getFocusableElements.d.ts +0 -41
  1751. package/cjs/lib/dom/getFocusableElements.js +0 -88
  1752. package/cjs/lib/dom/getFocusableElements.js.map +0 -1
  1753. package/cjs/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1754. package/cjs/lib/theming/themes/DefaultTheme8px.js +0 -4
  1755. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +0 -1
  1756. package/cjs/lib/theming/themes/FlatTheme8px.d.ts +0 -1
  1757. package/cjs/lib/theming/themes/FlatTheme8px.js +0 -5
  1758. package/cjs/lib/theming/themes/FlatTheme8px.js.map +0 -1
  1759. package/components/Modal/helpers/helpers.js +0 -10
  1760. package/components/Modal/helpers/helpers.js.map +0 -1
  1761. package/components/Modal/helpers/package.json +0 -6
  1762. package/components/Modal/helpers.d.ts +0 -6
  1763. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  1764. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  1765. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  1766. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  1767. package/lib/MockDate/MockDate.js +0 -26
  1768. package/lib/MockDate/MockDate.js.map +0 -1
  1769. package/lib/MockDate/package.json +0 -6
  1770. package/lib/MockDate.d.ts +0 -8
  1771. package/lib/dom/getFocusableElements/getFocusableElements.js +0 -103
  1772. package/lib/dom/getFocusableElements/getFocusableElements.js.map +0 -1
  1773. package/lib/dom/getFocusableElements/package.json +0 -6
  1774. package/lib/dom/getFocusableElements.d.ts +0 -41
  1775. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js +0 -3
  1776. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +0 -1
  1777. package/lib/theming/themes/DefaultTheme8px/package.json +0 -6
  1778. package/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1779. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js +0 -4
  1780. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +0 -1
  1781. package/lib/theming/themes/FlatTheme8px/package.json +0 -6
  1782. package/lib/theming/themes/FlatTheme8px.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './ComboBox';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './ComboBox';\n"]}
@@ -1,4 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.CurrencyHelper = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
2
+ var _client = require("../../lib/client");
2
3
 
3
4
 
4
5
 
@@ -201,4 +202,4 @@ CurrencyHelper = /*#__PURE__*/function () {function CurrencyHelper() {}CurrencyH
201
202
  }var _match$ =
202
203
  match[1],sign = _match$ === void 0 ? '' : _match$,_match$2 = match[2],integer = _match$2 === void 0 ? '' : _match$2,_match$3 = match[3],delimiter = _match$3 === void 0 ? '' : _match$3,_match$4 = match[4],fraction = _match$4 === void 0 ? '' : _match$4;
203
204
  return { sign: sign, integer: integer, delimiter: delimiter, fraction: fraction };
204
- };return CurrencyHelper;}();exports.CurrencyHelper = CurrencyHelper;CurrencyHelper.defaultOptions = { fractionDigits: null, hideTrailingZeros: false, thousandsDelimiter: String.fromCharCode(0x2009), minusSign: String.fromCharCode(0x2212) };
205
+ };return CurrencyHelper;}();exports.CurrencyHelper = CurrencyHelper;CurrencyHelper.defaultOptions = { fractionDigits: null, hideTrailingZeros: false, thousandsDelimiter: String.fromCharCode(_client.isSafari ? 0x0020 : 0x2009), minusSign: String.fromCharCode(0x2212) };
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyHelper.tsx"],"names":["CurrencyHelper","getOptions","options","defaultOptions","getInfo","value","raw","unformatString","formatted","formatString","cursorMap","getCursorMap","formattingOptions","regexp","RegExp","thousandsDelimiter","index","length","cursor","skip","ignoredSymbol","exec","format","toString","parse","cleaned","destructed","destructString","result","sign","integer","delimiter","fraction","parseFloat","replace","formatForClipboard","fractionDigits","hideTrailingZeros","parts","blockSize","start","i","push","substring","Math","max","join","padEnd","min","MAX_SAFE_DIGITS","minusSign","isValidString","unsigned","integerDigits","extractValid","match","token","substr","MAX_ALLOWED_CHARS","String","fromCharCode"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\r\n\r\nimport { DecimalOptions } from './CurrencyInputHelper';\r\nimport { CursorMap } from './CursorHelper';\r\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS } from './constants';\r\n\r\nexport interface DecimalFormattingOptions {\r\n fractionDigits?: Nullable<number>;\r\n hideTrailingZeros?: boolean;\r\n thousandsDelimiter?: string;\r\n minusSign?: string;\r\n}\r\n\r\ntype DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;\r\n\r\nexport interface FormattingInfo {\r\n raw: string;\r\n formatted: string;\r\n cursorMap: CursorMap;\r\n}\r\n\r\nexport class CurrencyHelper {\r\n public static defaultOptions: DecimalFormattingOptionsInternal = {\r\n fractionDigits: null,\r\n hideTrailingZeros: false,\r\n thousandsDelimiter: String.fromCharCode(0x2009),\r\n minusSign: String.fromCharCode(0x2212),\r\n };\r\n\r\n public static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal {\r\n return { ...CurrencyHelper.defaultOptions, ...options };\r\n }\r\n\r\n public static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo {\r\n const raw = CurrencyHelper.unformatString(value);\r\n const formatted = CurrencyHelper.formatString(value, options);\r\n const cursorMap = CurrencyHelper.getCursorMap(formatted, options);\r\n\r\n return { raw, formatted, cursorMap };\r\n }\r\n\r\n public static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap {\r\n const options = CurrencyHelper.getOptions(formattingOptions);\r\n const regexp = new RegExp(options.thousandsDelimiter);\r\n const cursorMap: CursorMap = [];\r\n\r\n let index = formatted.length;\r\n let cursor = formatted.length;\r\n let skip = 0;\r\n\r\n while (index >= 0) {\r\n cursorMap[index] = cursor;\r\n\r\n const ignoredSymbol = regexp.exec(formatted[index - 1]);\r\n if (ignoredSymbol) {\r\n ++skip;\r\n } else {\r\n cursor = cursor - skip - 1;\r\n skip = 0;\r\n }\r\n --index;\r\n }\r\n return cursorMap;\r\n }\r\n\r\n public static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n return CurrencyHelper.formatString(value.toString(), options);\r\n }\r\n\r\n public static parse(value: string): Nullable<number> {\r\n const cleaned = CurrencyHelper.unformatString(value);\r\n if (!cleaned) {\r\n return null;\r\n }\r\n\r\n const destructed = CurrencyHelper.destructString(cleaned);\r\n if (!destructed) {\r\n return null;\r\n }\r\n\r\n const result =\r\n destructed.sign + (destructed.integer || '0') + (destructed.delimiter || '.') + (destructed.fraction || '0');\r\n\r\n return parseFloat(result);\r\n }\r\n\r\n public static unformatString(value: string): string {\r\n return value\r\n .replace(/\\s/g, '')\r\n .replace(',', '.')\r\n .replace(/[\\u2212\\u002D\\uFE63\\uFF0D\\u2012\\u2013\\u2014\\u2015]/g, '-');\r\n }\r\n\r\n public static formatForClipboard(value: string): string {\r\n return CurrencyHelper.unformatString(value).replace('.', ',');\r\n }\r\n\r\n public static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string {\r\n const options = CurrencyHelper.getOptions(formattingOptions);\r\n value = CurrencyHelper.unformatString(value);\r\n const destructed = CurrencyHelper.destructString(value) || { sign: '', integer: '', delimiter: '', fraction: '' };\r\n\r\n const { sign, integer, delimiter } = destructed;\r\n let fraction = destructed.fraction;\r\n let fractionDigits = fraction.length;\r\n\r\n if (options.hideTrailingZeros) {\r\n fraction = fraction.replace(/0+$/, '');\r\n fractionDigits = fraction.length;\r\n } else if (options.fractionDigits !== null) {\r\n fractionDigits = options.fractionDigits;\r\n }\r\n\r\n const parts = [];\r\n\r\n const blockSize = 3;\r\n const start = ((integer.length - 1) % blockSize) - blockSize + 1;\r\n for (let i = start; i < integer.length; i += blockSize) {\r\n parts.push(integer.substring(Math.max(i, 0), i + blockSize));\r\n }\r\n\r\n let result = parts.join(options.thousandsDelimiter);\r\n\r\n if (delimiter || fractionDigits) {\r\n result += ',';\r\n result += fraction.padEnd(Math.min(fractionDigits, MAX_SAFE_DIGITS), '0');\r\n }\r\n\r\n if (sign) {\r\n result = options.minusSign + result;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static isValidString(value: string, options: DecimalOptions) {\r\n value = CurrencyHelper.unformatString(value);\r\n const destructed = CurrencyHelper.destructString(value);\r\n\r\n if (!destructed) {\r\n return false;\r\n }\r\n\r\n const { sign, integer, delimiter, fraction } = destructed;\r\n\r\n if (options.unsigned && sign) {\r\n return false;\r\n }\r\n\r\n if (options.fractionDigits === 0 && delimiter) {\r\n return false;\r\n }\r\n\r\n const integerDigits = integer === '0' ? 0 : integer.length;\r\n const fractionDigits = fraction.length;\r\n\r\n if (options.integerDigits != null && integerDigits > options.integerDigits) {\r\n return false;\r\n }\r\n\r\n if (options.integerDigits == null && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\r\n return false;\r\n }\r\n\r\n if (options.fractionDigits != null && fractionDigits > options.fractionDigits) {\r\n return false;\r\n }\r\n\r\n return integerDigits + fractionDigits <= MAX_SAFE_DIGITS;\r\n }\r\n\r\n public static extractValid(value: string, options: DecimalOptions): string {\r\n value = CurrencyHelper.unformatString(value);\r\n\r\n const match = /[-.\\d]+/.exec(value);\r\n\r\n if (!match) {\r\n return '';\r\n }\r\n\r\n const token = match[0].substr(0, MAX_ALLOWED_CHARS);\r\n\r\n for (let i = token.length; i >= 0; --i) {\r\n const result = token.substr(0, i);\r\n if (CurrencyHelper.isValidString(result, options)) {\r\n return result;\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public static destructString(value: string) {\r\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?$/.exec(value);\r\n if (!match) {\r\n return null;\r\n }\r\n const [, sign = '', integer = '', delimiter = '', fraction = ''] = match;\r\n return { sign, integer, delimiter, fraction };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["CurrencyHelper.tsx"],"names":["CurrencyHelper","getOptions","options","defaultOptions","getInfo","value","raw","unformatString","formatted","formatString","cursorMap","getCursorMap","formattingOptions","regexp","RegExp","thousandsDelimiter","index","length","cursor","skip","ignoredSymbol","exec","format","toString","parse","cleaned","destructed","destructString","result","sign","integer","delimiter","fraction","parseFloat","replace","formatForClipboard","fractionDigits","hideTrailingZeros","parts","blockSize","start","i","push","substring","Math","max","join","padEnd","min","MAX_SAFE_DIGITS","minusSign","isValidString","unsigned","integerDigits","extractValid","match","token","substr","MAX_ALLOWED_CHARS","String","fromCharCode","isSafari"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { isSafari } from '../../lib/client';\n\nimport { DecimalOptions } from './CurrencyInputHelper';\nimport { CursorMap } from './CursorHelper';\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS } from './constants';\n\nexport interface DecimalFormattingOptions {\n fractionDigits?: Nullable<number>;\n hideTrailingZeros?: boolean;\n thousandsDelimiter?: string;\n minusSign?: string;\n}\n\ntype DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;\n\nexport interface FormattingInfo {\n raw: string;\n formatted: string;\n cursorMap: CursorMap;\n}\n\nexport class CurrencyHelper {\n public static defaultOptions: DecimalFormattingOptionsInternal = {\n fractionDigits: null,\n hideTrailingZeros: false,\n thousandsDelimiter: String.fromCharCode(isSafari ? 0x0020 : 0x2009),\n minusSign: String.fromCharCode(0x2212),\n };\n\n public static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal {\n return { ...CurrencyHelper.defaultOptions, ...options };\n }\n\n public static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo {\n const raw = CurrencyHelper.unformatString(value);\n const formatted = CurrencyHelper.formatString(value, options);\n const cursorMap = CurrencyHelper.getCursorMap(formatted, options);\n\n return { raw, formatted, cursorMap };\n }\n\n public static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap {\n const options = CurrencyHelper.getOptions(formattingOptions);\n const regexp = new RegExp(options.thousandsDelimiter);\n const cursorMap: CursorMap = [];\n\n let index = formatted.length;\n let cursor = formatted.length;\n let skip = 0;\n\n while (index >= 0) {\n cursorMap[index] = cursor;\n\n const ignoredSymbol = regexp.exec(formatted[index - 1]);\n if (ignoredSymbol) {\n ++skip;\n } else {\n cursor = cursor - skip - 1;\n skip = 0;\n }\n --index;\n }\n return cursorMap;\n }\n\n public static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string {\n if (value == null) {\n return '';\n }\n\n return CurrencyHelper.formatString(value.toString(), options);\n }\n\n public static parse(value: string): Nullable<number> {\n const cleaned = CurrencyHelper.unformatString(value);\n if (!cleaned) {\n return null;\n }\n\n const destructed = CurrencyHelper.destructString(cleaned);\n if (!destructed) {\n return null;\n }\n\n const result =\n destructed.sign + (destructed.integer || '0') + (destructed.delimiter || '.') + (destructed.fraction || '0');\n\n return parseFloat(result);\n }\n\n public static unformatString(value: string): string {\n return value\n .replace(/\\s/g, '')\n .replace(',', '.')\n .replace(/[\\u2212\\u002D\\uFE63\\uFF0D\\u2012\\u2013\\u2014\\u2015]/g, '-');\n }\n\n public static formatForClipboard(value: string): string {\n return CurrencyHelper.unformatString(value).replace('.', ',');\n }\n\n public static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string {\n const options = CurrencyHelper.getOptions(formattingOptions);\n value = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(value) || { sign: '', integer: '', delimiter: '', fraction: '' };\n\n const { sign, integer, delimiter } = destructed;\n let fraction = destructed.fraction;\n let fractionDigits = fraction.length;\n\n if (options.hideTrailingZeros) {\n fraction = fraction.replace(/0+$/, '');\n fractionDigits = fraction.length;\n } else if (options.fractionDigits !== null) {\n fractionDigits = options.fractionDigits;\n }\n\n const parts = [];\n\n const blockSize = 3;\n const start = ((integer.length - 1) % blockSize) - blockSize + 1;\n for (let i = start; i < integer.length; i += blockSize) {\n parts.push(integer.substring(Math.max(i, 0), i + blockSize));\n }\n\n let result = parts.join(options.thousandsDelimiter);\n\n if (delimiter || fractionDigits) {\n result += ',';\n result += fraction.padEnd(Math.min(fractionDigits, MAX_SAFE_DIGITS), '0');\n }\n\n if (sign) {\n result = options.minusSign + result;\n }\n\n return result;\n }\n\n public static isValidString(value: string, options: DecimalOptions) {\n value = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(value);\n\n if (!destructed) {\n return false;\n }\n\n const { sign, integer, delimiter, fraction } = destructed;\n\n if (options.unsigned && sign) {\n return false;\n }\n\n if (options.fractionDigits === 0 && delimiter) {\n return false;\n }\n\n const integerDigits = integer === '0' ? 0 : integer.length;\n const fractionDigits = fraction.length;\n\n if (options.integerDigits != null && integerDigits > options.integerDigits) {\n return false;\n }\n\n if (options.integerDigits == null && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\n return false;\n }\n\n if (options.fractionDigits != null && fractionDigits > options.fractionDigits) {\n return false;\n }\n\n return integerDigits + fractionDigits <= MAX_SAFE_DIGITS;\n }\n\n public static extractValid(value: string, options: DecimalOptions): string {\n value = CurrencyHelper.unformatString(value);\n\n const match = /[-.\\d]+/.exec(value);\n\n if (!match) {\n return '';\n }\n\n const token = match[0].substr(0, MAX_ALLOWED_CHARS);\n\n for (let i = token.length; i >= 0; --i) {\n const result = token.substr(0, i);\n if (CurrencyHelper.isValidString(result, options)) {\n return result;\n }\n }\n\n return '';\n }\n\n public static destructString(value: string) {\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?$/.exec(value);\n if (!match) {\n return null;\n }\n const [, sign = '', integer = '', delimiter = '', fraction = ''] = match;\n return { sign, integer, delimiter, fraction };\n }\n}\n"]}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { InputProps } from '../Input';
4
4
  import { Nullable, Override } from '../../typings/utility-types';
5
- import { CommonProps } from '../../internal/CommonWrapper';
5
+ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
6
  import { Selection } from './SelectionHelper';
7
7
  export interface CurrencyInputProps extends CommonProps, Override<InputProps, {
8
8
  /** Значение */
@@ -37,7 +37,7 @@ export interface CurrencyInputState {
37
37
  * <br/>
38
38
  * Если `fractionDigits=15`, то в целой части допускается **0**.
39
39
  */
40
- export declare class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {
40
+ export declare class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {
41
41
  static __KONTUR_REACT_UI__: string;
42
42
  static propTypes: {
43
43
  align: PropTypes.Requireable<string>;
@@ -51,7 +51,7 @@ export declare class CurrencyInput extends React.Component<CurrencyInputProps, C
51
51
  placeholder: PropTypes.Requireable<string>;
52
52
  signed: PropTypes.Requireable<boolean>;
53
53
  size: PropTypes.Requireable<string>;
54
- value: PropTypes.Requireable<number>;
54
+ value: (props: CurrencyInputProps) => void;
55
55
  warning: PropTypes.Requireable<boolean>;
56
56
  width: PropTypes.Requireable<string | number>;
57
57
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -67,15 +67,16 @@ export declare class CurrencyInput extends React.Component<CurrencyInputProps, C
67
67
  fractionDigits: number;
68
68
  hideTrailingZeros: boolean;
69
69
  value: null;
70
+ inputMode: string;
70
71
  };
71
72
  state: CurrencyInputState;
72
73
  private input;
73
74
  private tempSelectionForOnChange;
75
+ private setRootNode;
74
76
  componentDidMount(): void;
75
- UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps): void;
76
- componentDidUpdate(): void;
77
+ componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState): void;
77
78
  render(): JSX.Element;
78
- renderMain: (props: Pick<Pick<CurrencyInputProps, "type" | "placeholder" | "dir" | "form" | "slot" | "title" | "mask" | "pattern" | "maskChar" | "formatChars" | "alwaysShowMask" | "onUnexpectedInput" | "onValueChange" | "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "checked" | "crossOrigin" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "height" | "list" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "name" | "readOnly" | "required" | "size" | "src" | "step" | "value" | "width" | "onChange" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "id" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "leftIcon" | "rightIcon" | "error" | "warning" | "borderless" | "align" | "suffix" | "selectAllOnFocus" | "fractionDigits" | "hideTrailingZeros" | "signed" | "integerDigits">, "type" | "placeholder" | "dir" | "form" | "slot" | "title" | "mask" | "pattern" | "maskChar" | "formatChars" | "alwaysShowMask" | "onUnexpectedInput" | "onValueChange" | "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "checked" | "crossOrigin" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "height" | "list" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "name" | "readOnly" | "required" | "size" | "src" | "step" | "value" | "width" | "onChange" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "id" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "leftIcon" | "rightIcon" | "error" | "warning" | "borderless" | "align" | "suffix" | "selectAllOnFocus" | "fractionDigits" | "hideTrailingZeros" | "signed" | "integerDigits">) => JSX.Element;
79
+ renderMain: (props: CommonWrapperRestProps<CurrencyInputProps>) => JSX.Element;
79
80
  /**
80
81
  * @public
81
82
  */
@@ -85,8 +86,11 @@ export declare class CurrencyInput extends React.Component<CurrencyInputProps, C
85
86
  */
86
87
  blur: () => void;
87
88
  private getState;
89
+ private setSelectionFromEvent;
90
+ private readonly debouncedSetSelectionFromEvent;
88
91
  private handleMouseUp;
89
92
  private handleKeyDown;
93
+ private scrollInput;
90
94
  private getSelection;
91
95
  private moveCursor;
92
96
  private extendSelection;
@@ -1,16 +1,19 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.CurrencyInput = void 0;var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _warning = _interopRequireDefault(require("warning"));
4
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
4
5
 
6
+ var _client = require("../../lib/client");
5
7
  var _Input = require("../Input");
6
8
 
7
9
  var _CommonWrapper = require("../../internal/CommonWrapper");
10
+ var _rootNode = require("../../lib/rootNode");
8
11
 
9
12
  var _constants = require("./constants");
10
13
  var _SelectionHelper = require("./SelectionHelper");
11
14
  var _CurrencyHelper = require("./CurrencyHelper");
12
15
  var _CurrencyInputHelper = require("./CurrencyInputHelper");
13
- var _CurrencyInputKeyboardActions = require("./CurrencyInputKeyboardActions");
16
+ var _CurrencyInputKeyboardActions = require("./CurrencyInputKeyboardActions");var _class, _class2, _temp;
14
17
 
15
18
 
16
19
 
@@ -42,15 +45,20 @@ var _CurrencyInputKeyboardActions = require("./CurrencyInputKeyboardActions");
42
45
 
43
46
 
44
47
 
45
- /**
46
- * Поле для денежных сумм (и других числовых значений).
47
- * Принимает любые свойства `Input`.
48
- *
49
- * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
50
- * <br/>
51
- * Если `fractionDigits=15`, то в целой части допускается **0**.
48
+
49
+ /**
50
+ * Поле для денежных сумм (и других числовых значений).
51
+ * Принимает любые свойства `Input`.
52
+ *
53
+ * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
54
+ * <br/>
55
+ * Если `fractionDigits=15`, то в целой части допускается **0**.
52
56
  */var
53
- CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(CurrencyInput, _React$Component);function CurrencyInput() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
57
+
58
+ CurrencyInput = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(CurrencyInput, _React$PureComponent);function CurrencyInput() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
59
+
60
+
61
+
54
62
 
55
63
 
56
64
 
@@ -91,6 +99,13 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
91
99
 
92
100
  input = void 0;_this.
93
101
  tempSelectionForOnChange = _SelectionHelper.SelectionHelper.fromPosition(0);_this.
102
+ setRootNode = void 0;_this.
103
+
104
+
105
+
106
+
107
+
108
+
94
109
 
95
110
 
96
111
 
@@ -178,10 +193,22 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
178
193
 
179
194
 
180
195
 
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ debouncedSetSelectionFromEvent = (0, _lodash.default)(_this.setSelectionFromEvent, 300);_this.
204
+
181
205
  handleMouseUp = function (event) {
182
- var selection = getInputSelection(event.target);
183
- var normilized = _CurrencyInputHelper.CurrencyInputHelper.normalizeSelection(_this.state.formatted, selection);
184
- _this.setState({ selection: normilized });
206
+ if (_client.isIE11) {
207
+ event.persist();
208
+ _this.debouncedSetSelectionFromEvent(event);
209
+ } else {
210
+ _this.setSelectionFromEvent(event);
211
+ }
185
212
  };_this.
186
213
 
187
214
  handleKeyDown = function (event) {
@@ -267,8 +294,33 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
267
294
 
268
295
  };_this.
269
296
 
297
+ scrollInput = function () {var _this$input;
298
+ var node = (_this$input = _this.input) == null ? void 0 : _this$input.getNode();
299
+ if (!node || node.scrollWidth === node.clientWidth) {
300
+ return;
301
+ }
302
+ var PAD = 1;
303
+ var SHIFT = 3;
304
+
305
+ var selection = _this.state.selection;
306
+ var selected = selection.start !== selection.end;
307
+ var position = selected && selection.direction === 'forward' ? selection.end : selection.start;
308
+ var charsCount = _this.state.formatted.length;
309
+ var charWidth = node.scrollWidth / charsCount;
310
+ var frame = Math.ceil(node.clientWidth / charWidth);
311
+ var frameStart = Math.ceil(node.scrollLeft / charWidth);
312
+ var frameEnd = frameStart + frame;
313
+
314
+ if (position < frameStart + PAD) {
315
+ node.scrollLeft = (position - SHIFT) * charWidth;
316
+ }
317
+ if (position > frameEnd - PAD) {
318
+ node.scrollLeft = (position - frame + SHIFT) * charWidth;
319
+ }
320
+ };_this.
321
+
270
322
  getSelection = function (input) {
271
- var selection = getInputSelection(input);
323
+ var selection = getInputSelectionFromEvent(input);
272
324
  return {
273
325
  start: selection.start,
274
326
  end: selection.end,
@@ -392,16 +444,25 @@ CurrencyInput = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
392
444
 
393
445
  refInput = function (element) {
394
446
  _this.input = element;
395
- };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) };};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 };
396
-
447
+ };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.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var _this$props2 = this.props,value = _this$props2.value,fractionDigits = _this$props2.fractionDigits,hideTrailingZeros = _this$props2.hideTrailingZeros;if (isValidNumber(value) && isNumeric(value) && Number(value) !== _CurrencyHelper.CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {this.setState(this.getState(value, fractionDigits, hideTrailingZeros));}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, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, 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
448
+ ;return CurrencyInput;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CurrencyInput', _class2.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: function value(props) {(0, _warning.default)(isValidNumber(props.value), "[CurrencyInput]: Prop value is not a valid 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 }, _class2.defaultProps = { align: 'right', fractionDigits: 2, hideTrailingZeros: false, value: null, inputMode: 'decimal' }, _temp)) || _class;exports.CurrencyInput = CurrencyInput;
397
449
 
398
- function getInputSelection(input) {
450
+ function getInputSelectionFromEvent(input) {
399
451
  if (!(input instanceof HTMLInputElement)) {
400
452
  throw new Error('input is not HTMLInputElement');
401
453
  }
454
+
402
455
  return {
403
456
  start: input.selectionStart,
404
457
  end: input.selectionEnd,
405
458
  direction: input.selectionDirection };
406
459
 
460
+ }
461
+
462
+ function isNumeric(value) {
463
+ return !isNaN(parseFloat(value)) && isFinite(value);
464
+ }
465
+
466
+ function isValidNumber(value) {
467
+ return !isNaN(Number(value));
407
468
  }
@@ -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","event","selection","getInputSelection","target","normilized","CurrencyInputHelper","normalizeSelection","setState","getSelection","onKeyDown","defaultPrevented","action","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","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","React","Component","__KONTUR_REACT_UI__","propTypes","align","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","warning","width","oneOfType","func","isRequired","defaultProps","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport warning from 'warning';\r\n\r\nimport { Input, InputProps } from '../Input';\r\nimport { Nullable, Override } from '../../typings/utility-types';\r\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\r\n\r\nimport { MAX_SAFE_DIGITS } from './constants';\r\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\r\nimport { CurrencyHelper } from './CurrencyHelper';\r\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\r\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\r\nexport interface CurrencyInputProps\r\n extends CommonProps,\r\n Override<\r\n InputProps,\r\n {\r\n /** Значение */\r\n value: Nullable<number>;\r\n /** Убрать лишние нули после запятой */\r\n hideTrailingZeros: boolean;\r\n /** Кол-во цифр после зяпятой */\r\n fractionDigits?: Nullable<number>;\r\n /** Отрицательные значения */\r\n signed?: boolean;\r\n /**\r\n * Допустимое кол-во цифр целой части.\r\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\r\n */\r\n integerDigits?: Nullable<number>;\r\n /** Вызывается при изменении `value` */\r\n onValueChange: (value: Nullable<number>) => void;\r\n /** onSubmit */\r\n onSubmit?: () => void;\r\n }\r\n > {}\r\n\r\nexport interface CurrencyInputState {\r\n formatted: string;\r\n selection: Selection;\r\n focused: boolean;\r\n}\r\n\r\n/**\r\n * Поле для денежных сумм (и других числовых значений).\r\n * Принимает любые свойства `Input`.\r\n *\r\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\r\n * <br/>\r\n * Если `fractionDigits=15`, то в целой части допускается **0**.\r\n */\r\nexport class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {\r\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\r\n\r\n public static propTypes = {\r\n align: PropTypes.oneOf(['left', 'center', 'right']),\r\n autoFocus: PropTypes.bool,\r\n borderless: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n fractionDigits: PropTypes.number,\r\n hideTrailingZeros: PropTypes.bool,\r\n leftIcon: PropTypes.element,\r\n placeholder: PropTypes.string,\r\n signed: PropTypes.bool,\r\n size: PropTypes.oneOf(['small', 'medium', 'large']),\r\n value: PropTypes.number,\r\n warning: PropTypes.bool,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onBlur: PropTypes.func,\r\n onValueChange: PropTypes.func.isRequired,\r\n onFocus: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n align: 'right',\r\n fractionDigits: 2,\r\n hideTrailingZeros: false,\r\n value: null,\r\n };\r\n\r\n public state: CurrencyInputState = {\r\n ...this.getState(this.props.value, this.props.fractionDigits, this.props.hideTrailingZeros),\r\n focused: false,\r\n };\r\n\r\n private input: Nullable<Input>;\r\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\r\n\r\n public componentDidMount(): void {\r\n const { maxLength, integerDigits, fractionDigits } = this.props;\r\n warning(\r\n maxLength === undefined,\r\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\r\n );\r\n warning(\r\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\r\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\r\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\r\n );\r\n }\r\n\r\n public UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps) {\r\n const { value, fractionDigits, hideTrailingZeros } = nextProps;\r\n if (value !== CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {\r\n const state = this.getState(value, fractionDigits, hideTrailingZeros);\r\n this.setState(state);\r\n }\r\n }\r\n\r\n public componentDidUpdate() {\r\n if (this.state.focused && this.input) {\r\n const { start, end } = this.state.selection;\r\n\r\n this.input.setSelectionRange(start, end);\r\n }\r\n }\r\n\r\n public render() {\r\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\r\n }\r\n\r\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\r\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\r\n const placeholder =\r\n this.props.placeholder == null\r\n ? CurrencyHelper.format(0, { fractionDigits, hideTrailingZeros })\r\n : this.props.placeholder;\r\n\r\n return (\r\n <Input\r\n {...rest}\r\n value={this.state.formatted}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onMouseUp={this.handleMouseUp}\r\n onKeyDown={this.handleKeyDown}\r\n onValueChange={this.handleValueChange}\r\n onPaste={this.handlePaste}\r\n onCopy={this.handleCopy}\r\n onCut={this.handleCut}\r\n onMouseEnter={this.props.onMouseEnter}\r\n onMouseLeave={this.props.onMouseLeave}\r\n onMouseOver={this.props.onMouseOver}\r\n ref={this.refInput}\r\n placeholder={this.state.focused ? '' : placeholder}\r\n />\r\n );\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.input) {\r\n this.input.focus();\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public blur = () => {\r\n if (this.input) {\r\n this.input.blur();\r\n }\r\n };\r\n\r\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\r\n return {\r\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\r\n selection: SelectionHelper.fromPosition(0),\r\n };\r\n }\r\n\r\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\r\n const selection = getInputSelection(event.target);\r\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\r\n this.setState({ selection: normilized });\r\n };\r\n\r\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n const selection = this.getSelection(event.target);\r\n this.tempSelectionForOnChange = selection;\r\n\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(event);\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n }\r\n\r\n const action = extractAction(event);\r\n\r\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\r\n return;\r\n }\r\n\r\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\r\n event.preventDefault();\r\n }\r\n\r\n switch (action) {\r\n case CURRENCY_INPUT_ACTIONS.Submit: {\r\n if (this.props.onSubmit) {\r\n this.props.onSubmit();\r\n }\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.Backspace: {\r\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.Delete: {\r\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\r\n this.moveCursor(selection, -1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\r\n this.moveCursor(selection, +1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.Home: {\r\n this.setState({ selection: SelectionHelper.fromPosition(0) });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.End: {\r\n const end = this.state.formatted.length;\r\n this.setState({ selection: SelectionHelper.fromPosition(end) });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\r\n this.extendSelection(selection, -1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\r\n this.extendSelection(selection, +1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\r\n this.setState({\r\n selection: SelectionHelper.forward(0, this.state.formatted.length),\r\n });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\r\n this.setState({\r\n selection: SelectionHelper.backward(0, selection.start),\r\n });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\r\n const inputEnd = this.state.formatted.length;\r\n this.setState({\r\n selection: SelectionHelper.forward(selection.start, inputEnd),\r\n });\r\n return;\r\n }\r\n }\r\n };\r\n\r\n private getSelection = (input: EventTarget): Selection => {\r\n const selection = getInputSelection(input);\r\n return {\r\n start: selection.start,\r\n end: selection.end,\r\n direction: this.state.selection.direction,\r\n };\r\n };\r\n\r\n private moveCursor = (selection: Selection, step: number) => {\r\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\r\n this.setState({ selection: SelectionHelper.fromPosition(position) });\r\n };\r\n\r\n private extendSelection = (selection: Selection, step: number) => {\r\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\r\n this.setState({ selection: extended });\r\n };\r\n\r\n private inputValue = (start: number, end: number, value: string) => {\r\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\r\n integerDigits: this.props.integerDigits,\r\n fractionDigits: this.props.fractionDigits,\r\n unsigned: !this.props.signed,\r\n });\r\n if (result) {\r\n const formatted = result.value;\r\n const selection = SelectionHelper.fromPosition(result.position);\r\n this.setState({ formatted, selection }, () => {\r\n const parsedValue = CurrencyHelper.parse(formatted);\r\n if (this.props.value !== parsedValue) {\r\n this.props.onValueChange(parsedValue);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n if (this.input) {\r\n this.input.blink();\r\n }\r\n return false;\r\n };\r\n\r\n private getOnChangeDelta = (value: string) => {\r\n const selection = this.tempSelectionForOnChange;\r\n const oldValue = this.state.formatted;\r\n if (selection.start !== selection.end) {\r\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\r\n } else if (value.length > oldValue.length) {\r\n return value.substr(selection.start, value.length - oldValue.length);\r\n }\r\n return null;\r\n };\r\n\r\n private handleValueChange = (value: string): void => {\r\n const selection = this.tempSelectionForOnChange;\r\n const delta = this.getOnChangeDelta(value);\r\n if (delta != null && !this.inputValue(selection.start, selection.end, delta)) {\r\n this.setState({ selection });\r\n }\r\n };\r\n\r\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\r\n const data = event.clipboardData.getData('text');\r\n const selection = this.getSelection(event.target);\r\n this.inputValue(selection.start, selection.end, data);\r\n event.preventDefault();\r\n };\r\n\r\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\r\n const selection = this.getSelection(event.target);\r\n if (selection.start !== selection.end) {\r\n const substring = this.state.formatted.substring(selection.start, selection.end);\r\n const data = CurrencyHelper.formatForClipboard(substring);\r\n event.clipboardData.setData('text', data);\r\n }\r\n event.preventDefault();\r\n };\r\n\r\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\r\n const selection = this.getSelection(event.target);\r\n if (selection.start !== selection.end) {\r\n const substring = this.state.formatted.substring(selection.start, selection.end);\r\n const data = CurrencyHelper.formatForClipboard(substring);\r\n event.clipboardData.setData('text', data);\r\n this.inputValue(selection.start, selection.end, '');\r\n }\r\n event.preventDefault();\r\n };\r\n\r\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\r\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\r\n const valueLenght = event.target.value.length;\r\n\r\n const selection = {\r\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLenght,\r\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLenght,\r\n direction: (selectionDirection as SelectionDirection) || 'none',\r\n };\r\n\r\n this.setState({\r\n focused: true,\r\n selection,\r\n });\r\n\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\r\n const value = CurrencyHelper.parse(this.state.formatted);\r\n\r\n this.setState({\r\n ...this.getState(value, this.props.fractionDigits, this.props.hideTrailingZeros),\r\n focused: false,\r\n });\r\n\r\n if (this.props.onBlur) {\r\n this.props.onBlur(event);\r\n }\r\n };\r\n\r\n private refInput = (element: Nullable<Input>) => {\r\n this.input = element;\r\n };\r\n}\r\n\r\nfunction getInputSelection(input: EventTarget): Selection {\r\n if (!(input instanceof HTMLInputElement)) {\r\n throw new Error('input is not HTMLInputElement');\r\n }\r\n return {\r\n start: input.selectionStart!,\r\n end: input.selectionEnd!,\r\n direction: input.selectionDirection as SelectionDirection,\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["CurrencyInput.tsx"],"names":["CurrencyInput","rootNode","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","input","tempSelectionForOnChange","SelectionHelper","fromPosition","setRootNode","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","componentDidUpdate","prevProps","prevState","isValidNumber","isNumeric","Number","setSelectionRange","render","normilized","normalizeSelection","React","PureComponent","__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","isNaN","parseFloat","isFinite"],"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';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\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 */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<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: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), `[CurrencyInput]: Prop value is not a valid number`);\n },\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 private setRootNode!: TSetRootNode;\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 componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.props;\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\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 (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\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\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n"]}
@@ -1,20 +1,24 @@
1
- ```jsx
2
- <CurrencyInput value={state.value} fractionDigits={3} onValueChange={value => setState({ value })} />
3
- ```
4
-
5
- `fractionDigits={15}`
6
-
7
- ```jsx
8
- <CurrencyInput value={state.value} fractionDigits={15} onValueChange={value => setState({ value })} />
9
- ```
10
-
11
- ---
12
-
13
- ### <a name="/CurrencyInput?id=why15" href="#/CurrencyInput?id=why15">Почему 15?</a>
14
-
15
- Максимальное безопасное целочисленное значение - `9007199254740991` (16 цифр).
16
- Убрав один разряд, мы получим "новое" максимальное безопасное значение - **`999999999999999` (15 цифр)**.
17
-
18
- При этом десятичный резделитель может находиться в любом месте. Если целая часть равна `0`, то она не учитывается.
19
-
20
- _Детали можно почитать здесь - <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER">MDN web docs</a>_
1
+ ```jsx harmony
2
+ const [value, setValue] = React.useState();
3
+
4
+ <CurrencyInput value={value} fractionDigits={3} onValueChange={setValue} />
5
+ ```
6
+
7
+ `fractionDigits={15}`
8
+
9
+ ```jsx harmony
10
+ const [value, setValue] = React.useState();
11
+
12
+ <CurrencyInput value={value} fractionDigits={15} onValueChange={setValue} />
13
+ ```
14
+
15
+ ---
16
+
17
+ ### <a name="/CurrencyInput?id=why15" href="#/CurrencyInput?id=why15">Почему 15?</a>
18
+
19
+ Максимальное безопасное целочисленное значение - `9007199254740991` (16 цифр).
20
+ Убрав один разряд, мы получим "новое" максимальное безопасное значение - **`999999999999999` (15 цифр)**.
21
+
22
+ При этом десятичный резделитель может находиться в любом месте. Если целая часть равна `0`, то она не учитывается.
23
+
24
+ _Детали можно почитать здесь - <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER">MDN web docs</a>_
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInputHelper.tsx"],"names":["CurrencyInputHelper","moveCursor","value","selection","step","start","end","CursorHelper","calculatePosition","CurrencyHelper","getInfo","cursorMap","extendSelection","info","normalizeSelection","safeInsert","input","options","length","extracted","extractValid","insert","prefix","substring","suffix","combined","isValidString","raw","toRawPosition","info2","formattedPosition","toFormattedPosition","formatted","position"],"mappings":";;;AAGA;AACA,8C;;;;;;;;AAQaA,mB;AACGC,EAAAA,U,GAAd,oBAAyBC,KAAzB,EAAwCC,SAAxC,EAA8DC,IAA9D,EAAoF;AAClF,WAAOD,SAAS,CAACE,KAAV,KAAoBF,SAAS,CAACG,GAA9B;AACHC,+BAAaC,iBAAb,CAA+BC,+BAAeC,OAAf,CAAuBR,KAAvB,EAA8BS,SAA7D,EAAwER,SAAS,CAACE,KAAlF,EAAyFD,IAAzF,CADG;AAEHA,IAAAA,IAAI,GAAG,CAAP;AACAD,IAAAA,SAAS,CAACE,KADV;AAEAF,IAAAA,SAAS,CAACG,GAJd;AAKD,G;;AAEaM,EAAAA,e,GAAd,yBAA8BV,KAA9B,EAA6CC,SAA7C,EAAmEC,IAAnE,EAAiF;AAC/E,QAAMS,IAAI,GAAGJ,+BAAeC,OAAf,CAAuBR,KAAvB,CAAb;AACA,WAAOK,2BAAaK,eAAb,CAA6BC,IAAI,CAACF,SAAlC,EAA6CR,SAA7C,EAAwDC,IAAxD,CAAP;AACD,G;;AAEaU,EAAAA,kB,GAAd,4BAAiCZ,KAAjC,EAAgDC,SAAhD,EAAiF;AAC/E,QAAMU,IAAI,GAAGJ,+BAAeC,OAAf,CAAuBR,KAAvB,CAAb;AACA,WAAOK,2BAAaO,kBAAb,CAAgCD,IAAI,CAACF,SAArC,EAAgDR,SAAhD,CAAP;AACD,G;;AAEaY,EAAAA,U,GAAd,oBAAyBb,KAAzB,EAAwCG,KAAxC,EAAuDC,GAAvD,EAAoEU,KAApE,EAAmFC,OAAnF,EAA4G;AAC1G,QAAID,KAAK,IAAIX,KAAK,KAAK,CAAnB,IAAwBC,GAAG,KAAKJ,KAAK,CAACgB,MAA1C,EAAkD;AAChD,UAAMC,SAAS,GAAGV,+BAAeW,YAAf,CAA4BJ,KAA5B,EAAmCC,OAAnC,CAAlB;AACA,UAAI,CAACE,SAAL,EAAgB;AACd,eAAO,IAAP;AACD;AACD,aAAOnB,mBAAmB,CAACqB,MAApB,CAA2BnB,KAA3B,EAAkCG,KAAlC,EAAyCC,GAAzC,EAA8Ca,SAA9C,CAAP;AACD;;AAED,QAAMG,MAAM,GAAGpB,KAAK,CAACqB,SAAN,CAAgB,CAAhB,EAAmBlB,KAAnB,CAAf;AACA,QAAMmB,MAAM,GAAGtB,KAAK,CAACqB,SAAN,CAAgBjB,GAAhB,CAAf;;AAEA,QAAMmB,QAAQ,GAAGH,MAAM,GAAGN,KAAT,GAAiBQ,MAAlC;AACA,QAAIf,+BAAeiB,aAAf,CAA6BD,QAA7B,EAAuCR,OAAvC,CAAJ,EAAqD;AACnD,aAAOjB,mBAAmB,CAACqB,MAApB,CAA2BnB,KAA3B,EAAkCG,KAAlC,EAAyCC,GAAzC,EAA8CU,KAA9C,CAAP;AACD;AACD,WAAO,IAAP;AACD,G;;AAEaK,EAAAA,M,GAAd,gBAAqBnB,KAArB,EAAoCG,KAApC,EAAmDC,GAAnD,EAAgEU,KAAhE,EAA+E;AAC7E,QAAMM,MAAM,GAAGpB,KAAK,CAACqB,SAAN,CAAgB,CAAhB,EAAmBlB,KAAnB,CAAf;AACA,QAAMmB,MAAM,GAAGtB,KAAK,CAACqB,SAAN,CAAgBjB,GAAhB,CAAf;;AAEA,QAAMO,IAAI,GAAGJ,+BAAeC,OAAf,CAAuBR,KAAvB,CAAb;AACA,QAAMyB,GAAG,GAAGpB,2BAAaqB,aAAb,CAA2Bf,IAAI,CAACF,SAAhC,EAA2CN,KAA3C,CAAZ;AACA,QAAMwB,KAAK,GAAGpB,+BAAeC,OAAf,CAAuBY,MAAM,GAAGN,KAAT,GAAiBQ,MAAxC,CAAd;AACA,QAAMM,iBAAiB,GAAGvB,2BAAawB,mBAAb,CAAiCF,KAAK,CAAClB,SAAvC,EAAkDgB,GAAG,GAAGX,KAAK,CAACE,MAA9D,CAA1B;;AAEA,WAAO,EAAEhB,KAAK,EAAE2B,KAAK,CAACG,SAAf,EAA0BC,QAAQ,EAAEH,iBAApC,EAAP;AACD,G","sourcesContent":["import { Nullable } from '../../typings/utility-types';\r\n\r\nimport { Selection } from './SelectionHelper';\r\nimport { CurrencyHelper } from './CurrencyHelper';\r\nimport { CursorHelper } from './CursorHelper';\r\n\r\nexport interface DecimalOptions {\r\n integerDigits?: Nullable<number>;\r\n fractionDigits?: Nullable<number>;\r\n unsigned?: boolean;\r\n}\r\n\r\nexport class CurrencyInputHelper {\r\n public static moveCursor(value: string, selection: Selection, step: number): number {\r\n return selection.start === selection.end\r\n ? CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step)\r\n : step < 0\r\n ? selection.start\r\n : selection.end;\r\n }\r\n\r\n public static extendSelection(value: string, selection: Selection, step: number) {\r\n const info = CurrencyHelper.getInfo(value);\r\n return CursorHelper.extendSelection(info.cursorMap, selection, step);\r\n }\r\n\r\n public static normalizeSelection(value: string, selection: Selection): Selection {\r\n const info = CurrencyHelper.getInfo(value);\r\n return CursorHelper.normalizeSelection(info.cursorMap, selection);\r\n }\r\n\r\n public static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions) {\r\n if (input && start === 0 && end === value.length) {\r\n const extracted = CurrencyHelper.extractValid(input, options);\r\n if (!extracted) {\r\n return null;\r\n }\r\n return CurrencyInputHelper.insert(value, start, end, extracted);\r\n }\r\n\r\n const prefix = value.substring(0, start);\r\n const suffix = value.substring(end);\r\n\r\n const combined = prefix + input + suffix;\r\n if (CurrencyHelper.isValidString(combined, options)) {\r\n return CurrencyInputHelper.insert(value, start, end, input);\r\n }\r\n return null;\r\n }\r\n\r\n public static insert(value: string, start: number, end: number, input: string) {\r\n const prefix = value.substring(0, start);\r\n const suffix = value.substring(end);\r\n\r\n const info = CurrencyHelper.getInfo(value);\r\n const raw = CursorHelper.toRawPosition(info.cursorMap, start);\r\n const info2 = CurrencyHelper.getInfo(prefix + input + suffix);\r\n const formattedPosition = CursorHelper.toFormattedPosition(info2.cursorMap, raw + input.length);\r\n\r\n return { value: info2.formatted, position: formattedPosition };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["CurrencyInputHelper.tsx"],"names":["CurrencyInputHelper","moveCursor","value","selection","step","start","end","CursorHelper","calculatePosition","CurrencyHelper","getInfo","cursorMap","extendSelection","info","normalizeSelection","safeInsert","input","options","length","extracted","extractValid","insert","prefix","substring","suffix","combined","isValidString","raw","toRawPosition","info2","formattedPosition","toFormattedPosition","formatted","position"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\n\nimport { Selection } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CursorHelper } from './CursorHelper';\n\nexport interface DecimalOptions {\n integerDigits?: Nullable<number>;\n fractionDigits?: Nullable<number>;\n unsigned?: boolean;\n}\n\nexport class CurrencyInputHelper {\n public static moveCursor(value: string, selection: Selection, step: number): number {\n return selection.start === selection.end\n ? CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step)\n : step < 0\n ? selection.start\n : selection.end;\n }\n\n public static extendSelection(value: string, selection: Selection, step: number) {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.extendSelection(info.cursorMap, selection, step);\n }\n\n public static normalizeSelection(value: string, selection: Selection): Selection {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.normalizeSelection(info.cursorMap, selection);\n }\n\n public static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions) {\n if (input && start === 0 && end === value.length) {\n const extracted = CurrencyHelper.extractValid(input, options);\n if (!extracted) {\n return null;\n }\n return CurrencyInputHelper.insert(value, start, end, extracted);\n }\n\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const combined = prefix + input + suffix;\n if (CurrencyHelper.isValidString(combined, options)) {\n return CurrencyInputHelper.insert(value, start, end, input);\n }\n return null;\n }\n\n public static insert(value: string, start: number, end: number, input: string) {\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const info = CurrencyHelper.getInfo(value);\n const raw = CursorHelper.toRawPosition(info.cursorMap, start);\n const info2 = CurrencyHelper.getInfo(prefix + input + suffix);\n const formattedPosition = CursorHelper.toFormattedPosition(info2.cursorMap, raw + input.length);\n\n return { value: info2.formatted, position: formattedPosition };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInputKeyboardActions.tsx"],"names":["CURRENCY_INPUT_ACTIONS","Unknown","Ignore","MoveCursorLeft","MoveCursorRight","Home","End","ExtendSelectionLeft","ExtendSelectionRight","FullSelection","ExtendSelectionToStart","ExtendSelectionToEnd","Backspace","Delete","Submit","extractAction","KeyboardActionExctracterBuilder","add","Keyboard","isKeyEnter","isModShift","isKeyArrowLeft","isKeyArrowRight","isShortcutSelectAll","isKeyHome","isKeyEnd","isUnmodified","isKeyBackspace","isKeyDelete","e","isModified","isKeyTab","build"],"mappings":"8LAAA;AACA;;AAEO,IAAMA,sBAAsB,GAAG;AACpCC,EAAAA,OAAO,EAAE,CAD2B;AAEpCC,EAAAA,MAAM,EAAE,CAF4B;;AAIpCC,EAAAA,cAAc,EAAE,EAJoB;AAKpCC,EAAAA,eAAe,EAAE,EALmB;AAMpCC,EAAAA,IAAI,EAAE,EAN8B;AAOpCC,EAAAA,GAAG,EAAE,EAP+B;;AASpCC,EAAAA,mBAAmB,EAAE,EATe;AAUpCC,EAAAA,oBAAoB,EAAE,EAVc;AAWpCC,EAAAA,aAAa,EAAE,EAXqB;AAYpCC,EAAAA,sBAAsB,EAAE,EAZY;AAapCC,EAAAA,oBAAoB,EAAE,EAbc;;AAepCC,EAAAA,SAAS,EAAE,EAfyB;AAgBpCC,EAAAA,MAAM,EAAE,EAhB4B;AAiBpCC,EAAAA,MAAM,EAAE,EAjB4B,EAA/B,C;;;AAoBA,IAAMC,aAAa,GAAG,IAAIC,sDAAJ;AAC1BC,GAD0B,CACtBjB,sBAAsB,CAACc,MADD,EACSI,QAAQ,CAACC,UADlB;AAE1BF,GAF0B,CAEtBjB,sBAAsB,CAACO,mBAFD,EAEsBW,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACG,cAA7B,CAFtB;AAG1BJ,GAH0B,CAGtBjB,sBAAsB,CAACQ,oBAHD,EAGuBU,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACI,eAA7B,CAHvB;AAI1BL,GAJ0B,CAItBjB,sBAAsB,CAACS,aAJD,EAIgBS,QAAQ,CAACK,mBAJzB;AAK1BN,GAL0B,CAKtBjB,sBAAsB,CAACU,sBALD,EAKyBQ,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACM,SAA7B,CALzB;AAM1BP,GAN0B,CAMtBjB,sBAAsB,CAACW,oBAND,EAMuBO,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACO,QAA7B,CANvB;AAO1BR,GAP0B,CAOtBjB,sBAAsB,CAACG,cAPD,EAOiBe,QAAQ,CAACG,cAP1B;AAQ1BJ,GAR0B,CAQtBjB,sBAAsB,CAACI,eARD,EAQkBc,QAAQ,CAACI,eAR3B;AAS1BL,GAT0B,CAStBjB,sBAAsB,CAACK,IATD,EASOa,QAAQ,CAACQ,YAAT,CAAsBR,QAAQ,CAACM,SAA/B,CATP;AAU1BP,GAV0B,CAUtBjB,sBAAsB,CAACM,GAVD,EAUMY,QAAQ,CAACQ,YAAT,CAAsBR,QAAQ,CAACO,QAA/B,CAVN;AAW1BR,GAX0B,CAWtBjB,sBAAsB,CAACY,SAXD,EAWYM,QAAQ,CAACS,cAXrB;AAY1BV,GAZ0B,CAYtBjB,sBAAsB,CAACa,MAZD,EAYSK,QAAQ,CAACU,WAZlB;AAa1BX,GAb0B,CAatBjB,sBAAsB,CAACE,MAbD,EAaS,UAAA2B,CAAC,UAAIX,QAAQ,CAACY,UAAT,GAAsBD,CAAtB,KAA4BX,QAAQ,CAACa,QAAT,CAAkBF,CAAlB,CAAhC,EAbV;AAc1BG,KAd0B,CAcpBhC,sBAAsB,CAACC,OAdH,CAAtB,C","sourcesContent":["import * as Keyboard from '../../lib/events/keyboard/identifiers';\r\nimport { KeyboardActionExctracterBuilder } from '../../lib/extractKeyboardAction';\r\n\r\nexport const CURRENCY_INPUT_ACTIONS = {\r\n Unknown: 0,\r\n Ignore: 1,\r\n\r\n MoveCursorLeft: 11,\r\n MoveCursorRight: 12,\r\n Home: 13,\r\n End: 14,\r\n\r\n ExtendSelectionLeft: 21,\r\n ExtendSelectionRight: 22,\r\n FullSelection: 23,\r\n ExtendSelectionToStart: 24,\r\n ExtendSelectionToEnd: 25,\r\n\r\n Backspace: 31,\r\n Delete: 32,\r\n Submit: 33,\r\n};\r\n\r\nexport const extractAction = new KeyboardActionExctracterBuilder()\r\n .add(CURRENCY_INPUT_ACTIONS.Submit, Keyboard.isKeyEnter)\r\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft, Keyboard.isModShift(Keyboard.isKeyArrowLeft))\r\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionRight, Keyboard.isModShift(Keyboard.isKeyArrowRight))\r\n .add(CURRENCY_INPUT_ACTIONS.FullSelection, Keyboard.isShortcutSelectAll)\r\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart, Keyboard.isModShift(Keyboard.isKeyHome))\r\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd, Keyboard.isModShift(Keyboard.isKeyEnd))\r\n .add(CURRENCY_INPUT_ACTIONS.MoveCursorLeft, Keyboard.isKeyArrowLeft)\r\n .add(CURRENCY_INPUT_ACTIONS.MoveCursorRight, Keyboard.isKeyArrowRight)\r\n .add(CURRENCY_INPUT_ACTIONS.Home, Keyboard.isUnmodified(Keyboard.isKeyHome))\r\n .add(CURRENCY_INPUT_ACTIONS.End, Keyboard.isUnmodified(Keyboard.isKeyEnd))\r\n .add(CURRENCY_INPUT_ACTIONS.Backspace, Keyboard.isKeyBackspace)\r\n .add(CURRENCY_INPUT_ACTIONS.Delete, Keyboard.isKeyDelete)\r\n .add(CURRENCY_INPUT_ACTIONS.Ignore, e => Keyboard.isModified()(e) || Keyboard.isKeyTab(e))\r\n .build(CURRENCY_INPUT_ACTIONS.Unknown);\r\n"]}
1
+ {"version":3,"sources":["CurrencyInputKeyboardActions.tsx"],"names":["CURRENCY_INPUT_ACTIONS","Unknown","Ignore","MoveCursorLeft","MoveCursorRight","Home","End","ExtendSelectionLeft","ExtendSelectionRight","FullSelection","ExtendSelectionToStart","ExtendSelectionToEnd","Backspace","Delete","Submit","extractAction","KeyboardActionExctracterBuilder","add","Keyboard","isKeyEnter","isModShift","isKeyArrowLeft","isKeyArrowRight","isShortcutSelectAll","isKeyHome","isKeyEnd","isUnmodified","isKeyBackspace","isKeyDelete","e","isModified","isKeyTab","build"],"mappings":"8LAAA;AACA;;AAEO,IAAMA,sBAAsB,GAAG;AACpCC,EAAAA,OAAO,EAAE,CAD2B;AAEpCC,EAAAA,MAAM,EAAE,CAF4B;;AAIpCC,EAAAA,cAAc,EAAE,EAJoB;AAKpCC,EAAAA,eAAe,EAAE,EALmB;AAMpCC,EAAAA,IAAI,EAAE,EAN8B;AAOpCC,EAAAA,GAAG,EAAE,EAP+B;;AASpCC,EAAAA,mBAAmB,EAAE,EATe;AAUpCC,EAAAA,oBAAoB,EAAE,EAVc;AAWpCC,EAAAA,aAAa,EAAE,EAXqB;AAYpCC,EAAAA,sBAAsB,EAAE,EAZY;AAapCC,EAAAA,oBAAoB,EAAE,EAbc;;AAepCC,EAAAA,SAAS,EAAE,EAfyB;AAgBpCC,EAAAA,MAAM,EAAE,EAhB4B;AAiBpCC,EAAAA,MAAM,EAAE,EAjB4B,EAA/B,C;;;AAoBA,IAAMC,aAAa,GAAG,IAAIC,sDAAJ;AAC1BC,GAD0B,CACtBjB,sBAAsB,CAACc,MADD,EACSI,QAAQ,CAACC,UADlB;AAE1BF,GAF0B,CAEtBjB,sBAAsB,CAACO,mBAFD,EAEsBW,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACG,cAA7B,CAFtB;AAG1BJ,GAH0B,CAGtBjB,sBAAsB,CAACQ,oBAHD,EAGuBU,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACI,eAA7B,CAHvB;AAI1BL,GAJ0B,CAItBjB,sBAAsB,CAACS,aAJD,EAIgBS,QAAQ,CAACK,mBAJzB;AAK1BN,GAL0B,CAKtBjB,sBAAsB,CAACU,sBALD,EAKyBQ,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACM,SAA7B,CALzB;AAM1BP,GAN0B,CAMtBjB,sBAAsB,CAACW,oBAND,EAMuBO,QAAQ,CAACE,UAAT,CAAoBF,QAAQ,CAACO,QAA7B,CANvB;AAO1BR,GAP0B,CAOtBjB,sBAAsB,CAACG,cAPD,EAOiBe,QAAQ,CAACG,cAP1B;AAQ1BJ,GAR0B,CAQtBjB,sBAAsB,CAACI,eARD,EAQkBc,QAAQ,CAACI,eAR3B;AAS1BL,GAT0B,CAStBjB,sBAAsB,CAACK,IATD,EASOa,QAAQ,CAACQ,YAAT,CAAsBR,QAAQ,CAACM,SAA/B,CATP;AAU1BP,GAV0B,CAUtBjB,sBAAsB,CAACM,GAVD,EAUMY,QAAQ,CAACQ,YAAT,CAAsBR,QAAQ,CAACO,QAA/B,CAVN;AAW1BR,GAX0B,CAWtBjB,sBAAsB,CAACY,SAXD,EAWYM,QAAQ,CAACS,cAXrB;AAY1BV,GAZ0B,CAYtBjB,sBAAsB,CAACa,MAZD,EAYSK,QAAQ,CAACU,WAZlB;AAa1BX,GAb0B,CAatBjB,sBAAsB,CAACE,MAbD,EAaS,UAAC2B,CAAD,UAAOX,QAAQ,CAACY,UAAT,GAAsBD,CAAtB,KAA4BX,QAAQ,CAACa,QAAT,CAAkBF,CAAlB,CAAnC,EAbT;AAc1BG,KAd0B,CAcpBhC,sBAAsB,CAACC,OAdH,CAAtB,C","sourcesContent":["import * as Keyboard from '../../lib/events/keyboard/identifiers';\nimport { KeyboardActionExctracterBuilder } from '../../lib/extractKeyboardAction';\n\nexport const CURRENCY_INPUT_ACTIONS = {\n Unknown: 0,\n Ignore: 1,\n\n MoveCursorLeft: 11,\n MoveCursorRight: 12,\n Home: 13,\n End: 14,\n\n ExtendSelectionLeft: 21,\n ExtendSelectionRight: 22,\n FullSelection: 23,\n ExtendSelectionToStart: 24,\n ExtendSelectionToEnd: 25,\n\n Backspace: 31,\n Delete: 32,\n Submit: 33,\n};\n\nexport const extractAction = new KeyboardActionExctracterBuilder()\n .add(CURRENCY_INPUT_ACTIONS.Submit, Keyboard.isKeyEnter)\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft, Keyboard.isModShift(Keyboard.isKeyArrowLeft))\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionRight, Keyboard.isModShift(Keyboard.isKeyArrowRight))\n .add(CURRENCY_INPUT_ACTIONS.FullSelection, Keyboard.isShortcutSelectAll)\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart, Keyboard.isModShift(Keyboard.isKeyHome))\n .add(CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd, Keyboard.isModShift(Keyboard.isKeyEnd))\n .add(CURRENCY_INPUT_ACTIONS.MoveCursorLeft, Keyboard.isKeyArrowLeft)\n .add(CURRENCY_INPUT_ACTIONS.MoveCursorRight, Keyboard.isKeyArrowRight)\n .add(CURRENCY_INPUT_ACTIONS.Home, Keyboard.isUnmodified(Keyboard.isKeyHome))\n .add(CURRENCY_INPUT_ACTIONS.End, Keyboard.isUnmodified(Keyboard.isKeyEnd))\n .add(CURRENCY_INPUT_ACTIONS.Backspace, Keyboard.isKeyBackspace)\n .add(CURRENCY_INPUT_ACTIONS.Delete, Keyboard.isKeyDelete)\n .add(CURRENCY_INPUT_ACTIONS.Ignore, (e) => Keyboard.isModified()(e) || Keyboard.isKeyTab(e))\n .build(CURRENCY_INPUT_ACTIONS.Unknown);\n"]}