@skbkontur/react-ui 6.1.0 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (707) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  4. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  5. package/components/Autocomplete/index.js.map +1 -1
  6. package/components/Autocomplete/locale/index.js.map +1 -1
  7. package/components/Autocomplete/locale/locales/en.js.map +1 -1
  8. package/components/Autocomplete/locale/locales/ru.js.map +1 -1
  9. package/components/Autocomplete/locale/types.js.map +1 -1
  10. package/components/Button/ArrowLeftIcon.js.map +1 -1
  11. package/components/Button/ArrowRightIcon.js.map +1 -1
  12. package/components/Button/Button.js.map +1 -1
  13. package/components/Button/Button.mixins.js.map +1 -1
  14. package/components/Button/Button.styles.js.map +1 -1
  15. package/components/Button/ButtonArrow.js.map +1 -1
  16. package/components/Button/ButtonIcon.js.map +1 -1
  17. package/components/Button/ButtonIcon.styles.js.map +1 -1
  18. package/components/Button/LoadingButtonIcon.js.map +1 -1
  19. package/components/Button/getInnerLinkTheme.js.map +1 -1
  20. package/components/Button/index.js.map +1 -1
  21. package/components/Calendar/Calendar.js.map +1 -1
  22. package/components/Calendar/Calendar.styles.js.map +1 -1
  23. package/components/Calendar/CalendarContext.js.map +1 -1
  24. package/components/Calendar/CalendarDateShape.js.map +1 -1
  25. package/components/Calendar/CalendarDay.js.map +1 -1
  26. package/components/Calendar/CalendarScrollEvents.js.map +1 -1
  27. package/components/Calendar/CalendarUtils.js.map +1 -1
  28. package/components/Calendar/DayCellView.js.map +1 -1
  29. package/components/Calendar/DayCellView.styles.js.map +1 -1
  30. package/components/Calendar/DayCellViewModel.js.map +1 -1
  31. package/components/Calendar/Month.js.map +1 -1
  32. package/components/Calendar/MonthView.js.map +1 -1
  33. package/components/Calendar/MonthView.styles.js.map +1 -1
  34. package/components/Calendar/MonthViewModel.js.map +1 -1
  35. package/components/Calendar/config.js.map +1 -1
  36. package/components/Calendar/index.js.map +1 -1
  37. package/components/Calendar/locale/locales/en.js.map +1 -1
  38. package/components/Calendar/locale/locales/ru.js.map +1 -1
  39. package/components/Calendar/locale/types.js.map +1 -1
  40. package/components/Center/Center.js.map +1 -1
  41. package/components/Center/Center.styles.js.map +1 -1
  42. package/components/Center/index.js.map +1 -1
  43. package/components/Checkbox/Checkbox.js.map +1 -1
  44. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  45. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  46. package/components/Checkbox/CheckedIcon.js.map +1 -1
  47. package/components/Checkbox/IndeterminateIcon.js.map +1 -1
  48. package/components/Checkbox/index.js.map +1 -1
  49. package/components/ComboBox/ComboBox.js.map +1 -1
  50. package/components/ComboBox/index.js.map +1 -1
  51. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  52. package/components/CurrencyInput/CurrencyInput.js.map +1 -1
  53. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  54. package/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  55. package/components/CurrencyInput/CursorHelper.js.map +1 -1
  56. package/components/CurrencyInput/SelectionHelper.js.map +1 -1
  57. package/components/CurrencyInput/constants.js.map +1 -1
  58. package/components/CurrencyInput/index.js.map +1 -1
  59. package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  60. package/components/CurrencyLabel/index.js.map +1 -1
  61. package/components/DateInput/CalendarIcon.js.map +1 -1
  62. package/components/DateInput/DateFragmentsView.js.map +1 -1
  63. package/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  64. package/components/DateInput/DateInput.js.map +1 -1
  65. package/components/DateInput/DateInput.styles.js.map +1 -1
  66. package/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  67. package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  68. package/components/DateInput/helpers/inputNumber.js.map +1 -1
  69. package/components/DateInput/index.js.map +1 -1
  70. package/components/DatePicker/DatePicker.js.map +1 -1
  71. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  72. package/components/DatePicker/MobilePicker.js.map +1 -1
  73. package/components/DatePicker/MobilePicker.styles.js.map +1 -1
  74. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  75. package/components/DatePicker/index.js.map +1 -1
  76. package/components/DatePicker/locale/index.js.map +1 -1
  77. package/components/DatePicker/locale/locales/en.js.map +1 -1
  78. package/components/DatePicker/locale/locales/ru.js.map +1 -1
  79. package/components/DatePicker/locale/types.js.map +1 -1
  80. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  81. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  82. package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  83. package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  84. package/components/DateRangePicker/DateRangePickerSeparator.js.map +1 -1
  85. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  86. package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
  87. package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  88. package/components/DateRangePicker/index.js.map +1 -1
  89. package/components/DateRangePicker/locale/index.js.map +1 -1
  90. package/components/DateRangePicker/locale/locales/en.js.map +1 -1
  91. package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
  92. package/components/DateRangePicker/locale/types.js.map +1 -1
  93. package/components/Dropdown/Dropdown.js.map +1 -1
  94. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  95. package/components/Dropdown/index.js.map +1 -1
  96. package/components/DropdownMenu/DropdownMenu.js.map +1 -1
  97. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  98. package/components/DropdownMenu/index.js.map +1 -1
  99. package/components/FileUploader/FileUploader.js.map +1 -1
  100. package/components/FileUploader/FileUploader.mixins.js.map +1 -1
  101. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  102. package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
  103. package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
  104. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  105. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -1
  106. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  107. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  108. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  109. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  110. package/components/FileUploader/FileUploaderFileValidationResult.js.map +1 -1
  111. package/components/FileUploader/fileUtils.js.map +1 -1
  112. package/components/FileUploader/hooks/useControlLocale.js.map +1 -1
  113. package/components/FileUploader/hooks/useFileUploaderSize.js.map +1 -1
  114. package/components/FileUploader/hooks/useUpload.js.map +1 -1
  115. package/components/FileUploader/icons/DeleteIcon.js.map +1 -1
  116. package/components/FileUploader/icons/UploadIcon.js.map +1 -1
  117. package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
  118. package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
  119. package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
  120. package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
  121. package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
  122. package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
  123. package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
  124. package/components/FileUploader/icons/row/RowUploadIcon.js.map +1 -1
  125. package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
  126. package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
  127. package/components/FileUploader/icons/row/ValidationErrorIcon.js.map +1 -1
  128. package/components/FileUploader/icons/row/ValidationWarningIcon.js.map +1 -1
  129. package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
  130. package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
  131. package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
  132. package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
  133. package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
  134. package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
  135. package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
  136. package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
  137. package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
  138. package/components/FileUploader/icons/tile/TileUploadIcon.js.map +1 -1
  139. package/components/FileUploader/icons/tile/ValidationErrorIcon.js.map +1 -1
  140. package/components/FileUploader/icons/tile/ValidationWarningIcon.js.map +1 -1
  141. package/components/FileUploader/index.js.map +1 -1
  142. package/components/FileUploader/locale/index.js.map +1 -1
  143. package/components/FileUploader/locale/locales/en.js.map +1 -1
  144. package/components/FileUploader/locale/locales/ru.js.map +1 -1
  145. package/components/FileUploader/locale/types.js.map +1 -1
  146. package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
  147. package/components/FxInput/FxInput.js.map +1 -1
  148. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  149. package/components/FxInput/MathFunctionIcon.js.map +1 -1
  150. package/components/FxInput/UndoIcon.js.map +1 -1
  151. package/components/FxInput/index.js.map +1 -1
  152. package/components/Gapped/Gapped.js.map +1 -1
  153. package/components/Gapped/index.js.map +1 -1
  154. package/components/GlobalLoader/GlobalLoader.js.map +1 -1
  155. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  156. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  157. package/components/GlobalLoader/index.js.map +1 -1
  158. package/components/GlobalLoader/useParams.js.map +1 -1
  159. package/components/Group/Group.js.map +1 -1
  160. package/components/Group/Group.styles.js.map +1 -1
  161. package/components/Group/index.js.map +1 -1
  162. package/components/Hint/Hint.js.map +1 -1
  163. package/components/Hint/Hint.styles.js.map +1 -1
  164. package/components/Hint/index.js.map +1 -1
  165. package/components/Input/Input.js.map +1 -1
  166. package/components/Input/Input.styles.js.map +1 -1
  167. package/components/Input/Input.typings.js.map +1 -1
  168. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  169. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  170. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  171. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  172. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  173. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  174. package/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  175. package/components/Input/index.js.map +1 -1
  176. package/components/Kebab/Kebab.js.map +1 -1
  177. package/components/Kebab/Kebab.styles.js.map +1 -1
  178. package/components/Kebab/KebabIcon.js.map +1 -1
  179. package/components/Kebab/index.js.map +1 -1
  180. package/components/Link/Link.js.map +1 -1
  181. package/components/Link/Link.mixins.js.map +1 -1
  182. package/components/Link/Link.styles.js.map +1 -1
  183. package/components/Link/LinkIcon.js.map +1 -1
  184. package/components/Link/index.js.map +1 -1
  185. package/components/Loader/Loader.js.map +1 -1
  186. package/components/Loader/Loader.styles.js.map +1 -1
  187. package/components/Loader/index.js.map +1 -1
  188. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  189. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  190. package/components/MaskedInput/ColorableInputElement/index.js.map +1 -1
  191. package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  192. package/components/MaskedInput/MaskedInput.helpers.js.map +1 -1
  193. package/components/MaskedInput/MaskedInput.js.map +1 -1
  194. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  195. package/components/MaskedInput/index.js.map +1 -1
  196. package/components/MenuFooter/MenuFooter.js.map +1 -1
  197. package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
  198. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  199. package/components/MenuFooter/index.js.map +1 -1
  200. package/components/MenuHeader/MenuHeader.js.map +1 -1
  201. package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
  202. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  203. package/components/MenuHeader/index.js.map +1 -1
  204. package/components/MenuItem/MenuItem.js.map +1 -1
  205. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  206. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  207. package/components/MenuItem/index.js.map +1 -1
  208. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  209. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  210. package/components/MenuSeparator/index.js.map +1 -1
  211. package/components/MiniModal/MiniModal.js.map +1 -1
  212. package/components/MiniModal/MiniModal.styles.js.map +1 -1
  213. package/components/MiniModal/MiniModalBody.js.map +1 -1
  214. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  215. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  216. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  217. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  218. package/components/MiniModal/index.js.map +1 -1
  219. package/components/Modal/Modal.js.map +1 -1
  220. package/components/Modal/Modal.styles.js.map +1 -1
  221. package/components/Modal/ModalBody.js.map +1 -1
  222. package/components/Modal/ModalClose.js.map +1 -1
  223. package/components/Modal/ModalContext.js.map +1 -1
  224. package/components/Modal/ModalFooter.js.map +1 -1
  225. package/components/Modal/ModalHeader.js.map +1 -1
  226. package/components/Modal/ModalSeparator.js.map +1 -1
  227. package/components/Modal/getModalBodyTheme.js.map +1 -1
  228. package/components/Modal/getModalTheme.js.map +1 -1
  229. package/components/Modal/index.js.map +1 -1
  230. package/components/Modal/locale/index.js.map +1 -1
  231. package/components/Modal/locale/locales/en.js.map +1 -1
  232. package/components/Modal/locale/locales/ru.js.map +1 -1
  233. package/components/Modal/locale/types.js.map +1 -1
  234. package/components/Paging/DotsIcon.js.map +1 -1
  235. package/components/Paging/ForwardIcon.js.map +1 -1
  236. package/components/Paging/NavigationHelper.js.map +1 -1
  237. package/components/Paging/Paging.js.map +1 -1
  238. package/components/Paging/Paging.styles.js.map +1 -1
  239. package/components/Paging/PagingDefaultComponent.js.map +1 -1
  240. package/components/Paging/PagingHelper.js.map +1 -1
  241. package/components/Paging/index.js.map +1 -1
  242. package/components/Paging/locale/index.js.map +1 -1
  243. package/components/Paging/locale/locales/en.js.map +1 -1
  244. package/components/Paging/locale/locales/ru.js.map +1 -1
  245. package/components/Paging/locale/types.js.map +1 -1
  246. package/components/PasswordInput/ClosedIcon.js.map +1 -1
  247. package/components/PasswordInput/OpenedIcon.js.map +1 -1
  248. package/components/PasswordInput/PasswordInput.js.map +1 -1
  249. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  250. package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  251. package/components/PasswordInput/index.js.map +1 -1
  252. package/components/PasswordInput/locale/index.js.map +1 -1
  253. package/components/PasswordInput/locale/locales/en.js.map +1 -1
  254. package/components/PasswordInput/locale/locales/ru.js.map +1 -1
  255. package/components/PasswordInput/locale/types.js.map +1 -1
  256. package/components/Radio/Radio.js.map +1 -1
  257. package/components/Radio/Radio.mixins.js.map +1 -1
  258. package/components/Radio/Radio.styles.js.map +1 -1
  259. package/components/Radio/index.js.map +1 -1
  260. package/components/RadioGroup/Prevent.js.map +1 -1
  261. package/components/RadioGroup/RadioGroup.js.map +1 -1
  262. package/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  263. package/components/RadioGroup/RadioGroupContext.js.map +1 -1
  264. package/components/RadioGroup/index.js.map +1 -1
  265. package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  266. package/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  267. package/components/ResponsiveLayout/decorator.js.map +1 -1
  268. package/components/ResponsiveLayout/index.js.map +1 -1
  269. package/components/ResponsiveLayout/types.js.map +1 -1
  270. package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  271. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  272. package/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  273. package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  274. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  275. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  276. package/components/ScrollContainer/index.js.map +1 -1
  277. package/components/Select/ArrowDownIcon.js.map +1 -1
  278. package/components/Select/Item.js.map +1 -1
  279. package/components/Select/Select.js.map +1 -1
  280. package/components/Select/Select.styles.js.map +1 -1
  281. package/components/Select/index.js.map +1 -1
  282. package/components/Select/locale/index.js.map +1 -1
  283. package/components/Select/locale/locales/en.js.map +1 -1
  284. package/components/Select/locale/locales/ru.js.map +1 -1
  285. package/components/Select/locale/types.js.map +1 -1
  286. package/components/Select/selectTheme.js.map +1 -1
  287. package/components/Select/tids.js.map +1 -1
  288. package/components/SidePage/SidePage.js.map +1 -1
  289. package/components/SidePage/SidePage.styles.js.map +1 -1
  290. package/components/SidePage/SidePageBody.js.map +1 -1
  291. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  292. package/components/SidePage/SidePageContainer.js.map +1 -1
  293. package/components/SidePage/SidePageContext.js.map +1 -1
  294. package/components/SidePage/SidePageFooter.js.map +1 -1
  295. package/components/SidePage/SidePageHeader.js.map +1 -1
  296. package/components/SidePage/index.js.map +1 -1
  297. package/components/SidePage/locale/index.js.map +1 -1
  298. package/components/SidePage/locale/locales/en.js.map +1 -1
  299. package/components/SidePage/locale/locales/ru.js.map +1 -1
  300. package/components/SidePage/locale/types.js.map +1 -1
  301. package/components/SingleToast/SingleToast.js.map +1 -1
  302. package/components/SingleToast/index.js.map +1 -1
  303. package/components/Spinner/Spinner.js.map +1 -1
  304. package/components/Spinner/Spinner.styles.js.map +1 -1
  305. package/components/Spinner/index.js.map +1 -1
  306. package/components/Sticky/Sticky.js.map +1 -1
  307. package/components/Sticky/Sticky.styles.js.map +1 -1
  308. package/components/Sticky/index.js.map +1 -1
  309. package/components/Switcher/Switcher.js.map +1 -1
  310. package/components/Switcher/Switcher.styles.js.map +1 -1
  311. package/components/Switcher/helpers.js.map +1 -1
  312. package/components/Switcher/index.js.map +1 -1
  313. package/components/Switcher/switcherTheme.js.map +1 -1
  314. package/components/Tabs/Indicator.js.map +1 -1
  315. package/components/Tabs/Indicator.styles.js.map +1 -1
  316. package/components/Tabs/Tab.js.map +1 -1
  317. package/components/Tabs/Tab.styles.js.map +1 -1
  318. package/components/Tabs/Tabs.js.map +1 -1
  319. package/components/Tabs/Tabs.styles.js.map +1 -1
  320. package/components/Tabs/TabsContext.js.map +1 -1
  321. package/components/Tabs/helpers.js.map +1 -1
  322. package/components/Tabs/index.js.map +1 -1
  323. package/components/Textarea/Textarea.js.map +1 -1
  324. package/components/Textarea/Textarea.mixins.js.map +1 -1
  325. package/components/Textarea/Textarea.styles.js.map +1 -1
  326. package/components/Textarea/TextareaCounter.js.map +1 -1
  327. package/components/Textarea/TextareaHelpers.js.map +1 -1
  328. package/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -1
  329. package/components/Textarea/index.js.map +1 -1
  330. package/components/Toast/Toast.js.map +1 -1
  331. package/components/Toast/Toast.styles.js.map +1 -1
  332. package/components/Toast/ToastView.js.map +1 -1
  333. package/components/Toast/ToastView.styles.js.map +1 -1
  334. package/components/Toast/index.js.map +1 -1
  335. package/components/Toast/locale/index.js.map +1 -1
  336. package/components/Toast/locale/locales/en.js.map +1 -1
  337. package/components/Toast/locale/locales/ru.js.map +1 -1
  338. package/components/Toast/locale/types.js.map +1 -1
  339. package/components/Toggle/Toggle.js.map +1 -1
  340. package/components/Toggle/Toggle.mixins.js.map +1 -1
  341. package/components/Toggle/Toggle.styles.js.map +1 -1
  342. package/components/Toggle/index.js.map +1 -1
  343. package/components/Token/Token.js.map +1 -1
  344. package/components/Token/Token.mixins.js.map +1 -1
  345. package/components/Token/Token.styles.js.map +1 -1
  346. package/components/Token/TokenView.js.map +1 -1
  347. package/components/Token/index.js.map +1 -1
  348. package/components/Token/locale/index.js.map +1 -1
  349. package/components/Token/locale/locales/en.js.map +1 -1
  350. package/components/Token/locale/locales/ru.js.map +1 -1
  351. package/components/Token/locale/types.js.map +1 -1
  352. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  353. package/components/TokenInput/TokenInput.js.map +1 -1
  354. package/components/TokenInput/TokenInput.mixins.js.map +1 -1
  355. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  356. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  357. package/components/TokenInput/TokenInputMobileMenu.js.map +1 -1
  358. package/components/TokenInput/TokenInputReducer.js.map +1 -1
  359. package/components/TokenInput/index.js.map +1 -1
  360. package/components/TokenInput/locale/index.js.map +1 -1
  361. package/components/TokenInput/locale/locales/en.js.map +1 -1
  362. package/components/TokenInput/locale/locales/ru.js.map +1 -1
  363. package/components/TokenInput/locale/types.js.map +1 -1
  364. package/components/Tooltip/Tooltip.js.map +1 -1
  365. package/components/Tooltip/Tooltip.styles.js.map +1 -1
  366. package/components/Tooltip/index.js.map +1 -1
  367. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  368. package/components/TooltipMenu/index.js.map +1 -1
  369. package/hooks/useDrop.js.map +1 -1
  370. package/hooks/useEffectWithoutInitCall.js.map +1 -1
  371. package/hooks/useMemoObject.js.map +1 -1
  372. package/index.js.map +1 -1
  373. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  374. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  375. package/internal/ClearCrossIcon/CrossIcon.js.map +1 -1
  376. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  377. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  378. package/internal/CloseButtonIcon/CrossIcon.js.map +1 -1
  379. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  380. package/internal/CommonWrapper/index.js.map +1 -1
  381. package/internal/CommonWrapper/types.js.map +1 -1
  382. package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
  383. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -1
  384. package/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -1
  385. package/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -1
  386. package/internal/CustomComboBox/ArrowDownIcon.js.map +1 -1
  387. package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  388. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  389. package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  390. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  391. package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  392. package/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  393. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  394. package/internal/CustomComboBox/index.js.map +1 -1
  395. package/internal/CustomComboBox/locale/index.js.map +1 -1
  396. package/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  397. package/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  398. package/internal/CustomComboBox/locale/types.js.map +1 -1
  399. package/internal/CustomComboBox/tids.js.map +1 -1
  400. package/internal/DateSelect/DateSelect.js.map +1 -1
  401. package/internal/DateSelect/DateSelect.styles.js.map +1 -1
  402. package/internal/DateSelect/index.js.map +1 -1
  403. package/internal/DateSelect/locale/index.js.map +1 -1
  404. package/internal/DateSelect/locale/locales/en.js.map +1 -1
  405. package/internal/DateSelect/locale/locales/ru.js.map +1 -1
  406. package/internal/DateSelect/locale/types.js.map +1 -1
  407. package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  408. package/internal/FocusControlWrapper/index.js.map +1 -1
  409. package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
  410. package/internal/FocusTrap/FocusTrap.js.map +1 -1
  411. package/internal/FocusTrap/index.js.map +1 -1
  412. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  413. package/internal/HideBodyVerticalScroll/index.js.map +1 -1
  414. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  415. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  416. package/internal/InputLikeText/index.js.map +1 -1
  417. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  418. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -1
  419. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  420. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  421. package/internal/MaskCharLowLine/index.js.map +1 -1
  422. package/internal/Menu/Menu.js.map +1 -1
  423. package/internal/Menu/Menu.styles.js.map +1 -1
  424. package/internal/Menu/MenuContext.js.map +1 -1
  425. package/internal/Menu/MenuNavigation.js.map +1 -1
  426. package/internal/Menu/index.js.map +1 -1
  427. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  428. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  429. package/internal/MenuMessage/index.js.map +1 -1
  430. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  431. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  432. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  433. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  434. package/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -1
  435. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  436. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  437. package/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -1
  438. package/internal/MobilePopup/index.js.map +1 -1
  439. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  440. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
  441. package/internal/NativeDateInput/index.js.map +1 -1
  442. package/internal/NativeDateInput/utils.js.map +1 -1
  443. package/internal/Popup/Popup.js.map +1 -1
  444. package/internal/Popup/Popup.styles.js.map +1 -1
  445. package/internal/Popup/PopupHelper.js.map +1 -1
  446. package/internal/Popup/PopupPin.js.map +1 -1
  447. package/internal/Popup/PopupPin.styles.js.map +1 -1
  448. package/internal/Popup/index.js.map +1 -1
  449. package/internal/Popup/types.js.map +1 -1
  450. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  451. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  452. package/internal/PopupMenu/index.js.map +1 -1
  453. package/internal/PopupMenu/tids.js.map +1 -1
  454. package/internal/PopupMenu/validatePositions.js.map +1 -1
  455. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  456. package/internal/RenderContainer/RenderContainerTypes.js.map +1 -1
  457. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  458. package/internal/RenderContainer/index.js.map +1 -1
  459. package/internal/RenderLayer/RenderLayer.js.map +1 -1
  460. package/internal/RenderLayer/index.js.map +1 -1
  461. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  462. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  463. package/internal/ResizeDetector/index.js.map +1 -1
  464. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  465. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -1
  466. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  467. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
  468. package/internal/ZIndex/ZIndex.js.map +1 -1
  469. package/internal/ZIndex/ZIndexStorage.js.map +1 -1
  470. package/internal/ZIndex/index.js.map +1 -1
  471. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  472. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  473. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  474. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  475. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  476. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  477. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  478. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  479. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  480. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  481. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  482. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  483. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  484. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  485. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  486. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  487. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  488. package/internal/icons2022/BaseIcon.js.map +1 -1
  489. package/internal/icons2022/BaseIcon.styles.js.map +1 -1
  490. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  491. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  492. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  493. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  494. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  495. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  496. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  497. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  498. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  499. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  500. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  501. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
  502. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
  503. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
  504. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
  505. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
  506. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
  507. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
  508. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
  509. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
  510. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
  511. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
  512. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
  513. package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
  514. package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
  515. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
  516. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
  517. package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
  518. package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
  519. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
  520. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
  521. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
  522. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
  523. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
  524. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
  525. package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
  526. package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
  527. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
  528. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
  529. package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
  530. package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
  531. package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
  532. package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
  533. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
  534. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
  535. package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
  536. package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
  537. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
  538. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
  539. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
  540. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
  541. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
  542. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
  543. package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
  544. package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
  545. package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
  546. package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
  547. package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
  548. package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
  549. package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
  550. package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
  551. package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
  552. package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
  553. package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
  554. package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
  555. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  556. package/internal/icons2022/LoadingIcon.js.map +1 -1
  557. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  558. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  559. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  560. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  561. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
  562. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  563. package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
  564. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js.map +1 -1
  565. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  566. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js.map +1 -1
  567. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js.map +1 -1
  568. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  569. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
  570. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  571. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  572. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  573. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
  574. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
  575. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
  576. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
  577. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
  578. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
  579. package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
  580. package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
  581. package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
  582. package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
  583. package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
  584. package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
  585. package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  586. package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  587. package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  588. package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  589. package/internal/icons2022/iconConstants.js.map +1 -1
  590. package/internal/icons2022/iconSizer.js.map +1 -1
  591. package/internal/react-focus-lock/Combination.js.map +1 -1
  592. package/internal/react-focus-lock/FocusGuard.js.map +1 -1
  593. package/internal/react-focus-lock/Lock.js.map +1 -1
  594. package/internal/react-focus-lock/Trap.js.map +1 -1
  595. package/internal/react-focus-lock/constants.js.map +1 -1
  596. package/internal/react-focus-lock/index.js.map +1 -1
  597. package/internal/react-focus-lock/medium.js.map +1 -1
  598. package/internal/react-focus-lock/scope.js.map +1 -1
  599. package/internal/react-focus-lock/util.js.map +1 -1
  600. package/internal/themes/BasicTheme.js.map +1 -1
  601. package/internal/themes/DarkTheme6_0.js.map +1 -1
  602. package/internal/themes/DarkTheme6_1.js.map +1 -1
  603. package/internal/themes/LightTheme6_0.js.map +1 -1
  604. package/internal/themes/LightTheme6_1.js.map +1 -1
  605. package/lib/ConditionalHandler.js.map +1 -1
  606. package/lib/InstanceWithAnchorElement.js.map +1 -1
  607. package/lib/LayoutEvents.js.map +1 -1
  608. package/lib/ModalStack.js.map +1 -1
  609. package/lib/Upgrades.js.map +1 -1
  610. package/lib/animation/index.js.map +1 -1
  611. package/lib/animation/presets.js.map +1 -1
  612. package/lib/animation/stepper.js.map +1 -1
  613. package/lib/blink.js.map +1 -1
  614. package/lib/callChildRef/callChildRef.js.map +1 -1
  615. package/lib/chars.js.map +1 -1
  616. package/lib/client.js.map +1 -1
  617. package/lib/createPropsGetter.js.map +1 -1
  618. package/lib/currentEnvironment.js.map +1 -1
  619. package/lib/date/InternalDate.js.map +1 -1
  620. package/lib/date/InternalDateCalculator.js.map +1 -1
  621. package/lib/date/InternalDateGetter.js.map +1 -1
  622. package/lib/date/InternalDateSetter.js.map +1 -1
  623. package/lib/date/InternalDateTransformer.js.map +1 -1
  624. package/lib/date/InternalDateValidator.js.map +1 -1
  625. package/lib/date/comparison.js.map +1 -1
  626. package/lib/date/constants.js.map +1 -1
  627. package/lib/date/localeSets.js.map +1 -1
  628. package/lib/date/types.js.map +1 -1
  629. package/lib/delay.js.map +1 -1
  630. package/lib/dom/getDOMRect.js.map +1 -1
  631. package/lib/dom/getParentOrShadowHost.js.map +1 -1
  632. package/lib/dom/getScrollWidth.js.map +1 -1
  633. package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
  634. package/lib/dom/selectionHelpers.js.map +1 -1
  635. package/lib/dom/tabbableHelpers.js.map +1 -1
  636. package/lib/events/MouseDrag.js.map +1 -1
  637. package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  638. package/lib/events/keyListener.js.map +1 -1
  639. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  640. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  641. package/lib/events/keyboard/extractCode.js.map +1 -1
  642. package/lib/events/keyboard/identifiers.js.map +1 -1
  643. package/lib/extractKeyboardAction.js.map +1 -1
  644. package/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -1
  645. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  646. package/lib/featureFlagsContext/index.js.map +1 -1
  647. package/lib/filterProps.js.map +1 -1
  648. package/lib/forwardRefAndName.js.map +1 -1
  649. package/lib/getElementRef.js.map +1 -1
  650. package/lib/getMenuPositions.js.map +1 -1
  651. package/lib/globalObject.js.map +1 -1
  652. package/lib/isInstanceOf.js.map +1 -1
  653. package/lib/listenFocusOutside.js.map +1 -1
  654. package/lib/locale/LocaleContext.js.map +1 -1
  655. package/lib/locale/LocaleHelper.js.map +1 -1
  656. package/lib/locale/constants.js.map +1 -1
  657. package/lib/locale/decorators.js.map +1 -1
  658. package/lib/locale/index.js.map +1 -1
  659. package/lib/locale/types.js.map +1 -1
  660. package/lib/locale/useLocaleForControl.js.map +1 -1
  661. package/lib/memo.js.map +1 -1
  662. package/lib/mergeRefs.js.map +1 -1
  663. package/lib/needsPolyfillPlaceholder.js.map +1 -1
  664. package/lib/pluralize.js.map +1 -1
  665. package/lib/react-is.js.map +1 -1
  666. package/lib/reactGetTextContent.js.map +1 -1
  667. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  668. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  669. package/lib/renderEnvironment/index.js.map +1 -1
  670. package/lib/rootNode/getRootNode.js.map +1 -1
  671. package/lib/rootNode/index.js.map +1 -1
  672. package/lib/rootNode/rootNodeDecorator.js.map +1 -1
  673. package/lib/scrollInputCaretIntoView.js.map +1 -1
  674. package/lib/size/SizeControlContext.js.map +1 -1
  675. package/lib/size/SizeDecorator.js.map +1 -1
  676. package/lib/size/constants.js.map +1 -1
  677. package/lib/size/index.js.map +1 -1
  678. package/lib/size/useSizeControl.js.map +1 -1
  679. package/lib/stringUtils.js.map +1 -1
  680. package/lib/styles/ColorFactory.js.map +1 -1
  681. package/lib/styles/ColorFunctions.js.map +1 -1
  682. package/lib/styles/ColorHelpers.js.map +1 -1
  683. package/lib/styles/ColorKeywords.js.map +1 -1
  684. package/lib/styles/ColorObject.js.map +1 -1
  685. package/lib/styles/DimensionFunctions.js.map +1 -1
  686. package/lib/styles/Mixins.js.map +1 -1
  687. package/lib/styles/UiFont.js.map +1 -1
  688. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  689. package/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  690. package/lib/theming/AnimationKeyframes.js.map +1 -1
  691. package/lib/theming/Emotion.js.map +1 -1
  692. package/lib/theming/Theme.js.map +1 -1
  693. package/lib/theming/ThemeContext.js.map +1 -1
  694. package/lib/theming/ThemeFactory.js.map +1 -1
  695. package/lib/theming/ThemeHelpers.js.map +1 -1
  696. package/lib/theming/ThemeVersions.js.map +1 -1
  697. package/lib/theming/themes/DarkTheme.js.map +1 -1
  698. package/lib/theming/themes/LightTheme.js.map +1 -1
  699. package/lib/theming/useTheme.js.map +1 -1
  700. package/lib/toKebabCase.js.map +1 -1
  701. package/lib/typeGuards.js.map +1 -1
  702. package/lib/types/button-link.js.map +1 -1
  703. package/lib/types/polymorphic-component.js.map +1 -1
  704. package/lib/types/props.js.map +1 -1
  705. package/lib/uidUtils.js.map +1 -1
  706. package/lib/utils.js.map +1 -1
  707. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/ComboBox/index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './ComboBox.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './ComboBox.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyHelper.js","sourceRoot":"","sources":["../../../components/CurrencyInput/CurrencyHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { isSafari } from '../../lib/client.js';\nimport { isNonNullable, isNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS, MINUS_SIGN, SPACE, THIN_SPACE } from './constants.js';\nimport type { DecimalOptions } from './CurrencyInputHelper.js';\nimport type { CursorMap } from './CursorHelper.js';\n\nexport interface DecimalFormattingOptions {\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает разделители для тысячных разрядов. */\n thousandsDelimiter?: string;\n\n /** Устанавливает знак минуса. */\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: isSafari ? SPACE : THIN_SPACE,\n minusSign: MINUS_SIGN,\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 (isNullable(value)) {\n return '';\n }\n return CurrencyHelper.formatString(this.toDecimalString(value), 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 unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue) || {\n sign: '',\n integer: '',\n delimiter: '',\n fraction: '',\n };\n\n const { sign, integer, delimiter } = destructed;\n let fraction = destructed.fraction;\n let fractionDigits = fraction.length;\n\n const options = CurrencyHelper.getOptions(formattingOptions);\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): boolean {\n const unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue);\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 (isNonNullable(options.integerDigits) && integerDigits > options.integerDigits) {\n return false;\n }\n\n if (isNullable(options.integerDigits) && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\n return false;\n }\n\n if (isNonNullable(options.fractionDigits) && 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 const unformattedValue = CurrencyHelper.unformatString(value);\n\n const match = /[-.\\d]+/.exec(unformattedValue);\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 sign: string;\n integer: string;\n delimiter: string;\n fraction: string;\n exponent: string;\n } | null {\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?(e)?([-+]?\\d+)?$/.exec(value);\n if (!match) {\n return null;\n }\n const [, sign = '', integer = '', delimiter = '', fraction = '', , exponent = ''] = match;\n return { sign, integer, delimiter, fraction, exponent };\n }\n\n private static toDecimalString = (number: number) => {\n if (!number.toString().includes('e')) {\n return number.toString();\n }\n const destructed = this.destructString(number.toExponential());\n if (destructed === null) {\n return '';\n }\n const { sign = '', integer, fraction, exponent } = destructed;\n const intExponent = parseInt(exponent || '0');\n if (intExponent > 0) {\n return [sign, integer, fraction, '0'.repeat(intExponent - fraction.length)].join('');\n }\n return [sign, '0.', ' 0'.repeat(-intExponent - 1), integer, fraction].join('');\n };\n}\n"]}
1
+ {"version":3,"file":"CurrencyHelper.js","sourceRoot":"","sources":["CurrencyHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { isSafari } from '../../lib/client.js';\nimport { isNonNullable, isNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS, MINUS_SIGN, SPACE, THIN_SPACE } from './constants.js';\nimport type { DecimalOptions } from './CurrencyInputHelper.js';\nimport type { CursorMap } from './CursorHelper.js';\n\nexport interface DecimalFormattingOptions {\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает разделители для тысячных разрядов. */\n thousandsDelimiter?: string;\n\n /** Устанавливает знак минуса. */\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: isSafari ? SPACE : THIN_SPACE,\n minusSign: MINUS_SIGN,\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 (isNullable(value)) {\n return '';\n }\n return CurrencyHelper.formatString(this.toDecimalString(value), 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 unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue) || {\n sign: '',\n integer: '',\n delimiter: '',\n fraction: '',\n };\n\n const { sign, integer, delimiter } = destructed;\n let fraction = destructed.fraction;\n let fractionDigits = fraction.length;\n\n const options = CurrencyHelper.getOptions(formattingOptions);\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): boolean {\n const unformattedValue = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(unformattedValue);\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 (isNonNullable(options.integerDigits) && integerDigits > options.integerDigits) {\n return false;\n }\n\n if (isNullable(options.integerDigits) && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\n return false;\n }\n\n if (isNonNullable(options.fractionDigits) && 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 const unformattedValue = CurrencyHelper.unformatString(value);\n\n const match = /[-.\\d]+/.exec(unformattedValue);\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 sign: string;\n integer: string;\n delimiter: string;\n fraction: string;\n exponent: string;\n } | null {\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?(e)?([-+]?\\d+)?$/.exec(value);\n if (!match) {\n return null;\n }\n const [, sign = '', integer = '', delimiter = '', fraction = '', , exponent = ''] = match;\n return { sign, integer, delimiter, fraction, exponent };\n }\n\n private static toDecimalString = (number: number) => {\n if (!number.toString().includes('e')) {\n return number.toString();\n }\n const destructed = this.destructString(number.toExponential());\n if (destructed === null) {\n return '';\n }\n const { sign = '', integer, fraction, exponent } = destructed;\n const intExponent = parseInt(exponent || '0');\n if (intExponent > 0) {\n return [sign, integer, fraction, '0'.repeat(intExponent - fraction.length)].join('');\n }\n return [sign, '0.', ' 0'.repeat(-intExponent - 1), integer, fraction].join('');\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyInput.js","sourceRoot":"","sources":["../../../components/CurrencyInput/CurrencyInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { getOwnerGlobalObject } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { scrollInputCaretIntoView } from '../../lib/scrollInputCaretIntoView.js';\nimport { isElement, isNonNullable, isNullable } from '../../lib/utils.js';\nimport type { Nullable, Override } from '../../typings/utility-types.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/index.js';\nimport { MAX_SAFE_DIGITS } from './constants.js';\nimport { CurrencyHelper } from './CurrencyHelper.js';\nimport { CurrencyInputHelper } from './CurrencyInputHelper.js';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions.js';\nimport type { Selection, SelectionDirection } from './SelectionHelper.js';\nimport { SelectionHelper } from './SelectionHelper.js';\n\nexport interface CurrencyInputProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n Omit<InputProps, 'showClearIcon' | 'maxLength'>,\n {\n /** Значение поля. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. Если fractionDigits=15, то в целой части допускается только **0**. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает вводить в поле символ минуса для отрицательных значений. */\n signed?: boolean;\n\n /** Допустимое количество цифр целой части до запятой.\n * Если передан **0**, то в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Событие изменения `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Событие отправки формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/** Поле для денежных сумм. */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n private validateProps(props: CurrencyInputProps): void {\n warning(\n isNumeric(props.value) || isNullable(props.value),\n '[CurrencyInput]: Prop `value` is not a valid number. Received value is `' + props.value + '`.',\n );\n warning(\n (props.integerDigits || 0) + (props.fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee CurrencyInput documentation`,\n );\n }\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n this.validateProps(this.getProps());\n\n if (\n (isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>): React.JSX.Element => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\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 aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\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 private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n this.setSelectionFromEvent(event);\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 case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (node) {\n scrollInputCaretIntoView(node, this.state.selection);\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.getProps().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 (isNonNullable(delta) && !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 this.props.onPaste?.(event);\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 valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\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 resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isElement(input) || !isInstanceOf(input, getOwnerGlobalObject(input).HTMLInputElement)) {\n warning(false, 'input is not HTMLInputElement');\n\n return {\n start: 0,\n end: 0,\n direction: 'none',\n };\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"]}
1
+ {"version":3,"file":"CurrencyInput.js","sourceRoot":"","sources":["CurrencyInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { getOwnerGlobalObject } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { scrollInputCaretIntoView } from '../../lib/scrollInputCaretIntoView.js';\nimport { isElement, isNonNullable, isNullable } from '../../lib/utils.js';\nimport type { Nullable, Override } from '../../typings/utility-types.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/index.js';\nimport { MAX_SAFE_DIGITS } from './constants.js';\nimport { CurrencyHelper } from './CurrencyHelper.js';\nimport { CurrencyInputHelper } from './CurrencyInputHelper.js';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions.js';\nimport type { Selection, SelectionDirection } from './SelectionHelper.js';\nimport { SelectionHelper } from './SelectionHelper.js';\n\nexport interface CurrencyInputProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n Omit<InputProps, 'showClearIcon' | 'maxLength'>,\n {\n /** Значение поля. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. Если fractionDigits=15, то в целой части допускается только **0**. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает вводить в поле символ минуса для отрицательных значений. */\n signed?: boolean;\n\n /** Допустимое количество цифр целой части до запятой.\n * Если передан **0**, то в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Событие изменения `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Событие отправки формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/** Поле для денежных сумм. */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n private validateProps(props: CurrencyInputProps): void {\n warning(\n isNumeric(props.value) || isNullable(props.value),\n '[CurrencyInput]: Prop `value` is not a valid number. Received value is `' + props.value + '`.',\n );\n warning(\n (props.integerDigits || 0) + (props.fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee CurrencyInput documentation`,\n );\n }\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n this.validateProps(this.getProps());\n\n if (\n (isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render(): React.JSX.Element {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>): React.JSX.Element => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\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 aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\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 private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n this.setSelectionFromEvent(event);\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 case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (node) {\n scrollInputCaretIntoView(node, this.state.selection);\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.getProps().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 (isNonNullable(delta) && !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 this.props.onPaste?.(event);\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 valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\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 resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isElement(input) || !isInstanceOf(input, getOwnerGlobalObject(input).HTMLInputElement)) {\n warning(false, 'input is not HTMLInputElement');\n\n return {\n start: 0,\n end: 0,\n direction: 'none',\n };\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyInputHelper.js","sourceRoot":"","sources":["../../../components/CurrencyInput/CurrencyInputHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from '../../typings/utility-types.js';\nimport { CurrencyHelper } from './CurrencyHelper.js';\nimport { CursorHelper } from './CursorHelper.js';\nimport type { Selection } from './SelectionHelper.js';\n\nexport interface DecimalOptions {\n /** Задает допустимое количество цифр целой части. Если передан 0, или fractionDigits=15, то и в целой части допускается только 0. */\n integerDigits?: Nullable<number>;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Определяет, является ли число беззнаковым. */\n unsigned?: boolean;\n}\n\nexport class CurrencyInputHelper {\n public static moveCursor(value: string, selection: Selection, step: number): number {\n if (selection.start === selection.end) {\n return CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step);\n } else if (step < 0) {\n return selection.start;\n }\n\n return selection.end;\n }\n\n public static extendSelection(value: string, selection: Selection, step: number): Selection {\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(\n value: string,\n start: number,\n end: number,\n input: string,\n options: DecimalOptions,\n ): { value: string; position: number } | null {\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(\n value: string,\n start: number,\n end: number,\n input: string,\n ): { value: string; position: number } | null {\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
+ {"version":3,"file":"CurrencyInputHelper.js","sourceRoot":"","sources":["CurrencyInputHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from '../../typings/utility-types.js';\nimport { CurrencyHelper } from './CurrencyHelper.js';\nimport { CursorHelper } from './CursorHelper.js';\nimport type { Selection } from './SelectionHelper.js';\n\nexport interface DecimalOptions {\n /** Задает допустимое количество цифр целой части. Если передан 0, или fractionDigits=15, то и в целой части допускается только 0. */\n integerDigits?: Nullable<number>;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Определяет, является ли число беззнаковым. */\n unsigned?: boolean;\n}\n\nexport class CurrencyInputHelper {\n public static moveCursor(value: string, selection: Selection, step: number): number {\n if (selection.start === selection.end) {\n return CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step);\n } else if (step < 0) {\n return selection.start;\n }\n\n return selection.end;\n }\n\n public static extendSelection(value: string, selection: Selection, step: number): Selection {\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(\n value: string,\n start: number,\n end: number,\n input: string,\n options: DecimalOptions,\n ): { value: string; position: number } | null {\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(\n value: string,\n start: number,\n end: number,\n input: string,\n ): { value: string; position: number } | null {\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,"file":"CurrencyInputKeyboardActions.js","sourceRoot":"","sources":["../../../components/CurrencyInput/CurrencyInputKeyboardActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAErF,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,QAAQ,CAAC,WAAW;IACpB,QAAQ,CAAC,YAAY;IACrB,QAAQ,CAAC,WAAW;IACpB,QAAQ,CAAC,eAAe;IACxB,QAAQ,CAAC,mBAAmB;IAC5B,QAAQ,CAAC,kBAAkB;CAC5B,CAAC;AAEF,MAAM,CAAC,IAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IAET,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IAEP,mBAAmB,EAAE,EAAE;IACvB,oBAAoB,EAAE,EAAE;IACxB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAC1B,oBAAoB,EAAE,EAAE;IAExB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IAEV,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,+BAA+B,EAAE;KAC/D,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;KACvD,GAAG,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC7F,GAAG,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;KAC/F,GAAG,CAAC,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,mBAAmB,CAAC;KACvE,GAAG,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC3F,GAAG,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACxF,GAAG,CAAC,sBAAsB,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;KACnE,GAAG,CAAC,sBAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;KACrE,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC3E,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACzE,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC;KAC9D,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;KACxD,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhD,CAAgD,CAAC;KAC3F,GAAG,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,OAAjB,QAAQ,EAAa,YAAY,EAAE;KACrE,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC","sourcesContent":["import * as Keyboard from '../../lib/events/keyboard/identifiers.js';\nimport { KeyboardActionExctracterBuilder } from '../../lib/extractKeyboardAction.js';\n\nexport const commaAliases = [\n Keyboard.isCodeComma,\n Keyboard.isCodePeriod,\n Keyboard.isCodeSlash,\n Keyboard.isCodeBackslash,\n Keyboard.isCodeIntlBackslash,\n Keyboard.isCodeNumpadDivide,\n];\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 Comma: 34,\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 .add(CURRENCY_INPUT_ACTIONS.Comma, Keyboard.someKeys(...commaAliases))\n .build(CURRENCY_INPUT_ACTIONS.Unknown);\n"]}
1
+ {"version":3,"file":"CurrencyInputKeyboardActions.js","sourceRoot":"","sources":["CurrencyInputKeyboardActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAErF,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,QAAQ,CAAC,WAAW;IACpB,QAAQ,CAAC,YAAY;IACrB,QAAQ,CAAC,WAAW;IACpB,QAAQ,CAAC,eAAe;IACxB,QAAQ,CAAC,mBAAmB;IAC5B,QAAQ,CAAC,kBAAkB;CAC5B,CAAC;AAEF,MAAM,CAAC,IAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IAET,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IAEP,mBAAmB,EAAE,EAAE;IACvB,oBAAoB,EAAE,EAAE;IACxB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAC1B,oBAAoB,EAAE,EAAE;IAExB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IAEV,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,+BAA+B,EAAE;KAC/D,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC;KACvD,GAAG,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC7F,GAAG,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;KAC/F,GAAG,CAAC,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,mBAAmB,CAAC;KACvE,GAAG,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC3F,GAAG,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACxF,GAAG,CAAC,sBAAsB,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;KACnE,GAAG,CAAC,sBAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;KACrE,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC3E,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACzE,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC;KAC9D,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;KACxD,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhD,CAAgD,CAAC;KAC3F,GAAG,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,OAAjB,QAAQ,EAAa,YAAY,EAAE;KACrE,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC","sourcesContent":["import * as Keyboard from '../../lib/events/keyboard/identifiers.js';\nimport { KeyboardActionExctracterBuilder } from '../../lib/extractKeyboardAction.js';\n\nexport const commaAliases = [\n Keyboard.isCodeComma,\n Keyboard.isCodePeriod,\n Keyboard.isCodeSlash,\n Keyboard.isCodeBackslash,\n Keyboard.isCodeIntlBackslash,\n Keyboard.isCodeNumpadDivide,\n];\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 Comma: 34,\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 .add(CURRENCY_INPUT_ACTIONS.Comma, Keyboard.someKeys(...commaAliases))\n .build(CURRENCY_INPUT_ACTIONS.Unknown);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CursorHelper.js","sourceRoot":"","sources":["../../../components/CurrencyInput/CursorHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport type { Selection } from './SelectionHelper.js';\n\nexport type CursorMap = number[];\n\nconst calculateExtendedSelection = (map: CursorMap, selection: Selection, step: number): Selection => {\n if (selection.direction === 'backward') {\n return {\n start: CursorHelper.calculatePosition(map, selection.start, step),\n end: selection.end,\n direction: 'backward',\n };\n }\n\n return {\n start: selection.start,\n end: CursorHelper.calculatePosition(map, selection.end, step),\n direction: 'forward',\n };\n};\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): number {\n if (position < 0 || map.length <= position) {\n warning(false, `position out of range [${0} .. ${map.length - 1}], actual value: ${position}`);\n return position < 0 ? 0 : map.length - 1;\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): Selection {\n const normalizedSelection = CursorHelper.normalizeSelection(map, selection);\n\n return CursorHelper.normalizeSelection(map, calculateExtendedSelection(map, normalizedSelection, step));\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): 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): 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
+ {"version":3,"file":"CursorHelper.js","sourceRoot":"","sources":["CursorHelper.tsx"],"names":[],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport type { Selection } from './SelectionHelper.js';\n\nexport type CursorMap = number[];\n\nconst calculateExtendedSelection = (map: CursorMap, selection: Selection, step: number): Selection => {\n if (selection.direction === 'backward') {\n return {\n start: CursorHelper.calculatePosition(map, selection.start, step),\n end: selection.end,\n direction: 'backward',\n };\n }\n\n return {\n start: selection.start,\n end: CursorHelper.calculatePosition(map, selection.end, step),\n direction: 'forward',\n };\n};\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): number {\n if (position < 0 || map.length <= position) {\n warning(false, `position out of range [${0} .. ${map.length - 1}], actual value: ${position}`);\n return position < 0 ? 0 : map.length - 1;\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): Selection {\n const normalizedSelection = CursorHelper.normalizeSelection(map, selection);\n\n return CursorHelper.normalizeSelection(map, calculateExtendedSelection(map, normalizedSelection, step));\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): 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): 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,"file":"SelectionHelper.js","sourceRoot":"","sources":["../../../components/CurrencyInput/SelectionHelper.tsx"],"names":[],"mappings":"AAQA;IAAA;IAYA,CAAC;IAXe,4BAAY,GAAG,UAAC,QAAgB;QAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/D,CAAC,CAAC;IAEY,wBAAQ,GAAG,UAAC,KAAa,EAAE,GAAW;QAClD,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC,CAAC;IAEY,uBAAO,GAAG,UAAC,KAAa,EAAE,GAAW;QACjD,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC,CAAC;IACJ,sBAAC;CAAA,AAZD,IAYC;SAZY,eAAe","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
+ {"version":3,"file":"SelectionHelper.js","sourceRoot":"","sources":["SelectionHelper.tsx"],"names":[],"mappings":"AAQA;IAAA;IAYA,CAAC;IAXe,4BAAY,GAAG,UAAC,QAAgB;QAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/D,CAAC,CAAC;IAEY,wBAAQ,GAAG,UAAC,KAAa,EAAE,GAAW;QAClD,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC,CAAC;IAEY,uBAAO,GAAG,UAAC,KAAa,EAAE,GAAW;QACjD,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC,CAAC;IACJ,sBAAC;CAAA,AAZD,IAYC;SAZY,eAAe","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,"file":"constants.js","sourceRoot":"","sources":["../../../components/CurrencyInput/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,eAAe,GAAG,EAAE,CAAC;AAElC,2BAA2B;AAC3B,4BAA4B;AAC5B,aAAa;AACb,MAAM,CAAC,IAAM,iBAAiB,GAAG,eAAe,GAAG,CAAC,CAAC;AAErD,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACtD,MAAM,CAAC,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC","sourcesContent":["export const MAX_SAFE_DIGITS = 15;\n\n// + десятичный разделитель\n// + целая часть равная нулю\n// + знак '-'\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\n\nexport const THIN_SPACE = String.fromCharCode(0x2009);\nexport const SPACE = String.fromCharCode(0x0020);\nexport const MINUS_SIGN = String.fromCharCode(0x2212);\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,eAAe,GAAG,EAAE,CAAC;AAElC,2BAA2B;AAC3B,4BAA4B;AAC5B,aAAa;AACb,MAAM,CAAC,IAAM,iBAAiB,GAAG,eAAe,GAAG,CAAC,CAAC;AAErD,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACtD,MAAM,CAAC,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC","sourcesContent":["export const MAX_SAFE_DIGITS = 15;\n\n// + десятичный разделитель\n// + целая часть равная нулю\n// + знак '-'\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\n\nexport const THIN_SPACE = String.fromCharCode(0x2009);\nexport const SPACE = String.fromCharCode(0x0020);\nexport const MINUS_SIGN = String.fromCharCode(0x2212);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/CurrencyInput/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './CurrencyInput.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './CurrencyInput.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyLabel.js","sourceRoot":"","sources":["../../../components/CurrencyLabel/CurrencyLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAiBpE,IAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,qBAAqB;CACnB,CAAC;AAEX;;GAEG;AACH,IAAM,aAAa,GAAG,iBAAiB,CACrC,eAAe,EACf,SAAS,aAAa,CACpB,EAOqB,EACrB,GAA8B;IAP5B,IAAA,EAAE,QAAA,EACF,KAAK,WAAA,EACL,sBAAwC,EAAxC,cAAc,mBAAG,uBAAuB,KAAA,EACxC,cAAc,oBAAA,EACd,yBAAyB,EAAzB,iBAAiB,mBAAG,KAAK,KAAA,EACtB,IAAI,cANT,wEAOC,CADQ;IAIT,KAAK,CAAC,SAAS,CAAC;QACd,OAAO,CACL,cAAc,IAAI,eAAe,EACjC,yDAAkD,eAAe,uCAAoC,CACtG,CAAC;QAEM,IAAA,QAAQ,GAAK,CAAA,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA,SAArE,CAAsE;QACtF,OAAO,CACL,QAAQ,CAAC,MAAM,IAAI,cAAc,EACjC,2FAA2F;YACzF,4BAA4B,CAC/B,CAAC;QAEF,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAChC,yGAAyG,CAC1G,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI;QACrB,8BAAM,EAAE,EAAE,EAAE,cAAY,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;YACzD,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,cAAc,gBAAA,EAAE,iBAAiB,mBAAA,EAAE,CAAC;YACnE,cAAc,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY;YACxD,cAAc,CACV,CACO,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants.js';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper.js';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Значение. */\n value: number;\n\n /** Символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * Подпись для денежных сумм и других числовых значений.\n */\nconst CurrencyLabel = forwardRefAndName(\n 'CurrencyLabel',\n function CurrencyLabel(\n {\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n }: CurrencyLabelProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n React.useEffect(() => {\n warning(\n fractionDigits <= MAX_SAFE_DIGITS,\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.\\nSee CurrencyInput documentation`,\n );\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n warning(\n fraction.length <= fractionDigits,\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n\n warning(\n Number.isInteger(fractionDigits),\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }, [fractionDigits, value]);\n\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root} ref={ref}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n },\n);\n\nexport { CurrencyLabel };\n"]}
1
+ {"version":3,"file":"CurrencyLabel.js","sourceRoot":"","sources":["CurrencyLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAiBpE,IAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,qBAAqB;CACnB,CAAC;AAEX;;GAEG;AACH,IAAM,aAAa,GAAG,iBAAiB,CACrC,eAAe,EACf,SAAS,aAAa,CACpB,EAOqB,EACrB,GAA8B;IAP5B,IAAA,EAAE,QAAA,EACF,KAAK,WAAA,EACL,sBAAwC,EAAxC,cAAc,mBAAG,uBAAuB,KAAA,EACxC,cAAc,oBAAA,EACd,yBAAyB,EAAzB,iBAAiB,mBAAG,KAAK,KAAA,EACtB,IAAI,cANT,wEAOC,CADQ;IAIT,KAAK,CAAC,SAAS,CAAC;QACd,OAAO,CACL,cAAc,IAAI,eAAe,EACjC,yDAAkD,eAAe,uCAAoC,CACtG,CAAC;QAEM,IAAA,QAAQ,GAAK,CAAA,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA,SAArE,CAAsE;QACtF,OAAO,CACL,QAAQ,CAAC,MAAM,IAAI,cAAc,EACjC,2FAA2F;YACzF,4BAA4B,CAC/B,CAAC;QAEF,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAChC,yGAAyG,CAC1G,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI;QACrB,8BAAM,EAAE,EAAE,EAAE,cAAY,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;YACzD,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,cAAc,gBAAA,EAAE,iBAAiB,mBAAA,EAAE,CAAC;YACnE,cAAc,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY;YACxD,cAAc,CACV,CACO,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants.js';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper.js';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Значение. */\n value: number;\n\n /** Символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * Подпись для денежных сумм и других числовых значений.\n */\nconst CurrencyLabel = forwardRefAndName(\n 'CurrencyLabel',\n function CurrencyLabel(\n {\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n }: CurrencyLabelProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n React.useEffect(() => {\n warning(\n fractionDigits <= MAX_SAFE_DIGITS,\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.\\nSee CurrencyInput documentation`,\n );\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n warning(\n fraction.length <= fractionDigits,\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n\n warning(\n Number.isInteger(fractionDigits),\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }, [fractionDigits, value]);\n\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root} ref={ref}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n },\n);\n\nexport { CurrencyLabel };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/CurrencyLabel/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './CurrencyLabel.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './CurrencyLabel.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarIcon.js","sourceRoot":"","sources":["../../../components/DateInput/CalendarIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CACnC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,mBAAmB,OAAG,EAAvB,CAAuB;IACpC,MAAM,EAAE,cAAM,OAAA,oBAAC,mBAAmB,OAAG,EAAvB,CAAuB;IACrC,KAAK,EAAE,cAAM,OAAA,oBAAC,qBAAqB,OAAG,EAAzB,CAAyB;CACvC,EACD,cAAc,CACf,CAAC","sourcesContent":["import React from 'react';\n\nimport { CalendarIcon16Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon16Light.js';\nimport { CalendarIcon20Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon20Light.js';\nimport { CalendarIcon24Regular } from '../../internal/icons2022/CalendarIcon/CalendarIcon24Regular.js';\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\n\nexport const CalendarIcon = iconSizer(\n {\n small: () => <CalendarIcon16Light />,\n medium: () => <CalendarIcon20Light />,\n large: () => <CalendarIcon24Regular />,\n },\n 'CalendarIcon',\n);\n"]}
1
+ {"version":3,"file":"CalendarIcon.js","sourceRoot":"","sources":["CalendarIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CACnC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,mBAAmB,OAAG,EAAvB,CAAuB;IACpC,MAAM,EAAE,cAAM,OAAA,oBAAC,mBAAmB,OAAG,EAAvB,CAAuB;IACrC,KAAK,EAAE,cAAM,OAAA,oBAAC,qBAAqB,OAAG,EAAzB,CAAyB;CACvC,EACD,cAAc,CACf,CAAC","sourcesContent":["import React from 'react';\n\nimport { CalendarIcon16Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon16Light.js';\nimport { CalendarIcon20Light } from '../../internal/icons2022/CalendarIcon/CalendarIcon20Light.js';\nimport { CalendarIcon24Regular } from '../../internal/icons2022/CalendarIcon/CalendarIcon24Regular.js';\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\n\nexport const CalendarIcon = iconSizer(\n {\n small: () => <CalendarIcon16Light />,\n medium: () => <CalendarIcon20Light />,\n large: () => <CalendarIcon24Regular />,\n },\n 'CalendarIcon',\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DateFragmentsView.js","sourceRoot":"","sources":["../../../components/DateInput/DateFragmentsView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine/index.js';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { InternalDateFragment } from '../../lib/date/types.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getStyles } from './DateFragmentsView.styles.js';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\n@withRenderEnvironment\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\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 = (): HTMLSpanElement | null => this.rootNode;\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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\n ref={this.rootRef}\n className={this.cx({\n [this.styles.root()]: true,\n [this.styles.selected(this.theme)]: true,\n })}\n >\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 = this.cx({\n [this.styles.mask(this.theme)]: true,\n [this.styles.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 getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\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 (this.globalObject.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 data-tid=\"DateFragmentsView__placeholder\" className={this.styles.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
+ {"version":3,"file":"DateFragmentsView.js","sourceRoot":"","sources":["DateFragmentsView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine/index.js';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { InternalDateFragment } from '../../lib/date/types.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getStyles } from './DateFragmentsView.styles.js';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\n@withRenderEnvironment\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\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 = (): HTMLSpanElement | null => this.rootNode;\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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\n ref={this.rootRef}\n className={this.cx({\n [this.styles.root()]: true,\n [this.styles.selected(this.theme)]: true,\n })}\n >\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 = this.cx({\n [this.styles.mask(this.theme)]: true,\n [this.styles.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 getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\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 (this.globalObject.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 data-tid=\"DateFragmentsView__placeholder\" className={this.styles.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,"file":"DateFragmentsView.styles.js","sourceRoot":"","sources":["../../../components/DateInput/DateFragmentsView.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,gGAAA,6BAET,KAAC;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,IAAM,YAAY,GAAG,UAAC,UAAkB,EAAE,KAAa;gBACrD,OAAA,CAAC,UAAU,IAAI,KAAK,CAAC;oBACrB,6CACc,UAAU,6BACf,KAAK,aACd;YAJA,CAIA,CAAC;YAEH,OAAO,GAAG,8GAAA,iCAGN,EAAwF,QAC3F,KADG,YAAY,CAAC,CAAC,CAAC,iCAAiC,EAAE,CAAC,CAAC,mCAAmC,CAAC,EAC1F;QACJ,CAAC;QAED,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,+FAAA,iBACC,EAAoB,SAC9B,KADU,CAAC,CAAC,kBAAkB,EAC7B;QACJ,CAAC;QAED,eAAe;YACb,OAAO,GAAG,kGAAA,+BAET,KAAC;QACJ,CAAC;KACF,CAAC;AAjC8D,CAiC9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n cursor: text;\n `;\n },\n\n selected(t: Theme) {\n const getSelection = (background: string, color: string) =>\n (background || color) &&\n `& ::selection {\n background: ${background};\n color: ${color};\n }`;\n\n return css`\n cursor: text;\n\n ${getSelection(t.dateInputComponentSelectedBgColor, t.dateInputComponentSelectedTextColor)}\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;\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"DateFragmentsView.styles.js","sourceRoot":"","sources":["DateFragmentsView.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,gGAAA,6BAET,KAAC;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,IAAM,YAAY,GAAG,UAAC,UAAkB,EAAE,KAAa;gBACrD,OAAA,CAAC,UAAU,IAAI,KAAK,CAAC;oBACrB,6CACc,UAAU,6BACf,KAAK,aACd;YAJA,CAIA,CAAC;YAEH,OAAO,GAAG,8GAAA,iCAGN,EAAwF,QAC3F,KADG,YAAY,CAAC,CAAC,CAAC,iCAAiC,EAAE,CAAC,CAAC,mCAAmC,CAAC,EAC1F;QACJ,CAAC;QAED,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,+FAAA,iBACC,EAAoB,SAC9B,KADU,CAAC,CAAC,kBAAkB,EAC7B;QACJ,CAAC;QAED,eAAe;YACb,OAAO,GAAG,kGAAA,+BAET,KAAC;QACJ,CAAC;KACF,CAAC;AAjC8D,CAiC9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n cursor: text;\n `;\n },\n\n selected(t: Theme) {\n const getSelection = (background: string, color: string) =>\n (background || color) &&\n `& ::selection {\n background: ${background};\n color: ${color};\n }`;\n\n return css`\n cursor: text;\n\n ${getSelection(t.dateInputComponentSelectedBgColor, t.dateInputComponentSelectedTextColor)}\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;\n `;\n },\n}));\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.js","sourceRoot":"","sources":["../../../components/DateInput/DateInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { InputLikeText } from '../../internal/InputLikeText/index.js';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { REACT_MAJOR_VERSION } from '../../lib/react-is.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { DatePickerLocale } from '../DatePicker/locale/index.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { CalendarIcon } from './CalendarIcon.js';\nimport { DateFragmentsView } from './DateFragmentsView.js';\nimport { getStyles } from './DateInput.styles.js';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions.js';\nimport { InternalDateMediator } from './helpers/InternalDateMediator.js';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n root: 'DateInput__root',\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на поле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Значение поля. */\n value?: string;\n\n /** Меняет визуальное отображение поля на состояние ошибки. */\n error?: boolean;\n\n /** Меняет визуальное отображение поля на состояние предупреждения. */\n warning?: boolean;\n\n /** Блокирует поле. */\n disabled?: boolean;\n\n /** Минимальная дата в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Максимальная дата в формате `dd.mm.yyyy`. */\n maxDate?: string;\n\n /** Ширина поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Размер поля. */\n size?: SizeProp;\n\n /** Событие потери полем фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Событие нажатия на поле. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Событие получения полем фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Событие изменения value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Событие нажатия кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'width'>>;\n\n/**\n * Поле ввода для выбора даты с клавиатуры. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).\n */\n@withRenderEnvironment\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\n@withSize\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n width: 125,\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = (): void => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus(): void {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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 const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n data-tid={DateInputDataTids.root}\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={this.size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={this.cx(this.styles.value(), { [this.styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = this.cx({\n [this.styles.icon(theme)]: true,\n [this.styles.iconSmall(theme)]: size === 'small',\n [this.styles.iconMedium(theme)]: size === 'medium',\n [this.styles.iconLarge(theme)]: size === 'large',\n [this.styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false }, false);\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = this.globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && REACT_MAJOR_VERSION >= 18) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
1
+ {"version":3,"file":"DateInput.js","sourceRoot":"","sources":["DateInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { InputLikeText } from '../../internal/InputLikeText/index.js';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { REACT_MAJOR_VERSION } from '../../lib/react-is.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { DatePickerLocale } from '../DatePicker/locale/index.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { CalendarIcon } from './CalendarIcon.js';\nimport { DateFragmentsView } from './DateFragmentsView.js';\nimport { getStyles } from './DateInput.styles.js';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions.js';\nimport { InternalDateMediator } from './helpers/InternalDateMediator.js';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n root: 'DateInput__root',\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на поле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Значение поля. */\n value?: string;\n\n /** Меняет визуальное отображение поля на состояние ошибки. */\n error?: boolean;\n\n /** Меняет визуальное отображение поля на состояние предупреждения. */\n warning?: boolean;\n\n /** Блокирует поле. */\n disabled?: boolean;\n\n /** Минимальная дата в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Максимальная дата в формате `dd.mm.yyyy`. */\n maxDate?: string;\n\n /** Ширина поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Размер поля. */\n size?: SizeProp;\n\n /** Событие потери полем фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Событие нажатия на поле. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Событие получения полем фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Событие изменения value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Событие нажатия кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'width'>>;\n\n/**\n * Поле ввода для выбора даты с клавиатуры. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).\n */\n@withRenderEnvironment\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\n@withSize\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n width: 125,\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = (): void => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus(): void {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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 const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n data-tid={DateInputDataTids.root}\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={this.size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={this.cx(this.styles.value(), { [this.styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = this.cx({\n [this.styles.icon(theme)]: true,\n [this.styles.iconSmall(theme)]: size === 'small',\n [this.styles.iconMedium(theme)]: size === 'medium',\n [this.styles.iconLarge(theme)]: size === 'large',\n [this.styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false }, false);\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = this.globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && REACT_MAJOR_VERSION >= 18) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}