@skbkontur/react-ui 0.0.0-a8f1c3e7a1 → 0.0.0-aa4659ca48

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 (1206) hide show
  1. package/CHANGELOG.md +217 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +17 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +61 -56
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/ArrowLeftIcon.d.ts +1 -1
  7. package/cjs/components/Button/ArrowRightIcon.d.ts +1 -1
  8. package/cjs/components/Button/Button.d.ts +27 -14
  9. package/cjs/components/Button/Button.js +44 -20
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.mixins.d.ts +0 -1
  12. package/cjs/components/Button/Button.mixins.js +2 -9
  13. package/cjs/components/Button/Button.mixins.js.map +1 -1
  14. package/cjs/components/Button/Button.styles.d.ts +3 -3
  15. package/cjs/components/Button/Button.styles.js +48 -58
  16. package/cjs/components/Button/Button.styles.js.map +1 -1
  17. package/cjs/components/Button/ButtonArrow.js +13 -14
  18. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  19. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  20. package/cjs/components/Calendar/Calendar.js +1 -0
  21. package/cjs/components/Calendar/Calendar.js.map +1 -1
  22. package/cjs/components/Center/Center.d.ts +2 -0
  23. package/cjs/components/Center/Center.js +1 -0
  24. package/cjs/components/Center/Center.js.map +1 -1
  25. package/cjs/components/Checkbox/Checkbox.d.ts +7 -16
  26. package/cjs/components/Checkbox/Checkbox.js +24 -54
  27. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  28. package/cjs/components/Checkbox/Checkbox.styles.d.ts +0 -3
  29. package/cjs/components/Checkbox/Checkbox.styles.js +16 -43
  30. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  31. package/cjs/components/Checkbox/CheckedIcon.d.ts +1 -1
  32. package/cjs/components/Checkbox/IndeterminateIcon.d.ts +1 -1
  33. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  34. package/cjs/components/ComboBox/ComboBox.js +26 -1
  35. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  36. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +15 -45
  37. package/cjs/components/CurrencyInput/CurrencyInput.js +17 -55
  38. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  39. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  40. package/cjs/components/CurrencyInput/CursorHelper.js +5 -2
  41. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  42. package/cjs/components/CurrencyInput/constants.js +1 -2
  43. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  44. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  45. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  46. package/cjs/components/DateInput/CalendarIcon.d.ts +1 -1
  47. package/cjs/components/DateInput/DateInput.d.ts +5 -2
  48. package/cjs/components/DateInput/DateInput.js +7 -25
  49. package/cjs/components/DateInput/DateInput.js.map +1 -1
  50. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  51. package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -10
  52. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.d.ts +8 -35
  54. package/cjs/components/DatePicker/DatePicker.js +6 -60
  55. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  56. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +34 -28
  57. package/cjs/components/DateRangePicker/DateRangePicker.js +24 -1
  58. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  59. package/cjs/components/DateRangePicker/DateRangePickerInput.js +2 -2
  60. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  61. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  62. package/cjs/components/Dropdown/Dropdown.js +2 -82
  63. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  64. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  65. package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
  66. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  67. package/cjs/components/FileUploader/FileUploader.js +1 -0
  68. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  69. package/cjs/components/FileUploader/UploadIcon.d.ts +1 -1
  70. package/cjs/components/FxInput/FxInput.d.ts +25 -21
  71. package/cjs/components/FxInput/FxInput.js +129 -68
  72. package/cjs/components/FxInput/FxInput.js.map +1 -1
  73. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  74. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  75. package/cjs/components/FxInput/MathFunctionIcon.d.ts +1 -1
  76. package/cjs/components/FxInput/UndoIcon.d.ts +1 -1
  77. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  78. package/cjs/components/Gapped/Gapped.js +1 -25
  79. package/cjs/components/Gapped/Gapped.js.map +1 -1
  80. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  81. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  82. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  83. package/cjs/components/GlobalLoader/useParams.d.ts +2 -2
  84. package/cjs/components/Group/Group.d.ts +4 -4
  85. package/cjs/components/Group/Group.js +80 -41
  86. package/cjs/components/Group/Group.js.map +1 -1
  87. package/cjs/components/Group/Group.styles.d.ts +1 -1
  88. package/cjs/components/Group/Group.styles.js +7 -7
  89. package/cjs/components/Group/Group.styles.js.map +1 -1
  90. package/cjs/components/Hint/Hint.d.ts +2 -0
  91. package/cjs/components/Hint/Hint.js +1 -0
  92. package/cjs/components/Hint/Hint.js.map +1 -1
  93. package/cjs/components/Input/Input.d.ts +33 -66
  94. package/cjs/components/Input/Input.js +31 -181
  95. package/cjs/components/Input/Input.js.map +1 -1
  96. package/cjs/components/Input/Input.styles.d.ts +0 -7
  97. package/cjs/components/Input/Input.styles.js +14 -76
  98. package/cjs/components/Input/Input.styles.js.map +1 -1
  99. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  100. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  101. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  103. package/cjs/components/Kebab/Kebab.js +9 -29
  104. package/cjs/components/Kebab/Kebab.js.map +1 -1
  105. package/cjs/components/Kebab/KebabIcon.d.ts +1 -1
  106. package/cjs/components/Link/Link.d.ts +12 -10
  107. package/cjs/components/Link/Link.js +11 -2
  108. package/cjs/components/Link/Link.js.map +1 -1
  109. package/cjs/components/Loader/Loader.d.ts +7 -36
  110. package/cjs/components/Loader/Loader.js +9 -59
  111. package/cjs/components/Loader/Loader.js.map +1 -1
  112. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  113. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  114. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  115. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  116. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  117. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  118. package/cjs/components/MaskedInput/MaskedInput.js +44 -9
  119. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  120. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -1
  121. package/cjs/components/MenuFooter/MenuFooter.js +0 -1
  122. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  123. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -1
  124. package/cjs/components/MenuHeader/MenuHeader.js +0 -1
  125. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  126. package/cjs/components/MenuItem/MenuItem.d.ts +2 -17
  127. package/cjs/components/MenuItem/MenuItem.js +5 -34
  128. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  129. package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -2
  130. package/cjs/components/MenuItem/MenuItem.styles.js +12 -17
  131. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  132. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -1
  133. package/cjs/components/MiniModal/MiniModal.styles.js +4 -2
  134. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  135. package/cjs/components/MiniModal/MiniModalBody.js +10 -2
  136. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  137. package/cjs/components/Modal/Modal.d.ts +1 -1
  138. package/cjs/components/Modal/Modal.js +2 -18
  139. package/cjs/components/Modal/Modal.js.map +1 -1
  140. package/cjs/components/Modal/Modal.styles.d.ts +8 -21
  141. package/cjs/components/Modal/Modal.styles.js +82 -168
  142. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  143. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  144. package/cjs/components/Modal/ModalBody.js +2 -6
  145. package/cjs/components/Modal/ModalBody.js.map +1 -1
  146. package/cjs/components/Modal/ModalClose.js +1 -6
  147. package/cjs/components/Modal/ModalClose.js.map +1 -1
  148. package/cjs/components/Modal/ModalFooter.js +2 -5
  149. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  150. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  151. package/cjs/components/Modal/ModalHeader.js +9 -7
  152. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  153. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  154. package/cjs/components/Paging/DotsIcon.js +13 -0
  155. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  156. package/cjs/components/Paging/ForwardIcon.d.ts +4 -1
  157. package/cjs/components/Paging/ForwardIcon.js +13 -1
  158. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  159. package/cjs/components/Paging/NavigationHelper.js +5 -7
  160. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  161. package/cjs/components/Paging/Paging.d.ts +14 -3
  162. package/cjs/components/Paging/Paging.js +116 -58
  163. package/cjs/components/Paging/Paging.js.map +1 -1
  164. package/cjs/components/Paging/Paging.styles.d.ts +16 -1
  165. package/cjs/components/Paging/Paging.styles.js +123 -28
  166. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  167. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  168. package/cjs/components/Paging/PagingHelper.js +18 -11
  169. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  170. package/cjs/components/PasswordInput/ClosedIcon.d.ts +1 -1
  171. package/cjs/components/PasswordInput/OpenedIcon.d.ts +1 -1
  172. package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -18
  173. package/cjs/components/PasswordInput/PasswordInput.js +22 -46
  174. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  175. package/cjs/components/Radio/Radio.d.ts +4 -1
  176. package/cjs/components/Radio/Radio.js +9 -10
  177. package/cjs/components/Radio/Radio.js.map +1 -1
  178. package/cjs/components/Radio/Radio.styles.d.ts +0 -2
  179. package/cjs/components/Radio/Radio.styles.js +19 -31
  180. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  181. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -1
  182. package/cjs/components/RadioGroup/RadioGroup.js +1 -15
  183. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  184. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
  185. package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -10
  186. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  187. package/cjs/components/ResponsiveLayout/decorator.d.ts +4 -2
  188. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -14
  189. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
  190. package/cjs/components/ScrollContainer/ScrollContainer.js +3 -19
  191. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  192. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
  193. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +10 -20
  194. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  195. package/cjs/components/Select/ArrowDownIcon.d.ts +1 -1
  196. package/cjs/components/Select/Select.d.ts +4 -1
  197. package/cjs/components/Select/Select.js +10 -6
  198. package/cjs/components/Select/Select.js.map +1 -1
  199. package/cjs/components/SidePage/SidePage.js +5 -12
  200. package/cjs/components/SidePage/SidePage.js.map +1 -1
  201. package/cjs/components/SidePage/SidePage.styles.d.ts +2 -7
  202. package/cjs/components/SidePage/SidePage.styles.js +41 -74
  203. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  204. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  205. package/cjs/components/SidePage/SidePageBody.js +1 -0
  206. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  207. package/cjs/components/SidePage/SidePageCloseButton.js +3 -7
  208. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  209. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  210. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  211. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  212. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  213. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  214. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageHeader.d.ts +10 -7
  216. package/cjs/components/SidePage/SidePageHeader.js +31 -51
  217. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  218. package/cjs/components/SingleToast/SingleToast.d.ts +17 -4
  219. package/cjs/components/SingleToast/SingleToast.js +28 -5
  220. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  221. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  222. package/cjs/components/Spinner/Spinner.js +2 -33
  223. package/cjs/components/Spinner/Spinner.js.map +1 -1
  224. package/cjs/components/Spinner/Spinner.styles.js +10 -15
  225. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  226. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  227. package/cjs/components/Sticky/Sticky.js +4 -30
  228. package/cjs/components/Sticky/Sticky.js.map +1 -1
  229. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  230. package/cjs/components/Switcher/Switcher.js +8 -26
  231. package/cjs/components/Switcher/Switcher.js.map +1 -1
  232. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
  233. package/cjs/components/Switcher/Switcher.styles.js +14 -17
  234. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  235. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  236. package/cjs/components/Tabs/Indicator.js +1 -0
  237. package/cjs/components/Tabs/Indicator.js.map +1 -1
  238. package/cjs/components/Tabs/Tab.d.ts +2 -0
  239. package/cjs/components/Tabs/Tab.js +1 -0
  240. package/cjs/components/Tabs/Tab.js.map +1 -1
  241. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  242. package/cjs/components/Tabs/Tabs.js +1 -0
  243. package/cjs/components/Tabs/Tabs.js.map +1 -1
  244. package/cjs/components/Textarea/Textarea.d.ts +10 -47
  245. package/cjs/components/Textarea/Textarea.js +28 -66
  246. package/cjs/components/Textarea/Textarea.js.map +1 -1
  247. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  248. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  249. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  250. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  251. package/cjs/components/Toast/Toast.d.ts +30 -16
  252. package/cjs/components/Toast/Toast.js +57 -52
  253. package/cjs/components/Toast/Toast.js.map +1 -1
  254. package/cjs/components/Toast/ToastView.d.ts +7 -15
  255. package/cjs/components/Toast/ToastView.js +19 -22
  256. package/cjs/components/Toast/ToastView.js.map +1 -1
  257. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  258. package/cjs/components/Toast/ToastView.styles.js +43 -9
  259. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  260. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  261. package/cjs/components/Toggle/Toggle.js +4 -14
  262. package/cjs/components/Toggle/Toggle.js.map +1 -1
  263. package/cjs/components/Token/Token.d.ts +2 -0
  264. package/cjs/components/Token/Token.js +1 -0
  265. package/cjs/components/Token/Token.js.map +1 -1
  266. package/cjs/components/TokenInput/TokenInput.d.ts +9 -3
  267. package/cjs/components/TokenInput/TokenInput.js +74 -58
  268. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  269. package/cjs/components/Tooltip/Tooltip.d.ts +14 -10
  270. package/cjs/components/Tooltip/Tooltip.js +96 -19
  271. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  272. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  273. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  274. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  275. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  276. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -2
  277. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  278. package/cjs/components/__stories__/Form.js +95 -0
  279. package/cjs/components/__stories__/Form.js.map +1 -0
  280. package/cjs/index.d.ts +2 -0
  281. package/cjs/index.js +1 -0
  282. package/cjs/index.js.map +1 -1
  283. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  284. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  285. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  286. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  287. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  288. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  289. package/cjs/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
  290. package/cjs/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
  291. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  292. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  293. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  294. package/cjs/internal/CommonWrapper/types.d.ts +1 -1
  295. package/cjs/internal/CommonWrapper/types.js.map +1 -1
  296. package/cjs/internal/ComponentTable.js +2 -3
  297. package/cjs/internal/ComponentTable.js.map +1 -1
  298. package/cjs/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
  299. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -1
  300. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  301. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  302. package/cjs/internal/CustomComboBox/ComboBoxView.js +48 -6
  303. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  304. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
  305. package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -10
  306. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  307. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
  308. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +18 -24
  309. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  310. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  311. package/cjs/internal/DateSelect/DateSelect.js +2 -19
  312. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  313. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
  314. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
  315. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
  316. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
  317. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
  318. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  319. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  320. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  321. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  322. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  323. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  324. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -13
  325. package/cjs/internal/InputLikeText/InputLikeText.js +17 -111
  326. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  327. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  328. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  329. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  330. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  331. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  332. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  333. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  334. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  335. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  336. package/cjs/internal/Menu/Menu.d.ts +4 -3
  337. package/cjs/internal/Menu/Menu.js +4 -10
  338. package/cjs/internal/Menu/Menu.js.map +1 -1
  339. package/cjs/internal/Menu/Menu.styles.d.ts +0 -2
  340. package/cjs/internal/Menu/Menu.styles.js +9 -23
  341. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  342. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  343. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  344. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  345. package/cjs/internal/Popup/Popup.d.ts +41 -61
  346. package/cjs/internal/Popup/Popup.js +58 -118
  347. package/cjs/internal/Popup/Popup.js.map +1 -1
  348. package/cjs/internal/Popup/PopupPin.d.ts +16 -42
  349. package/cjs/internal/Popup/PopupPin.js +130 -224
  350. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  351. package/cjs/internal/Popup/PopupPin.styles.d.ts +5 -1
  352. package/cjs/internal/Popup/PopupPin.styles.js +25 -3
  353. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  354. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  355. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  356. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  357. package/cjs/internal/PopupMenu/validatePositions.js +5 -2
  358. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  359. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  360. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  361. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  362. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  363. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  364. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  365. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  366. package/cjs/internal/ResizeDetector/ResizeDetector.js +8 -1
  367. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  368. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  369. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -1
  370. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  371. package/cjs/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
  372. package/cjs/internal/SpinnerIcon/SpinnerIcon.js +1 -55
  373. package/cjs/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  374. package/cjs/internal/ThemePlayground/HintPlayground.js +7 -4
  375. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  376. package/cjs/internal/ThemePlayground/Playground.js +5 -1
  377. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  378. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  379. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  380. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  381. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  382. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  383. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  384. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  385. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  386. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  387. package/cjs/internal/icons2022/LoadingIcon.d.ts +1 -1
  388. package/cjs/internal/icons2022/LoadingIcon.js +0 -1
  389. package/cjs/internal/icons2022/LoadingIcon.js.map +1 -1
  390. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  391. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  392. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  393. package/cjs/internal/icons2022/iconSizer.d.ts +1 -1
  394. package/cjs/internal/themes/BasicTheme.d.ts +86 -57
  395. package/cjs/internal/themes/BasicTheme.js +144 -67
  396. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  397. package/cjs/internal/themes/DarkTheme6_0.d.ts +1 -0
  398. package/cjs/internal/themes/DarkTheme6_0.js +575 -0
  399. package/cjs/internal/themes/DarkTheme6_0.js.map +1 -0
  400. package/cjs/internal/themes/LightTheme6_0.d.ts +1 -0
  401. package/cjs/internal/themes/{LightTheme5_0.js → LightTheme6_0.js} +4 -4
  402. package/cjs/internal/themes/{LightTheme5_0.js.map → LightTheme6_0.js.map} +1 -1
  403. package/cjs/lib/blink.d.ts +15 -0
  404. package/cjs/lib/blink.js +65 -0
  405. package/cjs/lib/blink.js.map +1 -0
  406. package/cjs/lib/client.d.ts +0 -2
  407. package/cjs/lib/client.js +1 -3
  408. package/cjs/lib/client.js.map +1 -1
  409. package/cjs/lib/createPropsGetter.d.ts +1 -1
  410. package/cjs/lib/currentEnvironment.js +0 -1
  411. package/cjs/lib/currentEnvironment.js.map +1 -1
  412. package/cjs/lib/date/InternalDate.js +5 -4
  413. package/cjs/lib/date/InternalDate.js.map +1 -1
  414. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  415. package/cjs/lib/date/InternalDateGetter.js +2 -2
  416. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  417. package/cjs/lib/delay.mts +3 -0
  418. package/cjs/lib/dom/getDOMRect.d.ts +1 -1
  419. package/cjs/lib/dom/getScrollWidth.js +4 -2
  420. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  421. package/cjs/lib/events/MouseDrag.js +1 -7
  422. package/cjs/lib/events/MouseDrag.js.map +1 -1
  423. package/cjs/lib/events/keyboard/identifiers.js +2 -10
  424. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  425. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
  426. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
  427. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -13
  428. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  429. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  430. package/cjs/lib/forwardRefAndName.js +0 -1
  431. package/cjs/lib/forwardRefAndName.js.map +1 -1
  432. package/cjs/lib/listenFocusOutside.js +3 -1
  433. package/cjs/lib/listenFocusOutside.js.map +1 -1
  434. package/cjs/lib/locale/decorators.d.ts +3 -2
  435. package/cjs/lib/needsPolyfillPlaceholder.js +1 -3
  436. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  437. package/cjs/lib/rootNode/getRootNode.js +2 -2
  438. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  439. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +3 -2
  440. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  441. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  442. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  443. package/cjs/lib/size/SizeControlContext.js +16 -0
  444. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  445. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  446. package/cjs/lib/size/SizeDecorator.js +41 -0
  447. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  448. package/cjs/lib/size/constants.d.ts +2 -0
  449. package/cjs/lib/size/constants.js +3 -0
  450. package/cjs/lib/size/constants.js.map +1 -0
  451. package/cjs/lib/size/index.d.ts +1 -0
  452. package/cjs/lib/size/index.js +1 -0
  453. package/cjs/lib/size/index.js.map +1 -0
  454. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  455. package/cjs/lib/size/useSizeControl.js +10 -0
  456. package/cjs/lib/size/useSizeControl.js.map +1 -0
  457. package/cjs/lib/styles/Mixins.js +1 -3
  458. package/cjs/lib/styles/Mixins.js.map +1 -1
  459. package/cjs/lib/theming/Emotion.d.ts +7 -7
  460. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  461. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  462. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  463. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  464. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -3
  465. package/cjs/lib/theming/themes/DarkTheme.js +3 -7
  466. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  467. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -3
  468. package/cjs/lib/theming/themes/LightTheme.js +3 -7
  469. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  470. package/cjs/lib/typeGuards.js +1 -1
  471. package/cjs/lib/typeGuards.js.map +1 -1
  472. package/cjs/lib/utils.d.ts +20 -5
  473. package/cjs/lib/utils.js +39 -16
  474. package/cjs/lib/utils.js.map +1 -1
  475. package/cjs/lib/withClassWrapper.js +5 -2
  476. package/cjs/lib/withClassWrapper.js.map +1 -1
  477. package/cjs/test-setup.d.ts +1 -0
  478. package/cjs/vitest.config.d.ts +2 -0
  479. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -47
  480. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  481. package/components/Autocomplete/Autocomplete.d.ts +17 -26
  482. package/components/Button/ArrowLeftIcon.d.ts +1 -1
  483. package/components/Button/ArrowRightIcon.d.ts +1 -1
  484. package/components/Button/Button/Button.js +45 -27
  485. package/components/Button/Button/Button.js.map +1 -1
  486. package/components/Button/Button.d.ts +27 -14
  487. package/components/Button/Button.mixins/Button.mixins.js +1 -4
  488. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  489. package/components/Button/Button.mixins.d.ts +0 -1
  490. package/components/Button/Button.styles/Button.styles.js +29 -29
  491. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  492. package/components/Button/Button.styles.d.ts +3 -3
  493. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  494. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  495. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  496. package/components/Calendar/Calendar.d.ts +2 -0
  497. package/components/Center/Center/Center.js.map +1 -1
  498. package/components/Center/Center.d.ts +2 -0
  499. package/components/Checkbox/Checkbox/Checkbox.js +17 -43
  500. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  501. package/components/Checkbox/Checkbox.d.ts +7 -16
  502. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +16 -25
  503. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  504. package/components/Checkbox/Checkbox.styles.d.ts +0 -3
  505. package/components/Checkbox/CheckedIcon.d.ts +1 -1
  506. package/components/Checkbox/IndeterminateIcon.d.ts +1 -1
  507. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  508. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  509. package/components/ComboBox/ComboBox.d.ts +22 -3
  510. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +20 -61
  511. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  512. package/components/CurrencyInput/CurrencyInput.d.ts +15 -45
  513. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  514. package/components/CurrencyInput/CursorHelper/CursorHelper.js +3 -1
  515. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  516. package/components/CurrencyInput/constants/constants.js +0 -1
  517. package/components/CurrencyInput/constants/constants.js.map +1 -1
  518. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  519. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  520. package/components/DateInput/CalendarIcon.d.ts +1 -1
  521. package/components/DateInput/DateInput/DateInput.js +14 -24
  522. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  523. package/components/DateInput/DateInput.d.ts +5 -2
  524. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  525. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  526. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  527. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  528. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  529. package/components/DatePicker/DatePicker.d.ts +8 -35
  530. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +14 -1
  531. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  532. package/components/DateRangePicker/DateRangePicker.d.ts +34 -28
  533. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +2 -2
  534. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  535. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  536. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  537. package/components/Dropdown/Dropdown.d.ts +2 -47
  538. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
  539. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  540. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  541. package/components/FileUploader/FileUploader/FileUploader.js +1 -0
  542. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  543. package/components/FileUploader/UploadIcon.d.ts +1 -1
  544. package/components/FxInput/FxInput/FxInput.js +112 -72
  545. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  546. package/components/FxInput/FxInput.d.ts +25 -21
  547. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  548. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  549. package/components/FxInput/MathFunctionIcon.d.ts +1 -1
  550. package/components/FxInput/UndoIcon.d.ts +1 -1
  551. package/components/Gapped/Gapped/Gapped.js +1 -16
  552. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  553. package/components/Gapped/Gapped.d.ts +2 -15
  554. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  555. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  556. package/components/GlobalLoader/useParams.d.ts +2 -2
  557. package/components/Group/Group/Group.js +68 -37
  558. package/components/Group/Group/Group.js.map +1 -1
  559. package/components/Group/Group.d.ts +4 -4
  560. package/components/Group/Group.styles/Group.styles.js +5 -5
  561. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  562. package/components/Group/Group.styles.d.ts +1 -1
  563. package/components/Hint/Hint/Hint.js.map +1 -1
  564. package/components/Hint/Hint.d.ts +2 -0
  565. package/components/Input/Input/Input.js +42 -166
  566. package/components/Input/Input/Input.js.map +1 -1
  567. package/components/Input/Input.d.ts +33 -66
  568. package/components/Input/Input.styles/Input.styles.js +15 -37
  569. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  570. package/components/Input/Input.styles.d.ts +0 -7
  571. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  572. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  573. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  574. package/components/Kebab/Kebab/Kebab.js +8 -26
  575. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  576. package/components/Kebab/Kebab.d.ts +4 -2
  577. package/components/Kebab/KebabIcon.d.ts +1 -1
  578. package/components/Link/Link/Link.js +5 -2
  579. package/components/Link/Link/Link.js.map +1 -1
  580. package/components/Link/Link.d.ts +12 -10
  581. package/components/Loader/Loader/Loader.js +4 -37
  582. package/components/Loader/Loader/Loader.js.map +1 -1
  583. package/components/Loader/Loader.d.ts +7 -36
  584. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  585. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  586. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  587. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  588. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  589. package/components/MaskedInput/MaskedInput/MaskedInput.js +29 -7
  590. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  591. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  592. package/components/MenuFooter/MenuFooter/MenuFooter.js +0 -2
  593. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  594. package/components/MenuFooter/MenuFooter.d.ts +1 -1
  595. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -2
  596. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  597. package/components/MenuHeader/MenuHeader.d.ts +1 -1
  598. package/components/MenuItem/MenuItem/MenuItem.js +3 -17
  599. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  600. package/components/MenuItem/MenuItem.d.ts +2 -17
  601. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +12 -15
  602. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  603. package/components/MenuItem/MenuItem.styles.d.ts +1 -2
  604. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +2 -2
  605. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  606. package/components/MiniModal/MiniModal.styles.d.ts +1 -1
  607. package/components/MiniModal/MiniModalBody/MiniModalBody.js +11 -5
  608. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  609. package/components/Modal/Modal/Modal.js +8 -16
  610. package/components/Modal/Modal/Modal.js.map +1 -1
  611. package/components/Modal/Modal.d.ts +1 -1
  612. package/components/Modal/Modal.styles/Modal.styles.js +55 -95
  613. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  614. package/components/Modal/Modal.styles.d.ts +8 -21
  615. package/components/Modal/ModalBody/ModalBody.js +1 -3
  616. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  617. package/components/Modal/ModalBody.d.ts +2 -0
  618. package/components/Modal/ModalClose/ModalClose.js +1 -3
  619. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  620. package/components/Modal/ModalFooter/ModalFooter.js +2 -4
  621. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  622. package/components/Modal/ModalHeader/ModalHeader.js +4 -4
  623. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  624. package/components/Modal/ModalHeader.d.ts +5 -0
  625. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  626. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  627. package/components/Paging/DotsIcon/package.json +6 -0
  628. package/components/Paging/DotsIcon.d.ts +3 -0
  629. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  630. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  631. package/components/Paging/ForwardIcon.d.ts +4 -1
  632. package/components/Paging/NavigationHelper/NavigationHelper.js +4 -7
  633. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  634. package/components/Paging/Paging/Paging.js +89 -57
  635. package/components/Paging/Paging/Paging.js.map +1 -1
  636. package/components/Paging/Paging.d.ts +14 -3
  637. package/components/Paging/Paging.styles/Paging.styles.js +61 -16
  638. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  639. package/components/Paging/Paging.styles.d.ts +16 -1
  640. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  641. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  642. package/components/Paging/PagingHelper.d.ts +1 -1
  643. package/components/PasswordInput/ClosedIcon.d.ts +1 -1
  644. package/components/PasswordInput/OpenedIcon.d.ts +1 -1
  645. package/components/PasswordInput/PasswordInput/PasswordInput.js +17 -37
  646. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  647. package/components/PasswordInput/PasswordInput.d.ts +10 -18
  648. package/components/Radio/Radio/Radio.js +10 -11
  649. package/components/Radio/Radio/Radio.js.map +1 -1
  650. package/components/Radio/Radio.d.ts +4 -1
  651. package/components/Radio/Radio.styles/Radio.styles.js +19 -25
  652. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  653. package/components/Radio/Radio.styles.d.ts +0 -2
  654. package/components/RadioGroup/RadioGroup/RadioGroup.js +18 -23
  655. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  656. package/components/RadioGroup/RadioGroup.d.ts +2 -1
  657. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +5 -8
  658. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  659. package/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
  660. package/components/ResponsiveLayout/decorator.d.ts +4 -2
  661. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +2 -15
  662. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  663. package/components/ScrollContainer/ScrollContainer.d.ts +3 -14
  664. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
  665. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +10 -13
  666. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  667. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
  668. package/components/Select/ArrowDownIcon.d.ts +1 -1
  669. package/components/Select/Select/Select.js +14 -13
  670. package/components/Select/Select/Select.js.map +1 -1
  671. package/components/Select/Select.d.ts +4 -1
  672. package/components/SidePage/SidePage/SidePage.js +6 -11
  673. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  674. package/components/SidePage/SidePage.styles/SidePage.styles.js +27 -43
  675. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  676. package/components/SidePage/SidePage.styles.d.ts +2 -7
  677. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  678. package/components/SidePage/SidePageBody.d.ts +2 -0
  679. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +1 -3
  680. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  681. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  682. package/components/SidePage/SidePageContainer.d.ts +2 -0
  683. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  684. package/components/SidePage/SidePageFooter.d.ts +2 -0
  685. package/components/SidePage/SidePageHeader/SidePageHeader.js +32 -65
  686. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  687. package/components/SidePage/SidePageHeader.d.ts +10 -7
  688. package/components/SingleToast/SingleToast/SingleToast.js +23 -14
  689. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  690. package/components/SingleToast/SingleToast.d.ts +17 -4
  691. package/components/Spinner/Spinner/Spinner.js +1 -19
  692. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  693. package/components/Spinner/Spinner.d.ts +2 -18
  694. package/components/Spinner/Spinner.styles/Spinner.styles.js +2 -3
  695. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  696. package/components/Sticky/Sticky/Sticky.js +6 -21
  697. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  698. package/components/Sticky/Sticky.d.ts +2 -13
  699. package/components/Switcher/Switcher/Switcher.js +14 -22
  700. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  701. package/components/Switcher/Switcher.d.ts +6 -21
  702. package/components/Switcher/Switcher.styles/Switcher.styles.js +9 -11
  703. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  704. package/components/Switcher/Switcher.styles.d.ts +1 -1
  705. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  706. package/components/Tabs/Indicator.d.ts +2 -0
  707. package/components/Tabs/Tab/Tab.js.map +1 -1
  708. package/components/Tabs/Tab.d.ts +2 -0
  709. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  710. package/components/Tabs/Tabs.d.ts +2 -0
  711. package/components/Textarea/Textarea/Textarea.js +26 -60
  712. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  713. package/components/Textarea/Textarea.d.ts +10 -47
  714. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  715. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  716. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  717. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  718. package/components/Toast/Toast/Toast.js +46 -41
  719. package/components/Toast/Toast/Toast.js.map +1 -1
  720. package/components/Toast/Toast.d.ts +30 -16
  721. package/components/Toast/ToastView/ToastView.js +20 -22
  722. package/components/Toast/ToastView/ToastView.js.map +1 -1
  723. package/components/Toast/ToastView.d.ts +7 -15
  724. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  725. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  726. package/components/Toast/ToastView.styles.d.ts +4 -0
  727. package/components/Toggle/Toggle/Toggle.js +11 -20
  728. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  729. package/components/Toggle/Toggle.d.ts +4 -11
  730. package/components/Token/Token/Token.js.map +1 -1
  731. package/components/Token/Token.d.ts +2 -0
  732. package/components/TokenInput/TokenInput/TokenInput.js +106 -88
  733. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  734. package/components/TokenInput/TokenInput.d.ts +9 -3
  735. package/components/Tooltip/Tooltip/Tooltip.js +96 -48
  736. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  737. package/components/Tooltip/Tooltip.d.ts +14 -10
  738. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  739. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  740. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  741. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +4 -3
  742. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  743. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  744. package/components/__stories__/Form/Form.js +98 -0
  745. package/components/__stories__/Form/Form.js.map +1 -0
  746. package/components/__stories__/Form/package.json +6 -0
  747. package/index.d.ts +2 -0
  748. package/index.js +2 -0
  749. package/index.js.map +1 -1
  750. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  751. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  752. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  753. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  754. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  755. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  756. package/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
  757. package/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
  758. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  759. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  760. package/internal/CommonWrapper/types/types.js.map +1 -1
  761. package/internal/CommonWrapper/types.d.ts +1 -1
  762. package/internal/ComponentTable/ComponentTable.js +0 -2
  763. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  764. package/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
  765. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +0 -1
  766. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  767. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +69 -40
  768. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  769. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  770. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -19
  771. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  772. package/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
  773. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +18 -23
  774. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  775. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
  776. package/internal/DateSelect/DateSelect/DateSelect.js +2 -11
  777. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  778. package/internal/DateSelect/DateSelect.d.ts +0 -10
  779. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
  780. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
  781. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
  782. package/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
  783. package/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
  784. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  785. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  786. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  787. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  788. package/internal/InputLikeText/InputLikeText/InputLikeText.js +22 -115
  789. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  790. package/internal/InputLikeText/InputLikeText.d.ts +4 -13
  791. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  792. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  793. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  794. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  795. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  796. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  797. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  798. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  799. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  800. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  801. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  802. package/internal/Menu/Menu/Menu.js +2 -5
  803. package/internal/Menu/Menu/Menu.js.map +1 -1
  804. package/internal/Menu/Menu.d.ts +4 -3
  805. package/internal/Menu/Menu.styles/Menu.styles.js +9 -15
  806. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  807. package/internal/Menu/Menu.styles.d.ts +0 -2
  808. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  809. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  810. package/internal/Popup/Popup/Popup.js +29 -94
  811. package/internal/Popup/Popup/Popup.js.map +1 -1
  812. package/internal/Popup/Popup.d.ts +41 -61
  813. package/internal/Popup/PopupPin/PopupPin.js +115 -172
  814. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  815. package/internal/Popup/PopupPin.d.ts +16 -42
  816. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +15 -3
  817. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  818. package/internal/Popup/PopupPin.styles.d.ts +5 -1
  819. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  820. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  821. package/internal/PopupMenu/validatePositions/validatePositions.js +3 -1
  822. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  823. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  824. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  825. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  826. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  827. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  828. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  829. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +1 -1
  830. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  831. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  832. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +4 -1
  833. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  834. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  835. package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js +0 -41
  836. package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js.map +1 -1
  837. package/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
  838. package/internal/ThemePlayground/HintPlayground/HintPlayground.js +10 -8
  839. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  840. package/internal/ThemePlayground/Playground/Playground.js +8 -5
  841. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  842. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  843. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  844. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  845. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  846. package/internal/ThemePlayground/helpers.d.ts +1 -1
  847. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  848. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  849. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  850. package/internal/ZIndex/ZIndex.d.ts +3 -3
  851. package/internal/icons2022/LoadingIcon/LoadingIcon.js +0 -1
  852. package/internal/icons2022/LoadingIcon/LoadingIcon.js.map +1 -1
  853. package/internal/icons2022/LoadingIcon.d.ts +1 -1
  854. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  855. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  856. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  857. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  858. package/internal/icons2022/iconSizer.d.ts +1 -1
  859. package/internal/themes/BasicTheme/BasicTheme.js +176 -103
  860. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  861. package/internal/themes/BasicTheme.d.ts +86 -57
  862. package/internal/themes/DarkTheme6_0/DarkTheme6_0.js +409 -0
  863. package/internal/themes/DarkTheme6_0/DarkTheme6_0.js.map +1 -0
  864. package/internal/themes/DarkTheme6_0/package.json +6 -0
  865. package/internal/themes/DarkTheme6_0.d.ts +1 -0
  866. package/internal/themes/{LightTheme5_0/LightTheme5_0.js → LightTheme6_0/LightTheme6_0.js} +5 -5
  867. package/internal/themes/{LightTheme5_0/LightTheme5_0.js.map → LightTheme6_0/LightTheme6_0.js.map} +1 -1
  868. package/internal/themes/LightTheme6_0/package.json +6 -0
  869. package/internal/themes/LightTheme6_0.d.ts +1 -0
  870. package/lib/blink/blink.js +63 -0
  871. package/lib/blink/blink.js.map +1 -0
  872. package/lib/blink/package.json +6 -0
  873. package/lib/blink.d.ts +15 -0
  874. package/lib/client/client.js +0 -2
  875. package/lib/client/client.js.map +1 -1
  876. package/lib/client.d.ts +0 -2
  877. package/lib/createPropsGetter.d.ts +1 -1
  878. package/lib/currentEnvironment/currentEnvironment.js +2 -3
  879. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  880. package/lib/date/InternalDate/InternalDate.js +5 -4
  881. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  882. package/lib/date/InternalDateGetter/InternalDateGetter.js +2 -2
  883. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  884. package/lib/date/InternalDateGetter.d.ts +1 -1
  885. package/lib/delay.d.mts +1 -0
  886. package/lib/delay.mts +3 -0
  887. package/lib/dom/getDOMRect.d.ts +1 -1
  888. package/lib/dom/getScrollWidth/getScrollWidth.js +3 -1
  889. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  890. package/lib/events/MouseDrag/MouseDrag.js +0 -7
  891. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  892. package/lib/events/keyboard/identifiers/identifiers.js +1 -10
  893. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  894. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
  895. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +1 -7
  896. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  897. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
  898. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  899. package/lib/forwardRefAndName.d.ts +1 -1
  900. package/lib/listenFocusOutside/listenFocusOutside.js +3 -1
  901. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  902. package/lib/locale/decorators.d.ts +3 -2
  903. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +1 -2
  904. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  905. package/lib/rootNode/getRootNode/getRootNode.js +1 -1
  906. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  907. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  908. package/lib/rootNode/rootNodeDecorator.d.ts +3 -2
  909. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  910. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  911. package/lib/size/SizeControlContext/package.json +6 -0
  912. package/lib/size/SizeControlContext.d.ts +6 -0
  913. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  914. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  915. package/lib/size/SizeDecorator/package.json +6 -0
  916. package/lib/size/SizeDecorator.d.ts +33 -0
  917. package/lib/size/constants/constants.js +1 -0
  918. package/lib/size/constants/constants.js.map +1 -0
  919. package/lib/size/constants/package.json +6 -0
  920. package/lib/size/constants.d.ts +2 -0
  921. package/lib/size/index/index.js +1 -0
  922. package/lib/size/index/index.js.map +1 -0
  923. package/{internal/InternalMaskedInput → lib/size}/index/package.json +1 -1
  924. package/lib/size/index.d.ts +1 -0
  925. package/{internal/InternalMaskedInput → lib/size}/package.json +1 -1
  926. package/lib/size/useSizeControl/package.json +6 -0
  927. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  928. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  929. package/lib/size/useSizeControl.d.ts +2 -0
  930. package/lib/styles/Mixins/Mixins.js +1 -1
  931. package/lib/styles/Mixins/Mixins.js.map +1 -1
  932. package/lib/theming/Emotion.d.ts +7 -7
  933. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  934. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  935. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  936. package/lib/theming/ThemeVersions.d.ts +1 -1
  937. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -7
  938. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  939. package/lib/theming/themes/DarkTheme.d.ts +1 -3
  940. package/lib/theming/themes/LightTheme/LightTheme.js +3 -7
  941. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  942. package/lib/theming/themes/LightTheme.d.ts +1 -3
  943. package/lib/typeGuards/typeGuards.js +1 -1
  944. package/lib/typeGuards/typeGuards.js.map +1 -1
  945. package/lib/utils/utils.js +32 -14
  946. package/lib/utils/utils.js.map +1 -1
  947. package/lib/utils.d.ts +20 -5
  948. package/lib/withClassWrapper/withClassWrapper.js +3 -1
  949. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  950. package/package.json +23 -39
  951. package/test-setup.d.ts +1 -0
  952. package/vitest.config.d.ts +2 -0
  953. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  954. package/cjs/components/Button/Button.md +0 -261
  955. package/cjs/components/Calendar/Calendar.md +0 -276
  956. package/cjs/components/Calendar/CalendarDay.md +0 -70
  957. package/cjs/components/Center/Center.md +0 -26
  958. package/cjs/components/Checkbox/Checkbox.md +0 -171
  959. package/cjs/components/ComboBox/ComboBox.md +0 -574
  960. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  961. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  962. package/cjs/components/DateInput/DateInput.md +0 -111
  963. package/cjs/components/DatePicker/DatePicker.md +0 -368
  964. package/cjs/components/Dropdown/Dropdown.md +0 -45
  965. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  966. package/cjs/components/FileUploader/FileUploader.md +0 -131
  967. package/cjs/components/FxInput/FxInput.md +0 -31
  968. package/cjs/components/Gapped/Gapped.md +0 -44
  969. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  970. package/cjs/components/Group/Group.md +0 -19
  971. package/cjs/components/Hint/Hint.md +0 -86
  972. package/cjs/components/Input/Input.md +0 -86
  973. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  974. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +0 -46
  975. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +0 -1
  976. package/cjs/components/Kebab/Kebab.md +0 -306
  977. package/cjs/components/Link/Link.md +0 -182
  978. package/cjs/components/Loader/Loader.md +0 -33
  979. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  980. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  981. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  982. package/cjs/components/MenuItem/MenuItem.md +0 -139
  983. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  984. package/cjs/components/MiniModal/MiniModal.md +0 -231
  985. package/cjs/components/Modal/Modal.md +0 -56
  986. package/cjs/components/Paging/Paging.md +0 -57
  987. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  988. package/cjs/components/Radio/Radio.md +0 -57
  989. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  990. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  991. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  992. package/cjs/components/Select/Select.md +0 -113
  993. package/cjs/components/SidePage/SidePage.md +0 -65
  994. package/cjs/components/SingleToast/SingleToast.md +0 -36
  995. package/cjs/components/Spinner/Spinner.md +0 -36
  996. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
  997. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +0 -197
  998. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +0 -1
  999. package/cjs/components/Sticky/Sticky.md +0 -28
  1000. package/cjs/components/Switcher/Switcher.md +0 -111
  1001. package/cjs/components/Tabs/Tab.md +0 -73
  1002. package/cjs/components/Tabs/Tabs.md +0 -54
  1003. package/cjs/components/Textarea/Textarea.md +0 -58
  1004. package/cjs/components/Toast/Toast.md +0 -69
  1005. package/cjs/components/Toast/ToastStatic.d.ts +0 -10
  1006. package/cjs/components/Toast/ToastStatic.js +0 -53
  1007. package/cjs/components/Toast/ToastStatic.js.map +0 -1
  1008. package/cjs/components/Toggle/Toggle.md +0 -110
  1009. package/cjs/components/Token/Token.md +0 -48
  1010. package/cjs/components/TokenInput/TokenInput.md +0 -277
  1011. package/cjs/components/Tooltip/Tooltip.md +0 -322
  1012. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  1013. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  1014. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  1015. package/cjs/internal/DataTids/DataTids.js +0 -50
  1016. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  1017. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  1018. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  1019. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  1020. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  1021. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  1022. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  1023. package/cjs/internal/InputLikeText/HiddenInput.d.ts +0 -13
  1024. package/cjs/internal/InputLikeText/HiddenInput.js +0 -43
  1025. package/cjs/internal/InputLikeText/HiddenInput.js.map +0 -1
  1026. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
  1027. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +0 -241
  1028. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
  1029. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
  1030. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js +0 -30
  1031. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +0 -1
  1032. package/cjs/internal/InternalMaskedInput/index.d.ts +0 -1
  1033. package/cjs/internal/InternalMaskedInput/index.js +0 -1
  1034. package/cjs/internal/InternalMaskedInput/index.js.map +0 -1
  1035. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  1036. package/cjs/internal/themes/BasicLightTheme.d.ts +0 -5
  1037. package/cjs/internal/themes/BasicLightTheme.js +0 -6
  1038. package/cjs/internal/themes/BasicLightTheme.js.map +0 -1
  1039. package/cjs/internal/themes/DarkTheme5_0.d.ts +0 -1
  1040. package/cjs/internal/themes/DarkTheme5_0.js +0 -570
  1041. package/cjs/internal/themes/DarkTheme5_0.js.map +0 -1
  1042. package/cjs/internal/themes/DarkTheme5_1.d.ts +0 -1
  1043. package/cjs/internal/themes/DarkTheme5_1.js +0 -41
  1044. package/cjs/internal/themes/DarkTheme5_1.js.map +0 -1
  1045. package/cjs/internal/themes/DarkTheme5_2.d.ts +0 -1
  1046. package/cjs/internal/themes/DarkTheme5_2.js +0 -29
  1047. package/cjs/internal/themes/DarkTheme5_2.js.map +0 -1
  1048. package/cjs/internal/themes/LightTheme5_0.d.ts +0 -1
  1049. package/cjs/internal/themes/LightTheme5_1.d.ts +0 -1
  1050. package/cjs/internal/themes/LightTheme5_1.js +0 -41
  1051. package/cjs/internal/themes/LightTheme5_1.js.map +0 -1
  1052. package/cjs/internal/themes/LightTheme5_2.d.ts +0 -1
  1053. package/cjs/internal/themes/LightTheme5_2.js +0 -27
  1054. package/cjs/internal/themes/LightTheme5_2.js.map +0 -1
  1055. package/cjs/lib/SSRSafe.d.ts +0 -2
  1056. package/cjs/lib/SSRSafe.js +0 -5
  1057. package/cjs/lib/SSRSafe.js.map +0 -1
  1058. package/cjs/lib/events/fixClickFocusIE.d.ts +0 -1
  1059. package/cjs/lib/events/fixClickFocusIE.js +0 -20
  1060. package/cjs/lib/events/fixClickFocusIE.js.map +0 -1
  1061. package/cjs/lib/events/stopPropagation.d.ts +0 -1
  1062. package/cjs/lib/events/stopPropagation.js +0 -7
  1063. package/cjs/lib/events/stopPropagation.js.map +0 -1
  1064. package/cjs/lib/events/tabListener.d.ts +0 -1
  1065. package/cjs/lib/events/tabListener.js +0 -2
  1066. package/cjs/lib/events/tabListener.js.map +0 -1
  1067. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  1068. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  1069. package/cjs/lib/theming/ThemeContext.md +0 -265
  1070. package/components/Autocomplete/Autocomplete.md +0 -113
  1071. package/components/Button/Button.md +0 -261
  1072. package/components/Calendar/Calendar.md +0 -276
  1073. package/components/Calendar/CalendarDay.md +0 -70
  1074. package/components/Center/Center.md +0 -26
  1075. package/components/Checkbox/Checkbox.md +0 -171
  1076. package/components/ComboBox/ComboBox.md +0 -574
  1077. package/components/CurrencyInput/CurrencyInput.md +0 -39
  1078. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  1079. package/components/DateInput/DateInput.md +0 -111
  1080. package/components/DatePicker/DatePicker.md +0 -368
  1081. package/components/Dropdown/Dropdown.md +0 -45
  1082. package/components/DropdownMenu/DropdownMenu.md +0 -290
  1083. package/components/FileUploader/FileUploader.md +0 -131
  1084. package/components/FxInput/FxInput.md +0 -31
  1085. package/components/Gapped/Gapped.md +0 -44
  1086. package/components/GlobalLoader/GlobalLoader.md +0 -97
  1087. package/components/Group/Group.md +0 -19
  1088. package/components/Hint/Hint.md +0 -86
  1089. package/components/Input/Input.md +0 -86
  1090. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +0 -29
  1091. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +0 -1
  1092. package/components/Input/InputLayout/PolyfillPlaceholder/package.json +0 -6
  1093. package/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  1094. package/components/Kebab/Kebab.md +0 -306
  1095. package/components/Link/Link.md +0 -182
  1096. package/components/Loader/Loader.md +0 -33
  1097. package/components/MaskedInput/MaskedInput.md +0 -114
  1098. package/components/MenuFooter/MenuFooter.md +0 -27
  1099. package/components/MenuHeader/MenuHeader.md +0 -35
  1100. package/components/MenuItem/MenuItem.md +0 -139
  1101. package/components/MenuSeparator/MenuSeparator.md +0 -14
  1102. package/components/MiniModal/MiniModal.md +0 -231
  1103. package/components/Modal/Modal.md +0 -56
  1104. package/components/Paging/Paging.md +0 -57
  1105. package/components/PasswordInput/PasswordInput.md +0 -29
  1106. package/components/Radio/Radio.md +0 -57
  1107. package/components/RadioGroup/RadioGroup.md +0 -44
  1108. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  1109. package/components/ScrollContainer/ScrollContainer.md +0 -224
  1110. package/components/Select/Select.md +0 -113
  1111. package/components/SidePage/SidePage.md +0 -65
  1112. package/components/SingleToast/SingleToast.md +0 -36
  1113. package/components/Spinner/Spinner.md +0 -36
  1114. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +0 -146
  1115. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +0 -1
  1116. package/components/Spinner/SpinnerFallbackAnimation/package.json +0 -6
  1117. package/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
  1118. package/components/Sticky/Sticky.md +0 -28
  1119. package/components/Switcher/Switcher.md +0 -111
  1120. package/components/Tabs/Tab.md +0 -73
  1121. package/components/Tabs/Tabs.md +0 -54
  1122. package/components/Textarea/Textarea.md +0 -58
  1123. package/components/Toast/Toast.md +0 -69
  1124. package/components/Toast/ToastStatic/ToastStatic.js +0 -39
  1125. package/components/Toast/ToastStatic/ToastStatic.js.map +0 -1
  1126. package/components/Toast/ToastStatic/package.json +0 -6
  1127. package/components/Toast/ToastStatic.d.ts +0 -10
  1128. package/components/Toggle/Toggle.md +0 -110
  1129. package/components/Token/Token.md +0 -48
  1130. package/components/TokenInput/TokenInput.md +0 -277
  1131. package/components/Tooltip/Tooltip.md +0 -322
  1132. package/components/TooltipMenu/TooltipMenu.md +0 -241
  1133. package/internal/DataTids/DATATIDS.md +0 -12
  1134. package/internal/DataTids/DataTids/DataTids.js +0 -69
  1135. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  1136. package/internal/DataTids/DataTids/package.json +0 -6
  1137. package/internal/DataTids/DataTids.d.ts +0 -12
  1138. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  1139. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  1140. package/internal/DataTids/DataTids.styles/package.json +0 -6
  1141. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1142. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  1143. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1144. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1145. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  1146. package/internal/InputLikeText/HiddenInput/HiddenInput.js +0 -42
  1147. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +0 -1
  1148. package/internal/InputLikeText/HiddenInput/package.json +0 -6
  1149. package/internal/InputLikeText/HiddenInput.d.ts +0 -13
  1150. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +0 -191
  1151. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
  1152. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +0 -6
  1153. package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
  1154. package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js +0 -14
  1155. package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map +0 -1
  1156. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +0 -6
  1157. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
  1158. package/internal/InternalMaskedInput/index/index.js +0 -1
  1159. package/internal/InternalMaskedInput/index/index.js.map +0 -1
  1160. package/internal/InternalMaskedInput/index.d.ts +0 -1
  1161. package/internal/ThemePlayground/Playground.md +0 -7
  1162. package/internal/themes/BasicLightTheme/BasicLightTheme.js +0 -6
  1163. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +0 -1
  1164. package/internal/themes/BasicLightTheme/package.json +0 -6
  1165. package/internal/themes/BasicLightTheme.d.ts +0 -5
  1166. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +0 -409
  1167. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +0 -1
  1168. package/internal/themes/DarkTheme5_0/package.json +0 -6
  1169. package/internal/themes/DarkTheme5_0.d.ts +0 -1
  1170. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +0 -52
  1171. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +0 -1
  1172. package/internal/themes/DarkTheme5_1/package.json +0 -6
  1173. package/internal/themes/DarkTheme5_1.d.ts +0 -1
  1174. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +0 -27
  1175. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +0 -1
  1176. package/internal/themes/DarkTheme5_2/package.json +0 -6
  1177. package/internal/themes/DarkTheme5_2.d.ts +0 -1
  1178. package/internal/themes/LightTheme5_0/package.json +0 -6
  1179. package/internal/themes/LightTheme5_0.d.ts +0 -1
  1180. package/internal/themes/LightTheme5_1/LightTheme5_1.js +0 -52
  1181. package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +0 -1
  1182. package/internal/themes/LightTheme5_1/package.json +0 -6
  1183. package/internal/themes/LightTheme5_1.d.ts +0 -1
  1184. package/internal/themes/LightTheme5_2/LightTheme5_2.js +0 -27
  1185. package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +0 -1
  1186. package/internal/themes/LightTheme5_2/package.json +0 -6
  1187. package/internal/themes/LightTheme5_2.d.ts +0 -1
  1188. package/lib/SSRSafe/SSRSafe.js +0 -4
  1189. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  1190. package/lib/SSRSafe/package.json +0 -6
  1191. package/lib/SSRSafe.d.ts +0 -2
  1192. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +0 -18
  1193. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +0 -1
  1194. package/lib/events/fixClickFocusIE/package.json +0 -6
  1195. package/lib/events/fixClickFocusIE.d.ts +0 -1
  1196. package/lib/events/stopPropagation/package.json +0 -6
  1197. package/lib/events/stopPropagation/stopPropagation.js +0 -7
  1198. package/lib/events/stopPropagation/stopPropagation.js.map +0 -1
  1199. package/lib/events/stopPropagation.d.ts +0 -1
  1200. package/lib/events/tabListener/package.json +0 -6
  1201. package/lib/events/tabListener/tabListener.js +0 -2
  1202. package/lib/events/tabListener/tabListener.js.map +0 -1
  1203. package/lib/events/tabListener.d.ts +0 -1
  1204. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  1205. package/lib/locale/LOCALECONTEXT.md +0 -222
  1206. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","warning","debounce","globalObject","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","isInstanceOf","FocusControlWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","_class","_CurrencyInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","_extends","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose","_excluded","createElement","onBlurWhenDisabled","resetFocus","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose","_proto","prototype","componentDidMount","_this$props","maxLength","undefined","componentDidUpdate","prevProps","prevState","_this$getProps","isValidNumber","isNumeric","Number","_this$state$selection","setSelectionRange","render","rootNodeRef","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","inputMode","_input$selectionStart","_input$selectionEnd","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport type { Selection, SelectionDirection } from './SelectionHelper';\nimport { SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n Omit<InputProps, 'showClearIcon'>,\n {\n /** Задает значение инпута. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает отрицательные значения. */\n signed?: boolean;\n\n /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **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 * `CurrencyInput` — поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.\n * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n *\n * Если `fractionDigits=15`, то в целой части допускается **0**.\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 propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: 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\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 private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits } = this.props;\n const fractionDigits = this.getProps().fractionDigits;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (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() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\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 * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n 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 || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.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 };\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 (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\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\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","globalObject","isNonNullable","isNullable","Input","CommonWrapper","rootNode","createPropsGetter","isInstanceOf","FocusControlWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","_class","_CurrencyInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","_extends","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose","_excluded","createElement","onBlurWhenDisabled","resetFocus","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","event","setSelectionFromEvent","selection","getSelection","target","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose","_proto","prototype","validateProps","isNumeric","componentDidMount","componentDidUpdate","prevProps","prevState","_this$getProps","Number","_this$state$selection","setSelectionRange","render","rootNodeRef","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","displayName","inputMode","_input$selectionStart","_input$selectionEnd","HTMLInputElement","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport type { Selection, SelectionDirection } from './SelectionHelper';\nimport { SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends 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() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\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 = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n 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 || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.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 (!isInstanceOf(input, globalObject.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"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,25 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { InputProps } from '../Input';
5
4
  import type { Nullable, Override } from '../../typings/utility-types';
6
5
  import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
7
7
  import type { Selection } from './SelectionHelper';
8
- export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<Omit<InputProps, 'showClearIcon'>, {
9
- /** Задает значение инпута. */
8
+ export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<Omit<InputProps, 'showClearIcon' | 'maxLength'>, {
9
+ /** Задаёт значение поля. */
10
10
  value?: Nullable<number>;
11
11
  /** Убирает лишние нули после запятой. */
12
12
  hideTrailingZeros?: boolean;
13
- /** Устанавливает минимальное количество отображаемых знаков после запятой. */
13
+ /** Устанавливает минимальное количество отображаемых знаков после запятой. Если fractionDigits=15, то в целой части допускается только **0**. */
14
14
  fractionDigits?: Nullable<number>;
15
- /** Разрешает отрицательные значения. */
15
+ /** Разрешает вводить в поле символ минуса для отрицательных значений. */
16
16
  signed?: boolean;
17
- /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */
17
+ /** Задаёт допустимое количество цифр целой части до запятой.
18
+ * Если передан **0**, то в целой части допускается только **0**. */
18
19
  integerDigits?: Nullable<number>;
19
- /** Задает функцию, которая вызывается при изменении `value`. */
20
+ /** Задаёт функцию, которая вызывается при изменении `value`. */
20
21
  onValueChange: (value: Nullable<number>) => void;
21
- /** Задает функцию, которая вызывается при отправке формы. */
22
+ /** Задаёт функцию, которая вызывается при отправке формы. */
22
23
  onSubmit?: () => void;
23
24
  }> {
24
25
  }
@@ -31,64 +32,33 @@ export declare const CurrencyInputDataTids: {
31
32
  readonly root: "CurrencyInput__root";
32
33
  };
33
34
  type DefaultProps = Required<Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>>;
34
- /**
35
- * `CurrencyInput` — поле для денежных сумм (и других числовых значений).
36
- * Принимает любые свойства `Input`.
37
- *
38
- * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.
39
- * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.
40
- *
41
- * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
42
- *
43
- * Если `fractionDigits=15`, то в целой части допускается **0**.
44
- */
35
+ /** Поле для денежных сумм. */
45
36
  export declare class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {
46
37
  static __KONTUR_REACT_UI__: string;
47
38
  static displayName: string;
48
- static propTypes: {
49
- align: PropTypes.Requireable<string>;
50
- autoFocus: PropTypes.Requireable<boolean>;
51
- borderless: PropTypes.Requireable<boolean>;
52
- disabled: PropTypes.Requireable<boolean>;
53
- error: PropTypes.Requireable<boolean>;
54
- fractionDigits: PropTypes.Requireable<number>;
55
- hideTrailingZeros: PropTypes.Requireable<boolean>;
56
- leftIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
57
- placeholder: PropTypes.Requireable<string>;
58
- signed: PropTypes.Requireable<boolean>;
59
- size: PropTypes.Requireable<string>;
60
- value: (props: CurrencyInputProps) => void;
61
- warning: PropTypes.Requireable<boolean>;
62
- width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
63
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
64
- onValueChange: PropTypes.Validator<(...args: any[]) => any>;
65
- onFocus: PropTypes.Requireable<(...args: any[]) => any>;
66
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
67
- onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
68
- onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
69
- onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
70
- };
71
39
  static defaultProps: DefaultProps;
72
40
  private getProps;
41
+ private validateProps;
73
42
  state: CurrencyInputState;
74
43
  private input;
75
44
  private tempSelectionForOnChange;
45
+ getRootNode: TGetRootNode;
76
46
  private setRootNode;
77
47
  componentDidMount(): void;
78
48
  componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState): void;
79
49
  render(): React.JSX.Element;
80
50
  renderMain: (props: CommonWrapperRestProps<CurrencyInputProps>) => React.JSX.Element;
81
- /**
51
+ /** Программно устанавливает фокус на поле.
52
+ * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
82
53
  * @public
83
54
  */
84
55
  focus: () => void;
85
- /**
56
+ /** Программно снимает фокус с кнопки.
86
57
  * @public
87
58
  */
88
59
  blur: () => void;
89
60
  private getState;
90
61
  private setSelectionFromEvent;
91
- private readonly debouncedSetSelectionFromEvent;
92
62
  private handleMouseUp;
93
63
  private handleKeyDown;
94
64
  private scrollInput;
@@ -16,4 +16,4 @@ export declare const CURRENCY_INPUT_ACTIONS: {
16
16
  Submit: number;
17
17
  Comma: number;
18
18
  };
19
- export declare const extractAction: (x0: import("react").KeyboardEvent<HTMLElement>) => number;
19
+ export declare const extractAction: (x0: React.KeyboardEvent<HTMLElement>) => number;
@@ -1,4 +1,5 @@
1
1
  import _createForOfIteratorHelperLoose from "@babel/runtime/helpers/esm/createForOfIteratorHelperLoose";
2
+ import warning from 'warning';
2
3
  var calculateExtendedSelection = function calculateExtendedSelection(map, selection, step) {
3
4
  if (selection.direction === 'backward') {
4
5
  return {
@@ -20,7 +21,8 @@ export var CursorHelper = /*#__PURE__*/function () {
20
21
  };
21
22
  CursorHelper.calculatePosition = function calculatePosition(map, position, step) {
22
23
  if (position < 0 || map.length <= position) {
23
- throw new Error("position out of range [" + 0 + " .. " + (map.length - 1) + "], actual value: " + position);
24
+ warning(false, "position out of range [" + 0 + " .. " + (map.length - 1) + "], actual value: " + position);
25
+ return position < 0 ? 0 : map.length - 1;
24
26
  }
25
27
  var raw = CursorHelper.toRawPosition(map, position);
26
28
  return CursorHelper.toFormattedPosition(map, raw + step);
@@ -1 +1 @@
1
- {"version":3,"names":["calculateExtendedSelection","map","selection","step","direction","start","CursorHelper","calculatePosition","end","normalizePosition","position","Math","min","max","length","Error","raw","toRawPosition","toFormattedPosition","extendSelection","normalizedSelection","normalizeSelection","formattedPosition","count","Set","slice","size","rawPosition","unique","_iterator","_createForOfIteratorHelperLoose","_step","done","value","add"],"sources":["CursorHelper.tsx"],"sourcesContent":["import type { Selection } from './SelectionHelper';\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) {\n if (position < 0 || map.length <= position) {\n throw new Error(`position out of range [${0} .. ${map.length - 1}], actual value: ${position}`);\n }\n const raw = CursorHelper.toRawPosition(map, position);\n return CursorHelper.toFormattedPosition(map, raw + step);\n }\n\n public static extendSelection(map: CursorMap, selection: Selection, step: number) {\n 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) {\n const count = Math.min(Math.max(0, formattedPosition), map.length - 1);\n return new Set(map.slice(0, count + 1)).size - 1;\n }\n\n public static toFormattedPosition(map: CursorMap, rawPosition: number) {\n const count = Math.max(0, rawPosition) + 1;\n const unique = new Set();\n\n for (const position of map) {\n unique.add(position);\n if (unique.size === count) {\n return position;\n }\n }\n\n return map[map.length - 1];\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["warning","calculateExtendedSelection","map","selection","step","direction","start","CursorHelper","calculatePosition","end","normalizePosition","position","Math","min","max","length","raw","toRawPosition","toFormattedPosition","extendSelection","normalizedSelection","normalizeSelection","formattedPosition","count","Set","slice","size","rawPosition","unique","_iterator","_createForOfIteratorHelperLoose","_step","done","value","add"],"sources":["CursorHelper.tsx"],"sourcesContent":["import warning from 'warning';\n\nimport type { Selection } from './SelectionHelper';\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) {\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) {\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) {\n const count = Math.min(Math.max(0, formattedPosition), map.length - 1);\n return new Set(map.slice(0, count + 1)).size - 1;\n }\n\n public static toFormattedPosition(map: CursorMap, rawPosition: number) {\n const count = Math.max(0, rawPosition) + 1;\n const unique = new Set();\n\n for (const position of map) {\n unique.add(position);\n if (unique.size === count) {\n return position;\n }\n }\n\n return map[map.length - 1];\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- // https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15
2
1
  export var MAX_SAFE_DIGITS = 15;
3
2
 
4
3
  // + десятичный разделитель
@@ -1 +1 @@
1
- {"version":3,"names":["MAX_SAFE_DIGITS","MAX_ALLOWED_CHARS","THIN_SPACE","String","fromCharCode","SPACE","MINUS_SIGN"],"sources":["constants.ts"],"sourcesContent":["// https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15\nexport const MAX_SAFE_DIGITS = 15;\n\n// + десятичный разделитель\n// + целая часть равная нулю\n// + знак '-'\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\n\nexport const THIN_SPACE = String.fromCharCode(0x2009);\nexport const SPACE = String.fromCharCode(0x0020);\nexport const MINUS_SIGN = String.fromCharCode(0x2212);\n"],"mappings":"AAAA;AACA,OAAO,IAAMA,eAAe,GAAG,EAAE;;AAEjC;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAGD,eAAe,GAAG,CAAC;;AAEpD,OAAO,IAAME,UAAU,GAAGC,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AACrD,OAAO,IAAMC,KAAK,GAAGF,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AAChD,OAAO,IAAME,UAAU,GAAGH,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MAX_SAFE_DIGITS","MAX_ALLOWED_CHARS","THIN_SPACE","String","fromCharCode","SPACE","MINUS_SIGN"],"sources":["constants.ts"],"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"],"mappings":"AAAA,OAAO,IAAMA,eAAe,GAAG,EAAE;;AAEjC;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAGD,eAAe,GAAG,CAAC;;AAEpD,OAAO,IAAME,UAAU,GAAGC,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AACrD,OAAO,IAAMC,KAAK,GAAGF,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AAChD,OAAO,IAAME,UAAU,GAAGH,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  var _excluded = ["id", "value", "fractionDigits", "currencySymbol", "hideTrailingZeros"];
3
3
  import React from 'react';
4
+ import warning from 'warning';
4
5
  import { MAX_SAFE_DIGITS } from "../../CurrencyInput/constants";
5
6
  import { CurrencyHelper } from "../../CurrencyInput/CurrencyHelper";
6
7
  import { CommonWrapper } from "../../../internal/CommonWrapper";
@@ -22,6 +23,15 @@ var CurrencyLabel = forwardRefAndName('CurrencyLabel', function CurrencyLabel(_r
22
23
  _ref$hideTrailingZero = _ref.hideTrailingZeros,
23
24
  hideTrailingZeros = _ref$hideTrailingZero === void 0 ? false : _ref$hideTrailingZero,
24
25
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
26
+ React.useEffect(function () {
27
+ warning(fractionDigits <= MAX_SAFE_DIGITS, "[CurrencyLabel]: Prop 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + ".\nSee CurrencyInput documentation");
28
+ var _ref2 = CurrencyHelper.destructString(String(value)) || {
29
+ fraction: ''
30
+ },
31
+ fraction = _ref2.fraction;
32
+ warning(fraction.length <= fractionDigits, "[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property," + "'value' will not be cutted");
33
+ warning(Number.isInteger(fractionDigits), "[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used");
34
+ }, [fractionDigits, value]);
25
35
  return /*#__PURE__*/(
26
36
  React.createElement(CommonWrapper, rest, /*#__PURE__*/
27
37
  React.createElement("span", {
@@ -34,26 +44,4 @@ var CurrencyLabel = forwardRefAndName('CurrencyLabel', function CurrencyLabel(_r
34
44
  }), currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */, currencySymbol))
35
45
  );
36
46
  });
37
- CurrencyLabel.propTypes = {
38
- // @ts-ignore
39
- fractionDigits: function fractionDigits(_ref2) {
40
- var _ref2$fractionDigits = _ref2.fractionDigits,
41
- _fractionDigits = _ref2$fractionDigits === void 0 ? FRACTION_DIGITS_DEFAULT : _ref2$fractionDigits,
42
- value = _ref2.value;
43
- if (_fractionDigits > MAX_SAFE_DIGITS) {
44
- return new Error("[CurrencyLabel]: Prop 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");
45
- }
46
- var _ref3 = CurrencyHelper.destructString(String(value)) || {
47
- fraction: ''
48
- },
49
- fraction = _ref3.fraction;
50
- if (fraction.length > _fractionDigits) {
51
- return new Error("[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property," + "'value' will not be cutted");
52
- }
53
- if (!Number.isInteger(_fractionDigits)) {
54
- return new Error("[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used");
55
- }
56
- return null;
57
- }
58
- };
59
47
  export { CurrencyLabel };
@@ -1 +1 @@
1
- {"version":3,"names":["React","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","forwardRefAndName","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","root","CurrencyLabel","_ref","ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose","_excluded","createElement","format","String","fromCharCode","propTypes","_ref2","_ref2$fractionDigits","Error","_ref3","destructString","fraction","length","Number","isInteger"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\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 * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\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 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\nCurrencyLabel.propTypes = {\n // @ts-ignore\n fractionDigits: ({ fractionDigits = FRACTION_DIGITS_DEFAULT, value }: CurrencyLabelProps) => {\n if (fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n if (fraction.length > fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n return null;\n },\n};\n\nexport { CurrencyLabel };\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,cAAc,QAAQ,iCAAiC;;AAEhE,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,iBAAiB,QAAQ,6BAA6B;;;;;;;;;;;;;;;;;AAiB/D,IAAMC,uBAAuB,GAAG,CAAC;;AAEjC,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,IAAMC,aAAa,GAAGJ,iBAAiB;EACrC,eAAe;EACf,SAASI,aAAaA,CAAAC,IAAA;;;;;;;;;EASpBC,GAA8B;EAC9B,KAREC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CACFC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAAC,mBAAA,GAAAJ,IAAA,CACLK,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGR,uBAAuB,GAAAQ,mBAAA,CACxCE,cAAc,GAAAN,IAAA,CAAdM,cAAc,CAAAC,qBAAA,GAAAP,IAAA,CACdQ,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAIT;MACEpB,KAAA,CAAAqB,aAAA,CAAClB,aAAa,EAAKe,IAAI;MACrBlB,KAAA,CAAAqB,aAAA,WAAMV,EAAE,EAAEA,EAAG,EAAC,YAAUL,qBAAqB,CAACC,IAAK,EAACG,GAAG,EAAEA,GAAI;MAC1DR,cAAc,CAACoB,MAAM,CAACV,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;MACnEF,cAAc,IAAIQ,MAAM,CAACC,YAAY,CAAC,IAAI,CAAC,CAAC;MAC5CT;MACG;MACO,CAAC;;EAEpB;AACF,CAAC;;AAEDP,aAAa,CAACiB,SAAS,GAAG;EACxB;EACAX,cAAc,EAAE,SAAAA,eAAAY,KAAA,EAA6E,KAAAC,oBAAA,GAAAD,KAAA,CAA1EZ,cAAc,CAAdA,eAAc,GAAAa,oBAAA,cAAGtB,uBAAuB,GAAAsB,oBAAA,CAAEf,KAAK,GAAAc,KAAA,CAALd,KAAK;IAChE,IAAIE,eAAc,GAAGb,eAAe,EAAE;MACpC,OAAO,IAAI2B,KAAK;QACd,oDAAkD3B,eAAe;;MAEnE,CAAC;IACH;;IAEA,IAAA4B,KAAA,GAAqB3B,cAAc,CAAC4B,cAAc,CAACP,MAAM,CAACX,KAAK,CAAC,CAAC,IAAI,EAAEmB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAChB,IAAIA,QAAQ,CAACC,MAAM,GAAGlB,eAAc,EAAE;MACpC,OAAO,IAAIc,KAAK;QACd;;MAEF,CAAC;IACH;;IAEA,IAAI,CAACK,MAAM,CAACC,SAAS,CAACpB,eAAc,CAAC,EAAE;MACrC,OAAO,IAAIc,KAAK;;MAEhB,CAAC;IACH;IACA,OAAO,IAAI;EACb;AACF,CAAC;;AAED,SAASpB,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","forwardRefAndName","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","root","CurrencyLabel","_ref","ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose","_excluded","useEffect","_ref2","destructString","String","fraction","length","Number","isInteger","createElement","format","fromCharCode"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\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 * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\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"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,SAAS;;AAE7B,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,cAAc,QAAQ,iCAAiC;;AAEhE,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,iBAAiB,QAAQ,6BAA6B;;;;;;;;;;;;;;;;;AAiB/D,IAAMC,uBAAuB,GAAG,CAAC;;AAEjC,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,IAAMC,aAAa,GAAGJ,iBAAiB;EACrC,eAAe;EACf,SAASI,aAAaA,CAAAC,IAAA;;;;;;;;;EASpBC,GAA8B;EAC9B,KAREC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CACFC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAAC,mBAAA,GAAAJ,IAAA,CACLK,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGR,uBAAuB,GAAAQ,mBAAA,CACxCE,cAAc,GAAAN,IAAA,CAAdM,cAAc,CAAAC,qBAAA,GAAAP,IAAA,CACdQ,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAITrB,KAAK,CAACsB,SAAS,CAAC,YAAM;MACpBrB,OAAO;QACLc,cAAc,IAAIb,eAAe;QACiBA,eAAe;MACnE,CAAC;;MAED,IAAAqB,KAAA,GAAqBpB,cAAc,CAACqB,cAAc,CAACC,MAAM,CAACZ,KAAK,CAAC,CAAC,IAAI,EAAEa,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAH,KAAA,CAARG,QAAQ;MAChBzB,OAAO;QACLyB,QAAQ,CAACC,MAAM,IAAIZ,cAAc;QACjC;;MAEF,CAAC;;MAEDd,OAAO;QACL2B,MAAM,CAACC,SAAS,CAACd,cAAc,CAAC;;MAElC,CAAC;IACH,CAAC,EAAE,CAACA,cAAc,EAAEF,KAAK,CAAC,CAAC;;IAE3B;MACEb,KAAA,CAAA8B,aAAA,CAAC1B,aAAa,EAAKe,IAAI;MACrBnB,KAAA,CAAA8B,aAAA,WAAMlB,EAAE,EAAEA,EAAG,EAAC,YAAUL,qBAAqB,CAACC,IAAK,EAACG,GAAG,EAAEA,GAAI;MAC1DR,cAAc,CAAC4B,MAAM,CAAClB,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;MACnEF,cAAc,IAAIS,MAAM,CAACO,YAAY,CAAC,IAAI,CAAC,CAAC;MAC5ChB;MACG;MACO,CAAC;;EAEpB;AACF,CAAC;;AAED,SAASP,aAAa","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  export declare const CalendarIcon: import("../../lib/forwardRefAndName").ReactUIIconWithRef<SVGSVGElement, Omit<import("../../internal/icons2022/BaseIcon").IconProps, "size"> & {
2
- size?: number | "small" | "medium" | "large" | undefined;
2
+ size?: import("../../internal/icons2022/BaseIcon").IconProps["size"] | import("../../internal/icons2022/iconConstants").IconSizeAliases;
3
3
  }>;
@@ -4,7 +4,6 @@ var _dec, _class, _DateInput;
4
4
  import React from 'react';
5
5
  import ReactDOM from 'react-dom';
6
6
  import { globalObject } from '@skbkontur/global-object';
7
- import { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from "../../../lib/featureFlagsContext";
8
7
  import { ConditionalHandler } from "../../../lib/ConditionalHandler";
9
8
  import { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from "../../../lib/date/constants";
10
9
  import { InternalDateComponentType } from "../../../lib/date/types";
@@ -17,19 +16,21 @@ import { cx } from "../../../lib/theming/Emotion";
17
16
  import { rootNode } from "../../../lib/rootNode";
18
17
  import { createPropsGetter } from "../../../lib/createPropsGetter";
19
18
  import { FocusControlWrapper } from "../../../internal/FocusControlWrapper";
19
+ import { withSize } from "../../../lib/size/SizeDecorator";
20
20
  import { CalendarIcon } from "../CalendarIcon";
21
21
  import { DateFragmentsView } from "../DateFragmentsView";
22
22
  import { styles } from "../DateInput.styles";
23
23
  import { Actions, extractAction } from "../helpers/DateInputKeyboardActions";
24
24
  import { InternalDateMediator } from "../helpers/InternalDateMediator";
25
25
  export var DateInputDataTids = {
26
+ root: 'DateInput__root',
26
27
  icon: 'DateInput__icon'
27
28
  };
28
29
 
29
30
  /**
30
31
  * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.
31
32
  */
32
- export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), rootNode(_class = _dec(_class = (_DateInput = /*#__PURE__*/function (_React$Component) {
33
+ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), rootNode(_class = _dec(_class = withSize(_class = (_DateInput = /*#__PURE__*/function (_React$Component) {
33
34
  function DateInput(props) {
34
35
  var _this;
35
36
  _this = _React$Component.call(this, props) || this;
@@ -86,7 +87,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
86
87
  withIcon = _this$props.withIcon,
87
88
  _this$props$disabled = _this$props.disabled,
88
89
  disabled = _this$props$disabled === void 0 ? false : _this$props$disabled;
89
- var size = _this.getProps().size;
90
+ var size = _this.size;
90
91
  if (withIcon) {
91
92
  var _cx;
92
93
  var theme = _this.theme;
@@ -119,7 +120,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
119
120
  focused: false,
120
121
  selected: null,
121
122
  inputMode: false
122
- });
123
+ }, false);
123
124
  };
124
125
  _this.handleBlur = function (e) {
125
126
  _this.resetFocus();
@@ -301,15 +302,8 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
301
302
  selected: selected
302
303
  });
303
304
  }
304
- var _this$iDateMediator$i = _this.iDateMediator.inputKey(event.key, selected, _this.state.inputMode, _this.featureFlags.dateInputAllowInvalidValuesInDays),
305
- inputMode = _this$iDateMediator$i.inputMode,
306
- changed = _this$iDateMediator$i.changed;
307
- if (!_this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {
308
- if (!changed) {
309
- _this.blink();
310
- return;
311
- }
312
- }
305
+ var _this$iDateMediator$i = _this.iDateMediator.inputKey(event.key, selected, _this.state.inputMode),
306
+ inputMode = _this$iDateMediator$i.inputMode;
313
307
  if (!inputMode) {
314
308
  _this.ignoringDelimiter = true;
315
309
  _this.shiftSelection(1);
@@ -362,12 +356,9 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
362
356
  };
363
357
  _proto.render = function render() {
364
358
  var _this2 = this;
365
- return /*#__PURE__*/React.createElement(ReactUIFeatureFlagsContext.Consumer, null, function (flags) {
366
- _this2.featureFlags = getFullReactUIFlagsContext(flags);
367
- return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
368
- _this2.theme = theme;
369
- return _this2.renderMain();
370
- });
359
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
360
+ _this2.theme = theme;
361
+ return _this2.renderMain();
371
362
  });
372
363
  };
373
364
  _proto.renderMain = function renderMain() {
@@ -379,17 +370,17 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
379
370
  valueFormatted = _this$state2.valueFormatted;
380
371
  var showValue = Boolean(focused || valueFormatted);
381
372
  var _this$getProps2 = this.getProps(),
382
- width = _this$getProps2.width,
383
- size = _this$getProps2.size;
373
+ width = _this$getProps2.width;
384
374
  return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
385
375
  rootNodeRef: this.setRootNode
386
376
  }, this.props), /*#__PURE__*/React.createElement(FocusControlWrapper, {
387
377
  onBlurWhenDisabled: this.resetFocus
388
378
  }, /*#__PURE__*/React.createElement(InputLikeText, {
379
+ "data-tid": DateInputDataTids.root,
389
380
  id: this.props.id,
390
381
  width: width,
391
382
  ref: this.inputLikeTextRef,
392
- size: size,
383
+ size: this.size,
393
384
  disabled: this.props.disabled,
394
385
  error: this.props.error,
395
386
  warning: this.props.warning,
@@ -424,6 +415,5 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
424
415
  value: '',
425
416
  minDate: MIN_FULLDATE,
426
417
  maxDate: MAX_FULLDATE,
427
- size: 'small',
428
418
  width: 125
429
- }, _DateInput)) || _class) || _class);
419
+ }, _DateInput)) || _class) || _class) || _class);