@skbkontur/react-ui 5.2.1 → 5.3.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 (554) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +29 -1
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +107 -75
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Center/Center.d.ts +2 -0
  16. package/cjs/components/Center/Center.js +1 -0
  17. package/cjs/components/Center/Center.js.map +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  19. package/cjs/components/Checkbox/Checkbox.js +2 -14
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  22. package/cjs/components/ComboBox/ComboBox.js +1 -0
  23. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  25. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  26. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  27. package/cjs/components/CurrencyInput/constants.js +1 -2
  28. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  32. package/cjs/components/DateInput/DateInput.js +1 -0
  33. package/cjs/components/DateInput/DateInput.js.map +1 -1
  34. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  35. package/cjs/components/DatePicker/DatePicker.js +6 -60
  36. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  38. package/cjs/components/Dropdown/Dropdown.js +2 -82
  39. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FxInput/FxInput.d.ts +2 -5
  44. package/cjs/components/FxInput/FxInput.js +2 -7
  45. package/cjs/components/FxInput/FxInput.js.map +1 -1
  46. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  47. package/cjs/components/Gapped/Gapped.js +1 -24
  48. package/cjs/components/Gapped/Gapped.js.map +1 -1
  49. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  50. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  51. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  52. package/cjs/components/Group/Group.d.ts +5 -4
  53. package/cjs/components/Group/Group.js +91 -40
  54. package/cjs/components/Group/Group.js.map +1 -1
  55. package/cjs/components/Group/Group.styles.d.ts +1 -0
  56. package/cjs/components/Group/Group.styles.js +12 -6
  57. package/cjs/components/Group/Group.styles.js.map +1 -1
  58. package/cjs/components/Hint/Hint.d.ts +2 -0
  59. package/cjs/components/Hint/Hint.js +1 -0
  60. package/cjs/components/Hint/Hint.js.map +1 -1
  61. package/cjs/components/Input/Input.d.ts +2 -0
  62. package/cjs/components/Input/Input.js +1 -0
  63. package/cjs/components/Input/Input.js.map +1 -1
  64. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  65. package/cjs/components/Kebab/Kebab.js +2 -26
  66. package/cjs/components/Kebab/Kebab.js.map +1 -1
  67. package/cjs/components/Link/Link.d.ts +2 -0
  68. package/cjs/components/Link/Link.js +1 -0
  69. package/cjs/components/Link/Link.js.map +1 -1
  70. package/cjs/components/Loader/Loader.d.ts +6 -36
  71. package/cjs/components/Loader/Loader.js +3 -57
  72. package/cjs/components/Loader/Loader.js.map +1 -1
  73. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  74. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  75. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  76. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  77. package/cjs/components/MenuItem/MenuItem.js +2 -22
  78. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  79. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  80. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  81. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  82. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  83. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  84. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  85. package/cjs/components/Modal/Modal.styles.js +36 -28
  86. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  87. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  88. package/cjs/components/Modal/ModalBody.js +1 -0
  89. package/cjs/components/Modal/ModalBody.js.map +1 -1
  90. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  91. package/cjs/components/Modal/ModalHeader.js +8 -1
  92. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  93. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  94. package/cjs/components/Paging/DotsIcon.js +13 -0
  95. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  96. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  97. package/cjs/components/Paging/ForwardIcon.js +13 -1
  98. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  99. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  100. package/cjs/components/Paging/NavigationHelper.js +8 -6
  101. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  102. package/cjs/components/Paging/Paging.d.ts +13 -2
  103. package/cjs/components/Paging/Paging.js +120 -50
  104. package/cjs/components/Paging/Paging.js.map +1 -1
  105. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  106. package/cjs/components/Paging/Paging.styles.js +151 -22
  107. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  108. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  109. package/cjs/components/Paging/PagingHelper.js +18 -11
  110. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  111. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  112. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  113. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  114. package/cjs/components/Radio/Radio.d.ts +2 -0
  115. package/cjs/components/Radio/Radio.js +1 -0
  116. package/cjs/components/Radio/Radio.js.map +1 -1
  117. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  118. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  119. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  120. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  121. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  122. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  123. package/cjs/components/Select/Select.d.ts +2 -0
  124. package/cjs/components/Select/Select.js +1 -0
  125. package/cjs/components/Select/Select.js.map +1 -1
  126. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  127. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  128. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  129. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  130. package/cjs/components/SidePage/SidePageBody.js +1 -0
  131. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  132. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  133. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  134. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  136. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  137. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  138. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  139. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  142. package/cjs/components/Spinner/Spinner.js +2 -32
  143. package/cjs/components/Spinner/Spinner.js.map +1 -1
  144. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  145. package/cjs/components/Sticky/Sticky.js +2 -22
  146. package/cjs/components/Sticky/Sticky.js.map +1 -1
  147. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  148. package/cjs/components/Switcher/Switcher.js +11 -20
  149. package/cjs/components/Switcher/Switcher.js.map +1 -1
  150. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  151. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  152. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  153. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  154. package/cjs/components/Tabs/Indicator.js +1 -0
  155. package/cjs/components/Tabs/Indicator.js.map +1 -1
  156. package/cjs/components/Tabs/Tab.d.ts +2 -0
  157. package/cjs/components/Tabs/Tab.js +1 -0
  158. package/cjs/components/Tabs/Tab.js.map +1 -1
  159. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  160. package/cjs/components/Tabs/Tabs.js +1 -0
  161. package/cjs/components/Tabs/Tabs.js.map +1 -1
  162. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  163. package/cjs/components/Textarea/Textarea.js +2 -56
  164. package/cjs/components/Textarea/Textarea.js.map +1 -1
  165. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  166. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  167. package/cjs/components/Toast/Toast.d.ts +2 -0
  168. package/cjs/components/Toast/Toast.js +1 -0
  169. package/cjs/components/Toast/Toast.js.map +1 -1
  170. package/cjs/components/Toast/ToastView.d.ts +2 -14
  171. package/cjs/components/Toast/ToastView.js +3 -22
  172. package/cjs/components/Toast/ToastView.js.map +1 -1
  173. package/cjs/components/Toggle/Toggle.d.ts +2 -10
  174. package/cjs/components/Toggle/Toggle.js +1 -11
  175. package/cjs/components/Toggle/Toggle.js.map +1 -1
  176. package/cjs/components/Token/Token.d.ts +2 -0
  177. package/cjs/components/Token/Token.js +1 -0
  178. package/cjs/components/Token/Token.js.map +1 -1
  179. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  180. package/cjs/components/TokenInput/TokenInput.js +1 -0
  181. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  182. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  183. package/cjs/components/Tooltip/Tooltip.js +95 -13
  184. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  185. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  186. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  187. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  188. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  189. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  190. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  191. package/cjs/index.d.ts +1 -0
  192. package/cjs/index.js.map +1 -1
  193. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  194. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  195. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  196. package/cjs/internal/ComponentTable.js +2 -3
  197. package/cjs/internal/ComponentTable.js.map +1 -1
  198. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  199. package/cjs/internal/CustomComboBox/ComboBoxView.js +1 -0
  200. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  201. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  202. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  203. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  204. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  205. package/cjs/internal/DateSelect/DateSelect.js +1 -18
  206. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  207. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  208. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  209. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  210. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  211. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  212. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  213. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  214. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  215. package/cjs/internal/Menu/Menu.d.ts +2 -0
  216. package/cjs/internal/Menu/Menu.js +1 -0
  217. package/cjs/internal/Menu/Menu.js.map +1 -1
  218. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  219. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  221. package/cjs/internal/Popup/Popup.d.ts +41 -59
  222. package/cjs/internal/Popup/Popup.js +36 -79
  223. package/cjs/internal/Popup/Popup.js.map +1 -1
  224. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  225. package/cjs/internal/Popup/PopupPin.js +2 -35
  226. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  227. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  228. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  229. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  230. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  231. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  232. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  233. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  234. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  235. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  236. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  237. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  238. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  239. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  240. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  241. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  242. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  243. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  244. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  245. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  246. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  247. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  248. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  249. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  250. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  251. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  252. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  253. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  254. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  255. package/cjs/internal/themes/BasicTheme.d.ts +112 -20
  256. package/cjs/internal/themes/BasicTheme.js +149 -18
  257. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  258. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  259. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  260. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  261. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  262. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  263. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  264. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  265. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  266. package/cjs/lib/delay.mts +3 -0
  267. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  268. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  269. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  270. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  271. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  272. package/cjs/lib/forwardRefAndName.js +0 -1
  273. package/cjs/lib/forwardRefAndName.js.map +1 -1
  274. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  275. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  276. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  277. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  278. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  279. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  280. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  281. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  282. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  283. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  284. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  285. package/cjs/lib/utils.d.ts +4 -0
  286. package/cjs/lib/utils.js +5 -1
  287. package/cjs/lib/utils.js.map +1 -1
  288. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  289. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  290. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  291. package/components/Button/Button/Button.js +26 -5
  292. package/components/Button/Button/Button.js.map +1 -1
  293. package/components/Button/Button.d.ts +2 -0
  294. package/components/Button/Button.styles/Button.styles.js +78 -60
  295. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  296. package/components/Button/Button.styles.d.ts +6 -0
  297. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  298. package/components/Calendar/Calendar.d.ts +2 -0
  299. package/components/Center/Center/Center.js.map +1 -1
  300. package/components/Center/Center.d.ts +2 -0
  301. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  302. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  303. package/components/Checkbox/Checkbox.d.ts +2 -12
  304. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  305. package/components/ComboBox/ComboBox.d.ts +2 -0
  306. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  307. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  308. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  309. package/components/CurrencyInput/constants/constants.js +0 -1
  310. package/components/CurrencyInput/constants/constants.js.map +1 -1
  311. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  312. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  313. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  314. package/components/DateInput/DateInput.d.ts +2 -0
  315. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  316. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  317. package/components/DatePicker/DatePicker.d.ts +6 -33
  318. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  319. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  320. package/components/Dropdown/Dropdown.d.ts +2 -47
  321. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  322. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  323. package/components/FxInput/FxInput/FxInput.js +1 -5
  324. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  325. package/components/FxInput/FxInput.d.ts +2 -5
  326. package/components/Gapped/Gapped/Gapped.js +1 -15
  327. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  328. package/components/Gapped/Gapped.d.ts +2 -15
  329. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  330. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  331. package/components/Group/Group/Group.js +64 -28
  332. package/components/Group/Group/Group.js.map +1 -1
  333. package/components/Group/Group.d.ts +5 -4
  334. package/components/Group/Group.styles/Group.styles.js +9 -6
  335. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  336. package/components/Group/Group.styles.d.ts +1 -0
  337. package/components/Hint/Hint/Hint.js.map +1 -1
  338. package/components/Hint/Hint.d.ts +2 -0
  339. package/components/Input/Input/Input.js.map +1 -1
  340. package/components/Input/Input.d.ts +2 -0
  341. package/components/Kebab/Kebab/Kebab.js +2 -20
  342. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  343. package/components/Kebab/Kebab.d.ts +2 -1
  344. package/components/Link/Link/Link.js.map +1 -1
  345. package/components/Link/Link.d.ts +2 -0
  346. package/components/Loader/Loader/Loader.js +0 -33
  347. package/components/Loader/Loader/Loader.js.map +1 -1
  348. package/components/Loader/Loader.d.ts +6 -36
  349. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  350. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  351. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  352. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  353. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  354. package/components/MenuItem/MenuItem.d.ts +2 -12
  355. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  356. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  357. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  358. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  359. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  360. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  361. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  362. package/components/Modal/Modal.styles.d.ts +1 -0
  363. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  364. package/components/Modal/ModalBody.d.ts +2 -0
  365. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  366. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  367. package/components/Modal/ModalHeader.d.ts +5 -0
  368. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  369. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  370. package/components/Paging/DotsIcon/package.json +6 -0
  371. package/components/Paging/DotsIcon.d.ts +3 -0
  372. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  373. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  374. package/components/Paging/ForwardIcon.d.ts +3 -0
  375. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  376. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  377. package/components/Paging/NavigationHelper.d.ts +3 -2
  378. package/components/Paging/Paging/Paging.js +96 -47
  379. package/components/Paging/Paging/Paging.js.map +1 -1
  380. package/components/Paging/Paging.d.ts +13 -2
  381. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  382. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  383. package/components/Paging/Paging.styles.d.ts +24 -1
  384. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  385. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  386. package/components/Paging/PagingHelper.d.ts +1 -1
  387. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  388. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  389. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  390. package/components/Radio/Radio/Radio.js.map +1 -1
  391. package/components/Radio/Radio.d.ts +2 -0
  392. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  393. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  394. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  395. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  396. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  397. package/components/Select/Select/Select.js.map +1 -1
  398. package/components/Select/Select.d.ts +2 -0
  399. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  400. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  401. package/components/SidePage/SidePage.styles.d.ts +3 -1
  402. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  403. package/components/SidePage/SidePageBody.d.ts +2 -0
  404. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  405. package/components/SidePage/SidePageContainer.d.ts +2 -0
  406. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  407. package/components/SidePage/SidePageFooter.d.ts +2 -0
  408. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  409. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  410. package/components/SidePage/SidePageHeader.d.ts +12 -2
  411. package/components/Spinner/Spinner/Spinner.js +1 -18
  412. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  413. package/components/Spinner/Spinner.d.ts +2 -18
  414. package/components/Sticky/Sticky/Sticky.js +1 -13
  415. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  416. package/components/Sticky/Sticky.d.ts +2 -13
  417. package/components/Switcher/Switcher/Switcher.js +19 -16
  418. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  419. package/components/Switcher/Switcher.d.ts +6 -21
  420. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  421. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  422. package/components/Switcher/Switcher.styles.d.ts +1 -0
  423. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  424. package/components/Tabs/Indicator.d.ts +2 -0
  425. package/components/Tabs/Tab/Tab.js.map +1 -1
  426. package/components/Tabs/Tab.d.ts +2 -0
  427. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  428. package/components/Tabs/Tabs.d.ts +2 -0
  429. package/components/Textarea/Textarea/Textarea.js +1 -44
  430. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  431. package/components/Textarea/Textarea.d.ts +2 -44
  432. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  433. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  434. package/components/Toast/Toast/Toast.js.map +1 -1
  435. package/components/Toast/Toast.d.ts +2 -0
  436. package/components/Toast/ToastView/ToastView.js +3 -17
  437. package/components/Toast/ToastView/ToastView.js.map +1 -1
  438. package/components/Toast/ToastView.d.ts +2 -14
  439. package/components/Toggle/Toggle/Toggle.js +1 -10
  440. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  441. package/components/Toggle/Toggle.d.ts +2 -10
  442. package/components/Token/Token/Token.js.map +1 -1
  443. package/components/Token/Token.d.ts +2 -0
  444. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  445. package/components/TokenInput/TokenInput.d.ts +2 -0
  446. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  447. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  448. package/components/Tooltip/Tooltip.d.ts +14 -9
  449. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  450. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  451. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  452. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  453. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  454. package/index.d.ts +1 -0
  455. package/index.js +1 -0
  456. package/index.js.map +1 -1
  457. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  458. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  459. package/internal/ComponentTable/ComponentTable.js +0 -2
  460. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  461. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  462. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  463. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  464. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  465. package/internal/DateSelect/DateSelect/DateSelect.js +1 -10
  466. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  467. package/internal/DateSelect/DateSelect.d.ts +0 -10
  468. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  469. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  470. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  471. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  472. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  473. package/internal/Menu/Menu/Menu.js.map +1 -1
  474. package/internal/Menu/Menu.d.ts +2 -0
  475. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  476. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  477. package/internal/Popup/Popup/Popup.js +14 -64
  478. package/internal/Popup/Popup/Popup.js.map +1 -1
  479. package/internal/Popup/Popup.d.ts +41 -59
  480. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  481. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  482. package/internal/Popup/PopupPin.d.ts +23 -33
  483. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  484. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  485. package/internal/Popup/PopupPinNew/package.json +6 -0
  486. package/internal/Popup/PopupPinNew.d.ts +31 -0
  487. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  488. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  489. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  490. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  491. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  492. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  493. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  494. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  495. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  496. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  497. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  498. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  499. package/internal/ThemePlayground/Playground/Playground.js +4 -3
  500. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  501. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  502. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  503. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  504. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  505. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  506. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  507. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  508. package/internal/ZIndex/ZIndex.d.ts +3 -3
  509. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  510. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  511. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  512. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  513. package/internal/themes/BasicTheme/BasicTheme.js +170 -26
  514. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  515. package/internal/themes/BasicTheme.d.ts +112 -20
  516. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  517. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  518. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  519. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  520. package/internal/themes/DarkTheme5_3/package.json +6 -0
  521. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  522. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  523. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  524. package/internal/themes/LightTheme5_3/package.json +6 -0
  525. package/internal/themes/LightTheme5_3.d.ts +1 -0
  526. package/lib/delay.d.mts +1 -0
  527. package/lib/delay.mts +3 -0
  528. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  529. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  530. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  531. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  532. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  533. package/lib/forwardRefAndName.d.ts +1 -1
  534. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  535. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  536. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  537. package/lib/theming/ThemeVersions.d.ts +1 -1
  538. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  539. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  540. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  541. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  542. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  543. package/lib/theming/themes/LightTheme.d.ts +1 -0
  544. package/lib/utils/utils.js +2 -0
  545. package/lib/utils/utils.js.map +1 -1
  546. package/lib/utils.d.ts +4 -0
  547. package/package.json +10 -13
  548. package/cjs/lib/SSRSafe.d.ts +0 -2
  549. package/cjs/lib/SSRSafe.js +0 -5
  550. package/cjs/lib/SSRSafe.js.map +0 -1
  551. package/lib/SSRSafe/SSRSafe.js +0 -4
  552. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  553. package/lib/SSRSafe/package.json +0 -6
  554. package/lib/SSRSafe.d.ts +0 -2
@@ -1,9 +1,9 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { InputProps } from '../Input';
5
4
  import type { Nullable, Override } from '../../typings/utility-types';
6
5
  import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
7
7
  import type { Selection } from './SelectionHelper';
8
8
  export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<Omit<InputProps, 'showClearIcon'>, {
9
9
  /** Задает значение инпута. */
@@ -40,39 +40,21 @@ type DefaultProps = Required<Pick<CurrencyInputProps, 'align' | 'fractionDigits'
40
40
  *
41
41
  * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
42
42
  *
43
+ * **Почему 15?** Максимальное безопасное целочисленное значение - 9007199254740991 (16 цифр). Убрав один разряд под знак, мы получим "новое" максимальное безопасное значение - 999999999999999 (15 цифр).
44
+ * При этом десятичный резделитель может находиться в любом месте. Если целая часть равна 0, то она не учитывается. Детали можно почитать здесь - [MDN web docs](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
45
+ *
43
46
  * Если `fractionDigits=15`, то в целой части допускается **0**.
44
47
  */
45
48
  export declare class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {
46
49
  static __KONTUR_REACT_UI__: string;
47
50
  static displayName: string;
48
- static propTypes: {
49
- align: PropTypes.Requireable<string>;
50
- autoFocus: PropTypes.Requireable<boolean>;
51
- borderless: PropTypes.Requireable<boolean>;
52
- disabled: PropTypes.Requireable<boolean>;
53
- error: PropTypes.Requireable<boolean>;
54
- fractionDigits: PropTypes.Requireable<number>;
55
- hideTrailingZeros: PropTypes.Requireable<boolean>;
56
- leftIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
57
- placeholder: PropTypes.Requireable<string>;
58
- signed: PropTypes.Requireable<boolean>;
59
- size: PropTypes.Requireable<string>;
60
- value: (props: CurrencyInputProps) => void;
61
- warning: PropTypes.Requireable<boolean>;
62
- width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
63
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
64
- onValueChange: PropTypes.Validator<(...args: any[]) => any>;
65
- onFocus: PropTypes.Requireable<(...args: any[]) => any>;
66
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
67
- onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
68
- onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
69
- onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
70
- };
71
51
  static defaultProps: DefaultProps;
72
52
  private getProps;
53
+ private validateProps;
73
54
  state: CurrencyInputState;
74
55
  private input;
75
56
  private tempSelectionForOnChange;
57
+ getRootNode: TGetRootNode;
76
58
  private setRootNode;
77
59
  componentDidMount(): void;
78
60
  componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState): void;
@@ -1,4 +1,3 @@
1
- // https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15
2
1
  export var MAX_SAFE_DIGITS = 15;
3
2
 
4
3
  // + десятичный разделитель
@@ -1 +1 @@
1
- {"version":3,"names":["MAX_SAFE_DIGITS","MAX_ALLOWED_CHARS","THIN_SPACE","String","fromCharCode","SPACE","MINUS_SIGN"],"sources":["constants.ts"],"sourcesContent":["// https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15\nexport const MAX_SAFE_DIGITS = 15;\n\n// + десятичный разделитель\n// + целая часть равная нулю\n// + знак '-'\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\n\nexport const THIN_SPACE = String.fromCharCode(0x2009);\nexport const SPACE = String.fromCharCode(0x0020);\nexport const MINUS_SIGN = String.fromCharCode(0x2212);\n"],"mappings":"AAAA;AACA,OAAO,IAAMA,eAAe,GAAG,EAAE;;AAEjC;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAGD,eAAe,GAAG,CAAC;;AAEpD,OAAO,IAAME,UAAU,GAAGC,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AACrD,OAAO,IAAMC,KAAK,GAAGF,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AAChD,OAAO,IAAME,UAAU,GAAGH,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MAX_SAFE_DIGITS","MAX_ALLOWED_CHARS","THIN_SPACE","String","fromCharCode","SPACE","MINUS_SIGN"],"sources":["constants.ts"],"sourcesContent":["export const MAX_SAFE_DIGITS = 15;\n\n// + десятичный разделитель\n// + целая часть равная нулю\n// + знак '-'\nexport const MAX_ALLOWED_CHARS = MAX_SAFE_DIGITS + 3;\n\nexport const THIN_SPACE = String.fromCharCode(0x2009);\nexport const SPACE = String.fromCharCode(0x0020);\nexport const MINUS_SIGN = String.fromCharCode(0x2212);\n"],"mappings":"AAAA,OAAO,IAAMA,eAAe,GAAG,EAAE;;AAEjC;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAGD,eAAe,GAAG,CAAC;;AAEpD,OAAO,IAAME,UAAU,GAAGC,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AACrD,OAAO,IAAMC,KAAK,GAAGF,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC;AAChD,OAAO,IAAME,UAAU,GAAGH,MAAM,CAACC,YAAY,CAAC,MAAM,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  var _excluded = ["id", "value", "fractionDigits", "currencySymbol", "hideTrailingZeros"];
3
3
  import React from 'react';
4
+ import warning from 'warning';
4
5
  import { MAX_SAFE_DIGITS } from "../../CurrencyInput/constants";
5
6
  import { CurrencyHelper } from "../../CurrencyInput/CurrencyHelper";
6
7
  import { CommonWrapper } from "../../../internal/CommonWrapper";
@@ -22,6 +23,15 @@ var CurrencyLabel = forwardRefAndName('CurrencyLabel', function CurrencyLabel(_r
22
23
  _ref$hideTrailingZero = _ref.hideTrailingZeros,
23
24
  hideTrailingZeros = _ref$hideTrailingZero === void 0 ? false : _ref$hideTrailingZero,
24
25
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
26
+ React.useEffect(function () {
27
+ warning(fractionDigits <= MAX_SAFE_DIGITS, "[CurrencyLabel]: Prop 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee CurrencyInput documentation");
28
+ var _ref2 = CurrencyHelper.destructString(String(value)) || {
29
+ fraction: ''
30
+ },
31
+ fraction = _ref2.fraction;
32
+ warning(fraction.length <= fractionDigits, "[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property," + "'value' will not be cutted");
33
+ warning(Number.isInteger(fractionDigits), "[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used");
34
+ }, [fractionDigits, value]);
25
35
  return /*#__PURE__*/(
26
36
  React.createElement(CommonWrapper, rest, /*#__PURE__*/
27
37
  React.createElement("span", {
@@ -34,26 +44,4 @@ var CurrencyLabel = forwardRefAndName('CurrencyLabel', function CurrencyLabel(_r
34
44
  }), currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */, currencySymbol))
35
45
  );
36
46
  });
37
- CurrencyLabel.propTypes = {
38
- // @ts-ignore
39
- fractionDigits: function fractionDigits(_ref2) {
40
- var _ref2$fractionDigits = _ref2.fractionDigits,
41
- _fractionDigits = _ref2$fractionDigits === void 0 ? FRACTION_DIGITS_DEFAULT : _ref2$fractionDigits,
42
- value = _ref2.value;
43
- if (_fractionDigits > MAX_SAFE_DIGITS) {
44
- return new Error("[CurrencyLabel]: Prop 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");
45
- }
46
- var _ref3 = CurrencyHelper.destructString(String(value)) || {
47
- fraction: ''
48
- },
49
- fraction = _ref3.fraction;
50
- if (fraction.length > _fractionDigits) {
51
- return new Error("[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property," + "'value' will not be cutted");
52
- }
53
- if (!Number.isInteger(_fractionDigits)) {
54
- return new Error("[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used");
55
- }
56
- return null;
57
- }
58
- };
59
47
  export { CurrencyLabel };
@@ -1 +1 @@
1
- {"version":3,"names":["React","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","forwardRefAndName","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","root","CurrencyLabel","_ref","ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose","_excluded","createElement","format","String","fromCharCode","propTypes","_ref2","_ref2$fractionDigits","Error","_ref3","destructString","fraction","length","Number","isInteger"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Устанавливает значение. */\n value: number;\n\n /** Задает символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\n */\nconst CurrencyLabel = forwardRefAndName(\n 'CurrencyLabel',\n function CurrencyLabel(\n {\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n }: CurrencyLabelProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root} ref={ref}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n },\n);\n\nCurrencyLabel.propTypes = {\n // @ts-ignore\n fractionDigits: ({ fractionDigits = FRACTION_DIGITS_DEFAULT, value }: CurrencyLabelProps) => {\n if (fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n if (fraction.length > fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n return null;\n },\n};\n\nexport { CurrencyLabel };\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,cAAc,QAAQ,iCAAiC;;AAEhE,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,iBAAiB,QAAQ,6BAA6B;;;;;;;;;;;;;;;;;AAiB/D,IAAMC,uBAAuB,GAAG,CAAC;;AAEjC,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,IAAMC,aAAa,GAAGJ,iBAAiB;EACrC,eAAe;EACf,SAASI,aAAaA,CAAAC,IAAA;;;;;;;;;EASpBC,GAA8B;EAC9B,KAREC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CACFC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAAC,mBAAA,GAAAJ,IAAA,CACLK,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGR,uBAAuB,GAAAQ,mBAAA,CACxCE,cAAc,GAAAN,IAAA,CAAdM,cAAc,CAAAC,qBAAA,GAAAP,IAAA,CACdQ,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAIT;MACEpB,KAAA,CAAAqB,aAAA,CAAClB,aAAa,EAAKe,IAAI;MACrBlB,KAAA,CAAAqB,aAAA,WAAMV,EAAE,EAAEA,EAAG,EAAC,YAAUL,qBAAqB,CAACC,IAAK,EAACG,GAAG,EAAEA,GAAI;MAC1DR,cAAc,CAACoB,MAAM,CAACV,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;MACnEF,cAAc,IAAIQ,MAAM,CAACC,YAAY,CAAC,IAAI,CAAC,CAAC;MAC5CT;MACG;MACO,CAAC;;EAEpB;AACF,CAAC;;AAEDP,aAAa,CAACiB,SAAS,GAAG;EACxB;EACAX,cAAc,EAAE,SAAAA,eAAAY,KAAA,EAA6E,KAAAC,oBAAA,GAAAD,KAAA,CAA1EZ,cAAc,CAAdA,eAAc,GAAAa,oBAAA,cAAGtB,uBAAuB,GAAAsB,oBAAA,CAAEf,KAAK,GAAAc,KAAA,CAALd,KAAK;IAChE,IAAIE,eAAc,GAAGb,eAAe,EAAE;MACpC,OAAO,IAAI2B,KAAK;QACd,oDAAkD3B,eAAe;;MAEnE,CAAC;IACH;;IAEA,IAAA4B,KAAA,GAAqB3B,cAAc,CAAC4B,cAAc,CAACP,MAAM,CAACX,KAAK,CAAC,CAAC,IAAI,EAAEmB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAChB,IAAIA,QAAQ,CAACC,MAAM,GAAGlB,eAAc,EAAE;MACpC,OAAO,IAAIc,KAAK;QACd;;MAEF,CAAC;IACH;;IAEA,IAAI,CAACK,MAAM,CAACC,SAAS,CAACpB,eAAc,CAAC,EAAE;MACrC,OAAO,IAAIc,KAAK;;MAEhB,CAAC;IACH;IACA,OAAO,IAAI;EACb;AACF,CAAC;;AAED,SAASpB,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","forwardRefAndName","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","root","CurrencyLabel","_ref","ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose","_excluded","useEffect","_ref2","destructString","String","fraction","length","Number","isInteger","createElement","format","fromCharCode"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Устанавливает значение. */\n value: number;\n\n /** Задает символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\n */\nconst CurrencyLabel = forwardRefAndName(\n 'CurrencyLabel',\n function CurrencyLabel(\n {\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n }: CurrencyLabelProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n React.useEffect(() => {\n warning(\n fractionDigits <= MAX_SAFE_DIGITS,\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` + `\\nSee CurrencyInput documentation`,\n );\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n warning(\n fraction.length <= fractionDigits,\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n\n warning(\n Number.isInteger(fractionDigits),\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }, [fractionDigits, value]);\n\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root} ref={ref}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n },\n);\n\nexport { CurrencyLabel };\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,SAAS;;AAE7B,SAASC,eAAe,QAAQ,4BAA4B;AAC5D,SAASC,cAAc,QAAQ,iCAAiC;;AAEhE,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,iBAAiB,QAAQ,6BAA6B;;;;;;;;;;;;;;;;;AAiB/D,IAAMC,uBAAuB,GAAG,CAAC;;AAEjC,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,IAAMC,aAAa,GAAGJ,iBAAiB;EACrC,eAAe;EACf,SAASI,aAAaA,CAAAC,IAAA;;;;;;;;;EASpBC,GAA8B;EAC9B,KAREC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CACFC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAAC,mBAAA,GAAAJ,IAAA,CACLK,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGR,uBAAuB,GAAAQ,mBAAA,CACxCE,cAAc,GAAAN,IAAA,CAAdM,cAAc,CAAAC,qBAAA,GAAAP,IAAA,CACdQ,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAITrB,KAAK,CAACsB,SAAS,CAAC,YAAM;MACpBrB,OAAO;QACLc,cAAc,IAAIb,eAAe;QACjC,oDAAkDA,eAAe;MACnE,CAAC;;MAED,IAAAqB,KAAA,GAAqBpB,cAAc,CAACqB,cAAc,CAACC,MAAM,CAACZ,KAAK,CAAC,CAAC,IAAI,EAAEa,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAH,KAAA,CAARG,QAAQ;MAChBzB,OAAO;QACLyB,QAAQ,CAACC,MAAM,IAAIZ,cAAc;QACjC;;MAEF,CAAC;;MAEDd,OAAO;QACL2B,MAAM,CAACC,SAAS,CAACd,cAAc,CAAC;;MAElC,CAAC;IACH,CAAC,EAAE,CAACA,cAAc,EAAEF,KAAK,CAAC,CAAC;;IAE3B;MACEb,KAAA,CAAA8B,aAAA,CAAC1B,aAAa,EAAKe,IAAI;MACrBnB,KAAA,CAAA8B,aAAA,WAAMlB,EAAE,EAAEA,EAAG,EAAC,YAAUL,qBAAqB,CAACC,IAAK,EAACG,GAAG,EAAEA,GAAI;MAC1DR,cAAc,CAAC4B,MAAM,CAAClB,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;MACnEF,cAAc,IAAIS,MAAM,CAACO,YAAY,CAAC,IAAI,CAAC,CAAC;MAC5ChB;MACG;MACO,CAAC;;EAEpB;AACF,CAAC;;AAED,SAASP,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","ReactDOM","globalObject","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","FocusControlWrapper","CalendarIcon","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","_dec","_class","_DateInput","_React$Component","props","_this","call","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","createElement","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends","emitChange","version","search","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","featureFlags","dateInputAllowInvalidValuesInDays","dateInputFixSameNumberTypingOnRefocus","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","Consumer","flags","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","rootNodeRef","setRootNode","onBlurWhenDisabled","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName"],"sources":["DateInput.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { DatePickerLocale } from '../DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode, changed } = this.iDateMediator.inputKey(\n event.key,\n selected,\n this.state.inputMode,\n this.featureFlags.dateInputAllowInvalidValuesInDays,\n );\n\n if (!this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {\n if (!changed) {\n this.blink();\n return;\n }\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ReactDOM","globalObject","getFullReactUIFlagsContext","ReactUIFeatureFlagsContext","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","FocusControlWrapper","CalendarIcon","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","_dec","_class","_DateInput","_React$Component","props","_this","call","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","createElement","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends","emitChange","version","search","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","featureFlags","dateInputAllowInvalidValuesInDays","dateInputFixSameNumberTypingOnRefocus","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","Consumer","flags","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","rootNodeRef","setRootNode","onBlurWhenDisabled","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName"],"sources":["DateInput.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { DatePickerLocale } from '../DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode, changed } = this.iDateMediator.inputKey(\n event.key,\n selected,\n this.state.inputMode,\n this.featureFlags.dateInputAllowInvalidValuesInDays,\n );\n\n if (!this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {\n if (!changed) {\n this.blink();\n return;\n }\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import type { AriaAttributes, HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import { InternalDateComponentType } from '../../lib/date/types';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  import type { SizeProp } from '../../lib/types/props';
6
7
  export interface DateInputState {
7
8
  selected: InternalDateComponentType | null;
@@ -64,6 +65,7 @@ export declare class DateInput extends React.Component<DateInputProps, DateInput
64
65
  private locale;
65
66
  private blurEvent;
66
67
  private theme;
68
+ getRootNode: TGetRootNode;
67
69
  private setRootNode;
68
70
  private conditionalHandler;
69
71
  private featureFlags;
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
  var _dec, _class, _DatePicker;
4
- import PropTypes from 'prop-types';
5
4
  import React from 'react';
6
5
  import { Popup } from "../../../internal/Popup";
7
6
  import { LocaleContext } from "../../../lib/locale";
@@ -347,37 +346,7 @@ export var DatePicker = (_dec = locale('DatePicker', DatePickerLocaleHelper), re
347
346
  }, this.locale.today));
348
347
  };
349
348
  return DatePicker;
350
- }(React.PureComponent), _DatePicker.__KONTUR_REACT_UI__ = 'DatePicker', _DatePicker.displayName = 'DatePicker', _DatePicker.propTypes = {
351
- autoFocus: PropTypes.bool,
352
- disabled: PropTypes.bool,
353
- error: PropTypes.bool,
354
- /**
355
- * Максимальная дата в календаре.
356
- */
357
- maxDate: PropTypes.string.isRequired,
358
- menuPos: PropTypes.oneOf(['top', 'bottom']),
359
- menuAlign: PropTypes.oneOf(['left', 'right']),
360
- /**
361
- * Минимальная дата в календаре.
362
- */
363
- minDate: PropTypes.string.isRequired,
364
- /**
365
- * Строка формата `dd.mm.yyyy`
366
- */
367
- value: PropTypes.string,
368
- warning: PropTypes.bool,
369
- width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
370
- onBlur: PropTypes.func,
371
- onValueChange: PropTypes.func.isRequired,
372
- onFocus: PropTypes.func,
373
- onKeyDown: PropTypes.func,
374
- onMouseEnter: PropTypes.func,
375
- onMouseLeave: PropTypes.func,
376
- onMouseOver: PropTypes.func,
377
- isHoliday: PropTypes.func,
378
- renderDay: PropTypes.func,
379
- onMonthChange: PropTypes.func
380
- }, _DatePicker.defaultProps = {
349
+ }(React.PureComponent), _DatePicker.__KONTUR_REACT_UI__ = 'DatePicker', _DatePicker.displayName = 'DatePicker', _DatePicker.defaultProps = {
381
350
  minDate: MIN_FULLDATE,
382
351
  maxDate: MAX_FULLDATE
383
352
  }, _DatePicker.validate = function (value, range) {
@@ -1 +1 @@
1
- {"version":3,"names":["PropTypes","React","Popup","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","responsiveLayout","getMenuPositions","ZIndex","styles","DatePickerLocaleHelper","MobilePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","_dec","_class","_DatePicker","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","canOpenPopup","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobileLayout","createElement","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","hasShadow","priority","priorities","PopupMenu","positions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","_extends","id","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","onClick","openPickerPopup","handleKeyDown","minWidth","setState","close","handleSelect","blur","_inheritsLoose","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","opts","withoutOpenDropdown","render","_this2","Consumer","create","calendarBottomSeparatorBorder","rootNodeRef","setRootNode","date","validate","checks","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","getTodayComponents","withSeparator","todayAriaLabel","icon","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","_range","_range$minDate","_range$maxDate","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport type { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { CalendarDateShape, CalendarProps } from '../Calendar';\nimport { Calendar } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport type { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport type { DatePickerLocale } from './locale';\nimport { DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n\n autoFocus?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отображает кнопку \"Сегодня\" в календаре. */\n enableTodayLink?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает nекущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задает значение автокомплита. */\n value?: string | null;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает ширину автокомплита. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при потере датапикером фокуса. */\n onBlur?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при получении датапикером фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n\n /** Позволяет использовать на мобильных устройствах нативный календарь для выбора дат.\n * На iOS нативный календарь не умеет работать с minDate и maxDate. */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n/**\n * Поле `DatePicker` помогает вводить дату с клавиатуры или выбирать ее с помощью мыши.\n *\n * Используйте поле с датой, когда нужно ввести дату в формате ДД.ММ.ГГГГ.\n *\n * Поле с датой отличается от обычного поля ввода наличием иконки, маски и блока календаря.\n */\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuPos: PropTypes.oneOf(['top', 'bottom']),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n\n renderDay: PropTypes.func,\n\n onMonthChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private canOpenPopup = true;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n onClick={this.openPickerPopup}\n onKeyDown={this.handleKeyDown}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private openPickerPopup = () => {\n this.setState({ opened: true });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n } else {\n this.openPickerPopup();\n }\n\n this.focused = true;\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (!this.state.opened) {\n this.openPickerPopup();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Popup","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","responsiveLayout","getMenuPositions","ZIndex","styles","DatePickerLocaleHelper","MobilePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","_dec","_class","_DatePicker","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","canOpenPopup","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobileLayout","createElement","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","hasShadow","priority","priorities","PopupMenu","positions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","_extends","id","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","onClick","openPickerPopup","handleKeyDown","minWidth","setState","close","handleSelect","blur","_inheritsLoose","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","opts","withoutOpenDropdown","render","_this2","Consumer","create","calendarBottomSeparatorBorder","rootNodeRef","setRootNode","date","validate","checks","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","getTodayComponents","withSeparator","todayAriaLabel","icon","PureComponent","__KONTUR_REACT_UI__","displayName","range","_range","_range$minDate","_range$maxDate","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport type { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { CalendarDateShape, CalendarProps } from '../Calendar';\nimport { Calendar } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport type { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport type { DatePickerLocale } from './locale';\nimport { DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n\n autoFocus?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отображает кнопку \"Сегодня\" в календаре. */\n enableTodayLink?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает nекущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /**\n * Строка формата `dd.mm.yyyy`\n * Задает значение автокомплита.\n */\n value?: string | null;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает ширину автокомплита. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при потере датапикером фокуса. */\n onBlur?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при получении датапикером фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n\n /** Позволяет использовать на мобильных устройствах нативный календарь для выбора дат.\n * На iOS нативный календарь не умеет работать с minDate и maxDate. */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n/**\n * Поле `DatePicker` помогает вводить дату с клавиатуры или выбирать ее с помощью мыши.\n *\n * Используйте поле с датой, когда нужно ввести дату в формате ДД.ММ.ГГГГ.\n *\n * Поле с датой отличается от обычного поля ввода наличием иконки, маски и блока календаря.\n */\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private canOpenPopup = true;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n onClick={this.openPickerPopup}\n onKeyDown={this.handleKeyDown}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private openPickerPopup = () => {\n this.setState({ opened: true });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n } else {\n this.openPickerPopup();\n }\n\n this.focused = true;\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (!this.state.opened) {\n this.openPickerPopup();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"],"mappings":"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","ignoreList":[]}