@skbkontur/react-ui 4.3.1 → 4.4.0

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 (434) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/cjs/components/Autocomplete/Autocomplete.js +3 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Checkbox/Checkbox.js +4 -2
  5. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  6. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  7. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  8. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  9. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -4
  10. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  11. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  12. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  13. package/cjs/components/DateInput/DateFragmentsView.js +10 -1
  14. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  15. package/cjs/components/DateInput/DateInput.d.ts +1 -1
  16. package/cjs/components/DateInput/DateInput.js +1 -1
  17. package/cjs/components/DateInput/DateInput.js.map +1 -1
  18. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
  19. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  20. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  21. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  22. package/cjs/components/DatePicker/DatePicker.js +11 -3
  23. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  24. package/cjs/components/DatePicker/Picker.js +5 -1
  25. package/cjs/components/DatePicker/Picker.js.map +1 -1
  26. package/cjs/components/FileUploader/FileUploader.js +2 -2
  27. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  28. package/cjs/components/FxInput/FxInput.js +3 -1
  29. package/cjs/components/FxInput/FxInput.js.map +1 -1
  30. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  31. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  32. package/cjs/components/Input/Input.js +3 -1
  33. package/cjs/components/Input/Input.js.map +1 -1
  34. package/cjs/components/Input/Input.md +5 -1
  35. package/cjs/components/Kebab/Kebab.d.ts +1 -4
  36. package/cjs/components/Kebab/Kebab.js.map +1 -1
  37. package/cjs/components/Link/Link.d.ts +1 -3
  38. package/cjs/components/Link/Link.js +1 -1
  39. package/cjs/components/Link/Link.js.map +1 -1
  40. package/cjs/components/Loader/Loader.d.ts +2 -1
  41. package/cjs/components/Loader/Loader.js +1 -0
  42. package/cjs/components/Loader/Loader.js.map +1 -1
  43. package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
  44. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  45. package/cjs/components/MenuItem/MenuItem.js +3 -1
  46. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  47. package/cjs/components/Modal/Modal.js +2 -2
  48. package/cjs/components/Modal/Modal.js.map +1 -1
  49. package/cjs/components/Modal/Modal.styles.d.ts +2 -2
  50. package/cjs/components/Modal/Modal.styles.js +2 -2
  51. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  52. package/cjs/components/Modal/ModalBody.js +2 -2
  53. package/cjs/components/Modal/ModalBody.js.map +1 -1
  54. package/cjs/components/Paging/Paging.d.ts +1 -1
  55. package/cjs/components/Paging/Paging.js +1 -1
  56. package/cjs/components/Paging/Paging.js.map +1 -1
  57. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -2
  58. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  59. package/cjs/components/PasswordInput/PasswordInput.js +7 -5
  60. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  61. package/cjs/components/Radio/Radio.js +3 -1
  62. package/cjs/components/Radio/Radio.js.map +1 -1
  63. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
  64. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  65. package/cjs/components/Select/Item.d.ts +4 -2
  66. package/cjs/components/Select/Item.js +3 -0
  67. package/cjs/components/Select/Item.js.map +1 -1
  68. package/cjs/components/Select/Select.js +2 -0
  69. package/cjs/components/Select/Select.js.map +1 -1
  70. package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
  71. package/cjs/components/SidePage/SidePageFooter.js +4 -0
  72. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  73. package/cjs/components/Spinner/Spinner.js +1 -1
  74. package/cjs/components/Spinner/Spinner.js.map +1 -1
  75. package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
  76. package/cjs/components/Spinner/Spinner.styles.js +7 -7
  77. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  78. package/cjs/components/Tabs/Indicator.d.ts +1 -1
  79. package/cjs/components/Tabs/Indicator.js +1 -1
  80. package/cjs/components/Tabs/Indicator.js.map +1 -1
  81. package/cjs/components/Tabs/Tabs.js.map +1 -1
  82. package/cjs/components/Textarea/Textarea.js +3 -1
  83. package/cjs/components/Textarea/Textarea.js.map +1 -1
  84. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
  85. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  86. package/cjs/components/Toast/Toast.js +1 -1
  87. package/cjs/components/Toast/Toast.js.map +1 -1
  88. package/cjs/components/TokenInput/TokenInput.js +1 -2
  89. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  90. package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
  91. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  92. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  93. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  94. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  95. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  96. package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
  97. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
  98. package/cjs/hooks/useMemoObject.d.ts +2 -1
  99. package/cjs/hooks/useMemoObject.js +2 -0
  100. package/cjs/hooks/useMemoObject.js.map +1 -1
  101. package/cjs/internal/BGRuler.d.ts +1 -1
  102. package/cjs/internal/BGRuler.js.map +1 -1
  103. package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
  104. package/cjs/internal/Calendar/config.d.ts +1 -8
  105. package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
  106. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  107. package/cjs/internal/ComponentTable.d.ts +2 -2
  108. package/cjs/internal/ComponentTable.js +3 -1
  109. package/cjs/internal/ComponentTable.js.map +1 -1
  110. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
  111. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +8 -8
  112. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  113. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
  114. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  115. package/cjs/internal/DataTids/DataTids.d.ts +5 -5
  116. package/cjs/internal/DataTids/DataTids.js +4 -0
  117. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  118. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  119. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  120. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  121. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  122. package/cjs/internal/InputLikeText/InputLikeText.js +4 -2
  123. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  124. package/cjs/internal/InternalMenu/InternalMenu.js +1 -1
  125. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  126. package/cjs/internal/MaskedInput/MaskedInput.js +3 -1
  127. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  128. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  129. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  130. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  131. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  132. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  133. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  134. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
  135. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  136. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  137. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
  138. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  139. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  140. package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
  141. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  142. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  143. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  144. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  145. package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
  146. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  147. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
  148. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  149. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  150. package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
  151. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  152. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  153. package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
  154. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  155. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  156. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
  157. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  158. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
  159. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  160. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  161. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  162. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  163. package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
  164. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  165. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  166. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
  167. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  168. package/cjs/internal/ThemePlayground/VariableValue.d.ts +1 -4
  169. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  170. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  171. package/cjs/internal/ThemePlayground/helpers.js +4 -2
  172. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  173. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  174. package/cjs/internal/ZIndex/ZIndex.js +2 -9
  175. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  176. package/cjs/lib/ConditionalHandler.js.map +1 -1
  177. package/cjs/lib/ModalStack.js +2 -2
  178. package/cjs/lib/ModalStack.js.map +1 -1
  179. package/cjs/lib/animation/index.js +1 -0
  180. package/cjs/lib/animation/index.js.map +1 -1
  181. package/cjs/lib/callChildRef/callChildRef.js +1 -1
  182. package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
  183. package/cjs/lib/createPropsGetter.d.ts +1 -1
  184. package/cjs/lib/createPropsGetter.js +1 -0
  185. package/cjs/lib/createPropsGetter.js.map +1 -1
  186. package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
  187. package/cjs/lib/date/InternalDateCalculator.js +1 -1
  188. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  189. package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
  190. package/cjs/lib/date/InternalDateValidator.js +9 -2
  191. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  192. package/cjs/lib/extractKeyboardAction.d.ts +1 -1
  193. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  194. package/cjs/lib/filterProps.js +0 -1
  195. package/cjs/lib/filterProps.js.map +1 -1
  196. package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
  197. package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
  198. package/cjs/lib/memo.d.ts +3 -1
  199. package/cjs/lib/memo.js +3 -3
  200. package/cjs/lib/memo.js.map +1 -1
  201. package/cjs/lib/net/fetch.js +2 -2
  202. package/cjs/lib/net/fetch.js.map +1 -1
  203. package/cjs/lib/reactGetTextContent.js +0 -1
  204. package/cjs/lib/reactGetTextContent.js.map +1 -1
  205. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -2
  206. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  207. package/cjs/lib/styles/ColorFactory.js +2 -2
  208. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  209. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  210. package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
  211. package/cjs/lib/theming/AnimationKeyframes.js +8 -22
  212. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  213. package/cjs/lib/theming/Emotion.js +1 -0
  214. package/cjs/lib/theming/Emotion.js.map +1 -1
  215. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  216. package/cjs/lib/theming/ThemeFactory.js +3 -1
  217. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  218. package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
  219. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  220. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  221. package/cjs/lib/utils.d.ts +3 -1
  222. package/cjs/lib/utils.js +5 -2
  223. package/cjs/lib/utils.js.map +1 -1
  224. package/cjs/lib/withClassWrapper.js +1 -4
  225. package/cjs/lib/withClassWrapper.js.map +1 -1
  226. package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -1
  227. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  228. package/components/Checkbox/Checkbox/Checkbox.js +5 -2
  229. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  230. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  231. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  232. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  233. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +8 -3
  234. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  235. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  236. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +10 -1
  237. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  238. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  239. package/components/DateInput/DateInput/DateInput.js +1 -1
  240. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  241. package/components/DateInput/DateInput.d.ts +1 -1
  242. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
  243. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  244. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
  245. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  246. package/components/DatePicker/DatePicker/DatePicker.js +13 -12
  247. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  248. package/components/DatePicker/Picker/Picker.js +5 -1
  249. package/components/DatePicker/Picker/Picker.js.map +1 -1
  250. package/components/FileUploader/FileUploader/FileUploader.js +2 -2
  251. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  252. package/components/FxInput/FxInput/FxInput.js +4 -1
  253. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  254. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  255. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  256. package/components/Input/Input/Input.js +4 -1
  257. package/components/Input/Input/Input.js.map +1 -1
  258. package/components/Input/Input.md +5 -1
  259. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  260. package/components/Kebab/Kebab.d.ts +1 -4
  261. package/components/Link/Link/Link.js +1 -1
  262. package/components/Link/Link/Link.js.map +1 -1
  263. package/components/Link/Link.d.ts +1 -3
  264. package/components/Loader/Loader/Loader.js.map +1 -1
  265. package/components/Loader/Loader.d.ts +2 -1
  266. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  267. package/components/MenuItem/MenuItem/MenuItem.js +4 -1
  268. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  269. package/components/Modal/Modal/Modal.js +2 -2
  270. package/components/Modal/Modal/Modal.js.map +1 -1
  271. package/components/Modal/Modal.styles/Modal.styles.js +2 -2
  272. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  273. package/components/Modal/Modal.styles.d.ts +2 -2
  274. package/components/Modal/ModalBody/ModalBody.js +2 -2
  275. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  276. package/components/Paging/Paging/Paging.js +1 -1
  277. package/components/Paging/Paging/Paging.js.map +1 -1
  278. package/components/Paging/Paging.d.ts +1 -1
  279. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  280. package/components/Paging/PagingDefaultComponent.d.ts +2 -2
  281. package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -8
  282. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  283. package/components/Radio/Radio/Radio.js +4 -1
  284. package/components/Radio/Radio/Radio.js.map +1 -1
  285. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
  286. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  287. package/components/Select/Item/Item.js.map +1 -1
  288. package/components/Select/Item.d.ts +4 -2
  289. package/components/Select/Select/Select.js.map +1 -1
  290. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  291. package/components/SidePage/SidePageFooter.d.ts +6 -4
  292. package/components/Spinner/Spinner/Spinner.js +1 -1
  293. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  294. package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
  295. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  296. package/components/Spinner/Spinner.styles.d.ts +1 -1
  297. package/components/Tabs/Indicator/Indicator.js +1 -1
  298. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  299. package/components/Tabs/Indicator.d.ts +1 -1
  300. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  301. package/components/Textarea/Textarea/Textarea.js +4 -1
  302. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  303. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  304. package/components/Textarea/TextareaCounter.d.ts +2 -2
  305. package/components/Toast/Toast/Toast.js +1 -1
  306. package/components/Toast/Toast/Toast.js.map +1 -1
  307. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  308. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  309. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  310. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  311. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  312. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  313. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
  314. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
  315. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  316. package/hooks/useMemoObject/useMemoObject.js.map +1 -1
  317. package/hooks/useMemoObject.d.ts +2 -1
  318. package/internal/BGRuler/BGRuler.js.map +1 -1
  319. package/internal/BGRuler.d.ts +1 -1
  320. package/internal/Calendar/MonthViewModel.d.ts +1 -1
  321. package/internal/Calendar/config.d.ts +1 -8
  322. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  323. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  324. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  325. package/internal/ComponentTable.d.ts +2 -2
  326. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +14 -17
  327. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  328. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
  329. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
  330. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  331. package/internal/DataTids/DataTids/DataTids.js.map +1 -1
  332. package/internal/DataTids/DataTids.d.ts +5 -5
  333. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  334. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  335. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  336. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  337. package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
  338. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  339. package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
  340. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  341. package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -1
  342. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  343. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
  344. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  345. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
  346. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  347. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  348. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  349. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  350. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  351. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  352. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
  353. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  354. package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  355. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  356. package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  357. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
  358. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  359. package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  360. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  361. package/internal/ThemePlayground/Playground.d.ts +1 -1
  362. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  363. package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  364. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  365. package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  366. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  367. package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  368. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
  369. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  370. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  371. package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  372. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
  373. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  374. package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  375. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  376. package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  377. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  378. package/internal/ThemePlayground/VariableValue.d.ts +1 -4
  379. package/internal/ThemePlayground/helpers/helpers.js +0 -1
  380. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  381. package/internal/ThemePlayground/helpers.d.ts +1 -1
  382. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  383. package/internal/ZIndex/ZIndex/ZIndex.js +6 -3
  384. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  385. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  386. package/lib/ModalStack/ModalStack.js +2 -2
  387. package/lib/ModalStack/ModalStack.js.map +1 -1
  388. package/lib/animation/index/index.js +1 -1
  389. package/lib/animation/index/index.js.map +1 -1
  390. package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
  391. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
  392. package/lib/createPropsGetter/createPropsGetter.js +1 -0
  393. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  394. package/lib/createPropsGetter.d.ts +1 -1
  395. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
  396. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  397. package/lib/date/InternalDateCalculator.d.ts +1 -1
  398. package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
  399. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  400. package/lib/date/InternalDateValidator.d.ts +1 -1
  401. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  402. package/lib/extractKeyboardAction.d.ts +1 -1
  403. package/lib/filterProps/filterProps.js +0 -1
  404. package/lib/filterProps/filterProps.js.map +1 -1
  405. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
  406. package/lib/locale/useLocaleForControl.d.ts +1 -1
  407. package/lib/memo/memo.js +2 -4
  408. package/lib/memo/memo.js.map +1 -1
  409. package/lib/memo.d.ts +3 -1
  410. package/lib/net/fetch/fetch.js +2 -2
  411. package/lib/net/fetch/fetch.js.map +1 -1
  412. package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
  413. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  414. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  415. package/lib/rootNode/rootNodeDecorator.d.ts +2 -2
  416. package/lib/styles/ColorFactory/ColorFactory.js +3 -1
  417. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  418. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  419. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
  420. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  421. package/lib/theming/AnimationKeyframes.d.ts +3 -5
  422. package/lib/theming/Emotion/Emotion.js.map +1 -1
  423. package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
  424. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  425. package/lib/theming/ThemeFactory.d.ts +1 -1
  426. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  427. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  428. package/lib/theming/ThemeHelpers.d.ts +2 -2
  429. package/lib/utils/utils.js +2 -2
  430. package/lib/utils/utils.js.map +1 -1
  431. package/lib/utils.d.ts +3 -1
  432. package/lib/withClassWrapper/withClassWrapper.js +1 -4
  433. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  434. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","CheckboxDataTids","root","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","theme","rootFallback","rootChecked","checked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","icon","iconUnchecked","box","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n document.addEventListener('keydown', this.handleShiftPress);\n document.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n document.removeEventListener('keydown', this.handleShiftPress);\n document.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.icon(this.theme)]: true,\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n });\n\n const box = (\n <div className={cx(styles.boxWrapper(this.theme))}>\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","CheckboxDataTids","root","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","theme","rootFallback","rootChecked","checked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","icon","iconUnchecked","box","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n document.addEventListener('keydown', this.handleShiftPress);\n document.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n document.removeEventListener('keydown', this.handleShiftPress);\n document.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.icon()]: true,\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n });\n\n const box = (\n <div className={cx(styles.boxWrapper(this.theme))}>\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
@@ -54,7 +54,7 @@ export var styles = memoizeStyle({
54
54
  disabled: function disabled(t) {
55
55
  return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: default;\n "])), t.checkboxTextColorDisabled);
56
56
  },
57
- icon: function icon(t) {
57
+ icon: function icon() {
58
58
  return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n "])));
59
59
  },
60
60
  iconUnchecked: function iconUnchecked() {
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.styles.ts"],"names":["getLabGrotesqueBaselineCompensation","css","memoizeStyle","prefix","isChrome","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","checkboxBoxSize","rootDisableTextSelect","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxWrapper","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","baselineCompensation","checkboxBorderWidth","checkboxBoxOffsetY","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","icon","iconUnchecked","caption","checkboxCaptionGap","captionIE11"],"mappings":"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","sourcesContent":["import { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\nimport { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ${t.checkboxLineHeight};\n font-size: ${t.checkboxFontSize};\n padding: ${t.checkboxPaddingY} 0;\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.checkboxBoxSize};\n flex: 0 0 auto;\n }\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);\n\n return css`\n position: absolute;\n width: ${t.checkboxBoxSize};\n height: ${t.checkboxBoxSize};\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n margin-top: calc(${t.checkboxBoxOffsetY} + ${baselineCompensation}px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon(t: Theme) {\n return css`\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Checkbox.styles.ts"],"names":["getLabGrotesqueBaselineCompensation","css","memoizeStyle","prefix","isChrome","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","checkboxBoxSize","rootDisableTextSelect","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxWrapper","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","baselineCompensation","checkboxBorderWidth","checkboxBoxOffsetY","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","icon","iconUnchecked","caption","checkboxCaptionGap","captionIE11"],"mappings":"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","sourcesContent":["import { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\nimport { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ${t.checkboxLineHeight};\n font-size: ${t.checkboxFontSize};\n padding: ${t.checkboxPaddingY} 0;\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.checkboxBoxSize};\n flex: 0 0 auto;\n }\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);\n\n return css`\n position: absolute;\n width: ${t.checkboxBoxSize};\n height: ${t.checkboxBoxSize};\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n margin-top: calc(${t.checkboxBoxOffsetY} + ${baselineCompensation}px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon() {\n return css`\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"]}
@@ -17,7 +17,7 @@ export declare const styles: {
17
17
  boxFocus(t: Theme): string;
18
18
  boxDisabled(t: Theme): string;
19
19
  disabled(t: Theme): string;
20
- icon(t: Theme): string;
20
+ icon(): string;
21
21
  iconUnchecked(): string;
22
22
  caption(t: Theme): string;
23
23
  captionIE11(): string;
@@ -3,7 +3,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _excluded = ["fractionDigits", "signed", "onSubmit", "integerDigits", "hideTrailingZeros"];
5
5
 
6
- var _class, _class2, _temp;
6
+ var _class, _class2, _temp; // TODO: Enable this rule in functional components.
7
+
8
+ /* eslint-disable @typescript-eslint/no-unused-vars */
9
+
7
10
 
8
11
  import React from 'react';
9
12
  import PropTypes from 'prop-types';
@@ -517,13 +520,15 @@ var CurrencyInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
517
520
  }, _temp)) || _class;
518
521
 
519
522
  function getInputSelectionFromEvent(input) {
523
+ var _input$selectionStart, _input$selectionEnd;
524
+
520
525
  if (!(input instanceof HTMLInputElement)) {
521
526
  throw new Error('input is not HTMLInputElement');
522
527
  }
523
528
 
524
529
  return {
525
- start: input.selectionStart,
526
- end: input.selectionEnd,
530
+ start: (_input$selectionStart = input.selectionStart) != null ? _input$selectionStart : 0,
531
+ end: (_input$selectionEnd = input.selectionEnd) != null ? _input$selectionEnd : 0,
527
532
  direction: input.selectionDirection
528
533
  };
529
534
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInput.tsx"],"names":["React","PropTypes","warning","debounce","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","getProps","defaultProps","state","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","align","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLength","onFocus","onBlur","element","componentDidMount","maxLength","undefined","componentDidUpdate","prevProps","prevState","isValidNumber","isNumeric","Number","setSelectionRange","render","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","propTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","placeholder","string","size","width","oneOfType","func","isRequired","inputMode","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value?: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n /** Кол-во цифр после запятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\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 * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), `[CurrencyInput]: Prop value is not a valid number`);\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: 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 (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\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 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 );\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 handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\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 if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!(input instanceof HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart!,\n end: input.selectionEnd!,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"]}
1
+ {"version":3,"sources":["CurrencyInput.tsx"],"names":["React","PropTypes","warning","debounce","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","getProps","defaultProps","state","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","align","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLength","onFocus","onBlur","element","componentDidMount","maxLength","undefined","componentDidUpdate","prevProps","prevState","isValidNumber","isNumeric","Number","setSelectionRange","render","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","propTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","placeholder","string","size","width","oneOfType","func","isRequired","inputMode","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value?: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n /** Кол-во цифр после запятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\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 * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), `[CurrencyInput]: Prop value is not a valid number`);\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: 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 (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\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 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 );\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 handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\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 if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!(input instanceof HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 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"]}
@@ -17,4 +17,4 @@ export declare const CURRENCY_INPUT_ACTIONS: {
17
17
  Submit: number;
18
18
  Comma: number;
19
19
  };
20
- export declare const extractAction: (x0: import("react").KeyboardEvent<HTMLElement>) => unknown;
20
+ export declare const extractAction: (x0: import("react").KeyboardEvent<HTMLElement>) => number;
@@ -83,7 +83,16 @@ export var DateFragmentsView = /*#__PURE__*/function (_React$Component) {
83
83
  value = fragment.value,
84
84
  length = fragment.length,
85
85
  valueWithPad = fragment.valueWithPad;
86
- var valueMask = value === null || selected === type && inputMode ? value : valueWithPad || value;
86
+
87
+ var getValueMask = function getValueMask() {
88
+ if (value === null || selected === type && inputMode) {
89
+ return value;
90
+ }
91
+
92
+ return valueWithPad || value;
93
+ };
94
+
95
+ var valueMask = getValueMask();
87
96
  var lengthMask = InternalDateValidator.testParseToNumber(valueMask) ? Math.max(length - valueMask.toString().length, 0) : length;
88
97
 
89
98
  var handleMouseUp = function handleMouseUp(e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["DateFragmentsView.tsx"],"names":["React","MaskCharLowLine","InternalDateValidator","InternalDateComponentType","ThemeContext","cx","styles","DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","theme","renderMain","root","props","map","index","type","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","selected","length","valueWithPad","valueMask","lengthMask","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","Component"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps, {}> {\n private theme!: Theme;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n return (\n <span ref={this.rootRef} className={styles.root(this.theme)}>\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const separatorClassName = cx({\n [styles.mask(this.theme)]: true,\n [styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const valueMask = value === null || (selected === type && inputMode) ? value : valueWithPad || value;\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask!.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (document.activeElement && document.activeElement.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
1
+ {"version":3,"sources":["DateFragmentsView.tsx"],"names":["React","MaskCharLowLine","InternalDateValidator","InternalDateComponentType","ThemeContext","cx","styles","DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","theme","renderMain","root","props","map","index","type","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","selected","length","valueWithPad","getValueMask","valueMask","lengthMask","testParseToNumber","Math","max","toString","handleMouseUp","e","document","activeElement","currentTarget","fill","_","i","Component"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private theme!: Theme;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n return (\n <span ref={this.rootRef} className={styles.root(this.theme)}>\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const separatorClassName = cx({\n [styles.mask(this.theme)]: true,\n [styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (document.activeElement && document.activeElement.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
@@ -6,7 +6,7 @@ interface DateFragmentViewProps {
6
6
  inputMode: boolean;
7
7
  onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;
8
8
  }
9
- export declare class DateFragmentsView extends React.Component<DateFragmentViewProps, {}> {
9
+ export declare class DateFragmentsView extends React.Component<DateFragmentViewProps> {
10
10
  private theme;
11
11
  private rootNode;
12
12
  isFragment: (el: HTMLElement | EventTarget) => boolean;
@@ -377,7 +377,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
377
377
 
378
378
  var _proto = DateInput.prototype;
379
379
 
380
- _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
380
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
381
381
  var _this$getProps = this.getProps(),
382
382
  value = _this$getProps.value,
383
383
  minDate = _this$getProps.minDate,