@skbkontur/react-ui 0.0.0-a59755ee68 → 0.0.0-a82c7a7f44

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 (480) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/cjs/components/Button/Button.d.ts +0 -1
  3. package/cjs/components/Button/Button.js +2 -2
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Calendar/DayCellView.styles.js +1 -17
  6. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  7. package/cjs/components/ComboBox/ComboBox.d.ts +9 -2
  8. package/cjs/components/ComboBox/ComboBox.js +17 -1
  9. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  10. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -1
  11. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  12. package/cjs/components/DatePicker/DatePicker.d.ts +4 -0
  13. package/cjs/components/DatePicker/DatePicker.js +8 -1
  14. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  15. package/cjs/components/Dropdown/Dropdown.d.ts +4 -2
  16. package/cjs/components/Dropdown/Dropdown.js +12 -8
  17. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  18. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -0
  19. package/cjs/components/DropdownMenu/DropdownMenu.js +5 -1
  20. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  21. package/cjs/components/FxInput/FxInput.d.ts +2 -0
  22. package/cjs/components/FxInput/FxInput.js +7 -1
  23. package/cjs/components/FxInput/FxInput.js.map +1 -1
  24. package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +2 -0
  25. package/cjs/components/FxInput/FxInputRestoreBtn.js +5 -1
  26. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  27. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -0
  28. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  29. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  30. package/cjs/components/Group/Group.js +24 -7
  31. package/cjs/components/Group/Group.js.map +1 -1
  32. package/cjs/components/Input/Input.d.ts +23 -2
  33. package/cjs/components/Input/Input.js +135 -19
  34. package/cjs/components/Input/Input.js.map +1 -1
  35. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +78 -70
  36. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  37. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -1
  38. package/cjs/components/MaskedInput/MaskedInput.js +3 -0
  39. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  40. package/cjs/components/MenuItem/MenuItem.js +23 -23
  41. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  42. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +1 -1
  43. package/cjs/components/Modal/Modal.styles.d.ts +4 -1
  44. package/cjs/components/Modal/Modal.styles.js +68 -31
  45. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  46. package/cjs/components/Modal/ModalClose.js +7 -2
  47. package/cjs/components/Modal/ModalClose.js.map +1 -1
  48. package/cjs/components/Modal/__creevey__/Modal.creevey.mts +15 -1
  49. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
  50. package/cjs/components/PasswordInput/PasswordInput.js +4 -1
  51. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  52. package/cjs/components/PasswordInput/PasswordInput.styles.js +2 -1
  53. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  54. package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +8 -0
  55. package/cjs/components/Select/Select.d.ts +2 -0
  56. package/cjs/components/Select/Select.js +4 -0
  57. package/cjs/components/Select/Select.js.map +1 -1
  58. package/cjs/components/SidePage/SidePage.js +1 -7
  59. package/cjs/components/SidePage/SidePage.js.map +1 -1
  60. package/cjs/components/SidePage/SidePage.styles.d.ts +8 -1
  61. package/cjs/components/SidePage/SidePage.styles.js +83 -26
  62. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  63. package/cjs/components/SidePage/SidePageCloseButton.d.ts +6 -1
  64. package/cjs/components/SidePage/SidePageCloseButton.js +14 -2
  65. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  66. package/cjs/components/SidePage/SidePageHeader.d.ts +0 -1
  67. package/cjs/components/SidePage/SidePageHeader.js +11 -7
  68. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  69. package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +2 -2
  70. package/cjs/components/Switcher/Switcher.js +2 -2
  71. package/cjs/components/Switcher/Switcher.js.map +1 -1
  72. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  73. package/cjs/components/Switcher/Switcher.styles.js +20 -1
  74. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  75. package/cjs/components/Toast/Toast.d.ts +6 -2
  76. package/cjs/components/Toast/Toast.js +9 -2
  77. package/cjs/components/Toast/Toast.js.map +1 -1
  78. package/cjs/components/Toast/ToastStatic.d.ts +2 -2
  79. package/cjs/components/Toast/ToastStatic.js +15 -5
  80. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  81. package/cjs/components/Toast/ToastView.d.ts +1 -0
  82. package/cjs/components/Toast/ToastView.js +4 -2
  83. package/cjs/components/Toast/ToastView.js.map +1 -1
  84. package/cjs/components/Toast/ToastView.styles.js +4 -4
  85. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  86. package/cjs/components/Toast/__creevey__/Toast.creevey.mts +23 -0
  87. package/cjs/index.d.ts +0 -3
  88. package/cjs/index.js +0 -3
  89. package/cjs/index.js.map +1 -1
  90. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +9 -0
  91. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +72 -0
  92. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -0
  93. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +8 -0
  94. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +51 -0
  95. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -0
  96. package/cjs/internal/ClearCrossIcon/CrossIcon.d.ts +3 -0
  97. package/cjs/internal/ClearCrossIcon/CrossIcon.js +15 -0
  98. package/cjs/internal/ClearCrossIcon/CrossIcon.js.map +1 -0
  99. package/cjs/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +44 -0
  100. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  101. package/cjs/internal/CustomComboBox/ComboBoxView.js +13 -3
  102. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  103. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -1
  104. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
  105. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  106. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +3 -0
  107. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +12 -0
  108. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  109. package/cjs/internal/InputLikeText/InputLikeText.d.ts +7 -2
  110. package/cjs/internal/InputLikeText/InputLikeText.js +80 -34
  111. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  112. package/cjs/internal/Menu/Menu.d.ts +2 -1
  113. package/cjs/internal/Menu/Menu.js +4 -2
  114. package/cjs/internal/Menu/Menu.js.map +1 -1
  115. package/cjs/internal/Popup/Popup.js +4 -6
  116. package/cjs/internal/Popup/Popup.js.map +1 -1
  117. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  118. package/cjs/internal/PopupMenu/PopupMenu.js +7 -1
  119. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  120. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
  121. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
  122. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  123. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -1
  124. package/cjs/internal/ZIndex/ZIndex.js +18 -6
  125. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  126. package/cjs/internal/themes/BasicLightTheme.d.ts +5 -1211
  127. package/cjs/internal/themes/BasicLightTheme.js +2 -2532
  128. package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
  129. package/cjs/internal/themes/BasicTheme.d.ts +1231 -0
  130. package/cjs/internal/themes/BasicTheme.js +2587 -0
  131. package/cjs/internal/themes/BasicTheme.js.map +1 -0
  132. package/cjs/internal/themes/DarkTheme5_0.d.ts +1 -0
  133. package/cjs/internal/themes/DarkTheme5_0.js +562 -0
  134. package/cjs/internal/themes/DarkTheme5_0.js.map +1 -0
  135. package/cjs/internal/themes/DarkTheme5_1.d.ts +1 -0
  136. package/cjs/internal/themes/DarkTheme5_1.js +41 -0
  137. package/cjs/internal/themes/DarkTheme5_1.js.map +1 -0
  138. package/cjs/internal/themes/LightTheme5_0.d.ts +1 -0
  139. package/cjs/internal/themes/LightTheme5_0.js +9 -0
  140. package/cjs/internal/themes/LightTheme5_0.js.map +1 -0
  141. package/cjs/internal/themes/LightTheme5_1.d.ts +1 -0
  142. package/cjs/internal/themes/LightTheme5_1.js +41 -0
  143. package/cjs/internal/themes/LightTheme5_1.js.map +1 -0
  144. package/cjs/lib/mergeRefs.d.ts +23 -0
  145. package/cjs/lib/mergeRefs.js +76 -0
  146. package/cjs/lib/mergeRefs.js.map +1 -0
  147. package/cjs/lib/theming/Theme.d.ts +4 -3
  148. package/cjs/lib/theming/Theme.js +1 -1
  149. package/cjs/lib/theming/Theme.js.map +1 -1
  150. package/cjs/lib/theming/ThemeContext.d.ts +1 -1
  151. package/cjs/lib/theming/ThemeContext.js +2 -2
  152. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  153. package/cjs/lib/theming/ThemeFactory.d.ts +9 -0
  154. package/cjs/lib/theming/ThemeFactory.js +28 -9
  155. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  156. package/cjs/lib/theming/ThemeHelpers.d.ts +55 -8
  157. package/cjs/lib/theming/ThemeHelpers.js +94 -22
  158. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  159. package/cjs/lib/theming/ThemeVersions.d.ts +25 -0
  160. package/cjs/lib/theming/ThemeVersions.js +58 -0
  161. package/cjs/lib/theming/ThemeVersions.js.map +1 -0
  162. package/cjs/lib/theming/themes/DarkTheme.d.ts +3 -1
  163. package/cjs/lib/theming/themes/DarkTheme.js +6 -4
  164. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  165. package/cjs/lib/theming/themes/LightTheme.d.ts +3 -1
  166. package/cjs/lib/theming/themes/LightTheme.js +6 -4
  167. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  168. package/cjs/lib/theming/themes/LightThemeMobile.d.ts +1 -1
  169. package/cjs/lib/theming/useTheme.d.ts +1 -1
  170. package/cjs/lib/typeGuards.d.ts +1 -0
  171. package/cjs/lib/typeGuards.js +6 -0
  172. package/cjs/lib/typeGuards.js.map +1 -0
  173. package/cjs/lib/utils.d.ts +18 -14
  174. package/cjs/lib/utils.js +16 -20
  175. package/cjs/lib/utils.js.map +1 -1
  176. package/components/Button/Button/Button.js +2 -3
  177. package/components/Button/Button/Button.js.map +1 -1
  178. package/components/Button/Button.d.ts +0 -1
  179. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
  180. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  181. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  182. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  183. package/components/ComboBox/ComboBox.d.ts +9 -2
  184. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  185. package/components/CurrencyInput/CurrencyInput.d.ts +1 -1
  186. package/components/DatePicker/DatePicker/DatePicker.js +4 -0
  187. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  188. package/components/DatePicker/DatePicker.d.ts +4 -0
  189. package/components/Dropdown/Dropdown/Dropdown.js +12 -11
  190. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  191. package/components/Dropdown/Dropdown.d.ts +4 -2
  192. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -0
  193. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  194. package/components/DropdownMenu/DropdownMenu.d.ts +2 -0
  195. package/components/FxInput/FxInput/FxInput.js +3 -2
  196. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  197. package/components/FxInput/FxInput.d.ts +2 -0
  198. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +1 -1
  199. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  200. package/components/FxInput/FxInputRestoreBtn.d.ts +2 -0
  201. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -5
  202. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  203. package/components/GlobalLoader/GlobalLoader.d.ts +1 -0
  204. package/components/Group/Group/Group.js +4 -10
  205. package/components/Group/Group/Group.js.map +1 -1
  206. package/components/Input/Input/Input.js +124 -15
  207. package/components/Input/Input/Input.js.map +1 -1
  208. package/components/Input/Input.d.ts +23 -2
  209. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +54 -55
  210. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  211. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  212. package/components/MaskedInput/MaskedInput.d.ts +1 -1
  213. package/components/MenuItem/MenuItem/MenuItem.js +41 -35
  214. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  215. package/components/MiniModal/getMiniModalTheme.d.ts +1 -1
  216. package/components/Modal/Modal.styles/Modal.styles.js +40 -31
  217. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  218. package/components/Modal/Modal.styles.d.ts +4 -1
  219. package/components/Modal/ModalClose/ModalClose.js +3 -1
  220. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  221. package/components/Modal/__creevey__/Modal.creevey.mts +15 -1
  222. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -1
  223. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  224. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  225. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +1 -1
  226. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  227. package/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +8 -0
  228. package/components/Select/Select/Select.js +1 -0
  229. package/components/Select/Select/Select.js.map +1 -1
  230. package/components/Select/Select.d.ts +2 -0
  231. package/components/SidePage/SidePage/SidePage.js +1 -5
  232. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  233. package/components/SidePage/SidePage.styles/SidePage.styles.js +48 -26
  234. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  235. package/components/SidePage/SidePage.styles.d.ts +8 -1
  236. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +6 -2
  237. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  238. package/components/SidePage/SidePageCloseButton.d.ts +6 -1
  239. package/components/SidePage/SidePageHeader/SidePageHeader.js +13 -5
  240. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  241. package/components/SidePage/SidePageHeader.d.ts +0 -1
  242. package/components/SidePage/__creevey__/SidePage.creevey.mts +2 -2
  243. package/components/Switcher/Switcher/Switcher.js +10 -6
  244. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  245. package/components/Switcher/Switcher.styles/Switcher.styles.js +4 -1
  246. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  247. package/components/Switcher/Switcher.styles.d.ts +1 -0
  248. package/components/Toast/Toast/Toast.js +14 -9
  249. package/components/Toast/Toast/Toast.js.map +1 -1
  250. package/components/Toast/Toast.d.ts +6 -2
  251. package/components/Toast/ToastStatic/ToastStatic.js +5 -5
  252. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  253. package/components/Toast/ToastStatic.d.ts +2 -2
  254. package/components/Toast/ToastView/ToastView.js +2 -1
  255. package/components/Toast/ToastView/ToastView.js.map +1 -1
  256. package/components/Toast/ToastView.d.ts +1 -0
  257. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  258. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  259. package/components/Toast/__creevey__/Toast.creevey.mts +23 -0
  260. package/index.d.ts +0 -3
  261. package/index.js +0 -3
  262. package/index.js.map +1 -1
  263. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +63 -0
  264. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -0
  265. package/internal/ClearCrossIcon/ClearCrossIcon/package.json +6 -0
  266. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +9 -0
  267. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +21 -0
  268. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -0
  269. package/internal/ClearCrossIcon/ClearCrossIcon.styles/package.json +6 -0
  270. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +8 -0
  271. package/internal/ClearCrossIcon/CrossIcon/CrossIcon.js +22 -0
  272. package/internal/ClearCrossIcon/CrossIcon/CrossIcon.js.map +1 -0
  273. package/internal/ClearCrossIcon/CrossIcon/package.json +6 -0
  274. package/internal/ClearCrossIcon/CrossIcon.d.ts +3 -0
  275. package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.d.mts +1 -0
  276. package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +44 -0
  277. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +12 -5
  278. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  279. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  280. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +6 -0
  281. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  282. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -1
  283. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +14 -0
  284. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  285. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +3 -0
  286. package/internal/InputLikeText/InputLikeText/InputLikeText.js +54 -4
  287. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  288. package/internal/InputLikeText/InputLikeText.d.ts +7 -2
  289. package/internal/Menu/Menu/Menu.js +6 -3
  290. package/internal/Menu/Menu/Menu.js.map +1 -1
  291. package/internal/Menu/Menu.d.ts +2 -1
  292. package/internal/Popup/Popup/Popup.js +15 -20
  293. package/internal/Popup/Popup/Popup.js.map +1 -1
  294. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -1
  295. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  296. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  297. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +1 -0
  298. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +36 -0
  299. package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +4 -0
  300. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  301. package/internal/ZIndex/ZIndex/ZIndex.js +12 -14
  302. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  303. package/internal/ZIndex/ZIndex.d.ts +1 -1
  304. package/internal/themes/BasicLightTheme/BasicLightTheme.js +5 -3353
  305. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
  306. package/internal/themes/BasicLightTheme.d.ts +5 -1211
  307. package/internal/themes/BasicTheme/BasicTheme.js +3432 -0
  308. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -0
  309. package/internal/themes/BasicTheme/package.json +6 -0
  310. package/internal/themes/BasicTheme.d.ts +1231 -0
  311. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +409 -0
  312. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +1 -0
  313. package/internal/themes/DarkTheme5_0/package.json +6 -0
  314. package/internal/themes/DarkTheme5_0.d.ts +1 -0
  315. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +52 -0
  316. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +1 -0
  317. package/internal/themes/DarkTheme5_1/package.json +6 -0
  318. package/internal/themes/DarkTheme5_1.d.ts +1 -0
  319. package/internal/themes/LightTheme5_0/LightTheme5_0.js +14 -0
  320. package/internal/themes/LightTheme5_0/LightTheme5_0.js.map +1 -0
  321. package/internal/themes/LightTheme5_0/package.json +6 -0
  322. package/internal/themes/LightTheme5_0.d.ts +1 -0
  323. package/internal/themes/LightTheme5_1/LightTheme5_1.js +52 -0
  324. package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +1 -0
  325. package/internal/themes/LightTheme5_1/package.json +6 -0
  326. package/internal/themes/LightTheme5_1.d.ts +1 -0
  327. package/lib/mergeRefs/mergeRefs.js +68 -0
  328. package/lib/mergeRefs/mergeRefs.js.map +1 -0
  329. package/lib/mergeRefs/package.json +6 -0
  330. package/lib/mergeRefs.d.ts +23 -0
  331. package/lib/theming/Theme/Theme.js +2 -1
  332. package/lib/theming/Theme/Theme.js.map +1 -1
  333. package/lib/theming/Theme.d.ts +4 -3
  334. package/lib/theming/ThemeContext/ThemeContext.js +2 -2
  335. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  336. package/lib/theming/ThemeContext.d.ts +1 -1
  337. package/lib/theming/ThemeFactory/ThemeFactory.js +21 -7
  338. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  339. package/lib/theming/ThemeFactory.d.ts +9 -0
  340. package/lib/theming/ThemeHelpers/ThemeHelpers.js +85 -18
  341. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  342. package/lib/theming/ThemeHelpers.d.ts +55 -8
  343. package/lib/theming/ThemeVersions/ThemeVersions.js +50 -0
  344. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -0
  345. package/lib/theming/ThemeVersions/package.json +6 -0
  346. package/lib/theming/ThemeVersions.d.ts +25 -0
  347. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -4
  348. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  349. package/lib/theming/themes/DarkTheme.d.ts +3 -1
  350. package/lib/theming/themes/LightTheme/LightTheme.js +5 -4
  351. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  352. package/lib/theming/themes/LightTheme.d.ts +3 -1
  353. package/lib/theming/themes/LightThemeMobile.d.ts +1 -1
  354. package/lib/theming/useTheme.d.ts +1 -1
  355. package/lib/typeGuards/package.json +6 -0
  356. package/lib/typeGuards/typeGuards.js +5 -0
  357. package/lib/typeGuards/typeGuards.js.map +1 -0
  358. package/lib/typeGuards.d.ts +1 -0
  359. package/lib/utils/utils.js +10 -14
  360. package/lib/utils/utils.js.map +1 -1
  361. package/lib/utils.d.ts +18 -14
  362. package/package.json +2 -2
  363. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +0 -32
  364. package/cjs/components/DateRangePicker/DateRangePicker.js +0 -467
  365. package/cjs/components/DateRangePicker/DateRangePicker.js.map +0 -1
  366. package/cjs/components/DateRangePicker/DateRangePicker.md +0 -298
  367. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -17
  368. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +0 -114
  369. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
  370. package/cjs/components/DateRangePicker/DateRangePickerContext.d.ts +0 -32
  371. package/cjs/components/DateRangePicker/DateRangePickerContext.js +0 -38
  372. package/cjs/components/DateRangePicker/DateRangePickerContext.js.map +0 -1
  373. package/cjs/components/DateRangePicker/DateRangePickerField.d.ts +0 -11
  374. package/cjs/components/DateRangePicker/DateRangePickerField.js +0 -123
  375. package/cjs/components/DateRangePicker/DateRangePickerField.js.map +0 -1
  376. package/cjs/components/DateRangePicker/DateRangePickerSeparator.d.ts +0 -2
  377. package/cjs/components/DateRangePicker/DateRangePickerSeparator.js +0 -3
  378. package/cjs/components/DateRangePicker/DateRangePickerSeparator.js.map +0 -1
  379. package/cjs/components/DateRangePicker/DateRangePickerTheme.d.ts +0 -3
  380. package/cjs/components/DateRangePicker/DateRangePickerTheme.js +0 -33
  381. package/cjs/components/DateRangePicker/DateRangePickerTheme.js.map +0 -1
  382. package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -115
  383. package/cjs/components/DateRangePicker/helpers/getStateForValue.d.ts +0 -9
  384. package/cjs/components/DateRangePicker/helpers/getStateForValue.js +0 -122
  385. package/cjs/components/DateRangePicker/helpers/getStateForValue.js.map +0 -1
  386. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.d.ts +0 -9
  387. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +0 -67
  388. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +0 -1
  389. package/cjs/components/DateRangePicker/index.d.ts +0 -1
  390. package/cjs/components/DateRangePicker/index.js +0 -1
  391. package/cjs/components/DateRangePicker/index.js.map +0 -1
  392. package/cjs/components/DateRangePicker/locale/index.d.ts +0 -4
  393. package/cjs/components/DateRangePicker/locale/index.js +0 -12
  394. package/cjs/components/DateRangePicker/locale/index.js.map +0 -1
  395. package/cjs/components/DateRangePicker/locale/locales/en.d.ts +0 -2
  396. package/cjs/components/DateRangePicker/locale/locales/en.js +0 -7
  397. package/cjs/components/DateRangePicker/locale/locales/en.js.map +0 -1
  398. package/cjs/components/DateRangePicker/locale/locales/ru.d.ts +0 -2
  399. package/cjs/components/DateRangePicker/locale/locales/ru.js +0 -7
  400. package/cjs/components/DateRangePicker/locale/locales/ru.js.map +0 -1
  401. package/cjs/components/DateRangePicker/locale/types.d.ts +0 -5
  402. package/cjs/components/DateRangePicker/locale/types.js +0 -1
  403. package/cjs/components/DateRangePicker/locale/types.js.map +0 -1
  404. package/cjs/internal/themes/BasicDarkTheme.d.ts +0 -293
  405. package/cjs/internal/themes/BasicDarkTheme.js +0 -607
  406. package/cjs/internal/themes/BasicDarkTheme.js.map +0 -1
  407. package/cjs/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
  408. package/cjs/lib/theming/themes/DarkTheme2022_0.js +0 -5
  409. package/cjs/lib/theming/themes/DarkTheme2022_0.js.map +0 -1
  410. package/cjs/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
  411. package/cjs/lib/theming/themes/LightTheme2022_0.js +0 -5
  412. package/cjs/lib/theming/themes/LightTheme2022_0.js.map +0 -1
  413. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +0 -435
  414. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +0 -1
  415. package/components/DateRangePicker/DateRangePicker/package.json +0 -6
  416. package/components/DateRangePicker/DateRangePicker.d.ts +0 -32
  417. package/components/DateRangePicker/DateRangePicker.md +0 -298
  418. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +0 -53
  419. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +0 -1
  420. package/components/DateRangePicker/DateRangePicker.styles/package.json +0 -6
  421. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -17
  422. package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js +0 -3
  423. package/components/DateRangePicker/DateRangePickerContext/DateRangePickerContext.js.map +0 -1
  424. package/components/DateRangePicker/DateRangePickerContext/package.json +0 -6
  425. package/components/DateRangePicker/DateRangePickerContext.d.ts +0 -32
  426. package/components/DateRangePicker/DateRangePickerField/DateRangePickerField.js +0 -112
  427. package/components/DateRangePicker/DateRangePickerField/DateRangePickerField.js.map +0 -1
  428. package/components/DateRangePicker/DateRangePickerField/package.json +0 -6
  429. package/components/DateRangePicker/DateRangePickerField.d.ts +0 -11
  430. package/components/DateRangePicker/DateRangePickerSeparator/DateRangePickerSeparator.js +0 -4
  431. package/components/DateRangePicker/DateRangePickerSeparator/DateRangePickerSeparator.js.map +0 -1
  432. package/components/DateRangePicker/DateRangePickerSeparator/package.json +0 -6
  433. package/components/DateRangePicker/DateRangePickerSeparator.d.ts +0 -2
  434. package/components/DateRangePicker/DateRangePickerTheme/DateRangePickerTheme.js +0 -24
  435. package/components/DateRangePicker/DateRangePickerTheme/DateRangePickerTheme.js.map +0 -1
  436. package/components/DateRangePicker/DateRangePickerTheme/package.json +0 -6
  437. package/components/DateRangePicker/DateRangePickerTheme.d.ts +0 -3
  438. package/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -115
  439. package/components/DateRangePicker/helpers/getStateForValue/getStateForValue.js +0 -108
  440. package/components/DateRangePicker/helpers/getStateForValue/getStateForValue.js.map +0 -1
  441. package/components/DateRangePicker/helpers/getStateForValue/package.json +0 -6
  442. package/components/DateRangePicker/helpers/getStateForValue.d.ts +0 -9
  443. package/components/DateRangePicker/helpers/validateDateRangePicker/package.json +0 -6
  444. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +0 -49
  445. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +0 -1
  446. package/components/DateRangePicker/helpers/validateDateRangePicker.d.ts +0 -9
  447. package/components/DateRangePicker/index/index.js +0 -1
  448. package/components/DateRangePicker/index/index.js.map +0 -1
  449. package/components/DateRangePicker/index/package.json +0 -6
  450. package/components/DateRangePicker/index.d.ts +0 -1
  451. package/components/DateRangePicker/locale/index/index.js +0 -8
  452. package/components/DateRangePicker/locale/index/index.js.map +0 -1
  453. package/components/DateRangePicker/locale/index/package.json +0 -6
  454. package/components/DateRangePicker/locale/index.d.ts +0 -4
  455. package/components/DateRangePicker/locale/locales/en/en.js +0 -6
  456. package/components/DateRangePicker/locale/locales/en/en.js.map +0 -1
  457. package/components/DateRangePicker/locale/locales/en/package.json +0 -6
  458. package/components/DateRangePicker/locale/locales/en.d.ts +0 -2
  459. package/components/DateRangePicker/locale/locales/ru/package.json +0 -6
  460. package/components/DateRangePicker/locale/locales/ru/ru.js +0 -6
  461. package/components/DateRangePicker/locale/locales/ru/ru.js.map +0 -1
  462. package/components/DateRangePicker/locale/locales/ru.d.ts +0 -2
  463. package/components/DateRangePicker/locale/package.json +0 -6
  464. package/components/DateRangePicker/locale/types/package.json +0 -6
  465. package/components/DateRangePicker/locale/types/types.js +0 -1
  466. package/components/DateRangePicker/locale/types/types.js.map +0 -1
  467. package/components/DateRangePicker/locale/types.d.ts +0 -5
  468. package/components/DateRangePicker/package.json +0 -6
  469. package/internal/themes/BasicDarkTheme/BasicDarkTheme.js +0 -646
  470. package/internal/themes/BasicDarkTheme/BasicDarkTheme.js.map +0 -1
  471. package/internal/themes/BasicDarkTheme/package.json +0 -6
  472. package/internal/themes/BasicDarkTheme.d.ts +0 -293
  473. package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js +0 -3
  474. package/lib/theming/themes/DarkTheme2022_0/DarkTheme2022_0.js.map +0 -1
  475. package/lib/theming/themes/DarkTheme2022_0/package.json +0 -6
  476. package/lib/theming/themes/DarkTheme2022_0.d.ts +0 -1
  477. package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js +0 -3
  478. package/lib/theming/themes/LightTheme2022_0/LightTheme2022_0.js.map +0 -1
  479. package/lib/theming/themes/LightTheme2022_0/package.json +0 -6
  480. package/lib/theming/themes/LightTheme2022_0.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_warning","_lodash","_globalObject","_utils","_client","_Input","_CommonWrapper","_rootNode","_createPropsGetter","_isInstanceOf","_FocusControlWrapper","_constants","_SelectionHelper","_CurrencyHelper","_CurrencyInputHelper","_CurrencyInputKeyboardActions","_excluded","_class","_CurrencyInput","CurrencyInputDataTids","exports","root","CurrencyInput","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","_extends2","default","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","SelectionHelper","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose2","createElement","FocusControlWrapper","onBlurWhenDisabled","resetFocus","Input","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","debounce","setSelectionFromEvent","event","isIE11","persist","selection","getSelection","target","defaultPrevented","action","extractAction","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","CurrencyInputHelper","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","CurrencyHelper","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","isNonNullable","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose2","_proto","prototype","componentDidMount","_this$props","maxLength","warning","undefined","MAX_SAFE_DIGITS","componentDidUpdate","prevProps","prevState","_this$getProps","isValidNumber","isNumeric","Number","isNullable","_this$state$selection","setSelectionRange","render","CommonWrapper","rootNodeRef","setRootNode","format","normilized","normalizeSelection","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","inputMode","_input$selectionStart","_input$selectionEnd","isInstanceOf","globalObject","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n InputProps,\n {\n /** Задает значение инпута. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает отрицательные значения. */\n signed?: boolean;\n\n /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Задает функцию, которая вызывается при отправке формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/**\n * `CurrencyInput` — поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.\n * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n *\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits } = this.props;\n const fractionDigits = this.getProps().fractionDigits;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.getProps().fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (isNonNullable(delta) && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_warning","_lodash","_globalObject","_utils","_client","_Input","_CommonWrapper","_rootNode","_createPropsGetter","_isInstanceOf","_FocusControlWrapper","_constants","_SelectionHelper","_CurrencyHelper","_CurrencyInputHelper","_CurrencyInputKeyboardActions","_excluded","_class","_CurrencyInput","CurrencyInputDataTids","exports","root","CurrencyInput","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","_extends2","default","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","SelectionHelper","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose2","createElement","FocusControlWrapper","onBlurWhenDisabled","resetFocus","Input","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","debounce","setSelectionFromEvent","event","isIE11","persist","selection","getSelection","target","defaultPrevented","action","extractAction","CURRENCY_INPUT_ACTIONS","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","CurrencyInputHelper","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","CurrencyHelper","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","isNonNullable","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose2","_proto","prototype","componentDidMount","_this$props","maxLength","warning","undefined","MAX_SAFE_DIGITS","componentDidUpdate","prevProps","prevState","_this$getProps","isValidNumber","isNumeric","Number","isNullable","_this$state$selection","setSelectionRange","render","CommonWrapper","rootNodeRef","setRootNode","format","normilized","normalizeSelection","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","inputMode","_input$selectionStart","_input$selectionEnd","isInstanceOf","globalObject","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n Omit<InputProps, 'showClearIcon'>,\n {\n /** Задает значение инпута. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает отрицательные значения. */\n signed?: boolean;\n\n /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Задает функцию, которая вызывается при отправке формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/**\n * `CurrencyInput` — поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.\n * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n *\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits } = this.props;\n const fractionDigits = this.getProps().fractionDigits;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.getProps().fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (isNonNullable(delta) && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"],"mappings":"+eAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;;AAEA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,oBAAA,GAAAZ,OAAA;;AAEA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAd,OAAA;AACA,IAAAe,eAAA,GAAAf,OAAA;AACA,IAAAgB,oBAAA,GAAAhB,OAAA;AACA,IAAAiB,6BAAA,GAAAjB,OAAA,mCAAuF,IAAAkB,SAAA,sFAAAC,MAAA,EAAAC,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqChF,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG;EACnCE,IAAI,EAAE;AACR,CAAU;;;;;;AAMV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAVA;;AAYaC,aAAa,GAAAF,OAAA,CAAAE,aAAA,OADzBC,kBAAQ,EAAAN,MAAA,IAAAC,cAAA,0BAAAM,oBAAA,YAAAF,cAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuCCU,QAAQ,GAAG,IAAAC,oCAAiB,EAACd,aAAa,CAACe,YAAY,CAAC,CAAAZ,KAAA;;IAEzDa,KAAK,OAAAC,SAAA,CAAAC,OAAA;IACPf,KAAA,CAAKgB,QAAQ,CAAChB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACO,KAAK,EAAEjB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACQ,cAAc,EAAElB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACS,iBAAiB,CAAC;MAC1GC,OAAO,EAAE,KAAK,IAAApB,KAAA;;;;IAIRqB,wBAAwB,GAAcC,gCAAe,CAACC,YAAY,CAAC,CAAC,CAAC,CAAAvB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8CtEwB,UAAU,GAAG,UAACC,KAAiD,EAAK;MACzE,IAAQP,cAAc,GAAkEO,KAAK,CAArFP,cAAc,CAAEQ,MAAM,GAA0DD,KAAK,CAArEC,MAAM,CAAEC,QAAQ,GAAgDF,KAAK,CAA7DE,QAAQ,CAAEC,aAAa,GAAiCH,KAAK,CAAnDG,aAAa,CAAET,iBAAiB,GAAcM,KAAK,CAApCN,iBAAiB,CAAKU,IAAI,OAAAC,8BAAA,CAAAf,OAAA,EAAKU,KAAK,EAAAlC,SAAA;;MAE7F;QACEpB,MAAA,CAAA4C,OAAA,CAAAgB,aAAA,CAAC9C,oBAAA,CAAA+C,mBAAmB,IAACC,kBAAkB,EAAEjC,KAAA,CAAKkC,UAAW;QACvD/D,MAAA,CAAA4C,OAAA,CAAAgB,aAAA,CAACnD,MAAA,CAAAuD,KAAK,MAAArB,SAAA,CAAAC,OAAA;UACJ,YAAUrB,qBAAqB,CAACE,IAAK;QACjCiC,IAAI;UACRO,KAAK,EAAEpC,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAAC0B,KAAM;UAC7BnB,KAAK,EAAEjB,KAAA,CAAKa,KAAK,CAACwB,SAAU;UAC5BC,MAAM,EAAEtC,KAAA,CAAKuC,UAAW;UACxBC,OAAO,EAAExC,KAAA,CAAKyC,WAAY;UAC1BC,SAAS,EAAE1C,KAAA,CAAK2C,aAAc;UAC9BC,SAAS,EAAE5C,KAAA,CAAK6C,aAAc;UAC9BC,aAAa,EAAE9C,KAAA,CAAK+C,iBAAkB;UACtCC,OAAO,EAAEhD,KAAA,CAAKiD,WAAY;UAC1BC,MAAM,EAAElD,KAAA,CAAKmD,UAAW;UACxBC,KAAK,EAAEpD,KAAA,CAAKqD,SAAU;UACtB,cAAYrD,KAAA,CAAKyB,KAAK,CAAC,YAAY,CAAE;UACrC6B,YAAY,EAAEtD,KAAA,CAAKyB,KAAK,CAAC6B,YAAa;UACtCC,YAAY,EAAEvD,KAAA,CAAKyB,KAAK,CAAC8B,YAAa;UACtCC,WAAW,EAAExD,KAAA,CAAKyB,KAAK,CAAC+B,WAAY;UACpCC,GAAG,EAAEzD,KAAA,CAAK0D,QAAS;UACnBC,WAAW,EAAE3D,KAAA,CAAKa,KAAK,CAACO,OAAO,GAAG,EAAE,GAAGwC,cAAc,CAACnC,KAAK,CAAE;QAC9D;QACkB,CAAC;;IAE1B,CAAC;;IAED;AACF;AACA,OAFEzB,KAAA;IAGO6D,KAAK,GAAG,YAAM;MACnB,IAAI7D,KAAA,CAAK8D,KAAK,EAAE;QACd9D,KAAA,CAAK8D,KAAK,CAACD,KAAK,CAAC,CAAC;MACpB;IACF,CAAC;;IAED;AACF;AACA,OAFE7D,KAAA;IAGO+D,IAAI,GAAG,YAAM;MAClB,IAAI/D,KAAA,CAAK8D,KAAK,EAAE;QACd9D,KAAA,CAAK8D,KAAK,CAACC,IAAI,CAAC,CAAC;MACnB;IACF,CAAC;;;;;;;;;;;;;;;IAeD;IAAA/D,KAAA,CACiBgE,8BAA8B,GAAG,IAAAC,eAAQ,EAACjE,KAAA,CAAKkE,qBAAqB,EAAE,GAAG,CAAC,CAAAlE,KAAA;;IAEnF2C,aAAa,GAAG,UAACwB,KAAyC,EAAK;MACrE,IAAIC,cAAM,EAAE;QACVD,KAAK,CAACE,OAAO,CAAC,CAAC;QACfrE,KAAA,CAAKgE,8BAA8B,CAACG,KAAK,CAAC;MAC5C,CAAC,MAAM;QACLnE,KAAA,CAAKkE,qBAAqB,CAACC,KAAK,CAAC;MACnC;IACF,CAAC,CAAAnE,KAAA;;IAEO6C,aAAa,GAAG,UAACsB,KAA4C,EAAK;MACxE,IAAMG,SAAS,GAAGtE,KAAA,CAAKuE,YAAY,CAACJ,KAAK,CAACK,MAAM,CAAC;MACjDxE,KAAA,CAAKqB,wBAAwB,GAAGiD,SAAS;;MAEzC,IAAItE,KAAA,CAAKyB,KAAK,CAACmB,SAAS,EAAE;QACxB5C,KAAA,CAAKyB,KAAK,CAACmB,SAAS,CAACuB,KAAK,CAAC;QAC3B,IAAIA,KAAK,CAACM,gBAAgB,EAAE;UAC1B;QACF;MACF;;MAEA,IAAMC,MAAM,GAAG,IAAAC,2CAAa,EAACR,KAAK,CAAC;;MAEnC,IAAIO,MAAM,KAAKE,oDAAsB,CAACC,MAAM,EAAE;QAC5C;MACF;;MAEA,IAAIH,MAAM,KAAKE,oDAAsB,CAACE,OAAO,EAAE;QAC7CX,KAAK,CAACY,cAAc,CAAC,CAAC;MACxB;;MAEA,QAAQL,MAAM;QACZ,KAAKE,oDAAsB,CAACI,MAAM,CAAE;YAClC,IAAIhF,KAAA,CAAKyB,KAAK,CAACE,QAAQ,EAAE;cACvB3B,KAAA,CAAKyB,KAAK,CAACE,QAAQ,CAAC,CAAC;YACvB;YACA;UACF;QACA,KAAKiD,oDAAsB,CAACK,SAAS,CAAE;YACrCjF,KAAA,CAAKkF,UAAU,CAACC,wCAAmB,CAACC,UAAU,CAACpF,KAAA,CAAKa,KAAK,CAACwB,SAAS,EAAEiC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAEA,SAAS,CAACe,GAAG,EAAE,EAAE,CAAC;YACvG;UACF;QACA,KAAKT,oDAAsB,CAACU,MAAM,CAAE;YAClCtF,KAAA,CAAKkF,UAAU,CAACZ,SAAS,CAACiB,KAAK,EAAEJ,wCAAmB,CAACC,UAAU,CAACpF,KAAA,CAAKa,KAAK,CAACwB,SAAS,EAAEiC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzG;UACF;QACA,KAAKM,oDAAsB,CAACY,cAAc,CAAE;YAC1CxF,KAAA,CAAKoF,UAAU,CAACd,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9B;UACF;QACA,KAAKM,oDAAsB,CAACa,eAAe,CAAE;YAC3CzF,KAAA,CAAKoF,UAAU,CAACd,SAAS,EAAE,CAAC,CAAC,CAAC;YAC9B;UACF;QACA,KAAKM,oDAAsB,CAACc,IAAI,CAAE;YAChC1F,KAAA,CAAK2F,QAAQ,CAAC,EAAErB,SAAS,EAAEhD,gCAAe,CAACC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D;UACF;QACA,KAAKqD,oDAAsB,CAACgB,GAAG,CAAE;YAC/B,IAAMP,GAAG,GAAGrF,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAAClC,MAAM;YACvCH,KAAA,CAAK2F,QAAQ,CAAC,EAAErB,SAAS,EAAEhD,gCAAe,CAACC,YAAY,CAAC8D,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D;UACF;QACA,KAAKT,oDAAsB,CAACiB,mBAAmB,CAAE;YAC/C7F,KAAA,CAAK8F,eAAe,CAACxB,SAAS,EAAE,CAAC,CAAC,CAAC;YACnC;UACF;QACA,KAAKM,oDAAsB,CAACmB,oBAAoB,CAAE;YAChD/F,KAAA,CAAK8F,eAAe,CAACxB,SAAS,EAAE,CAAC,CAAC,CAAC;YACnC;UACF;QACA,KAAKM,oDAAsB,CAACoB,aAAa,CAAE;YACzChG,KAAA,CAAK2F,QAAQ,CAAC;cACZrB,SAAS,EAAEhD,gCAAe,CAAC2E,OAAO,CAAC,CAAC,EAAEjG,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAAClC,MAAM;YACnE,CAAC,CAAC;YACF;UACF;QACA,KAAKyE,oDAAsB,CAACsB,sBAAsB,CAAE;YAClDlG,KAAA,CAAK2F,QAAQ,CAAC;cACZrB,SAAS,EAAEhD,gCAAe,CAAC6E,QAAQ,CAAC,CAAC,EAAE7B,SAAS,CAACiB,KAAK;YACxD,CAAC,CAAC;YACF;UACF;QACA,KAAKX,oDAAsB,CAACwB,oBAAoB,CAAE;YAChD,IAAMC,QAAQ,GAAGrG,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAAClC,MAAM;YAC5CH,KAAA,CAAK2F,QAAQ,CAAC;cACZrB,SAAS,EAAEhD,gCAAe,CAAC2E,OAAO,CAAC3B,SAAS,CAACiB,KAAK,EAAEc,QAAQ;YAC9D,CAAC,CAAC;YACF;UACF;QACA,KAAKzB,oDAAsB,CAAC0B,KAAK,CAAE;YACjCtG,KAAA,CAAKkF,UAAU,CAACZ,SAAS,CAACiB,KAAK,EAAEjB,SAAS,CAACe,GAAG,EAAE,GAAG,CAAC;YACpD;UACF;MACF;IACF,CAAC,CAAArF,KAAA;;IAEOuG,WAAW,GAAG,YAAM,KAAAC,WAAA;MAC1B,IAAMC,IAAI,IAAAD,WAAA,GAAGxG,KAAA,CAAK8D,KAAK,qBAAV0C,WAAA,CAAYE,OAAO,CAAC,CAAC;MAClC,IAAI,CAACD,IAAI,IAAIA,IAAI,CAACE,WAAW,KAAKF,IAAI,CAACG,WAAW,EAAE;QAClD;MACF;MACA,IAAMC,GAAG,GAAG,CAAC;MACb,IAAMC,KAAK,GAAG,CAAC;;MAEf,IAAMxC,SAAS,GAAGtE,KAAA,CAAKa,KAAK,CAACyD,SAAS;MACtC,IAAMyC,QAAQ,GAAGzC,SAAS,CAACiB,KAAK,KAAKjB,SAAS,CAACe,GAAG;MAClD,IAAM2B,QAAQ,GAAGD,QAAQ,IAAIzC,SAAS,CAAC2C,SAAS,KAAK,SAAS,GAAG3C,SAAS,CAACe,GAAG,GAAGf,SAAS,CAACiB,KAAK;MAChG,IAAM2B,UAAU,GAAGlH,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAAClC,MAAM;MAC9C,IAAMgH,SAAS,GAAGV,IAAI,CAACE,WAAW,GAAGO,UAAU;MAC/C,IAAME,KAAK,GAAGC,IAAI,CAACC,IAAI,CAACb,IAAI,CAACG,WAAW,GAAGO,SAAS,CAAC;MACrD,IAAMI,UAAU,GAAGF,IAAI,CAACC,IAAI,CAACb,IAAI,CAACe,UAAU,GAAGL,SAAS,CAAC;MACzD,IAAMM,QAAQ,GAAGF,UAAU,GAAGH,KAAK;;MAEnC,IAAIJ,QAAQ,GAAGO,UAAU,GAAGV,GAAG,EAAE;QAC/BJ,IAAI,CAACe,UAAU,GAAG,CAACR,QAAQ,GAAGF,KAAK,IAAIK,SAAS;MAClD;MACA,IAAIH,QAAQ,GAAGS,QAAQ,GAAGZ,GAAG,EAAE;QAC7BJ,IAAI,CAACe,UAAU,GAAG,CAACR,QAAQ,GAAGI,KAAK,GAAGN,KAAK,IAAIK,SAAS;MAC1D;IACF,CAAC,CAAAnH,KAAA;;IAEOuE,YAAY,GAAG,UAACT,KAAkB,EAAgB;MACxD,IAAMQ,SAAS,GAAGoD,0BAA0B,CAAC5D,KAAK,CAAC;MACnD,OAAO;QACLyB,KAAK,EAAEjB,SAAS,CAACiB,KAAK;QACtBF,GAAG,EAAEf,SAAS,CAACe,GAAG;QAClB4B,SAAS,EAAEjH,KAAA,CAAKa,KAAK,CAACyD,SAAS,CAAC2C;MAClC,CAAC;IACH,CAAC,CAAAjH,KAAA;;IAEOoF,UAAU,GAAG,UAACd,SAAoB,EAAEqD,IAAY,EAAK;MAC3D,IAAMX,QAAQ,GAAG7B,wCAAmB,CAACC,UAAU,CAACpF,KAAA,CAAKa,KAAK,CAACwB,SAAS,EAAEiC,SAAS,EAAEqD,IAAI,CAAC;MACtF3H,KAAA,CAAK2F,QAAQ,CAAC,EAAErB,SAAS,EAAEhD,gCAAe,CAACC,YAAY,CAACyF,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAAhH,KAAA;;IAEO8F,eAAe,GAAG,UAACxB,SAAoB,EAAEqD,IAAY,EAAK;MAChE,IAAMC,QAAQ,GAAGzC,wCAAmB,CAACW,eAAe,CAAC9F,KAAA,CAAKa,KAAK,CAACwB,SAAS,EAAEiC,SAAS,EAAEqD,IAAI,CAAC;MAC3F3H,KAAA,CAAK2F,QAAQ,CAAC,EAAErB,SAAS,EAAEsD,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC,CAAA5H,KAAA;;IAEOkF,UAAU,GAAG,UAACK,KAAa,EAAEF,GAAW,EAAEpE,KAAa,EAAK;MAClE,IAAM4G,MAAM,GAAG1C,wCAAmB,CAAC2C,UAAU,CAAC9H,KAAA,CAAKa,KAAK,CAACwB,SAAS,EAAEkD,KAAK,EAAEF,GAAG,EAAEpE,KAAK,EAAE;QACrFW,aAAa,EAAE5B,KAAA,CAAKyB,KAAK,CAACG,aAAa;QACvCV,cAAc,EAAElB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACQ,cAAc;QAC9C6G,QAAQ,EAAE,CAAC/H,KAAA,CAAKyB,KAAK,CAACC;MACxB,CAAC,CAAC;MACF,IAAImG,MAAM,EAAE;QACV,IAAMxF,SAAS,GAAGwF,MAAM,CAAC5G,KAAK;QAC9B,IAAMqD,SAAS,GAAGhD,gCAAe,CAACC,YAAY,CAACsG,MAAM,CAACb,QAAQ,CAAC;QAC/DhH,KAAA,CAAK2F,QAAQ,CAAC,EAAEtD,SAAS,EAATA,SAAS,EAAEiC,SAAS,EAATA,SAAS,CAAC,CAAC,EAAE,YAAM;UAC5C,IAAM0D,WAAW,GAAGC,8BAAc,CAACC,KAAK,CAAC7F,SAAS,CAAC;UACnD,IAAIrC,KAAA,CAAKyB,KAAK,CAACR,KAAK,KAAK+G,WAAW,EAAE;YACpChI,KAAA,CAAKyB,KAAK,CAACqB,aAAa,CAACkF,WAAW,CAAC;UACvC;QACF,CAAC,CAAC;QACF,OAAO,IAAI;MACb;;MAEA,IAAIhI,KAAA,CAAK8D,KAAK,EAAE;QACd9D,KAAA,CAAK8D,KAAK,CAACqE,KAAK,CAAC,CAAC;MACpB;MACA,OAAO,KAAK;IACd,CAAC,CAAAnI,KAAA;;IAEOoI,gBAAgB,GAAG,UAACnH,KAAa,EAAK;MAC5C,IAAMqD,SAAS,GAAGtE,KAAA,CAAKqB,wBAAwB;MAC/C,IAAMgH,QAAQ,GAAGrI,KAAA,CAAKa,KAAK,CAACwB,SAAS;MACrC,IAAIiC,SAAS,CAACiB,KAAK,KAAKjB,SAAS,CAACe,GAAG,EAAE;QACrC,OAAOpE,KAAK,CAACqH,SAAS,CAAChE,SAAS,CAACiB,KAAK,EAAEtE,KAAK,CAACd,MAAM,IAAIkI,QAAQ,CAAClI,MAAM,GAAGmE,SAAS,CAACe,GAAG,CAAC,CAAC;MAC3F,CAAC,MAAM,IAAIpE,KAAK,CAACd,MAAM,GAAGkI,QAAQ,CAAClI,MAAM,EAAE;QACzC,OAAOc,KAAK,CAACsH,MAAM,CAACjE,SAAS,CAACiB,KAAK,EAAEtE,KAAK,CAACd,MAAM,GAAGkI,QAAQ,CAAClI,MAAM,CAAC;MACtE;MACA,OAAO,IAAI;IACb,CAAC,CAAAH,KAAA;;IAEO+C,iBAAiB,GAAG,UAAC9B,KAAa,EAAW;MACnD,IAAMqD,SAAS,GAAGtE,KAAA,CAAKqB,wBAAwB;MAC/C,IAAMmH,KAAK,GAAGxI,KAAA,CAAKoI,gBAAgB,CAACnH,KAAK,CAAC;MAC1C,IAAI,IAAAwH,oBAAa,EAACD,KAAK,CAAC,IAAI,CAACxI,KAAA,CAAKkF,UAAU,CAACZ,SAAS,CAACiB,KAAK,EAAEjB,SAAS,CAACe,GAAG,EAAEmD,KAAK,CAAC,EAAE;QACnFxI,KAAA,CAAK2F,QAAQ,CAAC,EAAErB,SAAS,EAATA,SAAS,CAAC,CAAC,CAAC;MAC9B;IACF,CAAC,CAAAtE,KAAA;;IAEOiD,WAAW,GAAG,UAACkB,KAA6C,EAAK;MACvE,IAAMuE,IAAI,GAAGvE,KAAK,CAACwE,aAAa,CAACC,OAAO,CAAC,MAAM,CAAC;MAChD,IAAMtE,SAAS,GAAGtE,KAAA,CAAKuE,YAAY,CAACJ,KAAK,CAACK,MAAM,CAAC;MACjDxE,KAAA,CAAKkF,UAAU,CAACZ,SAAS,CAACiB,KAAK,EAAEjB,SAAS,CAACe,GAAG,EAAEqD,IAAI,CAAC;MACrDvE,KAAK,CAACY,cAAc,CAAC,CAAC;IACxB,CAAC,CAAA/E,KAAA;;IAEOmD,UAAU,GAAG,UAACgB,KAA6C,EAAK;MACtE,IAAMG,SAAS,GAAGtE,KAAA,CAAKuE,YAAY,CAACJ,KAAK,CAACK,MAAM,CAAC;MACjD,IAAIF,SAAS,CAACiB,KAAK,KAAKjB,SAAS,CAACe,GAAG,EAAE;QACrC,IAAMiD,SAAS,GAAGtI,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAACiG,SAAS,CAAChE,SAAS,CAACiB,KAAK,EAAEjB,SAAS,CAACe,GAAG,CAAC;QAChF,IAAMqD,IAAI,GAAGT,8BAAc,CAACY,kBAAkB,CAACP,SAAS,CAAC;QACzDnE,KAAK,CAACwE,aAAa,CAACG,OAAO,CAAC,MAAM,EAAEJ,IAAI,CAAC;MAC3C;MACAvE,KAAK,CAACY,cAAc,CAAC,CAAC;IACxB,CAAC,CAAA/E,KAAA;;IAEOqD,SAAS,GAAG,UAACc,KAA6C,EAAK;MACrE,IAAMG,SAAS,GAAGtE,KAAA,CAAKuE,YAAY,CAACJ,KAAK,CAACK,MAAM,CAAC;MACjD,IAAIF,SAAS,CAACiB,KAAK,KAAKjB,SAAS,CAACe,GAAG,EAAE;QACrC,IAAMiD,SAAS,GAAGtI,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAACiG,SAAS,CAAChE,SAAS,CAACiB,KAAK,EAAEjB,SAAS,CAACe,GAAG,CAAC;QAChF,IAAMqD,IAAI,GAAGT,8BAAc,CAACY,kBAAkB,CAACP,SAAS,CAAC;QACzDnE,KAAK,CAACwE,aAAa,CAACG,OAAO,CAAC,MAAM,EAAEJ,IAAI,CAAC;QACzC1I,KAAA,CAAKkF,UAAU,CAACZ,SAAS,CAACiB,KAAK,EAAEjB,SAAS,CAACe,GAAG,EAAE,EAAE,CAAC;MACrD;MACAlB,KAAK,CAACY,cAAc,CAAC,CAAC;IACxB,CAAC,CAAA/E,KAAA;;IAEOyC,WAAW,GAAG,UAAC0B,KAAyC,EAAK;MACnE,IAAA4E,aAAA,GAA6D5E,KAAK,CAACK,MAAM,CAAjEwE,cAAc,GAAAD,aAAA,CAAdC,cAAc,CAAEC,YAAY,GAAAF,aAAA,CAAZE,YAAY,CAAEC,kBAAkB,GAAAH,aAAA,CAAlBG,kBAAkB;MACxD,IAAMC,WAAW,GAAGhF,KAAK,CAACK,MAAM,CAACvD,KAAK,CAACd,MAAM;;MAE7C,IAAMmE,SAAS,GAAG;QAChBiB,KAAK,EAAEyD,cAAc,KAAKC,YAAY,GAAGD,cAAc,IAAI,CAAC,GAAGA,cAAc,IAAIG,WAAW;QAC5F9D,GAAG,EAAE4D,YAAY,KAAKD,cAAc,GAAGC,YAAY,IAAI,CAAC,GAAGA,YAAY,IAAIE,WAAW;QACtFlC,SAAS,EAAGiC,kBAAkB,IAA2B;MAC3D,CAAC;;MAEDlJ,KAAA,CAAK2F,QAAQ,CAAC;QACZvE,OAAO,EAAE,IAAI;QACbkD,SAAS,EAATA;MACF,CAAC,CAAC;;MAEF,IAAItE,KAAA,CAAKyB,KAAK,CAACe,OAAO,EAAE;QACtBxC,KAAA,CAAKyB,KAAK,CAACe,OAAO,CAAC2B,KAAK,CAAC;MAC3B;IACF,CAAC,CAAAnE,KAAA;;IAEOkC,UAAU,GAAG,YAAM;MACzB,IAAMjB,KAAK,GAAGgH,8BAAc,CAACC,KAAK,CAAClI,KAAA,CAAKa,KAAK,CAACwB,SAAS,CAAC;;MAExDrC,KAAA,CAAK2F,QAAQ,KAAA7E,SAAA,CAAAC,OAAA;MACRf,KAAA,CAAKgB,QAAQ,CAACC,KAAK,EAAEjB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACQ,cAAc,EAAElB,KAAA,CAAKU,QAAQ,CAAC,CAAC,CAACS,iBAAiB,CAAC;QAC1FC,OAAO,EAAE,KAAK;MACf,CAAC;IACJ,CAAC,CAAApB,KAAA;;IAEOuC,UAAU,GAAG,UAAC4B,KAAyC,EAAK;MAClEnE,KAAA,CAAKkC,UAAU,CAAC,CAAC;MACjBlC,KAAA,CAAKyB,KAAK,CAACa,MAAM,YAAjBtC,KAAA,CAAKyB,KAAK,CAACa,MAAM,CAAG6B,KAAK,CAAC;IAC5B,CAAC,CAAAnE,KAAA;;IAEO0D,QAAQ,GAAG,UAAC0F,OAAwB,EAAK;MAC/CpJ,KAAA,CAAK8D,KAAK,GAAGsF,OAAO;IACtB,CAAC,QAAApJ,KAAA,MAAAqJ,eAAA,CAAAtI,OAAA,EAAAlB,aAAA,EAAAE,oBAAA,MAAAuJ,MAAA,GAAAzJ,aAAA,CAAA0J,SAAA,CAAAD,MAAA,CAjWME,iBAAiB,GAAxB,SAAAA,kBAAA,EAAiC,CAC/B,IAAAC,WAAA,GAAqC,IAAI,CAAChI,KAAK,CAAvCiI,SAAS,GAAAD,WAAA,CAATC,SAAS,CAAE9H,aAAa,GAAA6H,WAAA,CAAb7H,aAAa,CAChC,IAAMV,cAAc,GAAG,IAAI,CAACR,QAAQ,CAAC,CAAC,CAACQ,cAAc,CACrD,IAAAyI,gBAAO,EACLD,SAAS,KAAKE,SAAS,mGAEzB,CAAC,CACD,IAAAD,gBAAO,EACL,CAAC/H,aAAa,IAAI,CAAC,KAAKV,cAAc,IAAI,CAAC,CAAC,IAAI2I,0BAAe,EAC/D,0EAAwEA,0BAAe,4EAEzF,CAAC,CACH,CAAC,CAAAP,MAAA,CAEMQ,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAA6B,EAAEC,SAA6B,EAAE,CACtF,IAAAC,cAAA,GAAqD,IAAI,CAACvJ,QAAQ,CAAC,CAAC,CAA5DO,KAAK,GAAAgJ,cAAA,CAALhJ,KAAK,CAAEC,cAAc,GAAA+I,cAAA,CAAd/I,cAAc,CAAEC,iBAAiB,GAAA8I,cAAA,CAAjB9I,iBAAiB,CAChD,IACG+I,aAAa,CAACjJ,KAAK,CAAC,IAAIkJ,SAAS,CAAClJ,KAAK,CAAC,IAAImJ,MAAM,CAACnJ,KAAK,CAAC,KAAKgH,8BAAc,CAACC,KAAK,CAAC8B,SAAS,CAAC3H,SAAS,CAAC,IACxG0H,SAAS,CAAC7I,cAAc,KAAKA,cAAc,EAC3C,CACA,IAAI,CAACyE,QAAQ,CAAC,IAAI,CAAC3E,QAAQ,CAACC,KAAK,EAAEC,cAAc,EAAEC,iBAAiB,CAAC,CAAC,CACxE,CACA,IAAI,IAAAsH,oBAAa,EAACsB,SAAS,CAAC9I,KAAK,CAAC,IAAI,IAAAoJ,iBAAU,EAACpJ,KAAK,CAAC,EAAE,CACvD,IAAI,CAAC0E,QAAQ,CAAC,EAAEtD,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAClC,CACA,IAAI,IAAI,CAACxB,KAAK,CAACO,OAAO,IAAI,IAAI,CAAC0C,KAAK,EAAE,CACpC,IAAAwG,qBAAA,GAAuB,IAAI,CAACzJ,KAAK,CAACyD,SAAS,CAAnCiB,KAAK,GAAA+E,qBAAA,CAAL/E,KAAK,CAAEF,GAAG,GAAAiF,qBAAA,CAAHjF,GAAG,CAElB,IAAI,CAACvB,KAAK,CAACyG,iBAAiB,CAAChF,KAAK,EAAEF,GAAG,CAAC,CAC1C,CACA,IAAI2E,SAAS,CAAC1F,SAAS,KAAK,IAAI,CAACzD,KAAK,CAACyD,SAAS,EAAE,CAChD,IAAI,CAACiC,WAAW,CAAC,CAAC,CACpB,CACF,CAAC,CAAA+C,MAAA,CAEMkB,MAAM,GAAb,SAAAA,OAAA,EAAgB,CACd,oBACErM,MAAA,CAAA4C,OAAA,CAAAgB,aAAA,CAAClD,cAAA,CAAA4L,aAAa,MAAA3J,SAAA,CAAAC,OAAA,IAAC2J,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACjK,QAAQ,CAAC,CAAC,GAC9D,IAAI,CAACc,UACO,CAAC,CAEpB,CAAC,CAAA8H,MAAA,CAiDOtI,QAAQ,GAAhB,SAAAA,SAAiBC,KAAuB,EAAEC,cAAgC,EAAEC,iBAA0B,EAAE,CACtG,OAAO,EACLkB,SAAS,EAAE4F,8BAAc,CAAC2C,MAAM,CAAC3J,KAAK,EAAE,EAAEC,cAAc,EAAdA,cAAc,EAAEC,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC,EAC9EmD,SAAS,EAAEhD,gCAAe,CAACC,YAAY,CAAC,CAAC,CAAC,CAC5C,CAAC,CACH,CAAC,CAAA+H,MAAA,CAEOpF,qBAAqB,GAA7B,SAAAA,sBAA8BC,KAAyC,EAAE,CACvE,IAAMG,SAAS,GAAGoD,0BAA0B,CAACvD,KAAK,CAACK,MAAM,CAAC,CAC1D,IAAMqG,UAAU,GAAG1F,wCAAmB,CAAC2F,kBAAkB,CAAC,IAAI,CAACjK,KAAK,CAACwB,SAAS,EAAEiC,SAAS,CAAC,CAC1F,IAAI,CAACqB,QAAQ,CAAC,EAAErB,SAAS,EAAEuG,UAAU,CAAC,CAAC,CAAC,CAC1C,CAAC,QAAAhL,aAAA,GAtJgCkL,cAAK,CAACC,aAAa,GAAAvL,cAAA,CACtCwL,mBAAmB,GAAG,eAAe,EAAAxL,cAAA,CACrCyL,WAAW,GAAG,eAAe,EAAAzL,cAAA,CAE7B0L,SAAS,GAAG,EACxB/I,KAAK,EAAEgJ,kBAAS,CAACC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EACnDC,SAAS,EAAEF,kBAAS,CAACG,IAAI,EACzBC,UAAU,EAAEJ,kBAAS,CAACG,IAAI,EAC1BE,QAAQ,EAAEL,kBAAS,CAACG,IAAI,EACxBG,KAAK,EAAEN,kBAAS,CAACG,IAAI,EACrBrK,cAAc,EAAEkK,kBAAS,CAACO,MAAM,EAChCxK,iBAAiB,EAAEiK,kBAAS,CAACG,IAAI,EACjCK,QAAQ,EAAER,kBAAS,CAAChC,OAAO,EAC3BzF,WAAW,EAAEyH,kBAAS,CAACS,MAAM,EAC7BnK,MAAM,EAAE0J,kBAAS,CAACG,IAAI,EACtBO,IAAI,EAAEV,kBAAS,CAACC,KAAK,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EACnDpK,KAAK,EAAE,SAAAA,MAACQ,KAAyB,EAAK,CACpC,IAAAkI,gBAAO,EAACO,aAAa,CAACzI,KAAK,CAACR,KAAK,CAAC,EAAE,qDAAqD,CAAC,CAC5F,CAAC,EACD0I,OAAO,EAAEyB,kBAAS,CAACG,IAAI,EACvBQ,KAAK,EAAEX,kBAAS,CAACY,SAAS,CAAC,CAACZ,kBAAS,CAACO,MAAM,EAAEP,kBAAS,CAACS,MAAM,CAAC,CAAC,EAChEvJ,MAAM,EAAE8I,kBAAS,CAACa,IAAI,EACtBnJ,aAAa,EAAEsI,kBAAS,CAACa,IAAI,CAACC,UAAU,EACxC1J,OAAO,EAAE4I,kBAAS,CAACa,IAAI,EACvB3I,YAAY,EAAE8H,kBAAS,CAACa,IAAI,EAC5B1I,YAAY,EAAE6H,kBAAS,CAACa,IAAI,EAC5BzI,WAAW,EAAE4H,kBAAS,CAACa,IAAI,EAC3BtK,QAAQ,EAAEyJ,kBAAS,CAACa,IAAI,CAC1B,CAAC,EAAAxM,cAAA,CAEamB,YAAY,GAAiB,EACzCwB,KAAK,EAAE,OAAO,EACdlB,cAAc,EAAE,CAAC,EACjBC,iBAAiB,EAAE,KAAK,EACxBF,KAAK,EAAE,IAAI,EACXkL,SAAS,EAAE,SAAS,CACtB,CAAC,EAAA1M,cAAA,MAAAD,MAAA;;;AAiXH,SAASkI,0BAA0BA,CAAC5D,KAAkB,EAAa,KAAAsI,qBAAA,EAAAC,mBAAA;EACjE,IAAI,CAAC,IAAAC,0BAAY,EAACxI,KAAK,EAAEyI,0BAAY,CAACC,gBAAgB,CAAC,EAAE;IACvD,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAClD;;EAEA,OAAO;IACLlH,KAAK,GAAA6G,qBAAA,GAAEtI,KAAK,CAACkF,cAAc,YAAAoD,qBAAA,GAAI,CAAC;IAChC/G,GAAG,GAAAgH,mBAAA,GAAEvI,KAAK,CAACmF,YAAY,YAAAoD,mBAAA,GAAI,CAAC;IAC5BpF,SAAS,EAAEnD,KAAK,CAACoF;EACnB,CAAC;AACH;;AAEA,SAASiB,SAASA,CAAClJ,KAAc,EAA4B;EAC3D,OAAO,CAACyL,KAAK,CAACC,UAAU,CAAC1L,KAAe,CAAC,CAAC,IAAI2L,QAAQ,CAAC3L,KAAe,CAAC;AACzE;;AAEA,SAASiJ,aAAaA,CAACjJ,KAAc,EAAW;EAC9C,OAAO,CAACyL,KAAK,CAACtC,MAAM,CAACnJ,KAAK,CAAC,CAAC;AAC9B;;AAEA,IAAM2C,cAAc,GAAG,SAAjBA,cAAcA,CAAInC,KAAyB,EAAK;EACpD,IAAI,IAAA4I,iBAAU,EAAC5I,KAAK,CAACkC,WAAW,CAAC,EAAE;IACjC,OAAOsE,8BAAc,CAAC2C,MAAM,CAAC,CAAC,EAAE;MAC9B1J,cAAc,EAAEO,KAAK,CAACP,cAAc;MACpCC,iBAAiB,EAAEM,KAAK,CAACN;IAC3B,CAAC,CAAC;EACJ;;EAEA,OAAOM,KAAK,CAACkC,WAAW;AAC1B,CAAC","ignoreList":[]}
@@ -71,6 +71,10 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
71
71
  static propTypes: {
72
72
  autoFocus: PropTypes.Requireable<boolean>;
73
73
  disabled: PropTypes.Requireable<boolean>;
74
+ /**
75
+ * Включает кнопку сегодня в календаре
76
+ */
77
+ enableTodayLink: PropTypes.Requireable<boolean>;
74
78
  error: PropTypes.Requireable<boolean>;
75
79
  /**
76
80
  * Максимальная дата в календаре.
@@ -186,6 +186,11 @@ DatePicker = exports.DatePicker = (_dec = (0, _decorators.locale)('DatePicker',
186
186
 
187
187
 
188
188
 
189
+
190
+
191
+
192
+
193
+
189
194
 
190
195
 
191
196
 
@@ -530,7 +535,9 @@ DatePicker = exports.DatePicker = (_dec = (0, _decorators.locale)('DatePicker',
530
535
  */;_proto.focus = function focus(opts) {if (this.props.disabled) {return;}if (opts != null && opts.withoutOpenDropdown) {this.canOpenPopup = false;}if (this.input) {this.input.focus();}} /**
531
536
  * Закрывает выпадашку выбора дня
532
537
  * @public
533
- */;_proto.close = function close() {this.setState({ opened: false });};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme) }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});};_proto.parseValueToDate = function parseValueToDate(value) {if (value === undefined || value === null) {return undefined;}var date = new _InternalDate.InternalDate({ value: value });if (date.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Native] })) {return date.toString({ withPad: true });}return undefined;};_proto.renderTodayLink = function renderTodayLink() {var _this3 = this;var _this$locale = this.locale,order = _this$locale.order,separator = _this$locale.separator;var today = new _InternalDate.InternalDate({ order: order, separator: separator }).setComponents(_InternalDateGetter.InternalDateGetter.getTodayComponents()).toString({ withPad: true, withSeparator: true });return /*#__PURE__*/_react.default.createElement("div", { style: { margin: 8 } }, /*#__PURE__*/_react.default.createElement(_Button.Button, { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, width: "100%", onClick: function onClick() {_this3.handleSelect(today);}, icon: /*#__PURE__*/_react.default.createElement(_ArrowAUp16Light.ArrowAUpIcon16Light, null) }, this.locale.today));};return DatePicker;}(_react.default.PureComponent), _DatePicker.__KONTUR_REACT_UI__ = 'DatePicker', _DatePicker.displayName = 'DatePicker', _DatePicker.propTypes = { autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, /**
538
+ */;_proto.close = function close() {this.setState({ opened: false });};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme) }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain));});};_proto.parseValueToDate = function parseValueToDate(value) {if (value === undefined || value === null) {return undefined;}var date = new _InternalDate.InternalDate({ value: value });if (date.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Native] })) {return date.toString({ withPad: true });}return undefined;};_proto.renderTodayLink = function renderTodayLink() {var _this3 = this;var _this$locale = this.locale,order = _this$locale.order,separator = _this$locale.separator;var today = new _InternalDate.InternalDate({ order: order, separator: separator }).setComponents(_InternalDateGetter.InternalDateGetter.getTodayComponents()).toString({ withPad: true, withSeparator: true });return /*#__PURE__*/_react.default.createElement("div", { style: { margin: 8 } }, /*#__PURE__*/_react.default.createElement(_Button.Button, { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, width: "100%", onClick: function onClick() {_this3.handleSelect(today);}, icon: /*#__PURE__*/_react.default.createElement(_ArrowAUp16Light.ArrowAUpIcon16Light, null) }, this.locale.today));};return DatePicker;}(_react.default.PureComponent), _DatePicker.__KONTUR_REACT_UI__ = 'DatePicker', _DatePicker.displayName = 'DatePicker', _DatePicker.propTypes = { autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, /**
539
+ * Включает кнопку сегодня в календаре
540
+ */enableTodayLink: _propTypes.default.bool, error: _propTypes.default.bool, /**
534
541
  * Максимальная дата в календаре.
535
542
  */maxDate: _propTypes.default.string.isRequired, menuPos: _propTypes.default.oneOf(['top', 'bottom']), menuAlign: _propTypes.default.oneOf(['left', 'right']), /**
536
543
  * Минимальная дата в календаре.
@@ -1 +1 @@
1
- {"version":3,"names":["_propTypes","_interopRequireDefault","require","_react","_Popup","_locale","_decorators","_InternalDateGetter","_ArrowAUp16Light","_ThemeFactory","_InternalDate","_constants","_types","_DateInput","_filterProps","_CommonWrapper","_client","_NativeDateInput","_rootNode","_utils","_createPropsGetter","_Calendar","_ThemeContext","_Button","_CalendarUtils","_decorator","_getMenuPositions","_ZIndex","_DatePicker2","_locale2","_MobilePicker","_dec","_class","_DatePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","exports","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","locale","DatePickerLocaleHelper","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","canOpenPopup","state","opened","canUseMobileNativeDatePicker","today","getTodayDate","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobile","isMobileLayout","default","createElement","MobilePicker","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","LocaleContext","Provider","Calendar","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","Popup","hasShadow","priority","ZIndex","priorities","PopupMenu","positions","getMenuPositions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","styles","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","DateInput","_extends2","id","filterProps","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","onClick","openPickerPopup","handleKeyDown","NativeDateInput","getRootNode","isNonNullable","minWidth","setState","close","handleSelect","blur","_inheritsLoose2","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","opts","withoutOpenDropdown","render","_this2","ThemeContext","Consumer","ThemeFactory","create","calendarBottomSeparatorBorder","CommonWrapper","rootNodeRef","setRootNode","date","InternalDate","validate","checks","InternalDateValidateCheck","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","InternalDateGetter","getTodayComponents","withSeparator","Button","todayAriaLabel","icon","ArrowAUpIcon16Light","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","isRequired","oneOf","oneOfType","number","func","MIN_FULLDATE","MAX_FULLDATE","range","_range","_range$minDate","_range$maxDate","internalDate","InternalDateOrder","DMY","InternalDateSeparator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { HTMLAttributes } 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 { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { 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 { DatePickerLocale, 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":["_propTypes","_interopRequireDefault","require","_react","_Popup","_locale","_decorators","_InternalDateGetter","_ArrowAUp16Light","_ThemeFactory","_InternalDate","_constants","_types","_DateInput","_filterProps","_CommonWrapper","_client","_NativeDateInput","_rootNode","_utils","_createPropsGetter","_Calendar","_ThemeContext","_Button","_CalendarUtils","_decorator","_getMenuPositions","_ZIndex","_DatePicker2","_locale2","_MobilePicker","_dec","_class","_DatePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","exports","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","locale","DatePickerLocaleHelper","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","canOpenPopup","state","opened","canUseMobileNativeDatePicker","today","getTodayDate","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobile","isMobileLayout","default","createElement","MobilePicker","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","LocaleContext","Provider","Calendar","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","Popup","hasShadow","priority","ZIndex","priorities","PopupMenu","positions","getMenuPositions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","styles","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","DateInput","_extends2","id","filterProps","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","onClick","openPickerPopup","handleKeyDown","NativeDateInput","getRootNode","isNonNullable","minWidth","setState","close","handleSelect","blur","_inheritsLoose2","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","opts","withoutOpenDropdown","render","_this2","ThemeContext","Consumer","ThemeFactory","create","calendarBottomSeparatorBorder","CommonWrapper","rootNodeRef","setRootNode","date","InternalDate","validate","checks","InternalDateValidateCheck","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","InternalDateGetter","getTodayComponents","withSeparator","Button","todayAriaLabel","icon","ArrowAUpIcon16Light","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","isRequired","oneOf","oneOfType","number","func","MIN_FULLDATE","MAX_FULLDATE","range","_range","_range$minDate","_range$maxDate","internalDate","InternalDateOrder","DMY","InternalDateSeparator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { HTMLAttributes } 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 { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { 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 { DatePickerLocale, 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 /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: 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":[]}
@@ -4,7 +4,7 @@ import { MenuHeader } from '../MenuHeader';
4
4
  import { MenuItem } from '../MenuItem';
5
5
  import { MenuSeparator } from '../MenuSeparator';
6
6
  import { ButtonUse } from '../Button';
7
- import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
7
+ import { CommonProps } from '../../internal/CommonWrapper';
8
8
  import { SizeProp } from '../../lib/types/props';
9
9
  export interface DropdownProps extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
10
10
  /** Задает подпись на кнопке. */
@@ -36,6 +36,8 @@ export interface DropdownProps extends Pick<AriaAttributes, 'aria-label' | 'aria
36
36
  size?: SizeProp;
37
37
  /** Задаёт стиль кнопки. */
38
38
  use?: ButtonUse;
39
+ /** @ignore */
40
+ corners?: React.CSSProperties;
39
41
  /** Задает функцию, которая вызывается при закрытии меню. */
40
42
  onClose?: () => void;
41
43
  /** Задает функцию, которая вызывается при открытии меню. */
@@ -116,7 +118,7 @@ export declare class Dropdown extends React.Component<DropdownProps> {
116
118
  private setRootNode;
117
119
  private theme;
118
120
  render(): React.JSX.Element;
119
- renderMain: ({ caption, icon, ...props }: CommonWrapperRestProps<DropdownProps>) => React.JSX.Element;
121
+ renderMain: () => React.JSX.Element;
120
122
  /**
121
123
  * @public
122
124
  */
@@ -34,8 +34,10 @@ var PASS_PROPS = {
34
34
  onMouseLeave: true,
35
35
  onMouseOver: true,
36
36
  menuPos: true,
37
+ corners: true,
37
38
  id: true,
38
- 'aria-describedby': true
39
+ 'aria-describedby': true,
40
+ 'aria-label': true
39
41
  };
40
42
 
41
43
 
@@ -99,6 +101,9 @@ var PASS_PROPS = {
99
101
 
100
102
 
101
103
 
104
+
105
+
106
+
102
107
 
103
108
 
104
109
 
@@ -204,21 +209,20 @@ Dropdown = exports.Dropdown = (0, _rootNode.rootNode)(_class = (_Dropdown = /*#_
204
209
 
205
210
 
206
211
 
207
- renderMain = function (_ref) {var caption = _ref.caption,icon = _ref.icon,props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
212
+ renderMain = function () {
213
+ var _this$props = _this.props,caption = _this$props.caption,icon = _this$props.icon,rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded);
208
214
  var items = _react.default.Children.map(_this.props.children, function (item) {return item;}) || [];
209
215
 
210
216
  return /*#__PURE__*/(
211
- _react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this.setRootNode }, _this.props), /*#__PURE__*/
217
+ _react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this.setRootNode }, rest), /*#__PURE__*/
212
218
  _react.default.createElement(_Select.Select, (0, _extends2.default)({
213
219
  "data-tid": DropdownDataTids.root,
214
220
  ref: _this._refSelect },
215
- (0, _filterProps.filterProps)(props, PASS_PROPS), {
221
+ (0, _filterProps.filterProps)(rest, PASS_PROPS), {
216
222
  value: caption,
217
223
  items: items,
218
224
  _icon: icon,
219
- renderValue: renderValue,
220
- size: _this.props.size,
221
- "aria-label": _this.props['aria-label'] })
225
+ renderValue: renderValue })
222
226
  )
223
227
  ));
224
228
 
@@ -244,7 +248,7 @@ Dropdown = exports.Dropdown = (0, _rootNode.rootNode)(_class = (_Dropdown = /*#_
244
248
 
245
249
  _refSelect = function (element) {
246
250
  _this._select = element;
247
- };return _this;}(0, _inheritsLoose2.default)(Dropdown, _React$Component);var _proto = Dropdown.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getDropdownTheme.getDropdownTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain(_this2.props));});}; /**
251
+ };return _this;}(0, _inheritsLoose2.default)(Dropdown, _React$Component);var _proto = Dropdown.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getDropdownTheme.getDropdownTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain());});}; /**
248
252
  * @public
249
253
  */_proto.open = function open() {if (this._select) {this._select.open();}} /**
250
254
  * @public
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_filterProps","_MenuHeader","_MenuItem","_MenuSeparator","_Select","_CommonWrapper","_rootNode","_ThemeContext","_getDropdownTheme","_excluded","_class","_Dropdown","PASS_PROPS","_renderButton","error","disabled","disablePortal","menuAlign","menuWidth","maxMenuHeight","use","size","warning","width","onOpen","onClose","onMouseEnter","onMouseLeave","onMouseOver","menuPos","id","DropdownDataTids","exports","root","Dropdown","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_ref","caption","icon","props","_objectWithoutPropertiesLoose2","default","items","React","Children","map","children","item","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","Select","ref","_refSelect","filterProps","value","_icon","renderValue","element","_select","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","theme","getDropdownTheme","Provider","open","close","Component","__KONTUR_REACT_UI__","displayName","Header","MenuHeader","MenuItem","Separator","MenuSeparator","propTypes","PropTypes","node","isRequired","bool","number","oneOf","oneOfType","string","any","func"],"sources":["Dropdown.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { filterProps } from '../../lib/filterProps';\nimport { MenuHeader } from '../MenuHeader';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { Select } from '../Select';\nimport { Nullable } from '../../typings/utility-types';\nimport { ButtonUse } from '../Button';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { getDropdownTheme } from './getDropdownTheme';\n\nconst PASS_PROPS = {\n _renderButton: true,\n error: true,\n disabled: true,\n disablePortal: true,\n menuAlign: true,\n menuWidth: true,\n maxMenuHeight: true,\n use: true,\n size: true,\n warning: true,\n width: true,\n onOpen: true,\n onClose: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n menuPos: true,\n id: true,\n 'aria-describedby': true,\n};\n\nexport interface DropdownProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Задает подпись на кнопке. */\n caption: React.ReactNode;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement<any>;\n\n /** Задает ширину выпадающего меню. */\n width?: React.CSSProperties['width'];\n\n /** @ignore */\n _renderButton?: (params: any) => JSX.Element;\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным.*/\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает длину меню. */\n menuWidth?: number | string;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задаёт стиль кнопки. */\n use?: ButtonUse;\n\n /** Задает функцию, которая вызывается при закрытии меню. */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при открытии меню. */\n onOpen?: () => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (event: React.MouseEvent<HTMLElement>) => void;\n}\n\ntype DropdownSelectType = Select<React.ReactNode, React.ReactNode>;\n\nexport const DropdownDataTids = {\n root: 'Dropdown__root',\n} as const;\n\n/**\n * Выпадающее меню `Dropdown`. Содержит несколько команд, объединенных по смыслу.\n *\n * Используйте кнопку-меню:\n * * когда не хватает места для нескольких кнопок.\n * * когда названия действий очень длинные.\n * * когда действия редко используются или объединены по смыслу.\n *\n * Не используйте `Dropdown` для выбора значения из набора вариантов. В таком случае воспользуйтесь компонентом Select.\n */\n@rootNode\nexport class Dropdown extends React.Component<DropdownProps> {\n public static __KONTUR_REACT_UI__ = 'Dropdown';\n public static displayName = 'Dropdown';\n\n public static Header = MenuHeader;\n public static MenuItem = MenuItem;\n public static Separator = MenuSeparator;\n\n public static propTypes = {\n /**\n * Подпись на кнопке.\n */\n caption: PropTypes.node.isRequired,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Визуально отключает Dropdown\n */\n disabled: PropTypes.bool,\n\n /**\n * Визуально показать наличие ошибки.\n */\n error: PropTypes.bool,\n\n /**\n * Иконка слева от текста кнопки\n */\n icon: PropTypes.node,\n\n maxMenuHeight: PropTypes.number,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n menuWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Смотри Button.\n */\n use: PropTypes.any,\n\n /**\n * Визуально показать наличие предупреждения.\n */\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n /**\n * Вызывается при открытии меню.\n */\n onOpen: PropTypes.func,\n };\n\n private _select: Nullable<DropdownSelectType>;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getDropdownTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain(this.props)}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = ({ caption, icon, ...props }: CommonWrapperRestProps<DropdownProps>) => {\n const items = React.Children.map(this.props.children, (item) => item) || [];\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Select<React.ReactNode, React.ReactNode>\n data-tid={DropdownDataTids.root}\n ref={this._refSelect}\n {...filterProps(props, PASS_PROPS)}\n value={caption}\n items={items}\n _icon={icon}\n renderValue={renderValue}\n size={this.props.size}\n aria-label={this.props['aria-label']}\n />\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n */\n public open() {\n if (this._select) {\n this._select.open();\n }\n }\n\n /**\n * @public\n */\n public close() {\n if (this._select) {\n this._select.close();\n }\n }\n\n private _refSelect = (element: DropdownSelectType): void => {\n this._select = element;\n };\n}\n\nfunction renderValue(value: any) {\n return value;\n}\n"],"mappings":"qeAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;;;AAGA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;;;;AAIA,IAAAU,iBAAA,GAAAV,OAAA,uBAAsD,IAAAW,SAAA,2BAAAC,MAAA,EAAAC,SAAA;;AAEtD,IAAMC,UAAU,GAAG;EACjBC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,IAAI;EACXC,QAAQ,EAAE,IAAI;EACdC,aAAa,EAAE,IAAI;EACnBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,GAAG,EAAE,IAAI;EACTC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE,IAAI;EACbC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,IAAI;EAClBC,WAAW,EAAE,IAAI;EACjBC,OAAO,EAAE,IAAI;EACbC,EAAE,EAAE,IAAI;EACR,kBAAkB,EAAE;AACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEM,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GATA;;AAWaC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,OADpBC,kBAAQ,EAAAzB,MAAA,IAAAC,SAAA,0BAAAyB,gBAAA,YAAAF,SAAA,OAAAG,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuFAU,UAAU,GAAG,UAAAC,IAAA,EAAwE,KAArEC,OAAO,GAAAD,IAAA,CAAPC,OAAO,CAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI,CAAKC,KAAK,OAAAC,8BAAA,CAAAC,OAAA,EAAAL,IAAA,EAAAvC,SAAA;MAC5C,IAAM6C,KAAK,GAAGC,cAAK,CAACC,QAAQ,CAACC,GAAG,CAACpB,KAAA,CAAKc,KAAK,CAACO,QAAQ,EAAE,UAACC,IAAI,UAAKA,IAAI,GAAC,IAAI,EAAE;;MAE3E;QACE/D,MAAA,CAAAyD,OAAA,CAAAO,aAAA,CAACvD,cAAA,CAAAwD,aAAa,MAAAC,SAAA,CAAAT,OAAA,IAACU,WAAW,EAAE1B,KAAA,CAAK2B,WAAY,IAAK3B,KAAA,CAAKc,KAAK;QAC1DvD,MAAA,CAAAyD,OAAA,CAAAO,aAAA,CAACxD,OAAA,CAAA6D,MAAM,MAAAH,SAAA,CAAAT,OAAA;UACL,YAAUtB,gBAAgB,CAACE,IAAK;UAChCiC,GAAG,EAAE7B,KAAA,CAAK8B,UAAW;QACjB,IAAAC,wBAAW,EAACjB,KAAK,EAAEvC,UAAU,CAAC;UAClCyD,KAAK,EAAEpB,OAAQ;UACfK,KAAK,EAAEA,KAAM;UACbgB,KAAK,EAAEpB,IAAK;UACZqB,WAAW,EAAEA,WAAY;UACzBlD,IAAI,EAAEgB,KAAA,CAAKc,KAAK,CAAC9B,IAAK;UACtB,cAAYgB,KAAA,CAAKc,KAAK,CAAC,YAAY,CAAE;QACtC;QACY,CAAC;;IAEpB,CAAC,CAAAd,KAAA;;;;;;;;;;;;;;;;;;;;IAoBO8B,UAAU,GAAG,UAACK,OAA2B,EAAW;MAC1DnC,KAAA,CAAKoC,OAAO,GAAGD,OAAO;IACxB,CAAC,QAAAnC,KAAA,MAAAqC,eAAA,CAAArB,OAAA,EAAAnB,QAAA,EAAAE,gBAAA,MAAAuC,MAAA,GAAAzC,QAAA,CAAA0C,SAAA,CAAAD,MAAA,CAnDME,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACElF,MAAA,CAAAyD,OAAA,CAAAO,aAAA,CAACrD,aAAA,CAAAwE,YAAY,CAACC,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAG,IAAAC,kCAAgB,EAACD,KAAK,CAAC,CACpC,oBAAOrF,MAAA,CAAAyD,OAAA,CAAAO,aAAA,CAACrD,aAAA,CAAAwE,YAAY,CAACI,QAAQ,IAACd,KAAK,EAAES,MAAI,CAACG,KAAM,IAAEH,MAAI,CAAC/B,UAAU,CAAC+B,MAAI,CAAC3B,KAAK,CAAyB,CAAC,CACxG,CACqB,CAAC,CAE5B,CAAC,EAsBD;AACF;AACA,KAFEwB,MAAA,CAGOS,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,IAAI,CAACX,OAAO,EAAE,CAChB,IAAI,CAACA,OAAO,CAACW,IAAI,CAAC,CAAC,CACrB,CACF,CAAC,CAED;AACF;AACA,KAFE,CAAAT,MAAA,CAGOU,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACZ,OAAO,EAAE,CAChB,IAAI,CAACA,OAAO,CAACY,KAAK,CAAC,CAAC,CACtB,CACF,CAAC,QAAAnD,QAAA,GA1H2BqB,cAAK,CAAC+B,SAAS,GAAA3E,SAAA,CAC7B4E,mBAAmB,GAAG,UAAU,EAAA5E,SAAA,CAChC6E,WAAW,GAAG,UAAU,EAAA7E,SAAA,CAExB8E,MAAM,GAAGC,sBAAU,EAAA/E,SAAA,CACnBgF,QAAQ,GAAGA,kBAAQ,EAAAhF,SAAA,CACnBiF,SAAS,GAAGC,4BAAa,EAAAlF,SAAA,CAEzBmF,SAAS,GAAG,EACxB;AACJ;AACA,KACI7C,OAAO,EAAE8C,kBAAS,CAACC,IAAI,CAACC,UAAU,EAElC;AACJ;AACA,KACIjF,aAAa,EAAE+E,kBAAS,CAACG,IAAI,EAE7B;AACJ;AACA,KACInF,QAAQ,EAAEgF,kBAAS,CAACG,IAAI,EAExB;AACJ;AACA,KACIpF,KAAK,EAAEiF,kBAAS,CAACG,IAAI,EAErB;AACJ;AACA,KACIhD,IAAI,EAAE6C,kBAAS,CAACC,IAAI,EAEpB7E,aAAa,EAAE4E,kBAAS,CAACI,MAAM,EAE/BlF,SAAS,EAAE8E,kBAAS,CAACK,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAE7ClF,SAAS,EAAE6E,kBAAS,CAACM,SAAS,CAAC,CAACN,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACO,MAAM,CAAC,CAAC,EAEpEjF,IAAI,EAAE0E,kBAAS,CAACK,KAAK,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EAEnD;AACJ;AACA,KACIhF,GAAG,EAAE2E,kBAAS,CAACQ,GAAG,EAElB;AACJ;AACA,KACIjF,OAAO,EAAEyE,kBAAS,CAACG,IAAI,EAEvB3E,KAAK,EAAEwE,kBAAS,CAACM,SAAS,CAAC,CAACN,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACO,MAAM,CAAC,CAAC,EAEhE;AACJ;AACA,KACI7E,OAAO,EAAEsE,kBAAS,CAACS,IAAI,EAEvB9E,YAAY,EAAEqE,kBAAS,CAACS,IAAI,EAE5B7E,YAAY,EAAEoE,kBAAS,CAACS,IAAI,EAE5B5E,WAAW,EAAEmE,kBAAS,CAACS,IAAI,EAE3B;AACJ;AACA,KACIhF,MAAM,EAAEuE,kBAAS,CAACS,IAAI,CACxB,CAAC,EAAA7F,SAAA,MAAAD,MAAA,CA4DH,SAAS6D,WAAWA,CAACF,KAAU,EAAE,CAC/B,OAAOA,KAAK,CACd","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_filterProps","_MenuHeader","_MenuItem","_MenuSeparator","_Select","_CommonWrapper","_rootNode","_ThemeContext","_getDropdownTheme","_excluded","_class","_Dropdown","PASS_PROPS","_renderButton","error","disabled","disablePortal","menuAlign","menuWidth","maxMenuHeight","use","size","warning","width","onOpen","onClose","onMouseEnter","onMouseLeave","onMouseOver","menuPos","corners","id","DropdownDataTids","exports","root","Dropdown","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","renderMain","_this$props","props","caption","icon","rest","_objectWithoutPropertiesLoose2","default","items","React","Children","map","children","item","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","Select","ref","_refSelect","filterProps","value","_icon","renderValue","element","_select","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","theme","getDropdownTheme","Provider","open","close","Component","__KONTUR_REACT_UI__","displayName","Header","MenuHeader","MenuItem","Separator","MenuSeparator","propTypes","PropTypes","node","isRequired","bool","number","oneOf","oneOfType","string","any","func"],"sources":["Dropdown.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { filterProps } from '../../lib/filterProps';\nimport { MenuHeader } from '../MenuHeader';\nimport { MenuItem } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { Select } from '../Select';\nimport { Nullable } from '../../typings/utility-types';\nimport { ButtonUse } from '../Button';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { getDropdownTheme } from './getDropdownTheme';\n\nconst PASS_PROPS = {\n _renderButton: true,\n error: true,\n disabled: true,\n disablePortal: true,\n menuAlign: true,\n menuWidth: true,\n maxMenuHeight: true,\n use: true,\n size: true,\n warning: true,\n width: true,\n onOpen: true,\n onClose: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n menuPos: true,\n corners: true,\n id: true,\n 'aria-describedby': true,\n 'aria-label': true,\n};\n\nexport interface DropdownProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Задает подпись на кнопке. */\n caption: React.ReactNode;\n\n /** Добавляет иконку слева от текста кнопки. */\n icon?: React.ReactElement<any>;\n\n /** Задает ширину выпадающего меню. */\n width?: React.CSSProperties['width'];\n\n /** @ignore */\n _renderButton?: (params: any) => JSX.Element;\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным.*/\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает длину меню. */\n menuWidth?: number | string;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Задаёт стиль кнопки. */\n use?: ButtonUse;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /** Задает функцию, которая вызывается при закрытии меню. */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при открытии меню. */\n onOpen?: () => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (event: React.MouseEvent<HTMLElement>) => void;\n}\n\ntype DropdownSelectType = Select<React.ReactNode, React.ReactNode>;\n\nexport const DropdownDataTids = {\n root: 'Dropdown__root',\n} as const;\n\n/**\n * Выпадающее меню `Dropdown`. Содержит несколько команд, объединенных по смыслу.\n *\n * Используйте кнопку-меню:\n * * когда не хватает места для нескольких кнопок.\n * * когда названия действий очень длинные.\n * * когда действия редко используются или объединены по смыслу.\n *\n * Не используйте `Dropdown` для выбора значения из набора вариантов. В таком случае воспользуйтесь компонентом Select.\n */\n@rootNode\nexport class Dropdown extends React.Component<DropdownProps> {\n public static __KONTUR_REACT_UI__ = 'Dropdown';\n public static displayName = 'Dropdown';\n\n public static Header = MenuHeader;\n public static MenuItem = MenuItem;\n public static Separator = MenuSeparator;\n\n public static propTypes = {\n /**\n * Подпись на кнопке.\n */\n caption: PropTypes.node.isRequired,\n\n /**\n * Отключает использование портала\n */\n disablePortal: PropTypes.bool,\n\n /**\n * Визуально отключает Dropdown\n */\n disabled: PropTypes.bool,\n\n /**\n * Визуально показать наличие ошибки.\n */\n error: PropTypes.bool,\n\n /**\n * Иконка слева от текста кнопки\n */\n icon: PropTypes.node,\n\n maxMenuHeight: PropTypes.number,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n menuWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n\n /**\n * Смотри Button.\n */\n use: PropTypes.any,\n\n /**\n * Визуально показать наличие предупреждения.\n */\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n /**\n * Вызывается при открытии меню.\n */\n onOpen: PropTypes.func,\n };\n\n private _select: Nullable<DropdownSelectType>;\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getDropdownTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = () => {\n const { caption, icon, ...rest } = this.props;\n const items = React.Children.map(this.props.children, (item) => item) || [];\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...rest}>\n <Select<React.ReactNode, React.ReactNode>\n data-tid={DropdownDataTids.root}\n ref={this._refSelect}\n {...filterProps(rest, PASS_PROPS)}\n value={caption}\n items={items}\n _icon={icon}\n renderValue={renderValue}\n />\n </CommonWrapper>\n );\n };\n\n /**\n * @public\n */\n public open() {\n if (this._select) {\n this._select.open();\n }\n }\n\n /**\n * @public\n */\n public close() {\n if (this._select) {\n this._select.close();\n }\n }\n\n private _refSelect = (element: DropdownSelectType): void => {\n this._select = element;\n };\n}\n\nfunction renderValue(value: any) {\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -41,6 +41,8 @@ export interface DropdownMenuProps extends Pick<AriaAttributes, 'aria-label'>, P
41
41
  * Не показывать анимацию
42
42
  */
43
43
  disableAnimations?: boolean;
44
+ /** @ignore */
45
+ corners?: React.CSSProperties;
44
46
  }
45
47
  type DefaultProps = Required<Pick<DropdownMenuProps, 'disableAnimations' | 'positions'>>;
46
48
  /**