@skbkontur/react-ui 2.17.6 → 2.17.7-sidepage-header

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 (1099) hide show
  1. package/CHANGELOG.md +2194 -2183
  2. package/README.md +61 -61
  3. package/cjs/components/Autocomplete/Autocomplete.js +23 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  6. package/cjs/components/Autocomplete/index.js.map +1 -1
  7. package/cjs/components/Button/Button.js +4 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.md +89 -89
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/Corners.js.map +1 -1
  13. package/cjs/components/Button/index.js.map +1 -1
  14. package/cjs/components/Center/Center.js +3 -3
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.md +5 -5
  17. package/cjs/components/Center/Center.styles.js.map +1 -1
  18. package/cjs/components/Center/index.js.map +1 -1
  19. package/cjs/components/Checkbox/Checkbox.js +9 -9
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.md +63 -63
  22. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  23. package/cjs/components/Checkbox/index.js.map +1 -1
  24. package/cjs/components/ComboBox/ComboBox.js +20 -20
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/ComboBox/ComboBox.md +432 -432
  27. package/cjs/components/ComboBox/index.js.map +1 -1
  28. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -7
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyInput/CurrencyInput.md +20 -20
  32. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  33. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  34. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  35. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  36. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  37. package/cjs/components/CurrencyInput/index.js.map +1 -1
  38. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  39. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  40. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  41. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  42. package/cjs/components/DateInput/DateInput.js.map +1 -1
  43. package/cjs/components/DateInput/DateInput.md +104 -104
  44. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  45. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  46. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  47. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  48. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  49. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  50. package/cjs/components/DateInput/index.js.map +1 -1
  51. package/cjs/components/DatePicker/DatePicker.js +15 -15
  52. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.md +310 -310
  54. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  55. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  56. package/cjs/components/DatePicker/Picker.js.map +1 -1
  57. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  58. package/cjs/components/DatePicker/index.js.map +1 -1
  59. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  60. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  61. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  62. package/cjs/components/Dropdown/Dropdown.js +24 -24
  63. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  64. package/cjs/components/Dropdown/Dropdown.md +12 -12
  65. package/cjs/components/Dropdown/index.js.map +1 -1
  66. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -2
  67. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  68. package/cjs/components/DropdownMenu/DropdownMenu.md +73 -73
  69. package/cjs/components/DropdownMenu/index.js.map +1 -1
  70. package/cjs/components/Fias/Fias.js +2 -2
  71. package/cjs/components/Fias/Fias.js.map +1 -1
  72. package/cjs/components/Fias/Fias.md +451 -451
  73. package/cjs/components/Fias/Fias.styles.js.map +1 -1
  74. package/cjs/components/Fias/FiasModal.js.map +1 -1
  75. package/cjs/components/Fias/FiasSearch/FiasSearch.js +2 -2
  76. package/cjs/components/Fias/FiasSearch/FiasSearch.js.map +1 -1
  77. package/cjs/components/Fias/FiasSearch/FiasSearch.md +78 -78
  78. package/cjs/components/Fias/Form/FiasComboBox.js.map +1 -1
  79. package/cjs/components/Fias/Form/FiasCountrySelector.js.map +1 -1
  80. package/cjs/components/Fias/Form/FiasForm.js.map +1 -1
  81. package/cjs/components/Fias/Form/FiasForm.styles.js.map +1 -1
  82. package/cjs/components/Fias/api/FiasAPI.js.map +1 -1
  83. package/cjs/components/Fias/api/FiasAPIResultFactory.js.map +1 -1
  84. package/cjs/components/Fias/api/FiasMockAPI.js.map +1 -1
  85. package/cjs/components/Fias/api/data.json +285 -285
  86. package/cjs/components/Fias/constants/abbreviations.js.map +1 -1
  87. package/cjs/components/Fias/index.js.map +1 -1
  88. package/cjs/components/Fias/locale/index.js.map +1 -1
  89. package/cjs/components/Fias/locale/locales/ru.js.map +1 -1
  90. package/cjs/components/Fias/logger/FiasLogger.js.map +1 -1
  91. package/cjs/components/Fias/models/FiasAddress.js.map +1 -1
  92. package/cjs/components/Fias/models/FiasAddressElement.js.map +1 -1
  93. package/cjs/components/Fias/models/FiasData.js.map +1 -1
  94. package/cjs/components/Fias/types.js.map +1 -1
  95. package/cjs/components/FxInput/FxInput.js.map +1 -1
  96. package/cjs/components/FxInput/FxInput.md +13 -13
  97. package/cjs/components/FxInput/index.js.map +1 -1
  98. package/cjs/components/Gapped/Gapped.js +8 -8
  99. package/cjs/components/Gapped/Gapped.js.map +1 -1
  100. package/cjs/components/Gapped/index.js.map +1 -1
  101. package/cjs/components/Group/Group.js.map +1 -1
  102. package/cjs/components/Group/Group.md +26 -26
  103. package/cjs/components/Group/Group.styles.js.map +1 -1
  104. package/cjs/components/Group/index.js.map +1 -1
  105. package/cjs/components/Hint/Hint.js.map +1 -1
  106. package/cjs/components/Hint/Hint.md +3 -3
  107. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  108. package/cjs/components/Hint/index.js.map +1 -1
  109. package/cjs/components/Input/Input.js +13 -13
  110. package/cjs/components/Input/Input.js.map +1 -1
  111. package/cjs/components/Input/Input.styles.js.map +1 -1
  112. package/cjs/components/Input/index.js.map +1 -1
  113. package/cjs/components/Kebab/Kebab.js +6 -6
  114. package/cjs/components/Kebab/Kebab.js.map +1 -1
  115. package/cjs/components/Kebab/Kebab.md +45 -45
  116. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  117. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  118. package/cjs/components/Kebab/index.js.map +1 -1
  119. package/cjs/components/Link/Link.js +5 -5
  120. package/cjs/components/Link/Link.js.map +1 -1
  121. package/cjs/components/Link/Link.md +11 -11
  122. package/cjs/components/Link/Link.mixins.js.map +1 -1
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/Link/index.js.map +1 -1
  125. package/cjs/components/Loader/Loader.js +20 -20
  126. package/cjs/components/Loader/Loader.js.map +1 -1
  127. package/cjs/components/Loader/Loader.md +25 -25
  128. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  129. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  130. package/cjs/components/Loader/index.js.map +1 -1
  131. package/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  132. package/cjs/components/LocaleProvider/index.js.map +1 -1
  133. package/cjs/components/Logotype/Logotype.js +2 -2
  134. package/cjs/components/Logotype/Logotype.js.map +1 -1
  135. package/cjs/components/Logotype/Logotype.md +33 -33
  136. package/cjs/components/Logotype/Logotype.styles.js.map +1 -1
  137. package/cjs/components/Logotype/ProductWidget.js.map +1 -1
  138. package/cjs/components/Logotype/index.js.map +1 -1
  139. package/cjs/components/Logotype/locale/index.js.map +1 -1
  140. package/cjs/components/Logotype/locale/locales/en.js.map +1 -1
  141. package/cjs/components/Logotype/locale/locales/ru.js.map +1 -1
  142. package/cjs/components/MenuHeader/MenuHeader.js +2 -2
  143. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  144. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  145. package/cjs/components/MenuHeader/index.js.map +1 -1
  146. package/cjs/components/MenuItem/MenuItem.js +2 -2
  147. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  148. package/cjs/components/MenuItem/MenuItem.md +7 -7
  149. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  150. package/cjs/components/MenuItem/index.js.map +1 -1
  151. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -2
  152. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  153. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  154. package/cjs/components/MenuSeparator/index.js.map +1 -1
  155. package/cjs/components/Modal/Modal.js +13 -13
  156. package/cjs/components/Modal/Modal.js.map +1 -1
  157. package/cjs/components/Modal/Modal.md +37 -37
  158. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  159. package/cjs/components/Modal/ModalBody.js +4 -4
  160. package/cjs/components/Modal/ModalBody.js.map +1 -1
  161. package/cjs/components/Modal/ModalClose.js.map +1 -1
  162. package/cjs/components/Modal/ModalContext.js.map +1 -1
  163. package/cjs/components/Modal/ModalFooter.js +4 -4
  164. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  165. package/cjs/components/Modal/ModalHeader.js +4 -4
  166. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  167. package/cjs/components/Modal/helpers.js.map +1 -1
  168. package/cjs/components/Modal/index.js.map +1 -1
  169. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  170. package/cjs/components/Paging/Paging.js +10 -10
  171. package/cjs/components/Paging/Paging.js.map +1 -1
  172. package/cjs/components/Paging/Paging.md +43 -43
  173. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  174. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  175. package/cjs/components/Paging/index.js.map +1 -1
  176. package/cjs/components/Paging/locale/index.js.map +1 -1
  177. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  178. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  179. package/cjs/components/PasswordInput/PasswordInput.js +6 -6
  180. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  181. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  182. package/cjs/components/PasswordInput/index.js.map +1 -1
  183. package/cjs/components/Radio/Radio.js +4 -4
  184. package/cjs/components/Radio/Radio.js.map +1 -1
  185. package/cjs/components/Radio/Radio.md +14 -14
  186. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  187. package/cjs/components/Radio/index.js.map +1 -1
  188. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  189. package/cjs/components/RadioGroup/RadioGroup.js +46 -46
  190. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  191. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  192. package/cjs/components/RadioGroup/index.js.map +1 -1
  193. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -6
  194. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  195. package/cjs/components/ScrollContainer/ScrollContainer.md +94 -94
  196. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  197. package/cjs/components/ScrollContainer/index.js.map +1 -1
  198. package/cjs/components/Select/Item.js.map +1 -1
  199. package/cjs/components/Select/Select.js +2 -2
  200. package/cjs/components/Select/Select.js.map +1 -1
  201. package/cjs/components/Select/Select.md +23 -23
  202. package/cjs/components/Select/Select.styles.js.map +1 -1
  203. package/cjs/components/Select/index.js.map +1 -1
  204. package/cjs/components/Select/locale/index.js.map +1 -1
  205. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  206. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  207. package/cjs/components/Select/selectTheme.js.map +1 -1
  208. package/cjs/components/SidePage/SidePage.d.ts +2 -0
  209. package/cjs/components/SidePage/SidePage.js +21 -16
  210. package/cjs/components/SidePage/SidePage.js.map +1 -1
  211. package/cjs/components/SidePage/SidePage.md +48 -48
  212. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  213. package/cjs/components/SidePage/SidePageBody.js +4 -4
  214. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageContainer.js +4 -4
  216. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  217. package/cjs/components/SidePage/SidePageContext.d.ts +2 -0
  218. package/cjs/components/SidePage/SidePageContext.js +3 -0
  219. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  220. package/cjs/components/SidePage/SidePageFooter.js +4 -4
  221. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  222. package/cjs/components/SidePage/SidePageHeader.d.ts +5 -0
  223. package/cjs/components/SidePage/SidePageHeader.js +24 -7
  224. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  225. package/cjs/components/SidePage/helpers.js.map +1 -1
  226. package/cjs/components/SidePage/index.js.map +1 -1
  227. package/cjs/components/Spinner/Spinner.js +16 -16
  228. package/cjs/components/Spinner/Spinner.js.map +1 -1
  229. package/cjs/components/Spinner/Spinner.md +34 -34
  230. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  231. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  232. package/cjs/components/Spinner/index.js.map +1 -1
  233. package/cjs/components/Spinner/locale/index.js.map +1 -1
  234. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  235. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  236. package/cjs/components/Sticky/Sticky.d.ts +1 -1
  237. package/cjs/components/Sticky/Sticky.js +4 -4
  238. package/cjs/components/Sticky/Sticky.js.map +1 -1
  239. package/cjs/components/Sticky/Sticky.md +27 -27
  240. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  241. package/cjs/components/Sticky/index.js.map +1 -1
  242. package/cjs/components/Switcher/Switcher.js.map +1 -1
  243. package/cjs/components/Switcher/Switcher.md +10 -10
  244. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  245. package/cjs/components/Switcher/index.js.map +1 -1
  246. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  247. package/cjs/components/Tabs/Indicator.js.map +1 -1
  248. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  249. package/cjs/components/Tabs/Tab.js +14 -14
  250. package/cjs/components/Tabs/Tab.js.map +1 -1
  251. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  252. package/cjs/components/Tabs/Tabs.js +4 -4
  253. package/cjs/components/Tabs/Tabs.js.map +1 -1
  254. package/cjs/components/Tabs/Tabs.md +36 -36
  255. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  256. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  257. package/cjs/components/Tabs/index.js.map +1 -1
  258. package/cjs/components/Textarea/Textarea.js +12 -12
  259. package/cjs/components/Textarea/Textarea.js.map +1 -1
  260. package/cjs/components/Textarea/Textarea.md +25 -25
  261. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  262. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  263. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  264. package/cjs/components/Textarea/index.js.map +1 -1
  265. package/cjs/components/ThemeConsumer/ThemeConsumer.js.map +1 -1
  266. package/cjs/components/ThemeConsumer/index.js.map +1 -1
  267. package/cjs/components/ThemeProvider/ThemeProvider.js.map +1 -1
  268. package/cjs/components/ThemeProvider/index.js.map +1 -1
  269. package/cjs/components/Toast/Toast.js +19 -19
  270. package/cjs/components/Toast/Toast.js.map +1 -1
  271. package/cjs/components/Toast/Toast.md +41 -41
  272. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  273. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  274. package/cjs/components/Toast/ToastView.js +4 -4
  275. package/cjs/components/Toast/ToastView.js.map +1 -1
  276. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  277. package/cjs/components/Toast/index.js.map +1 -1
  278. package/cjs/components/Toggle/Toggle.js +2 -2
  279. package/cjs/components/Toggle/Toggle.js.map +1 -1
  280. package/cjs/components/Toggle/Toggle.md +24 -24
  281. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  282. package/cjs/components/Toggle/index.js.map +1 -1
  283. package/cjs/components/Token/Token.js.map +1 -1
  284. package/cjs/components/Token/Token.styles.js.map +1 -1
  285. package/cjs/components/Token/index.js.map +1 -1
  286. package/cjs/components/TokenInput/TextWidthHelper.js +3 -3
  287. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  288. package/cjs/components/TokenInput/TokenInput.js +17 -17
  289. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  290. package/cjs/components/TokenInput/TokenInput.md +77 -77
  291. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  292. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  293. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  294. package/cjs/components/TokenInput/index.js.map +1 -1
  295. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  296. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  297. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  298. package/cjs/components/Tooltip/Tooltip.js +8 -8
  299. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  300. package/cjs/components/Tooltip/Tooltip.md +301 -301
  301. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  302. package/cjs/components/Tooltip/index.js.map +1 -1
  303. package/cjs/components/TooltipMenu/TooltipMenu.js +7 -7
  304. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  305. package/cjs/components/TooltipMenu/TooltipMenu.md +115 -115
  306. package/cjs/components/TooltipMenu/index.js.map +1 -1
  307. package/cjs/components/TopBar/TopBar.js +38 -38
  308. package/cjs/components/TopBar/TopBar.js.map +1 -1
  309. package/cjs/components/TopBar/TopBar.md +111 -111
  310. package/cjs/components/TopBar/TopBar.styles.js.map +1 -1
  311. package/cjs/components/TopBar/TopBarButtonItem.js +4 -4
  312. package/cjs/components/TopBar/TopBarButtonItem.js.map +1 -1
  313. package/cjs/components/TopBar/TopBarDivider.js +4 -4
  314. package/cjs/components/TopBar/TopBarDivider.js.map +1 -1
  315. package/cjs/components/TopBar/TopBarDropdown.js +4 -4
  316. package/cjs/components/TopBar/TopBarDropdown.js.map +1 -1
  317. package/cjs/components/TopBar/TopBarEnd.js +4 -4
  318. package/cjs/components/TopBar/TopBarEnd.js.map +1 -1
  319. package/cjs/components/TopBar/TopBarItem.js +4 -4
  320. package/cjs/components/TopBar/TopBarItem.js.map +1 -1
  321. package/cjs/components/TopBar/TopBarLogout.js +4 -4
  322. package/cjs/components/TopBar/TopBarLogout.js.map +1 -1
  323. package/cjs/components/TopBar/TopBarOrganizations.js +4 -4
  324. package/cjs/components/TopBar/TopBarOrganizations.js.map +1 -1
  325. package/cjs/components/TopBar/TopBarStart.js +4 -4
  326. package/cjs/components/TopBar/TopBarStart.js.map +1 -1
  327. package/cjs/components/TopBar/TopBarUser.js +6 -6
  328. package/cjs/components/TopBar/TopBarUser.js.map +1 -1
  329. package/cjs/components/TopBar/index.js.map +1 -1
  330. package/cjs/components/TopBar/locale/index.js.map +1 -1
  331. package/cjs/components/TopBar/locale/locales/en.js.map +1 -1
  332. package/cjs/components/TopBar/locale/locales/ru.js.map +1 -1
  333. package/cjs/index.js.map +1 -1
  334. package/cjs/internal/BGRuler.js +5 -5
  335. package/cjs/internal/BGRuler.js.map +1 -1
  336. package/cjs/internal/Calendar/Calendar.js +3 -3
  337. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  338. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  339. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  340. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  341. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  342. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  343. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  344. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  345. package/cjs/internal/Calendar/Month.js.map +1 -1
  346. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  347. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  348. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  349. package/cjs/internal/Calendar/config.js.map +1 -1
  350. package/cjs/internal/Calendar/index.js.map +1 -1
  351. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  352. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  353. package/cjs/internal/ComponentCombinator.js.map +1 -1
  354. package/cjs/internal/ComponentTable.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  357. package/cjs/internal/CustomComboBox/CustomComboBox.js +10 -10
  358. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  359. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  360. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  361. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  362. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  363. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  364. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  365. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.js +2 -2
  367. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  368. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  369. package/cjs/internal/DateSelect/index.js.map +1 -1
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  372. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  373. package/cjs/internal/FocusTrap/index.js.map +1 -1
  374. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  375. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  376. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  377. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  378. package/cjs/internal/InputLikeText/HiddenInput.js +4 -4
  379. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  380. package/cjs/internal/InputLikeText/InputLikeText.js +6 -6
  381. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  382. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  383. package/cjs/internal/InputLikeText/index.js.map +1 -1
  384. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  385. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  386. package/cjs/internal/InternalMenu/index.js.map +1 -1
  387. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  388. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +6 -6
  389. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  390. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  391. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  392. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  393. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  394. package/cjs/internal/MaskedInput/index.js.map +1 -1
  395. package/cjs/internal/Menu/Menu.js +10 -10
  396. package/cjs/internal/Menu/Menu.js.map +1 -1
  397. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  398. package/cjs/internal/Menu/index.js.map +1 -1
  399. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  400. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  401. package/cjs/internal/Popup/Popup.js +31 -31
  402. package/cjs/internal/Popup/Popup.js.map +1 -1
  403. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  404. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  405. package/cjs/internal/Popup/PopupPin.js +16 -16
  406. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  407. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  408. package/cjs/internal/Popup/index.js.map +1 -1
  409. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  410. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  411. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
  412. package/cjs/internal/PopupMenu/index.js.map +1 -1
  413. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  414. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  415. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  416. package/cjs/internal/RenderContainer/index.js.map +1 -1
  417. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  418. package/cjs/internal/RenderLayer/index.js.map +1 -1
  419. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  420. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  421. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  422. package/cjs/internal/SpinnerOld/SpinnerOld.js +12 -12
  423. package/cjs/internal/SpinnerOld/SpinnerOld.js.map +1 -1
  424. package/cjs/internal/SpinnerOld/SpinnerOld.styles.js.map +1 -1
  425. package/cjs/internal/SpinnerOld/SpinnerOldCloudIcon.js.map +1 -1
  426. package/cjs/internal/SpinnerOld/index.js.map +1 -1
  427. package/cjs/internal/SpinnerOld/locale/index.js.map +1 -1
  428. package/cjs/internal/SpinnerOld/locale/locales/en.js.map +1 -1
  429. package/cjs/internal/SpinnerOld/locale/locales/ru.js.map +1 -1
  430. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  431. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  432. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  433. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  434. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  435. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  436. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  437. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  438. package/cjs/internal/ThemePlayground/Playground.md +7 -7
  439. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  440. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  441. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  442. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  443. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  444. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  445. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  446. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  447. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  448. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  449. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  450. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  451. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  452. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  453. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  454. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  455. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  456. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  457. package/cjs/internal/ZIndex/index.js.map +1 -1
  458. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  459. package/cjs/internal/icons/16px/index.js.map +1 -1
  460. package/cjs/internal/icons/20px/Icon.js +2 -2
  461. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  462. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  463. package/cjs/internal/icons/20px/index.js.map +1 -1
  464. package/cjs/internal/icons/20px/svg.js.map +1 -1
  465. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  466. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  467. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  468. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  469. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  470. package/cjs/internal/themes/FlatTheme.js.map +1 -1
  471. package/cjs/internal/themes/Theme8px.js.map +1 -1
  472. package/cjs/lib/ConditionalHandler.js +2 -2
  473. package/cjs/lib/ConditionalHandler.js.map +1 -1
  474. package/cjs/lib/LayoutEvents.js.map +1 -1
  475. package/cjs/lib/MockDate.js.map +1 -1
  476. package/cjs/lib/ModalStack.js +4 -4
  477. package/cjs/lib/ModalStack.js.map +1 -1
  478. package/cjs/lib/SSRSafe.js.map +1 -1
  479. package/cjs/lib/Supports.js.map +1 -1
  480. package/cjs/lib/Upgrades.js.map +1 -1
  481. package/cjs/lib/animation/index.js.map +1 -1
  482. package/cjs/lib/animation/presets.js.map +1 -1
  483. package/cjs/lib/animation/stepper.js.map +1 -1
  484. package/cjs/lib/client.js.map +1 -1
  485. package/cjs/lib/createPropsGetter.js.map +1 -1
  486. package/cjs/lib/currentEnvironment.js.map +1 -1
  487. package/cjs/lib/date/InternalDate.js +3 -3
  488. package/cjs/lib/date/InternalDate.js.map +1 -1
  489. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  490. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  491. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  492. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  493. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  494. package/cjs/lib/date/constants.js.map +1 -1
  495. package/cjs/lib/date/localeSets.js.map +1 -1
  496. package/cjs/lib/date/types.js.map +1 -1
  497. package/cjs/lib/dom/getFocusableElements.js +33 -33
  498. package/cjs/lib/dom/getFocusableElements.js.map +1 -1
  499. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  500. package/cjs/lib/events/MouseDrag.js +26 -26
  501. package/cjs/lib/events/MouseDrag.js.map +1 -1
  502. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  503. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  504. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  505. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  506. package/cjs/lib/events/stopPropagation.js.map +1 -1
  507. package/cjs/lib/events/tabListener.js.map +1 -1
  508. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  509. package/cjs/lib/filterProps.js.map +1 -1
  510. package/cjs/lib/listenFocusOutside.js +9 -9
  511. package/cjs/lib/listenFocusOutside.js.map +1 -1
  512. package/cjs/lib/locale/LOCALECONTEXT.md +246 -246
  513. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  514. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  515. package/cjs/lib/locale/constants.js.map +1 -1
  516. package/cjs/lib/locale/decorators.js.map +1 -1
  517. package/cjs/lib/locale/index.js.map +1 -1
  518. package/cjs/lib/locale/types.js.map +1 -1
  519. package/cjs/lib/memo.js.map +1 -1
  520. package/cjs/lib/net/fetch.js.map +1 -1
  521. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  522. package/cjs/lib/reactGetTextContent.js.map +1 -1
  523. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  524. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  525. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  526. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  527. package/cjs/lib/styles/ColorObject.js.map +1 -1
  528. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  529. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  530. package/cjs/lib/styles/Mixins.js.map +1 -1
  531. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  532. package/cjs/lib/theming/Emotion.js.map +1 -1
  533. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  534. package/cjs/lib/theming/ThemeContext.md +248 -248
  535. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  536. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  537. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  538. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +1 -1
  539. package/cjs/lib/theming/themes/FlatTheme.js.map +1 -1
  540. package/cjs/lib/theming/themes/FlatTheme8px.js.map +1 -1
  541. package/cjs/lib/utils.js +2 -2
  542. package/cjs/lib/utils.js.map +1 -1
  543. package/cjs/typings/console.d.ts +3 -3
  544. package/cjs/typings/event-types.d.ts +4 -4
  545. package/cjs/typings/fonts.d.ts +12 -12
  546. package/cjs/typings/global.d.ts +6 -6
  547. package/cjs/typings/images.d.ts +1 -1
  548. package/cjs/typings/normalize-wheel.d.ts +5 -5
  549. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  550. package/cjs/typings/utility-types.d.ts +14 -14
  551. package/components/Autocomplete/Autocomplete/Autocomplete.js +23 -23
  552. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  553. package/components/Autocomplete/Autocomplete.md +7 -7
  554. package/components/Autocomplete/index/index.js.map +1 -1
  555. package/components/Button/Button/Button.js +4 -4
  556. package/components/Button/Button/Button.js.map +1 -1
  557. package/components/Button/Button.md +89 -89
  558. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  559. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  560. package/components/Button/Corners/Corners.js.map +1 -1
  561. package/components/Button/index/index.js.map +1 -1
  562. package/components/Center/Center/Center.js +3 -3
  563. package/components/Center/Center/Center.js.map +1 -1
  564. package/components/Center/Center.md +5 -5
  565. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  566. package/components/Center/index/index.js.map +1 -1
  567. package/components/Checkbox/Checkbox/Checkbox.js +9 -9
  568. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  569. package/components/Checkbox/Checkbox.md +63 -63
  570. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  571. package/components/Checkbox/index/index.js.map +1 -1
  572. package/components/ComboBox/ComboBox/ComboBox.js +20 -20
  573. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  574. package/components/ComboBox/ComboBox.md +432 -432
  575. package/components/ComboBox/index/index.js.map +1 -1
  576. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  577. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +7 -7
  578. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  579. package/components/CurrencyInput/CurrencyInput.md +20 -20
  580. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  581. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  582. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  583. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  584. package/components/CurrencyInput/constants/constants.js.map +1 -1
  585. package/components/CurrencyInput/index/index.js.map +1 -1
  586. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  587. package/components/CurrencyLabel/index/index.js.map +1 -1
  588. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  589. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  590. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  591. package/components/DateInput/DateInput.md +104 -104
  592. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  593. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  594. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  595. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  596. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  597. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  598. package/components/DateInput/index/index.js.map +1 -1
  599. package/components/DatePicker/DatePicker/DatePicker.js +15 -15
  600. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  601. package/components/DatePicker/DatePicker.md +310 -310
  602. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  603. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  604. package/components/DatePicker/Picker/Picker.js.map +1 -1
  605. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  606. package/components/DatePicker/index/index.js.map +1 -1
  607. package/components/DatePicker/locale/index/index.js.map +1 -1
  608. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  609. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  610. package/components/Dropdown/Dropdown/Dropdown.js +24 -24
  611. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  612. package/components/Dropdown/Dropdown.md +12 -12
  613. package/components/Dropdown/index/index.js.map +1 -1
  614. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -2
  615. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  616. package/components/DropdownMenu/DropdownMenu.md +73 -73
  617. package/components/DropdownMenu/index/index.js.map +1 -1
  618. package/components/Fias/Fias/Fias.js +2 -2
  619. package/components/Fias/Fias/Fias.js.map +1 -1
  620. package/components/Fias/Fias.md +451 -451
  621. package/components/Fias/Fias.styles/Fias.styles.js.map +1 -1
  622. package/components/Fias/FiasModal/FiasModal.js.map +1 -1
  623. package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js +2 -2
  624. package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js.map +1 -1
  625. package/components/Fias/FiasSearch/FiasSearch.md +78 -78
  626. package/components/Fias/Form/FiasComboBox/FiasComboBox.js.map +1 -1
  627. package/components/Fias/Form/FiasCountrySelector/FiasCountrySelector.js.map +1 -1
  628. package/components/Fias/Form/FiasForm/FiasForm.js.map +1 -1
  629. package/components/Fias/Form/FiasForm.styles/FiasForm.styles.js.map +1 -1
  630. package/components/Fias/api/FiasAPI/FiasAPI.js.map +1 -1
  631. package/components/Fias/api/FiasAPIResultFactory/FiasAPIResultFactory.js.map +1 -1
  632. package/components/Fias/api/FiasMockAPI/FiasMockAPI.js.map +1 -1
  633. package/components/Fias/api/data.json +285 -285
  634. package/components/Fias/constants/abbreviations/abbreviations.js.map +1 -1
  635. package/components/Fias/index/index.js.map +1 -1
  636. package/components/Fias/locale/index/index.js.map +1 -1
  637. package/components/Fias/locale/locales/ru/ru.js.map +1 -1
  638. package/components/Fias/logger/FiasLogger/FiasLogger.js.map +1 -1
  639. package/components/Fias/models/FiasAddress/FiasAddress.js.map +1 -1
  640. package/components/Fias/models/FiasAddressElement/FiasAddressElement.js.map +1 -1
  641. package/components/Fias/models/FiasData/FiasData.js.map +1 -1
  642. package/components/Fias/types/types.js.map +1 -1
  643. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  644. package/components/FxInput/FxInput.md +13 -13
  645. package/components/FxInput/index/index.js.map +1 -1
  646. package/components/Gapped/Gapped/Gapped.js +8 -8
  647. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  648. package/components/Gapped/index/index.js.map +1 -1
  649. package/components/Group/Group/Group.js.map +1 -1
  650. package/components/Group/Group.md +26 -26
  651. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  652. package/components/Group/index/index.js.map +1 -1
  653. package/components/Hint/Hint/Hint.js.map +1 -1
  654. package/components/Hint/Hint.md +3 -3
  655. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  656. package/components/Hint/index/index.js.map +1 -1
  657. package/components/Input/Input/Input.js +13 -13
  658. package/components/Input/Input/Input.js.map +1 -1
  659. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  660. package/components/Input/index/index.js.map +1 -1
  661. package/components/Kebab/Kebab/Kebab.js +6 -6
  662. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  663. package/components/Kebab/Kebab.md +45 -45
  664. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  665. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  666. package/components/Kebab/index/index.js.map +1 -1
  667. package/components/Link/Link/Link.js +5 -5
  668. package/components/Link/Link/Link.js.map +1 -1
  669. package/components/Link/Link.md +11 -11
  670. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  671. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  672. package/components/Link/index/index.js.map +1 -1
  673. package/components/Loader/Loader/Loader.js +20 -20
  674. package/components/Loader/Loader/Loader.js.map +1 -1
  675. package/components/Loader/Loader.md +25 -25
  676. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  677. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  678. package/components/Loader/index/index.js.map +1 -1
  679. package/components/LocaleProvider/LocaleProvider/LocaleProvider.js.map +1 -1
  680. package/components/LocaleProvider/index/index.js.map +1 -1
  681. package/components/Logotype/Logotype/Logotype.js +2 -2
  682. package/components/Logotype/Logotype/Logotype.js.map +1 -1
  683. package/components/Logotype/Logotype.md +33 -33
  684. package/components/Logotype/Logotype.styles/Logotype.styles.js.map +1 -1
  685. package/components/Logotype/ProductWidget/ProductWidget.js.map +1 -1
  686. package/components/Logotype/index/index.js.map +1 -1
  687. package/components/Logotype/locale/index/index.js.map +1 -1
  688. package/components/Logotype/locale/locales/en/en.js.map +1 -1
  689. package/components/Logotype/locale/locales/ru/ru.js.map +1 -1
  690. package/components/MenuHeader/MenuHeader/MenuHeader.js +2 -2
  691. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  692. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  693. package/components/MenuHeader/index/index.js.map +1 -1
  694. package/components/MenuItem/MenuItem/MenuItem.js +2 -2
  695. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  696. package/components/MenuItem/MenuItem.md +7 -7
  697. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  698. package/components/MenuItem/index/index.js.map +1 -1
  699. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +2 -2
  700. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  701. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  702. package/components/MenuSeparator/index/index.js.map +1 -1
  703. package/components/Modal/Modal/Modal.js +13 -13
  704. package/components/Modal/Modal/Modal.js.map +1 -1
  705. package/components/Modal/Modal.md +37 -37
  706. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  707. package/components/Modal/ModalBody/ModalBody.js +4 -4
  708. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  709. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  710. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  711. package/components/Modal/ModalFooter/ModalFooter.js +4 -4
  712. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  713. package/components/Modal/ModalHeader/ModalHeader.js +4 -4
  714. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  715. package/components/Modal/helpers/helpers.js.map +1 -1
  716. package/components/Modal/index/index.js.map +1 -1
  717. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  718. package/components/Paging/Paging/Paging.js +10 -10
  719. package/components/Paging/Paging/Paging.js.map +1 -1
  720. package/components/Paging/Paging.md +43 -43
  721. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  722. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  723. package/components/Paging/index/index.js.map +1 -1
  724. package/components/Paging/locale/index/index.js.map +1 -1
  725. package/components/Paging/locale/locales/en/en.js.map +1 -1
  726. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  727. package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -6
  728. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  729. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  730. package/components/PasswordInput/index/index.js.map +1 -1
  731. package/components/Radio/Radio/Radio.js +4 -4
  732. package/components/Radio/Radio/Radio.js.map +1 -1
  733. package/components/Radio/Radio.md +14 -14
  734. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  735. package/components/Radio/index/index.js.map +1 -1
  736. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  737. package/components/RadioGroup/RadioGroup/RadioGroup.js +46 -46
  738. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  739. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  740. package/components/RadioGroup/index/index.js.map +1 -1
  741. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -6
  742. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  743. package/components/ScrollContainer/ScrollContainer.md +94 -94
  744. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  745. package/components/ScrollContainer/index/index.js.map +1 -1
  746. package/components/Select/Item/Item.js.map +1 -1
  747. package/components/Select/Select/Select.js +2 -2
  748. package/components/Select/Select/Select.js.map +1 -1
  749. package/components/Select/Select.md +23 -23
  750. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  751. package/components/Select/index/index.js.map +1 -1
  752. package/components/Select/locale/index/index.js.map +1 -1
  753. package/components/Select/locale/locales/en/en.js.map +1 -1
  754. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  755. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  756. package/components/SidePage/SidePage/SidePage.js +22 -15
  757. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  758. package/components/SidePage/SidePage.d.ts +2 -0
  759. package/components/SidePage/SidePage.md +48 -48
  760. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  761. package/components/SidePage/SidePageBody/SidePageBody.js +4 -4
  762. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  763. package/components/SidePage/SidePageContainer/SidePageContainer.js +4 -4
  764. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  765. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  766. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  767. package/components/SidePage/SidePageContext.d.ts +2 -0
  768. package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
  769. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  770. package/components/SidePage/SidePageHeader/SidePageHeader.js +23 -6
  771. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  772. package/components/SidePage/SidePageHeader.d.ts +5 -0
  773. package/components/SidePage/helpers/helpers.js.map +1 -1
  774. package/components/SidePage/index/index.js.map +1 -1
  775. package/components/Spinner/Spinner/Spinner.js +16 -16
  776. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  777. package/components/Spinner/Spinner.md +34 -34
  778. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  779. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  780. package/components/Spinner/index/index.js.map +1 -1
  781. package/components/Spinner/locale/index/index.js.map +1 -1
  782. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  783. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  784. package/components/Sticky/Sticky/Sticky.js +4 -4
  785. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  786. package/components/Sticky/Sticky.d.ts +1 -1
  787. package/components/Sticky/Sticky.md +27 -27
  788. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  789. package/components/Sticky/index/index.js.map +1 -1
  790. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  791. package/components/Switcher/Switcher.md +10 -10
  792. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  793. package/components/Switcher/index/index.js.map +1 -1
  794. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  795. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  796. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  797. package/components/Tabs/Tab/Tab.js +14 -14
  798. package/components/Tabs/Tab/Tab.js.map +1 -1
  799. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  800. package/components/Tabs/Tabs/Tabs.js +4 -4
  801. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  802. package/components/Tabs/Tabs.md +36 -36
  803. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  804. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  805. package/components/Tabs/index/index.js.map +1 -1
  806. package/components/Textarea/Textarea/Textarea.js +12 -12
  807. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  808. package/components/Textarea/Textarea.md +25 -25
  809. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  810. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  811. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  812. package/components/Textarea/index/index.js.map +1 -1
  813. package/components/ThemeConsumer/ThemeConsumer/ThemeConsumer.js.map +1 -1
  814. package/components/ThemeConsumer/index/index.js.map +1 -1
  815. package/components/ThemeProvider/ThemeProvider/ThemeProvider.js.map +1 -1
  816. package/components/ThemeProvider/index/index.js.map +1 -1
  817. package/components/Toast/Toast/Toast.js +19 -19
  818. package/components/Toast/Toast/Toast.js.map +1 -1
  819. package/components/Toast/Toast.md +41 -41
  820. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  821. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  822. package/components/Toast/ToastView/ToastView.js +4 -4
  823. package/components/Toast/ToastView/ToastView.js.map +1 -1
  824. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  825. package/components/Toast/index/index.js.map +1 -1
  826. package/components/Toggle/Toggle/Toggle.js +2 -2
  827. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  828. package/components/Toggle/Toggle.md +24 -24
  829. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  830. package/components/Toggle/index/index.js.map +1 -1
  831. package/components/Token/Token/Token.js.map +1 -1
  832. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  833. package/components/Token/index/index.js.map +1 -1
  834. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -3
  835. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  836. package/components/TokenInput/TokenInput/TokenInput.js +28 -17
  837. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  838. package/components/TokenInput/TokenInput.md +77 -77
  839. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  840. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  841. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  842. package/components/TokenInput/index/index.js.map +1 -1
  843. package/components/TokenInput/locale/index/index.js.map +1 -1
  844. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  845. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  846. package/components/Tooltip/Tooltip/Tooltip.js +8 -8
  847. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  848. package/components/Tooltip/Tooltip.md +301 -301
  849. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  850. package/components/Tooltip/index/index.js.map +1 -1
  851. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -7
  852. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  853. package/components/TooltipMenu/TooltipMenu.md +115 -115
  854. package/components/TooltipMenu/index/index.js.map +1 -1
  855. package/components/TopBar/TopBar/TopBar.js +38 -38
  856. package/components/TopBar/TopBar/TopBar.js.map +1 -1
  857. package/components/TopBar/TopBar.md +111 -111
  858. package/components/TopBar/TopBar.styles/TopBar.styles.js.map +1 -1
  859. package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js +4 -4
  860. package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js.map +1 -1
  861. package/components/TopBar/TopBarDivider/TopBarDivider.js +4 -4
  862. package/components/TopBar/TopBarDivider/TopBarDivider.js.map +1 -1
  863. package/components/TopBar/TopBarDropdown/TopBarDropdown.js +4 -4
  864. package/components/TopBar/TopBarDropdown/TopBarDropdown.js.map +1 -1
  865. package/components/TopBar/TopBarEnd/TopBarEnd.js +4 -4
  866. package/components/TopBar/TopBarEnd/TopBarEnd.js.map +1 -1
  867. package/components/TopBar/TopBarItem/TopBarItem.js +4 -4
  868. package/components/TopBar/TopBarItem/TopBarItem.js.map +1 -1
  869. package/components/TopBar/TopBarLogout/TopBarLogout.js +4 -4
  870. package/components/TopBar/TopBarLogout/TopBarLogout.js.map +1 -1
  871. package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js +4 -4
  872. package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js.map +1 -1
  873. package/components/TopBar/TopBarStart/TopBarStart.js +4 -4
  874. package/components/TopBar/TopBarStart/TopBarStart.js.map +1 -1
  875. package/components/TopBar/TopBarUser/TopBarUser.js +6 -6
  876. package/components/TopBar/TopBarUser/TopBarUser.js.map +1 -1
  877. package/components/TopBar/index/index.js.map +1 -1
  878. package/components/TopBar/locale/index/index.js.map +1 -1
  879. package/components/TopBar/locale/locales/en/en.js.map +1 -1
  880. package/components/TopBar/locale/locales/ru/ru.js.map +1 -1
  881. package/index.js.map +1 -1
  882. package/internal/BGRuler/BGRuler.js +5 -5
  883. package/internal/BGRuler/BGRuler.js.map +1 -1
  884. package/internal/Calendar/Calendar/Calendar.js +3 -3
  885. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  886. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  887. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  888. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  889. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  890. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  891. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  892. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  893. package/internal/Calendar/Month/Month.js.map +1 -1
  894. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  895. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  896. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  897. package/internal/Calendar/config/config.js.map +1 -1
  898. package/internal/Calendar/index/index.js.map +1 -1
  899. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  900. package/internal/CommonWrapper/index/index.js.map +1 -1
  901. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  902. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  903. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  904. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  905. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -10
  906. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  907. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  908. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  909. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  910. package/internal/CustomComboBox/index/index.js.map +1 -1
  911. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  912. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  913. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  914. package/internal/DateSelect/DateSelect/DateSelect.js +2 -2
  915. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  916. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  917. package/internal/DateSelect/index/index.js.map +1 -1
  918. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  919. package/internal/DropdownContainer/index/index.js.map +1 -1
  920. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  921. package/internal/FocusTrap/index/index.js.map +1 -1
  922. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  923. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  924. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  925. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  926. package/internal/InputLikeText/HiddenInput/HiddenInput.js +4 -4
  927. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  928. package/internal/InputLikeText/InputLikeText/InputLikeText.js +6 -6
  929. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  930. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  931. package/internal/InputLikeText/index/index.js.map +1 -1
  932. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  933. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  934. package/internal/InternalMenu/index/index.js.map +1 -1
  935. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  936. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +6 -6
  937. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  938. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  939. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  940. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  941. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  942. package/internal/MaskedInput/index/index.js.map +1 -1
  943. package/internal/Menu/Menu/Menu.js +10 -10
  944. package/internal/Menu/Menu/Menu.js.map +1 -1
  945. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  946. package/internal/Menu/index/index.js.map +1 -1
  947. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  948. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  949. package/internal/Popup/Popup/Popup.js +31 -31
  950. package/internal/Popup/Popup/Popup.js.map +1 -1
  951. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  952. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  953. package/internal/Popup/PopupPin/PopupPin.js +16 -16
  954. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  955. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  956. package/internal/Popup/index/index.js.map +1 -1
  957. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  958. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  959. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
  960. package/internal/PopupMenu/index/index.js.map +1 -1
  961. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  962. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  963. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  964. package/internal/RenderContainer/index/index.js.map +1 -1
  965. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  966. package/internal/RenderLayer/index/index.js.map +1 -1
  967. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  968. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  969. package/internal/ResizeDetector/index/index.js.map +1 -1
  970. package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js +12 -12
  971. package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js.map +1 -1
  972. package/internal/SpinnerOld/SpinnerOld.styles/SpinnerOld.styles.js.map +1 -1
  973. package/internal/SpinnerOld/SpinnerOldCloudIcon/SpinnerOldCloudIcon.js.map +1 -1
  974. package/internal/SpinnerOld/index/index.js.map +1 -1
  975. package/internal/SpinnerOld/locale/index/index.js.map +1 -1
  976. package/internal/SpinnerOld/locale/locales/en/en.js.map +1 -1
  977. package/internal/SpinnerOld/locale/locales/ru/ru.js.map +1 -1
  978. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  979. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  980. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
  981. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  982. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  983. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  984. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  985. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  986. package/internal/ThemePlayground/Playground.md +7 -7
  987. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  988. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  989. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  990. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  991. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  992. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  993. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  994. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  995. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  996. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  997. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  998. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  999. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1000. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1001. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1002. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1003. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1004. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1005. package/internal/ZIndex/index/index.js.map +1 -1
  1006. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1007. package/internal/icons/16px/index/index.js.map +1 -1
  1008. package/internal/icons/20px/Icon/Icon.js +2 -2
  1009. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1010. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1011. package/internal/icons/20px/index/index.js.map +1 -1
  1012. package/internal/icons/20px/svg/svg.js.map +1 -1
  1013. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1014. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1015. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1016. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1017. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1018. package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
  1019. package/internal/themes/Theme8px/Theme8px.js.map +1 -1
  1020. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1021. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1022. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1023. package/lib/MockDate/MockDate.js.map +1 -1
  1024. package/lib/ModalStack/ModalStack.js +4 -4
  1025. package/lib/ModalStack/ModalStack.js.map +1 -1
  1026. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1027. package/lib/Supports/Supports.js.map +1 -1
  1028. package/lib/Upgrades/Upgrades.js.map +1 -1
  1029. package/lib/animation/index/index.js.map +1 -1
  1030. package/lib/animation/presets/presets.js.map +1 -1
  1031. package/lib/animation/stepper/stepper.js.map +1 -1
  1032. package/lib/client/client.js.map +1 -1
  1033. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1034. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1035. package/lib/date/InternalDate/InternalDate.js +3 -3
  1036. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1037. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1038. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1039. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1040. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1041. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1042. package/lib/date/constants/constants.js.map +1 -1
  1043. package/lib/date/localeSets/localeSets.js.map +1 -1
  1044. package/lib/date/types/types.js.map +1 -1
  1045. package/lib/dom/getFocusableElements/getFocusableElements.js +33 -33
  1046. package/lib/dom/getFocusableElements/getFocusableElements.js.map +1 -1
  1047. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1048. package/lib/events/MouseDrag/MouseDrag.js +26 -26
  1049. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1050. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1051. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1052. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1053. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1054. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1055. package/lib/events/tabListener/tabListener.js.map +1 -1
  1056. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1057. package/lib/filterProps/filterProps.js.map +1 -1
  1058. package/lib/listenFocusOutside/listenFocusOutside.js +9 -9
  1059. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1060. package/lib/locale/LOCALECONTEXT.md +246 -246
  1061. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1062. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1063. package/lib/locale/constants/constants.js.map +1 -1
  1064. package/lib/locale/decorators/decorators.js.map +1 -1
  1065. package/lib/locale/index/index.js.map +1 -1
  1066. package/lib/locale/types/types.js.map +1 -1
  1067. package/lib/memo/memo.js.map +1 -1
  1068. package/lib/net/fetch/fetch.js.map +1 -1
  1069. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1070. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1071. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1072. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1073. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1074. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1075. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1076. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1077. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1078. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1079. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1080. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1081. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1082. package/lib/theming/ThemeContext.md +248 -248
  1083. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1084. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1085. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1086. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +1 -1
  1087. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +1 -1
  1088. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +1 -1
  1089. package/lib/utils/utils.js +2 -2
  1090. package/lib/utils/utils.js.map +1 -1
  1091. package/package.json +2 -5
  1092. package/typings/console.d.ts +3 -3
  1093. package/typings/event-types.d.ts +4 -4
  1094. package/typings/fonts.d.ts +12 -12
  1095. package/typings/global.d.ts +6 -6
  1096. package/typings/images.d.ts +1 -1
  1097. package/typings/normalize-wheel.d.ts +5 -5
  1098. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1099. package/typings/utility-types.d.ts +14 -14
@@ -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 +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"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\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(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"]}
@@ -44,13 +44,13 @@ var _CurrencyInputKeyboardActions = require("./CurrencyInputKeyboardActions");
44
44
 
45
45
 
46
46
 
47
- /**
48
- * Поле для денежных сумм (и других числовых значений).
49
- * Принимает любые свойства `Input`.
50
- *
51
- * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
52
- * <br/>
53
- * Если `fractionDigits=15`, то в целой части допускается **0**.
47
+ /**
48
+ * Поле для денежных сумм (и других числовых значений).
49
+ * Принимает любые свойства `Input`.
50
+ *
51
+ * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
52
+ * <br/>
53
+ * Если `fractionDigits=15`, то в целой части допускается **0**.
54
54
  */var
55
55
  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.
56
56
 
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInput.tsx"],"names":["CurrencyInput","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","input","tempSelectionForOnChange","SelectionHelper","fromPosition","renderMain","signed","onSubmit","integerDigits","rest","placeholder","CurrencyHelper","format","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","focus","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","isIE11","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","CurrencyInputHelper","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","getInputSelectionFromEvent","direction","step","position","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLenght","onFocus","onBlur","element","componentDidMount","maxLength","undefined","MAX_SAFE_DIGITS","UNSAFE_componentWillReceiveProps","nextProps","componentDidUpdate","setSelectionRange","render","normilized","normalizeSelection","React","Component","__KONTUR_REACT_UI__","propTypes","align","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","warning","width","oneOfType","func","isRequired","defaultProps","inputMode","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport warning from 'warning';\r\nimport debounce from 'lodash.debounce';\r\n\r\nimport { isIE11 } from '../../lib/client';\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 inputMode: 'decimal',\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 setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\r\n const selection = getInputSelectionFromEvent(event.target);\r\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\r\n this.setState({ selection: normilized });\r\n }\r\n\r\n // for IE11\r\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\r\n\r\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\r\n if (isIE11) {\r\n event.persist();\r\n this.debouncedSetSelectionFromEvent(event);\r\n } else {\r\n this.setSelectionFromEvent(event);\r\n }\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 = getInputSelectionFromEvent(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 getInputSelectionFromEvent(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","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","input","tempSelectionForOnChange","SelectionHelper","fromPosition","renderMain","signed","onSubmit","integerDigits","rest","placeholder","CurrencyHelper","format","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","focus","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","isIE11","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","CurrencyInputHelper","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","getInputSelectionFromEvent","direction","step","position","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLenght","onFocus","onBlur","element","componentDidMount","maxLength","undefined","MAX_SAFE_DIGITS","UNSAFE_componentWillReceiveProps","nextProps","componentDidUpdate","setSelectionRange","render","normilized","normalizeSelection","React","Component","__KONTUR_REACT_UI__","propTypes","align","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","warning","width","oneOfType","func","isRequired","defaultProps","inputMode","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\n\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\nexport interface CurrencyInputProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros: boolean;\n /** Кол-во цифр после зяпятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\n/**\n * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\nexport class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: PropTypes.number,\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n public state: CurrencyInputState = {\n ...this.getState(this.props.value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n\n public componentDidMount(): void {\n const { maxLength, integerDigits, fractionDigits } = this.props;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps) {\n const { value, fractionDigits, hideTrailingZeros } = nextProps;\n if (value !== CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {\n const state = this.getState(value, fractionDigits, hideTrailingZeros);\n this.setState(state);\n }\n }\n\n public componentDidUpdate() {\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n }\n\n public render() {\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n const placeholder =\n this.props.placeholder == null\n ? CurrencyHelper.format(0, { fractionDigits, hideTrailingZeros })\n : this.props.placeholder;\n\n return (\n <Input\n {...rest}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : placeholder}\n />\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.props.fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (delta != null && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLenght = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLenght,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLenght,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!(input instanceof HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n return {\n start: input.selectionStart!,\n end: input.selectionEnd!,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n"]}
@@ -1,20 +1,20 @@
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
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 +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":"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","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":";;;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';\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,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';\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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["CursorHelper.tsx"],"names":["CursorHelper","normalizePosition","map","position","Math","min","max","length","calculatePosition","step","Error","raw","toRawPosition","toFormattedPosition","extendSelection","selection","normalizeSelection","direction","start","end","formattedPosition","count","Set","slice","size","rawPosition","unique","add"],"mappings":"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","sourcesContent":["import { Selection } from './SelectionHelper';\r\n\r\nexport type CursorMap = number[];\r\n\r\nexport class CursorHelper {\r\n public static normalizePosition(map: CursorMap, position: number): number {\r\n return map[Math.min(Math.max(0, position), map.length - 1)];\r\n }\r\n\r\n public static calculatePosition(map: CursorMap, position: number, step: number) {\r\n if (position < 0 || map.length <= position) {\r\n throw new Error(`position out of range [${0} .. ${map.length - 1}], actual value: ${position}`);\r\n }\r\n const raw = CursorHelper.toRawPosition(map, position);\r\n return CursorHelper.toFormattedPosition(map, raw + step);\r\n }\r\n\r\n public static extendSelection(map: CursorMap, selection: Selection, step: number) {\r\n selection = CursorHelper.normalizeSelection(map, selection);\r\n\r\n selection =\r\n selection.direction === 'backward'\r\n ? {\r\n start: CursorHelper.calculatePosition(map, selection.start, step),\r\n end: selection.end,\r\n direction: 'backward',\r\n }\r\n : {\r\n start: selection.start,\r\n end: CursorHelper.calculatePosition(map, selection.end, step),\r\n direction: 'forward',\r\n };\r\n\r\n return CursorHelper.normalizeSelection(map, selection);\r\n }\r\n\r\n public static normalizeSelection(map: CursorMap, selection: Selection): Selection {\r\n const start = CursorHelper.normalizePosition(map, selection.start);\r\n const end = CursorHelper.normalizePosition(map, selection.end);\r\n\r\n if (start === end) {\r\n return {\r\n start,\r\n end,\r\n direction: 'none',\r\n };\r\n }\r\n\r\n if (start < end) {\r\n return {\r\n start,\r\n end,\r\n direction: selection.direction === 'backward' ? 'backward' : 'forward',\r\n };\r\n }\r\n\r\n return {\r\n start: end,\r\n end: start,\r\n direction: selection.direction === 'backward' ? 'forward' : 'backward',\r\n };\r\n }\r\n\r\n public static toRawPosition(map: CursorMap, formattedPosition: number) {\r\n const count = Math.min(Math.max(0, formattedPosition), map.length - 1);\r\n return new Set(map.slice(0, count + 1)).size - 1;\r\n }\r\n\r\n public static toFormattedPosition(map: CursorMap, rawPosition: number) {\r\n const count = Math.max(0, rawPosition) + 1;\r\n const unique = new Set();\r\n\r\n for (const position of map) {\r\n unique.add(position);\r\n if (unique.size === count) {\r\n return position;\r\n }\r\n }\r\n\r\n return map[map.length - 1];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["CursorHelper.tsx"],"names":["CursorHelper","normalizePosition","map","position","Math","min","max","length","calculatePosition","step","Error","raw","toRawPosition","toFormattedPosition","extendSelection","selection","normalizeSelection","direction","start","end","formattedPosition","count","Set","slice","size","rawPosition","unique","add"],"mappings":"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","sourcesContent":["import { Selection } from './SelectionHelper';\n\nexport type CursorMap = number[];\n\nexport class CursorHelper {\n public static normalizePosition(map: CursorMap, position: number): number {\n return map[Math.min(Math.max(0, position), map.length - 1)];\n }\n\n public static calculatePosition(map: CursorMap, position: number, step: number) {\n if (position < 0 || map.length <= position) {\n throw new Error(`position out of range [${0} .. ${map.length - 1}], actual value: ${position}`);\n }\n const raw = CursorHelper.toRawPosition(map, position);\n return CursorHelper.toFormattedPosition(map, raw + step);\n }\n\n public static extendSelection(map: CursorMap, selection: Selection, step: number) {\n selection = CursorHelper.normalizeSelection(map, selection);\n\n selection =\n selection.direction === 'backward'\n ? {\n start: CursorHelper.calculatePosition(map, selection.start, step),\n end: selection.end,\n direction: 'backward',\n }\n : {\n start: selection.start,\n end: CursorHelper.calculatePosition(map, selection.end, step),\n direction: 'forward',\n };\n\n return CursorHelper.normalizeSelection(map, selection);\n }\n\n public static normalizeSelection(map: CursorMap, selection: Selection): Selection {\n const start = CursorHelper.normalizePosition(map, selection.start);\n const end = CursorHelper.normalizePosition(map, selection.end);\n\n if (start === end) {\n return {\n start,\n end,\n direction: 'none',\n };\n }\n\n if (start < end) {\n return {\n start,\n end,\n direction: selection.direction === 'backward' ? 'backward' : 'forward',\n };\n }\n\n return {\n start: end,\n end: start,\n direction: selection.direction === 'backward' ? 'forward' : 'backward',\n };\n }\n\n public static toRawPosition(map: CursorMap, formattedPosition: number) {\n const count = Math.min(Math.max(0, formattedPosition), map.length - 1);\n return new Set(map.slice(0, count + 1)).size - 1;\n }\n\n public static toFormattedPosition(map: CursorMap, rawPosition: number) {\n const count = Math.max(0, rawPosition) + 1;\n const unique = new Set();\n\n for (const position of map) {\n unique.add(position);\n if (unique.size === count) {\n return position;\n }\n }\n\n return map[map.length - 1];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["SelectionHelper.tsx"],"names":["SelectionHelper","fromPosition","position","start","end","direction","backward","forward"],"mappings":";;;;;;;;AAQaA,e,2EAAAA,e;AACGC,Y,GAAe,UAACC,QAAD,EAAiC;AAC5D,SAAO,EAAEC,KAAK,EAAED,QAAT,EAAmBE,GAAG,EAAEF,QAAxB,EAAkCG,SAAS,EAAE,MAA7C,EAAP;AACD,C,CAHUL,e;;AAKGM,Q,GAAW,UAACH,KAAD,EAAgBC,GAAhB,EAA2C;AAClE,SAAO,EAAED,KAAK,EAALA,KAAF,EAASC,GAAG,EAAHA,GAAT,EAAcC,SAAS,EAAE,UAAzB,EAAP;AACD,C,CAPUL,e;;AASGO,O,GAAU,UAACJ,KAAD,EAAgBC,GAAhB,EAA2C;AACjE,SAAO,EAAED,KAAK,EAALA,KAAF,EAASC,GAAG,EAAHA,GAAT,EAAcC,SAAS,EAAE,SAAzB,EAAP;AACD,C","sourcesContent":["export interface Selection {\r\n start: number;\r\n end: number;\r\n direction: SelectionDirection;\r\n}\r\n\r\nexport type SelectionDirection = 'forward' | 'backward' | 'none';\r\n\r\nexport class SelectionHelper {\r\n public static fromPosition = (position: number): Selection => {\r\n return { start: position, end: position, direction: 'none' };\r\n };\r\n\r\n public static backward = (start: number, end: number): Selection => {\r\n return { start, end, direction: 'backward' };\r\n };\r\n\r\n public static forward = (start: number, end: number): Selection => {\r\n return { start, end, direction: 'forward' };\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["SelectionHelper.tsx"],"names":["SelectionHelper","fromPosition","position","start","end","direction","backward","forward"],"mappings":";;;;;;;;AAQaA,e,2EAAAA,e;AACGC,Y,GAAe,UAACC,QAAD,EAAiC;AAC5D,SAAO,EAAEC,KAAK,EAAED,QAAT,EAAmBE,GAAG,EAAEF,QAAxB,EAAkCG,SAAS,EAAE,MAA7C,EAAP;AACD,C,CAHUL,e;;AAKGM,Q,GAAW,UAACH,KAAD,EAAgBC,GAAhB,EAA2C;AAClE,SAAO,EAAED,KAAK,EAALA,KAAF,EAASC,GAAG,EAAHA,GAAT,EAAcC,SAAS,EAAE,UAAzB,EAAP;AACD,C,CAPUL,e;;AASGO,O,GAAU,UAACJ,KAAD,EAAgBC,GAAhB,EAA2C;AACjE,SAAO,EAAED,KAAK,EAALA,KAAF,EAASC,GAAG,EAAHA,GAAT,EAAcC,SAAS,EAAE,SAAzB,EAAP;AACD,C","sourcesContent":["export interface Selection {\n start: number;\n end: number;\n direction: SelectionDirection;\n}\n\nexport type SelectionDirection = 'forward' | 'backward' | 'none';\n\nexport class SelectionHelper {\n public static fromPosition = (position: number): Selection => {\n return { start: position, end: position, direction: 'none' };\n };\n\n public static backward = (start: number, end: number): Selection => {\n return { start, end, direction: 'backward' };\n };\n\n public static forward = (start: number, end: number): Selection => {\n return { start, end, direction: 'forward' };\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["constants.ts"],"names":["MAX_SAFE_DIGITS","MAX_ALLOWED_CHARS"],"mappings":"qGAAA;AACO,IAAMA,eAAe,GAAG,EAAxB;;AAEP;AACA;AACA;0CACO,IAAMC,iBAAiB,GAAGD,eAAe,GAAG,CAA5C,C","sourcesContent":["// https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15\r\nexport const MAX_SAFE_DIGITS = 15;\r\n\r\n// + десятичный разделитель\r\n// + целая часть равная нулю\r\n// + знак '-'\r\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\r\n"]}
1
+ {"version":3,"sources":["constants.ts"],"names":["MAX_SAFE_DIGITS","MAX_ALLOWED_CHARS"],"mappings":"qGAAA;AACO,IAAMA,eAAe,GAAG,EAAxB;;AAEP;AACA;AACA;0CACO,IAAMC,iBAAiB,GAAGD,eAAe,GAAG,CAA5C,C","sourcesContent":["// https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15\nexport const MAX_SAFE_DIGITS = 15;\n\n// + десятичный разделитель\n// + целая часть равная нулю\n// + знак '-'\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './CurrencyInput';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './CurrencyInput';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyLabel.tsx"],"names":["defaultProps","fractionDigits","CurrencyLabel","props","value","currencySymbol","CurrencyHelper","format","String","fromCharCode","__KONTUR_REACT_UI__","propTypes","MAX_SAFE_DIGITS","Error","destructString","fraction","length","Number","isInteger"],"mappings":"kLAAA;;AAEA;AACA;AACA;;;;;;;;;;;;AAYO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,cAAc,EAAE,CADU,EAArB,C;;;AAIA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA4C;AAC/DC,EAAAA,KAD+D,GACrBD,KADqB,CAC/DC,KAD+D,CACxDH,cADwD,GACrBE,KADqB,CACxDF,cADwD,CACxCI,cADwC,GACrBF,KADqB,CACxCE,cADwC;AAEvE;AACE,iCAAC,4BAAD,EAAmBF,KAAnB;AACE;AACGG,mCAAeC,MAAf,CAAsBH,KAAtB,EAA6B,EAAEH,cAAc,EAAdA,cAAF,EAA7B,CADH;AAEGI,IAAAA,cAAc,IAAIG,MAAM,CAACC,YAAP,CAAoB,IAApB,CAFrB,CAE+C,YAF/C;AAGGJ,IAAAA,cAHH,CADF,CADF;;;;AASD,CAXM,C;;AAaPH,aAAa,CAACQ,mBAAd,GAAoC,eAApC;;AAEAR,aAAa,CAACF,YAAd,GAA6BA,YAA7B;;AAEAE,aAAa,CAACS,SAAd,GAA0B;AACxBV,EAAAA,cAAc,EAAE,wBAACE,KAAD,EAAqD;AACnE,QAAIA,KAAK,CAACF,cAAN,GAAuBW,0BAA3B,EAA4C;AAC1C,aAAO,IAAIC,KAAJ;AACL,0DAAkDD,0BAAlD,4EADK,CAAP;;;AAID,KANkE;;AAQ9CN,mCAAeQ,cAAf,CAA8BN,MAAM,CAACL,KAAK,CAACC,KAAP,CAApC,KAAsD,EAAEW,QAAQ,EAAE,EAAZ,EARR,CAQ3DA,QAR2D,QAQ3DA,QAR2D;AASnE,QAAIA,QAAQ,CAACC,MAAT,GAAkBb,KAAK,CAACF,cAA5B,EAA4C;AAC1C,aAAO,IAAIY,KAAJ;AACL,gIADK,CAAP;;;AAID;;AAED,QAAI,CAACI,MAAM,CAACC,SAAP,CAAiBf,KAAK,CAACF,cAAvB,CAAL,EAA6C;AAC3C,aAAO,IAAIY,KAAJ,2GAAP;;;AAGD;;AAED,WAAO,IAAP;AACD,GAxBuB,EAA1B","sourcesContent":["import React from 'react';\r\n\r\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\r\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\r\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\r\n\r\nexport interface CurrencyLabelProps extends CommonProps {\r\n /**\r\n * Минимальное количество отображаемых знаков после запятой\r\n * @default 2\r\n */\r\n fractionDigits: number;\r\n value: number;\r\n currencySymbol?: React.ReactNode;\r\n}\r\n\r\nexport const defaultProps = {\r\n fractionDigits: 2,\r\n};\r\n\r\nexport const CurrencyLabel = (props: CurrencyLabelProps): JSX.Element => {\r\n const { value, fractionDigits, currencySymbol } = props;\r\n return (\r\n <CommonWrapper {...props}>\r\n <span>\r\n {CurrencyHelper.format(value, { fractionDigits })}\r\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\r\n {currencySymbol}\r\n </span>\r\n </CommonWrapper>\r\n );\r\n};\r\n\r\nCurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';\r\n\r\nCurrencyLabel.defaultProps = defaultProps;\r\n\r\nCurrencyLabel.propTypes = {\r\n fractionDigits: (props: CurrencyLabelProps & typeof defaultProps) => {\r\n if (props.fractionDigits > MAX_SAFE_DIGITS) {\r\n return new Error(\r\n `[CurrencyLabel]: Prop '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 const { fraction } = CurrencyHelper.destructString(String(props.value)) || { fraction: '' };\r\n if (fraction.length > props.fractionDigits) {\r\n return new Error(\r\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\r\n `'value' will not be cutted`,\r\n );\r\n }\r\n\r\n if (!Number.isInteger(props.fractionDigits)) {\r\n return new Error(\r\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\r\n );\r\n }\r\n\r\n return null;\r\n },\r\n};\r\n"]}
1
+ {"version":3,"sources":["CurrencyLabel.tsx"],"names":["defaultProps","fractionDigits","CurrencyLabel","props","value","currencySymbol","CurrencyHelper","format","String","fromCharCode","__KONTUR_REACT_UI__","propTypes","MAX_SAFE_DIGITS","Error","destructString","fraction","length","Number","isInteger"],"mappings":"kLAAA;;AAEA;AACA;AACA;;;;;;;;;;;;AAYO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,cAAc,EAAE,CADU,EAArB,C;;;AAIA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA4C;AAC/DC,EAAAA,KAD+D,GACrBD,KADqB,CAC/DC,KAD+D,CACxDH,cADwD,GACrBE,KADqB,CACxDF,cADwD,CACxCI,cADwC,GACrBF,KADqB,CACxCE,cADwC;AAEvE;AACE,iCAAC,4BAAD,EAAmBF,KAAnB;AACE;AACGG,mCAAeC,MAAf,CAAsBH,KAAtB,EAA6B,EAAEH,cAAc,EAAdA,cAAF,EAA7B,CADH;AAEGI,IAAAA,cAAc,IAAIG,MAAM,CAACC,YAAP,CAAoB,IAApB,CAFrB,CAE+C,YAF/C;AAGGJ,IAAAA,cAHH,CADF,CADF;;;;AASD,CAXM,C;;AAaPH,aAAa,CAACQ,mBAAd,GAAoC,eAApC;;AAEAR,aAAa,CAACF,YAAd,GAA6BA,YAA7B;;AAEAE,aAAa,CAACS,SAAd,GAA0B;AACxBV,EAAAA,cAAc,EAAE,wBAACE,KAAD,EAAqD;AACnE,QAAIA,KAAK,CAACF,cAAN,GAAuBW,0BAA3B,EAA4C;AAC1C,aAAO,IAAIC,KAAJ;AACL,0DAAkDD,0BAAlD,4EADK,CAAP;;;AAID,KANkE;;AAQ9CN,mCAAeQ,cAAf,CAA8BN,MAAM,CAACL,KAAK,CAACC,KAAP,CAApC,KAAsD,EAAEW,QAAQ,EAAE,EAAZ,EARR,CAQ3DA,QAR2D,QAQ3DA,QAR2D;AASnE,QAAIA,QAAQ,CAACC,MAAT,GAAkBb,KAAK,CAACF,cAA5B,EAA4C;AAC1C,aAAO,IAAIY,KAAJ;AACL,gIADK,CAAP;;;AAID;;AAED,QAAI,CAACI,MAAM,CAACC,SAAP,CAAiBf,KAAK,CAACF,cAAvB,CAAL,EAA6C;AAC3C,aAAO,IAAIY,KAAJ,2GAAP;;;AAGD;;AAED,WAAO,IAAP;AACD,GAxBuB,EAA1B","sourcesContent":["import React from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\n\nexport interface CurrencyLabelProps extends CommonProps {\n /**\n * Минимальное количество отображаемых знаков после запятой\n * @default 2\n */\n fractionDigits: number;\n value: number;\n currencySymbol?: React.ReactNode;\n}\n\nexport const defaultProps = {\n fractionDigits: 2,\n};\n\nexport const CurrencyLabel = (props: CurrencyLabelProps): JSX.Element => {\n const { value, fractionDigits, currencySymbol } = props;\n return (\n <CommonWrapper {...props}>\n <span>\n {CurrencyHelper.format(value, { fractionDigits })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n};\n\nCurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';\n\nCurrencyLabel.defaultProps = defaultProps;\n\nCurrencyLabel.propTypes = {\n fractionDigits: (props: CurrencyLabelProps & typeof defaultProps) => {\n if (props.fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(props.value)) || { fraction: '' };\n if (fraction.length > props.fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(props.fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n\n return null;\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './CurrencyLabel';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './CurrencyLabel';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["DateFragmentsView.tsx"],"names":["DateFragmentsView","theme","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","renderMain","jsStyles","root","props","map","index","type","InternalDateComponentType","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","selected","length","valueWithPad","valueMask","lengthMask","InternalDateValidator","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\n\r\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\r\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\r\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\n\r\nimport { jsStyles } from './DateFragmentsView.styles';\r\n\r\ninterface DateFragmentViewProps {\r\n selected: InternalDateComponentType | null;\r\n fragments: InternalDateFragment[];\r\n inputMode: boolean;\r\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\r\n}\r\n\r\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps, {}> {\r\n private theme!: Theme;\r\n private rootNode: HTMLSpanElement | null = null;\r\n\r\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\r\n if (this.rootNode) {\r\n // NOTE: NodeList doesn't support method 'forEach' in IE11\r\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\r\n return fragments.some(fragment => fragment === el || fragment.contains(el as HTMLSpanElement));\r\n }\r\n return false;\r\n };\r\n\r\n public getRootNode = () => this.rootNode;\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n return (\r\n <span ref={this.rootRef} className={jsStyles.root(this.theme)}>\r\n {this.props.fragments.map((fragment, index) =>\r\n fragment.type === InternalDateComponentType.Separator\r\n ? this.renderSeparator(fragment, index)\r\n : this.renderDateComponent(fragment, index),\r\n )}\r\n </span>\r\n );\r\n }\r\n\r\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\r\n const separatorClassName = cn({\r\n [jsStyles.mask(this.theme)]: true,\r\n [jsStyles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\r\n });\r\n\r\n return (\r\n <span key={index} className={separatorClassName}>\r\n {fragment.value}\r\n </span>\r\n );\r\n }\r\n\r\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\r\n const { inputMode, onSelectDateComponent, selected } = this.props;\r\n const { type, value, length, valueWithPad } = fragment;\r\n\r\n const valueMask = value === null || (selected === type && inputMode) ? value : valueWithPad || value;\r\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\r\n ? Math.max(length - valueMask!.toString().length, 0)\r\n : length;\r\n\r\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\r\n if (document.activeElement && document.activeElement.contains(e.currentTarget)) {\r\n onSelectDateComponent(type, e);\r\n }\r\n };\r\n\r\n return (\r\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\r\n {valueMask}\r\n <span className={jsStyles.mask(this.theme)}>\r\n {Array(lengthMask)\r\n .fill('')\r\n .map((_, i) => (\r\n <MaskCharLowLine key={i} />\r\n ))}\r\n </span>\r\n </span>\r\n );\r\n }\r\n\r\n private rootRef = (el: HTMLSpanElement | null) => {\r\n this.rootNode = el;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["DateFragmentsView.tsx"],"names":["DateFragmentsView","theme","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","renderMain","jsStyles","root","props","map","index","type","InternalDateComponentType","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","selected","length","valueWithPad","valueMask","lengthMask","InternalDateValidator","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { jsStyles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps, {}> {\n private theme!: Theme;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some(fragment => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {theme => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n return (\n <span ref={this.rootRef} className={jsStyles.root(this.theme)}>\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const separatorClassName = cn({\n [jsStyles.mask(this.theme)]: true,\n [jsStyles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const valueMask = value === null || (selected === type && inputMode) ? value : valueWithPad || value;\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask!.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (document.activeElement && document.activeElement.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span className={jsStyles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["DateFragmentsView.styles.ts"],"names":["styles","root","t","css","dateInputComponentSelectedBgColor","selected","mask","dateInputMaskColor","delimiterFilled","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAIkBD,IAAAA,CAAC,CAACE,iCAJpB;;;AAOkBF,IAAAA,CAAC,CAACE,iCAPpB;;;AAUD,GAZY;;AAcbC,EAAAA,QAda,oBAcJH,CAdI,EAcM;AACjB,eAAOC,YAAP;AACkBD,IAAAA,CAAC,CAACE,iCADpB;AAEsBF,IAAAA,CAAC,CAACE,iCAFxB;;AAID,GAnBY;;AAqBbE,EAAAA,IArBa,gBAqBRJ,CArBQ,EAqBE;AACb,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACK,kBADb;;AAGD,GAzBY;;AA2BbC,EAAAA,eA3Ba,6BA2BK;AAChB,eAAOL,YAAP;;;AAGD,GA/BY,EAAf;;;AAkCO,IAAMM,QAAQ,GAAG,2BAAaT,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nconst styles = {\r\n root(t: Theme) {\r\n return css`\r\n cursor: text;\r\n\r\n & ::selection {\r\n background: ${t.dateInputComponentSelectedBgColor};\r\n }\r\n & ::-moz-selection {\r\n background: ${t.dateInputComponentSelectedBgColor};\r\n }\r\n `;\r\n },\r\n\r\n selected(t: Theme) {\r\n return css`\r\n border-color: ${t.dateInputComponentSelectedBgColor};\r\n background-color: ${t.dateInputComponentSelectedBgColor};\r\n `;\r\n },\r\n\r\n mask(t: Theme) {\r\n return css`\r\n color: ${t.dateInputMaskColor};\r\n `;\r\n },\r\n\r\n delimiterFilled() {\r\n return css`\r\n color: inherit !important;\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
1
+ {"version":3,"sources":["DateFragmentsView.styles.ts"],"names":["styles","root","t","css","dateInputComponentSelectedBgColor","selected","mask","dateInputMaskColor","delimiterFilled","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAIkBD,IAAAA,CAAC,CAACE,iCAJpB;;;AAOkBF,IAAAA,CAAC,CAACE,iCAPpB;;;AAUD,GAZY;;AAcbC,EAAAA,QAda,oBAcJH,CAdI,EAcM;AACjB,eAAOC,YAAP;AACkBD,IAAAA,CAAC,CAACE,iCADpB;AAEsBF,IAAAA,CAAC,CAACE,iCAFxB;;AAID,GAnBY;;AAqBbE,EAAAA,IArBa,gBAqBRJ,CArBQ,EAqBE;AACb,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACK,kBADb;;AAGD,GAzBY;;AA2BbC,EAAAA,eA3Ba,6BA2BK;AAChB,eAAOL,YAAP;;;AAGD,GA/BY,EAAf;;;AAkCO,IAAMM,QAAQ,GAAG,2BAAaT,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst styles = {\n root(t: Theme) {\n return css`\n cursor: text;\n\n & ::selection {\n background: ${t.dateInputComponentSelectedBgColor};\n }\n & ::-moz-selection {\n background: ${t.dateInputComponentSelectedBgColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return css`\n border-color: ${t.dateInputComponentSelectedBgColor};\n background-color: ${t.dateInputComponentSelectedBgColor};\n `;\n },\n\n mask(t: Theme) {\n return css`\n color: ${t.dateInputMaskColor};\n `;\n },\n\n delimiterFilled() {\n return css`\n color: inherit !important;\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}