@skbkontur/react-ui 4.21.2 → 4.21.4

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 (598) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +2 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +1 -0
  6. package/cjs/components/Button/Button.js +2 -1
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  9. package/cjs/components/Calendar/Calendar.js +2 -1
  10. package/cjs/components/Calendar/Calendar.js.map +1 -1
  11. package/cjs/components/Calendar/DayCellView.js +8 -5
  12. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  13. package/cjs/components/Center/Center.d.ts +1 -0
  14. package/cjs/components/Center/Center.js +2 -1
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Checkbox/Checkbox.d.ts +1 -0
  17. package/cjs/components/Checkbox/Checkbox.js +2 -1
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/ComboBox/ComboBox.d.ts +1 -0
  20. package/cjs/components/ComboBox/ComboBox.js +2 -1
  21. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  22. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  23. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  26. package/cjs/components/CurrencyLabel/CurrencyLabel.js +1 -0
  27. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  28. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  29. package/cjs/components/DateInput/DateInput.js +2 -1
  30. package/cjs/components/DateInput/DateInput.js.map +1 -1
  31. package/cjs/components/DatePicker/DatePicker.d.ts +1 -0
  32. package/cjs/components/DatePicker/DatePicker.js +2 -1
  33. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  34. package/cjs/components/DatePicker/Picker.d.ts +1 -0
  35. package/cjs/components/DatePicker/Picker.js +2 -1
  36. package/cjs/components/DatePicker/Picker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  38. package/cjs/components/Dropdown/Dropdown.js +2 -1
  39. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FileUploader/FileUploader.js +2 -1
  44. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  45. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  46. package/cjs/components/FxInput/FxInput.js +2 -1
  47. package/cjs/components/FxInput/FxInput.js.map +1 -1
  48. package/cjs/components/Gapped/Gapped.d.ts +1 -0
  49. package/cjs/components/Gapped/Gapped.js +2 -1
  50. package/cjs/components/Gapped/Gapped.js.map +1 -1
  51. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  52. package/cjs/components/GlobalLoader/GlobalLoader.js +4 -1
  53. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  54. package/cjs/components/Group/Group.d.ts +1 -0
  55. package/cjs/components/Group/Group.js +3 -1
  56. package/cjs/components/Group/Group.js.map +1 -1
  57. package/cjs/components/Hint/Hint.d.ts +1 -0
  58. package/cjs/components/Hint/Hint.js +2 -1
  59. package/cjs/components/Hint/Hint.js.map +1 -1
  60. package/cjs/components/Input/Input.d.ts +1 -0
  61. package/cjs/components/Input/Input.js +2 -1
  62. package/cjs/components/Input/Input.js.map +1 -1
  63. package/cjs/components/Kebab/Kebab.d.ts +1 -0
  64. package/cjs/components/Kebab/Kebab.js +2 -1
  65. package/cjs/components/Kebab/Kebab.js.map +1 -1
  66. package/cjs/components/Link/Link.d.ts +1 -0
  67. package/cjs/components/Link/Link.js +2 -1
  68. package/cjs/components/Link/Link.js.map +1 -1
  69. package/cjs/components/Loader/Loader.d.ts +1 -0
  70. package/cjs/components/Loader/Loader.js +2 -1
  71. package/cjs/components/Loader/Loader.js.map +1 -1
  72. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -0
  73. package/cjs/components/MenuFooter/MenuFooter.js +1 -0
  74. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  75. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -0
  76. package/cjs/components/MenuHeader/MenuHeader.js +1 -0
  77. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  78. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  79. package/cjs/components/MenuItem/MenuItem.js +29 -10
  80. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  81. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  82. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -1
  83. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  84. package/cjs/components/MiniModal/MiniModal.js +0 -2
  85. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  86. package/cjs/components/Modal/Modal.d.ts +1 -0
  87. package/cjs/components/Modal/Modal.js +2 -1
  88. package/cjs/components/Modal/Modal.js.map +1 -1
  89. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  90. package/cjs/components/Modal/ModalBody.js +2 -1
  91. package/cjs/components/Modal/ModalBody.js.map +1 -1
  92. package/cjs/components/Modal/ModalClose.d.ts +4 -0
  93. package/cjs/components/Modal/ModalClose.js +4 -1
  94. package/cjs/components/Modal/ModalClose.js.map +1 -1
  95. package/cjs/components/Modal/ModalFooter.d.ts +1 -0
  96. package/cjs/components/Modal/ModalFooter.js +1 -0
  97. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  98. package/cjs/components/Modal/ModalHeader.d.ts +1 -0
  99. package/cjs/components/Modal/ModalHeader.js +1 -0
  100. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  101. package/cjs/components/Modal/ModalSeparator.d.ts +4 -0
  102. package/cjs/components/Modal/ModalSeparator.js +4 -1
  103. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  104. package/cjs/components/Paging/Paging.d.ts +1 -0
  105. package/cjs/components/Paging/Paging.js +10 -6
  106. package/cjs/components/Paging/Paging.js.map +1 -1
  107. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -0
  108. package/cjs/components/PasswordInput/PasswordInput.js +2 -1
  109. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  110. package/cjs/components/Radio/Radio.d.ts +1 -0
  111. package/cjs/components/Radio/Radio.js +2 -1
  112. package/cjs/components/Radio/Radio.js.map +1 -1
  113. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  114. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  115. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  116. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  117. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +4 -1
  118. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  119. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  120. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  121. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  122. package/cjs/components/Select/Item.d.ts +1 -0
  123. package/cjs/components/Select/Item.js +2 -1
  124. package/cjs/components/Select/Item.js.map +1 -1
  125. package/cjs/components/Select/Select.d.ts +2 -0
  126. package/cjs/components/Select/Select.js +5 -2
  127. package/cjs/components/Select/Select.js.map +1 -1
  128. package/cjs/components/SidePage/SidePage.d.ts +1 -0
  129. package/cjs/components/SidePage/SidePage.js +2 -1
  130. package/cjs/components/SidePage/SidePage.js.map +1 -1
  131. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  132. package/cjs/components/SidePage/SidePageBody.js +2 -1
  133. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  134. package/cjs/components/SidePage/SidePageCloseButton.d.ts +5 -1
  135. package/cjs/components/SidePage/SidePageCloseButton.js +4 -1
  136. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  138. package/cjs/components/SidePage/SidePageContainer.js +2 -1
  139. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  140. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -0
  141. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  142. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  143. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  144. package/cjs/components/SidePage/SidePageHeader.js +2 -1
  145. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  146. package/cjs/components/SingleToast/SingleToast.d.ts +2 -0
  147. package/cjs/components/SingleToast/SingleToast.js +4 -1
  148. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  149. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  150. package/cjs/components/Spinner/Spinner.js +2 -1
  151. package/cjs/components/Spinner/Spinner.js.map +1 -1
  152. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  153. package/cjs/components/Sticky/Sticky.js +2 -1
  154. package/cjs/components/Sticky/Sticky.js.map +1 -1
  155. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  156. package/cjs/components/Switcher/Switcher.js +2 -1
  157. package/cjs/components/Switcher/Switcher.js.map +1 -1
  158. package/cjs/components/Tabs/Tab.d.ts +1 -0
  159. package/cjs/components/Tabs/Tab.js +7 -1
  160. package/cjs/components/Tabs/Tab.js.map +1 -1
  161. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  162. package/cjs/components/Tabs/Tabs.js +2 -1
  163. package/cjs/components/Tabs/Tabs.js.map +1 -1
  164. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  165. package/cjs/components/Textarea/Textarea.js +2 -1
  166. package/cjs/components/Textarea/Textarea.js.map +1 -1
  167. package/cjs/components/Toast/Toast.d.ts +1 -0
  168. package/cjs/components/Toast/Toast.js +3 -1
  169. package/cjs/components/Toast/Toast.js.map +1 -1
  170. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  171. package/cjs/components/Toggle/Toggle.js +2 -1
  172. package/cjs/components/Toggle/Toggle.js.map +1 -1
  173. package/cjs/components/Token/Token.d.ts +1 -0
  174. package/cjs/components/Token/Token.js +9 -1
  175. package/cjs/components/Token/Token.js.map +1 -1
  176. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  177. package/cjs/components/TokenInput/TokenInput.js +2 -1
  178. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  179. package/cjs/components/TokenInput/TokenInputMenu.d.ts +1 -0
  180. package/cjs/components/TokenInput/TokenInputMenu.js +2 -1
  181. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  182. package/cjs/components/Tooltip/Tooltip.d.ts +1 -0
  183. package/cjs/components/Tooltip/Tooltip.js +2 -1
  184. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  185. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  186. package/cjs/components/TooltipMenu/TooltipMenu.js +3 -1
  187. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  188. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +4 -1
  189. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  190. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  191. package/cjs/internal/CommonWrapper/CommonWrapper.js +7 -56
  192. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  193. package/cjs/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  194. package/cjs/internal/CommonWrapper/extractCommonProps.js +34 -0
  195. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +1 -0
  196. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  197. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js +12 -0
  198. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +1 -0
  199. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  200. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js +23 -0
  201. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +1 -0
  202. package/cjs/internal/CommonWrapper/index.d.ts +2 -0
  203. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  204. package/cjs/internal/CommonWrapper/types.d.ts +25 -0
  205. package/cjs/internal/CommonWrapper/types.js +1 -0
  206. package/cjs/internal/CommonWrapper/types.js.map +1 -0
  207. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  208. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -1
  209. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  210. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  211. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
  212. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  213. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  214. package/cjs/internal/CustomComboBox/CustomComboBox.js +2 -1
  215. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  216. package/cjs/internal/DateSelect/DateSelect.d.ts +1 -0
  217. package/cjs/internal/DateSelect/DateSelect.js +2 -1
  218. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  219. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
  220. package/cjs/internal/DropdownContainer/DropdownContainer.js +2 -1
  221. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  222. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  223. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -0
  224. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  225. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  226. package/cjs/internal/FocusTrap/FocusTrap.js +3 -1
  227. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  228. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  229. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  230. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  231. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +2 -1
  232. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  233. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  234. package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
  235. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  236. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
  237. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +2 -1
  238. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  239. package/cjs/internal/InternalMenu/InternalMenu.d.ts +1 -0
  240. package/cjs/internal/InternalMenu/InternalMenu.js +2 -1
  241. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  242. package/cjs/internal/Menu/Menu.d.ts +1 -0
  243. package/cjs/internal/Menu/Menu.js +2 -1
  244. package/cjs/internal/Menu/Menu.js.map +1 -1
  245. package/cjs/internal/MobilePopup/MobilePopup.d.ts +1 -0
  246. package/cjs/internal/MobilePopup/MobilePopup.js +2 -1
  247. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  248. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  249. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -1
  250. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  251. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  252. package/cjs/internal/NativeDateInput/NativeDateInput.js +3 -1
  253. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  254. package/cjs/internal/Popup/Popup.d.ts +1 -0
  255. package/cjs/internal/Popup/Popup.js +2 -1
  256. package/cjs/internal/Popup/Popup.js.map +1 -1
  257. package/cjs/internal/Popup/PopupPin.d.ts +1 -0
  258. package/cjs/internal/Popup/PopupPin.js +2 -1
  259. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  260. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
  261. package/cjs/internal/PopupMenu/PopupMenu.js +2 -1
  262. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  263. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -0
  264. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  265. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  266. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  267. package/cjs/internal/RenderContainer/RenderInnerContainer.js +7 -2
  268. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  269. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -0
  270. package/cjs/internal/RenderLayer/RenderLayer.js +2 -1
  271. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  272. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  273. package/cjs/internal/ResizeDetector/ResizeDetector.js +2 -1
  274. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  275. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -0
  276. package/cjs/internal/ZIndex/ZIndex.js +2 -1
  277. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  278. package/cjs/internal/icons/20px/Icon.d.ts +1 -0
  279. package/cjs/internal/icons/20px/Icon.js +2 -1
  280. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  281. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  282. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  283. package/cjs/lib/locale/LocaleContext.js +2 -1
  284. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  285. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  286. package/cjs/lib/rootNode/rootNodeDecorator.js +4 -1
  287. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  288. package/cjs/lib/theming/ThemeContext.js +2 -1
  289. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  290. package/cjs/lib/toKebabCase.d.ts +1 -0
  291. package/cjs/lib/toKebabCase.js +10 -0
  292. package/cjs/lib/toKebabCase.js.map +1 -0
  293. package/cjs/lib/utils.d.ts +0 -7
  294. package/cjs/lib/utils.js +2 -25
  295. package/cjs/lib/utils.js.map +1 -1
  296. package/cjs/typings/global-react.d.ts +12 -0
  297. package/components/Autocomplete/Autocomplete/Autocomplete.js +1 -1
  298. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  299. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  300. package/components/Button/Button/Button.js +1 -1
  301. package/components/Button/Button/Button.js.map +1 -1
  302. package/components/Button/Button.d.ts +1 -0
  303. package/components/Calendar/Calendar/Calendar.js +1 -1
  304. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  305. package/components/Calendar/Calendar.d.ts +1 -0
  306. package/components/Calendar/DayCellView/DayCellView.js +9 -3
  307. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  308. package/components/Center/Center/Center.js +1 -1
  309. package/components/Center/Center/Center.js.map +1 -1
  310. package/components/Center/Center.d.ts +1 -0
  311. package/components/Checkbox/Checkbox/Checkbox.js +1 -1
  312. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  313. package/components/Checkbox/Checkbox.d.ts +1 -0
  314. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  315. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  316. package/components/ComboBox/ComboBox.d.ts +1 -0
  317. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -1
  318. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  319. package/components/CurrencyInput/CurrencyInput.d.ts +1 -0
  320. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -0
  321. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  322. package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -0
  323. package/components/DateInput/DateInput/DateInput.js +1 -1
  324. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  325. package/components/DateInput/DateInput.d.ts +1 -0
  326. package/components/DatePicker/DatePicker/DatePicker.js +1 -1
  327. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  328. package/components/DatePicker/DatePicker.d.ts +1 -0
  329. package/components/DatePicker/Picker/Picker.js +1 -1
  330. package/components/DatePicker/Picker/Picker.js.map +1 -1
  331. package/components/DatePicker/Picker.d.ts +1 -0
  332. package/components/Dropdown/Dropdown/Dropdown.js +1 -1
  333. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  334. package/components/Dropdown/Dropdown.d.ts +1 -0
  335. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  336. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  337. package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  338. package/components/FileUploader/FileUploader/FileUploader.js +2 -1
  339. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  340. package/components/FxInput/FxInput/FxInput.js +1 -1
  341. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  342. package/components/FxInput/FxInput.d.ts +1 -0
  343. package/components/Gapped/Gapped/Gapped.js +1 -1
  344. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  345. package/components/Gapped/Gapped.d.ts +1 -0
  346. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -1
  347. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  348. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  349. package/components/Group/Group/Group.js +1 -1
  350. package/components/Group/Group/Group.js.map +1 -1
  351. package/components/Group/Group.d.ts +1 -0
  352. package/components/Hint/Hint/Hint.js +1 -1
  353. package/components/Hint/Hint/Hint.js.map +1 -1
  354. package/components/Hint/Hint.d.ts +1 -0
  355. package/components/Input/Input/Input.js +1 -1
  356. package/components/Input/Input/Input.js.map +1 -1
  357. package/components/Input/Input.d.ts +1 -0
  358. package/components/Kebab/Kebab/Kebab.js +1 -1
  359. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  360. package/components/Kebab/Kebab.d.ts +1 -0
  361. package/components/Link/Link/Link.js +1 -1
  362. package/components/Link/Link/Link.js.map +1 -1
  363. package/components/Link/Link.d.ts +1 -0
  364. package/components/Loader/Loader/Loader.js +1 -1
  365. package/components/Loader/Loader/Loader.js.map +1 -1
  366. package/components/Loader/Loader.d.ts +1 -0
  367. package/components/MenuFooter/MenuFooter/MenuFooter.js +1 -0
  368. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  369. package/components/MenuFooter/MenuFooter.d.ts +1 -0
  370. package/components/MenuHeader/MenuHeader/MenuHeader.js +1 -0
  371. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  372. package/components/MenuHeader/MenuHeader.d.ts +1 -0
  373. package/components/MenuItem/MenuItem/MenuItem.js +29 -6
  374. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  375. package/components/MenuItem/MenuItem.d.ts +4 -0
  376. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +1 -0
  377. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  378. package/components/MenuSeparator/MenuSeparator.d.ts +1 -0
  379. package/components/MiniModal/MiniModal/MiniModal.js +0 -1
  380. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  381. package/components/Modal/Modal/Modal.js +1 -0
  382. package/components/Modal/Modal/Modal.js.map +1 -1
  383. package/components/Modal/Modal.d.ts +1 -0
  384. package/components/Modal/ModalBody/ModalBody.js +1 -1
  385. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  386. package/components/Modal/ModalBody.d.ts +1 -0
  387. package/components/Modal/ModalClose/ModalClose.js +3 -1
  388. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  389. package/components/Modal/ModalClose.d.ts +4 -0
  390. package/components/Modal/ModalFooter/ModalFooter.js +1 -0
  391. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  392. package/components/Modal/ModalFooter.d.ts +1 -0
  393. package/components/Modal/ModalHeader/ModalHeader.js +1 -0
  394. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  395. package/components/Modal/ModalHeader.d.ts +1 -0
  396. package/components/Modal/ModalSeparator/ModalSeparator.js +3 -1
  397. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  398. package/components/Modal/ModalSeparator.d.ts +4 -0
  399. package/components/Paging/Paging/Paging.js +11 -5
  400. package/components/Paging/Paging/Paging.js.map +1 -1
  401. package/components/Paging/Paging.d.ts +1 -0
  402. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -1
  403. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  404. package/components/PasswordInput/PasswordInput.d.ts +1 -0
  405. package/components/Radio/Radio/Radio.js +1 -1
  406. package/components/Radio/Radio/Radio.js.map +1 -1
  407. package/components/Radio/Radio.d.ts +1 -0
  408. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  409. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  410. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  411. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +3 -1
  412. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  413. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -0
  414. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
  415. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  416. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  417. package/components/Select/Item/Item.js +2 -1
  418. package/components/Select/Item/Item.js.map +1 -1
  419. package/components/Select/Item.d.ts +1 -0
  420. package/components/Select/Select/Select.js +4 -2
  421. package/components/Select/Select/Select.js.map +1 -1
  422. package/components/Select/Select.d.ts +2 -0
  423. package/components/SidePage/SidePage/SidePage.js +1 -0
  424. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  425. package/components/SidePage/SidePage.d.ts +1 -0
  426. package/components/SidePage/SidePageBody/SidePageBody.js +1 -1
  427. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  428. package/components/SidePage/SidePageBody.d.ts +1 -0
  429. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +3 -1
  430. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  431. package/components/SidePage/SidePageCloseButton.d.ts +5 -1
  432. package/components/SidePage/SidePageContainer/SidePageContainer.js +1 -1
  433. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  434. package/components/SidePage/SidePageContainer.d.ts +1 -0
  435. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  436. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  437. package/components/SidePage/SidePageFooter.d.ts +1 -0
  438. package/components/SidePage/SidePageHeader/SidePageHeader.js +1 -1
  439. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  440. package/components/SidePage/SidePageHeader.d.ts +1 -0
  441. package/components/SingleToast/SingleToast/SingleToast.js +2 -0
  442. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  443. package/components/SingleToast/SingleToast.d.ts +2 -0
  444. package/components/Spinner/Spinner/Spinner.js +1 -1
  445. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  446. package/components/Spinner/Spinner.d.ts +1 -0
  447. package/components/Sticky/Sticky/Sticky.js +1 -1
  448. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  449. package/components/Sticky/Sticky.d.ts +1 -0
  450. package/components/Switcher/Switcher/Switcher.js +1 -1
  451. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  452. package/components/Switcher/Switcher.d.ts +1 -0
  453. package/components/Tabs/Tab/Tab.js +6 -2
  454. package/components/Tabs/Tab/Tab.js.map +1 -1
  455. package/components/Tabs/Tab.d.ts +1 -0
  456. package/components/Tabs/Tabs/Tabs.js +1 -1
  457. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  458. package/components/Tabs/Tabs.d.ts +1 -0
  459. package/components/Textarea/Textarea/Textarea.js +1 -1
  460. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  461. package/components/Textarea/Textarea.d.ts +1 -0
  462. package/components/Toast/Toast/Toast.js +1 -1
  463. package/components/Toast/Toast/Toast.js.map +1 -1
  464. package/components/Toast/Toast.d.ts +1 -0
  465. package/components/Toggle/Toggle/Toggle.js +1 -1
  466. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  467. package/components/Toggle/Toggle.d.ts +1 -0
  468. package/components/Token/Token/Token.js +5 -4
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/Token/Token.d.ts +1 -0
  471. package/components/TokenInput/TokenInput/TokenInput.js +1 -1
  472. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  473. package/components/TokenInput/TokenInput.d.ts +1 -0
  474. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -1
  475. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  476. package/components/TokenInput/TokenInputMenu.d.ts +1 -0
  477. package/components/Tooltip/Tooltip/Tooltip.js +1 -1
  478. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  479. package/components/Tooltip/Tooltip.d.ts +1 -0
  480. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  481. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  482. package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  483. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +3 -1
  484. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  485. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +8 -38
  486. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  487. package/internal/CommonWrapper/CommonWrapper.d.ts +5 -26
  488. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js +31 -0
  489. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +1 -0
  490. package/internal/CommonWrapper/extractCommonProps/package.json +6 -0
  491. package/internal/CommonWrapper/extractCommonProps.d.ts +3 -0
  492. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js +12 -0
  493. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  494. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/package.json +6 -0
  495. package/internal/CommonWrapper/getCommonVisualStateDataAttributes.d.ts +2 -0
  496. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js +16 -0
  497. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  498. package/internal/CommonWrapper/getVisualStateDataAttributes/package.json +6 -0
  499. package/internal/CommonWrapper/getVisualStateDataAttributes.d.ts +3 -0
  500. package/internal/CommonWrapper/index/index.js +2 -1
  501. package/internal/CommonWrapper/index/index.js.map +1 -1
  502. package/internal/CommonWrapper/index.d.ts +2 -0
  503. package/internal/CommonWrapper/types/package.json +6 -0
  504. package/internal/CommonWrapper/types/types.js +1 -0
  505. package/internal/CommonWrapper/types/types.js.map +1 -0
  506. package/internal/CommonWrapper/types.d.ts +25 -0
  507. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +1 -1
  508. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  509. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  510. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +1 -1
  511. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  512. package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
  513. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -1
  514. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  515. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  516. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  517. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  518. package/internal/DateSelect/DateSelect.d.ts +1 -0
  519. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +1 -0
  520. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  521. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -0
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -0
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  524. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  525. package/internal/FocusTrap/FocusTrap/FocusTrap.js +1 -1
  526. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  527. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  528. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +1 -0
  529. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  530. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -0
  531. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +1 -1
  532. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  533. package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
  534. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  535. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  536. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -1
  537. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  538. package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +1 -0
  539. package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
  540. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  541. package/internal/InternalMenu/InternalMenu.d.ts +1 -0
  542. package/internal/Menu/Menu/Menu.js +1 -1
  543. package/internal/Menu/Menu/Menu.js.map +1 -1
  544. package/internal/Menu/Menu.d.ts +1 -0
  545. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  546. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  547. package/internal/MobilePopup/MobilePopup.d.ts +1 -0
  548. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -1
  549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  550. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +1 -0
  551. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +2 -1
  552. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -1
  553. package/internal/NativeDateInput/NativeDateInput.d.ts +1 -0
  554. package/internal/Popup/Popup/Popup.js +1 -1
  555. package/internal/Popup/Popup/Popup.js.map +1 -1
  556. package/internal/Popup/Popup.d.ts +1 -0
  557. package/internal/Popup/PopupPin/PopupPin.js +1 -0
  558. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  559. package/internal/Popup/PopupPin.d.ts +1 -0
  560. package/internal/PopupMenu/PopupMenu/PopupMenu.js +1 -1
  561. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  562. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  563. package/internal/RenderContainer/RenderContainer/RenderContainer.js +1 -0
  564. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  565. package/internal/RenderContainer/RenderContainer.d.ts +1 -0
  566. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +4 -1
  567. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  568. package/internal/RenderContainer/RenderInnerContainer.d.ts +3 -0
  569. package/internal/RenderLayer/RenderLayer/RenderLayer.js +1 -1
  570. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  571. package/internal/RenderLayer/RenderLayer.d.ts +1 -0
  572. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +2 -1
  573. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  574. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  575. package/internal/ZIndex/ZIndex/ZIndex.js +1 -1
  576. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  577. package/internal/ZIndex/ZIndex.d.ts +1 -0
  578. package/internal/icons/20px/Icon/Icon.js +1 -0
  579. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  580. package/internal/icons/20px/Icon.d.ts +1 -0
  581. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  582. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  583. package/lib/locale/LocaleContext/LocaleContext.js +2 -1
  584. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  585. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +1 -1
  586. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  587. package/lib/rootNode/rootNodeDecorator.d.ts +2 -0
  588. package/lib/theming/ThemeContext/ThemeContext.js +2 -1
  589. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  590. package/lib/toKebabCase/package.json +6 -0
  591. package/lib/toKebabCase/toKebabCase.js +7 -0
  592. package/lib/toKebabCase/toKebabCase.js.map +1 -0
  593. package/lib/toKebabCase.d.ts +1 -0
  594. package/lib/utils/utils.js +1 -27
  595. package/lib/utils/utils.js.map +1 -1
  596. package/lib/utils.d.ts +0 -7
  597. package/package.json +9 -9
  598. package/typings/global-react.d.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["DateInput.tsx"],"names":["React","ReactDOM","globalObject","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CalendarIcon","CommonWrapper","cx","rootNode","createPropsGetter","isTheme2022","CalendarIcon2022","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","props","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","theme","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","handleBlur","restored","restore","updateValue","inputMode","onBlur","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","emitChange","version","search","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { CalendarIcon as CalendarIcon2022 } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = isTheme2022(theme) ? <CalendarIcon2022 size={size} /> : <CalendarIcon />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const restored = this.iDateMediator.restore();\n this.updateValue({ focused: false, selected: null, inputMode: false });\n\n if (this.props.onBlur) {\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
1
+ {"version":3,"sources":["DateInput.tsx"],"names":["React","ReactDOM","globalObject","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CalendarIcon","CommonWrapper","cx","rootNode","createPropsGetter","isTheme2022","CalendarIcon2022","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","props","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","theme","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","handleBlur","restored","restore","updateValue","inputMode","onBlur","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","emitChange","version","search","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { CalendarIcon as CalendarIcon2022 } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = isTheme2022(theme) ? <CalendarIcon2022 size={size} /> : <CalendarIcon />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const restored = this.iDateMediator.restore();\n this.updateValue({ focused: false, selected: null, inputMode: false });\n\n if (this.props.onBlur) {\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
@@ -59,6 +59,7 @@ export interface DateInputProps extends CommonProps {
59
59
  declare type DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;
60
60
  export declare class DateInput extends React.Component<DateInputProps, DateInputState> {
61
61
  static __KONTUR_REACT_UI__: string;
62
+ static displayName: string;
62
63
  static defaultProps: DefaultProps;
63
64
  private getProps;
64
65
  private iDateMediator;
@@ -354,7 +354,7 @@ export var DatePicker = (_dec = locale('DatePicker', DatePickerLocaleHelper), ro
354
354
  };
355
355
 
356
356
  return DatePicker;
357
- }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DatePicker', _class2.propTypes = {
357
+ }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DatePicker', _class2.displayName = 'DatePicker', _class2.propTypes = {
358
358
  autoFocus: PropTypes.bool,
359
359
  disabled: PropTypes.bool,
360
360
 
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","isTheme2022","cx","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","styles","DatePickerLocaleHelper","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","getProps","defaultProps","calendar","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","minDate","maxDate","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","menuPos","getParent","parseInt","theme","datePickerMenuOffsetY","menuAlign","calendarWrapper","e","preventDefault","c","parseValueToDate","handleValueChange","isHoliday","value","enableTodayLink","renderTodayLink","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","handleSelectToday","handleSelect","month","year","scrollToMonth","width","minWidth","ref","setState","onFocus","close","onBlur","blur","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","create","calendarBottomSeparatorBorder","setRootNode","undefined","date","validate","checks","NotNull","Native","toString","withPad","order","separator","setComponents","getTodayComponents","withSeparator","margin","todayAriaLabel","todayLinkWrapper","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\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 { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { cx } from '../../lib/theming/Emotion';\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 { DropdownContainer, DropdownContainerProps } from '../../internal/DropdownContainer';\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';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\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<DropdownContainerProps, 'menuPos'>,\n Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\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@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = '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 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\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 calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\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\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() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\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() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\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.props}>\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 } = this.getProps();\n\n if (this.state.opened) {\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 <DropdownContainer\n menuPos={this.props.menuPos}\n data-tid={DatePickerDataTids.root}\n getParent={this.getParent}\n offsetY={parseInt(this.theme.datePickerMenuOffsetY)}\n align={this.props.menuAlign}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\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 />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </DropdownContainer>\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 {...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={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\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 {!this.state.canUseMobileNativeDatePicker && picker}\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 if (isTheme2022(this.theme)) {\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={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n return (\n <button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={cx({\n [styles.todayLinkWrapper(this.theme)]: true,\n })}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n this.handleSelect(today);\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\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 handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\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"]}
1
+ {"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","isTheme2022","cx","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","styles","DatePickerLocaleHelper","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","getProps","defaultProps","calendar","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","minDate","maxDate","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","menuPos","getParent","parseInt","theme","datePickerMenuOffsetY","menuAlign","calendarWrapper","e","preventDefault","c","parseValueToDate","handleValueChange","isHoliday","value","enableTodayLink","renderTodayLink","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","handleSelectToday","handleSelect","month","year","scrollToMonth","width","minWidth","ref","setState","onFocus","close","onBlur","blur","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","create","calendarBottomSeparatorBorder","setRootNode","undefined","date","validate","checks","NotNull","Native","toString","withPad","order","separator","setComponents","getTodayComponents","withSeparator","margin","todayAriaLabel","todayLinkWrapper","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"uPAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,OAAlB;;AAEA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,MAAT,QAAuB,6BAAvB;AACA,SAASC,kBAAT,QAAmC,mCAAnC;AACA,SAASC,mBAAT,QAAoC,uDAApC;AACA,SAASC,WAAT,QAA4B,gCAA5B;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,6BAA7B;AACA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,0BAA3C;AACA,SAASC,iBAAT,EAA4BC,qBAA5B,EAAmDC,yBAAnD,QAAoF,sBAApF;;AAEA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,iBAAT,QAA0D,kCAA1D;AACA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,aAAT,QAAmE,8BAAnE;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,iBAAT,QAAkC,6BAAlC;AACA,SAASC,QAAT,QAA2D,aAA3D;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,YAAT,QAA6B,2BAA7B;;;AAGA,SAASC,MAAT,QAAuB,qBAAvB;AACA,SAA2BC,sBAA3B,QAAyD,UAAzD;;AAEA,IAAMC,gBAAgB,GAAG;AACvBC,EAAAA,SAAS,EAAE,IADY;AAEvBC,EAAAA,QAAQ,EAAE,IAFa;AAGvBC,EAAAA,OAAO,EAAE,IAHc;AAIvBC,EAAAA,KAAK,EAAE,IAJgB;AAKvBC,EAAAA,IAAI,EAAE,IALiB;AAMvBC,EAAAA,SAAS,EAAE,IANY,EAAzB;;;AASA,OAAO,IAAMC,SAAS,GAAG,GAAlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDP,OAAO,IAAMC,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAE,kBAD0B;AAEhCC,EAAAA,KAAK,EAAE,mBAFyB;AAGhCC,EAAAA,KAAK,EAAE,mBAHyB;AAIhCC,EAAAA,UAAU,EAAE,cAJoB;AAKhCC,EAAAA,kBAAkB,EAAE,sBALY,EAA3B;;;;;;;AAYP,WAAaC,UAAb,WADC1C,MAAM,CAAC,YAAD,EAAe2B,sBAAf,CACP,EAFCR,QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DUwB,IAAAA,QA3DV,GA2DqBtB,iBAAiB,CAACqB,UAAU,CAACE,YAAZ,CA3DtC;;AA6DUC,IAAAA,QA7DV,GA6DsC,IA7DtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyFSC,IAAAA,KAzFT,GAyFkC,EAAEC,MAAM,EAAE,KAAV,EAAiBC,4BAA4B,EAAE,KAA/C,EAAsDC,KAAK,EAAExB,YAAY,EAAzE,EAzFlC;;AA2FUa,IAAAA,KA3FV,GA2FoC,IA3FpC;AA4FUY,IAAAA,OA5FV,GA4FoB,KA5FpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmKSC,IAAAA,UAnKT,GAmKsB,UAACC,KAAD,EAAoD;AACtE,UAAIC,MAAM,GAAG,IAAb;;AAEA,2BAA6B,MAAKV,QAAL,EAA7B,CAAQW,OAAR,kBAAQA,OAAR,CAAiBC,OAAjB,kBAAiBA,OAAjB;;AAEA,UAAI,MAAKT,KAAL,CAAWC,MAAf,EAAuB;AACrBM,QAAAA,MAAM;AACJ,4BAAC,aAAD,CAAe,QAAf;AACE,UAAA,KAAK,EAAE;AACLrD,YAAAA,MAAM,EAAE;AACNsB,cAAAA,QAAQ,EAAE;AACRkC,gBAAAA,MAAM,EAAE,MAAKxD,MAAL,CAAYwD,MADZ;AAERC,gBAAAA,0BAA0B,EAAE,MAAKzD,MAAL,CAAYyD,0BAFhC;AAGRC,gBAAAA,oBAAoB,EAAE,MAAK1D,MAAL,CAAY0D,oBAH1B;AAIRC,gBAAAA,mBAAmB,EAAE,MAAK3D,MAAL,CAAY2D,mBAJzB;AAKRC,gBAAAA,qBAAqB,EAAE,MAAK5D,MAAL,CAAY4D,qBAL3B,EADJ,EADH,EADT;;;;;AAaE,4BAAC,iBAAD;AACE,UAAA,OAAO,EAAE,MAAKR,KAAL,CAAWS,OADtB;AAEE,sBAAUzB,kBAAkB,CAACC,IAF/B;AAGE,UAAA,SAAS,EAAE,MAAKyB,SAHlB;AAIE,UAAA,OAAO,EAAEC,QAAQ,CAAC,MAAKC,KAAL,CAAWC,qBAAZ,CAJnB;AAKE,UAAA,KAAK,EAAE,MAAKb,KAAL,CAAWc,SALpB;;AAOE;AACE,sBAAU9B,kBAAkB,CAACI,UAD/B;AAEE,UAAA,SAAS,EAAEd,MAAM,CAACyC,eAAP,CAAuB,MAAKH,KAA5B,CAFb;AAGE,UAAA,WAAW,EAAE,qBAACI,CAAD,UAAOA,CAAC,CAACC,cAAF,EAAP,EAHf;;AAKE,4BAAC,QAAD;AACE,UAAA,GAAG,EAAE,aAACC,CAAD,UAAQ,MAAKzB,QAAL,GAAgByB,CAAxB,EADP;AAEE,UAAA,OAAO,EAAE,MAAKC,gBAAL,CAAsBhB,OAAtB,CAFX;AAGE,UAAA,OAAO,EAAE,MAAKgB,gBAAL,CAAsBjB,OAAtB,CAHX;AAIE,UAAA,aAAa,EAAE,MAAKkB,iBAJtB;AAKE,UAAA,SAAS,EAAE,MAAKpB,KAAL,CAAWqB,SALxB;AAME,UAAA,KAAK,EAAE,MAAKF,gBAAL,CAAsB,MAAKnB,KAAL,CAAWsB,KAAjC,CANT,GALF;;AAaG,cAAKtB,KAAL,CAAWuB,eAAX,IAA8B,MAAKC,eAAL,EAbjC,EAayD,GAbzD,CAPF,CAbF,CADF;;;;;AAuCD;;AAED;AACE;AACE,UAAA,SAAS,EAAElD,MAAM,CAACW,IAAP,EADb;AAEE,UAAA,KAAK,EAAE,MAAKwC,YAAL,EAFT;AAGE,UAAA,YAAY,EAAE,MAAKzB,KAAL,CAAW0B,YAH3B;AAIE,UAAA,YAAY,EAAE,MAAK1B,KAAL,CAAW2B,YAJ3B;AAKE,UAAA,WAAW,EAAE,MAAK3B,KAAL,CAAW4B,WAL1B;AAME,sBAAU5C,kBAAkB,CAACG,KAN/B;;AAQE,4BAAC,SAAD;AACMzB,QAAAA,WAAW,CAACsC,KAAD,EAAQxB,gBAAR,CADjB;AAEE,UAAA,GAAG,EAAE,MAAKqD,WAFZ;AAGE,UAAA,KAAK,EAAE,MAAK7B,KAAL,CAAWsB,KAAX,IAAoB,EAH7B;AAIE,UAAA,KAAK,EAAC,MAJR;AAKE,UAAA,QAAQ,MALV;AAME,UAAA,OAAO,EAAEpB,OANX;AAOE,UAAA,OAAO,EAAEC,OAPX;AAQE,UAAA,MAAM,EAAE,MAAK2B,UARf;AASE,UAAA,OAAO,EAAE,MAAKC,WAThB;AAUE,UAAA,aAAa,EAAE,MAAK/B,KAAL,CAAWgC,aAV5B;AAWE,sBAAUhD,kBAAkB,CAACE,KAX/B,IARF;;AAqBG,cAAKQ,KAAL,CAAWE,4BAAX;AACC,4BAAC,eAAD;AACE,UAAA,aAAa,EAAE,MAAKI,KAAL,CAAWgC,aAD5B;AAEE,UAAA,KAAK,EAAE,MAAKhC,KAAL,CAAWsB,KAAX,IAAoB,EAF7B;AAGE,UAAA,OAAO,EAAEpB,OAHX;AAIE,UAAA,OAAO,EAAEC,OAJX;AAKE,UAAA,QAAQ,EAAE,MAAKH,KAAL,CAAWtB,QALvB,GAtBJ;;;AA8BG,SAAC,MAAKgB,KAAL,CAAWE,4BAAZ,IAA4CK,MA9B/C,CADF;;;AAkCD,KApPH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwSUgC,IAAAA,iBAxSV,GAwS8B,UAACpC,KAAD,UAAmB,YAAM;AACnD,cAAKqC,YAAL,CAAkBrC,KAAlB;;AAEA,YAAI,MAAKJ,QAAT,EAAmB;AACjB,kCAAwB,MAAKC,KAAL,CAAWG,KAAnC,CAAQsC,KAAR,qBAAQA,KAAR,CAAeC,IAAf,qBAAeA,IAAf;AACA,gBAAK3C,QAAL,CAAc4C,aAAd,CAA4BF,KAA5B,EAAmCC,IAAnC;AACD;AACF,OAP2B,EAxS9B;;AAiTS1B,IAAAA,SAjTT,GAiTqB,YAAM;AACvB,aAAO5C,WAAW,+BAAlB;AACD,KAnTH;;AAqTU2D,IAAAA,YArTV,GAqTyB,YAAM;AAC3B,UAAQa,KAAR,GAAkB,MAAKtC,KAAvB,CAAQsC,KAAR;AACA,aAAOtE,aAAa,CAACsE,KAAD,CAAb,GAAuB,EAAEA,KAAK,EAALA,KAAF,EAAvB,GAAmC,EAAEC,QAAQ,EAAExD,SAAZ,EAA1C;AACD,KAxTH;;AA0TU8C,IAAAA,WA1TV,GA0TwB,UAACW,GAAD,EAA2B;AAC/C,YAAKtD,KAAL,GAAasD,GAAb;AACD,KA5TH;;AA8TUT,IAAAA,WA9TV,GA8TwB,YAAM;AAC1B,UAAI,MAAKjC,OAAT,EAAkB;AAChB;AACD;;AAED,YAAKA,OAAL,GAAe,IAAf;;AAEA,YAAK2C,QAAL,CAAc,EAAE9C,MAAM,EAAE,IAAV,EAAd;;AAEA,UAAI,MAAKK,KAAL,CAAW0C,OAAf,EAAwB;AACtB,cAAK1C,KAAL,CAAW0C,OAAX;AACD;AACF,KA1UH;;AA4UUZ,IAAAA,UA5UV,GA4UuB,YAAM;AACzB,UAAI,CAAC,MAAKhC,OAAV,EAAmB;AACjB;AACD;;AAED,YAAKA,OAAL,GAAe,KAAf;AACA,YAAK6C,KAAL;;AAEA,UAAI,MAAK3C,KAAL,CAAW4C,MAAf,EAAuB;AACrB,cAAK5C,KAAL,CAAW4C,MAAX;AACD;AACF,KAvVH;;AAyVUxB,IAAAA,iBAzVV,GAyV8B,UAACE,KAAD,EAAmB;AAC7C,YAAKY,YAAL,CAAkBZ,KAAlB;AACA,YAAKuB,IAAL;AACD,KA5VH;;AA8VUX,IAAAA,YA9VV,GA8VyB,UAACZ,KAAD,EAA0B;AAC/C,UAAI,CAACA,KAAL,EAAY;AACV,eAAO,IAAP;AACD;;AAED,UAAI,MAAKtB,KAAL,CAAWgC,aAAf,EAA8B;AAC5B,cAAKhC,KAAL,CAAWgC,aAAX,CAAyBV,KAAzB;AACD;AACF,KAtWH,wDA+FSwB,iBA/FT,GA+FE,6BAA2B,CACzB,IAAI,KAAK9C,KAAL,CAAW+C,yBAAX,IAAwCnF,QAA5C,EAAsD,CACpD,KAAK6E,QAAL,CAAc,EACZ7C,4BAA4B,EAAE,IADlB,EAAd,EAGD,CACD,IAAI,KAAKI,KAAL,CAAWvB,SAAf,EAA0B,CACxB,KAAKuE,KAAL,GACD,CACF,CAxGH,QA0GSC,kBA1GT,GA0GE,8BAA4B,CAC1B,IAAQvE,QAAR,GAAqB,KAAKsB,KAA1B,CAAQtB,QAAR,CACA,IAAQiB,MAAR,GAAmB,KAAKD,KAAxB,CAAQC,MAAR,CACA,IAAIjB,QAAQ,IAAIiB,MAAhB,EAAwB,CACtB,KAAKgD,KAAL,GACD,CACF,CAhHH,CAkHE;AACF;AACA,KApHA,QAqHSE,IArHT,GAqHE,gBAAc,CACZ,IAAI,KAAK3D,KAAT,EAAgB,CACd,KAAKA,KAAL,CAAW2D,IAAX,GACD,CACD,KAAKf,UAAL,GACD,CA1HH,CA4HE;AACF;AACA,KA9HA,QA+HSkB,KA/HT,GA+HE,iBAAe,CACb,IAAI,KAAKhD,KAAL,CAAWtB,QAAf,EAAyB,CACvB,OACD,CACD,IAAI,KAAKQ,KAAT,EAAgB,CACd,KAAKA,KAAL,CAAW8D,KAAX,GACD,CACD,KAAKjB,WAAL,GACD,CAvIH,CAyIE;AACF;AACA;AACA,KA5IA,QA6ISY,KA7IT,GA6IE,iBAAe,CACb,KAAKF,QAAL,CAAc,EAAE9C,MAAM,EAAE,KAAV,EAAd,EACD,CA/IH,QAiJSuD,MAjJT,GAiJE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACtC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CAEA,oBACE,oBAAC,YAAD,CAAc,QAAd,IAAuB,KAAK,EAAE3D,YAAY,CAACkG,MAAb,CAAoB,EAAEC,6BAA6B,EAAE,MAAjC,EAApB,EAA+DxC,KAA/D,CAA9B,iBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,MAAI,CAACyC,WAAjC,IAAkD,MAAI,CAACrD,KAAvD,GACG,MAAI,CAACD,UADR,CADF,CADF,CAOD,CAXH,CADF,CAeD,CAjKH,QAsPUoB,gBAtPV,GAsPE,0BAAyBG,KAAzB,EAAuE,CACrE,IAAIA,KAAK,KAAKgC,SAAV,IAAuBhC,KAAK,KAAK,IAArC,EAA2C,CACzC,OAAOgC,SAAP,CACD,CAED,IAAMC,IAAI,GAAG,IAAIrG,YAAJ,CAAiB,EAAEoE,KAAK,EAALA,KAAF,EAAjB,CAAb,CACA,IAAIiC,IAAI,CAACC,QAAL,CAAc,EAAEC,MAAM,EAAE,CAAClG,yBAAyB,CAACmG,OAA3B,EAAoCnG,yBAAyB,CAACoG,MAA9D,CAAV,EAAd,CAAJ,EAAsG,CACpG,OAAOJ,IAAI,CAACK,QAAL,CAAc,EAAEC,OAAO,EAAE,IAAX,EAAd,CAAP,CACD,CAED,OAAOP,SAAP,CACD,CAjQH,QAmQU9B,eAnQV,GAmQE,2BAA0B,SACxB,mBAA6B,KAAK5E,MAAlC,CAAQkH,KAAR,gBAAQA,KAAR,CAAeC,SAAf,gBAAeA,SAAf,CACA,IAAMlE,KAAK,GAAG,IAAI3C,YAAJ,CAAiB,EAAE4G,KAAK,EAALA,KAAF,EAASC,SAAS,EAATA,SAAT,EAAjB,EACXC,aADW,CACGnH,kBAAkB,CAACoH,kBAAnB,EADH,EAEXL,QAFW,CAEF,EAAEC,OAAO,EAAE,IAAX,EAAiBK,aAAa,EAAE,IAAhC,EAFE,CAAd,CAIA,IAAInH,WAAW,CAAC,KAAK6D,KAAN,CAAf,EAA6B,CAC3B,oBACE,6BAAK,KAAK,EAAE,EAAEuD,MAAM,EAAE,CAAV,EAAZ,iBACE,oBAAC,MAAD,IACE,cAAY,KAAKvH,MAAL,CAAYwH,cAD1B,EAEE,YAAUpF,kBAAkB,CAACK,kBAF/B,EAGE,KAAK,EAAC,MAHR,EAIE,OAAO,EAAE,KAAK4C,iBAAL,CAAuBpC,KAAvB,CAJX,EAKE,IAAI,eAAE,oBAAC,mBAAD,OALR,IAOG,KAAKjD,MAAL,CAAYiD,KAPf,CADF,CADF,CAaD,CAED,oBACE,gCACE,cAAY,KAAKjD,MAAL,CAAYwH,cAD1B,EAEE,YAAUpF,kBAAkB,CAACK,kBAF/B,EAGE,SAAS,EAAErC,EAAE,gBACVsB,MAAM,CAAC+F,gBAAP,CAAwB,KAAKzD,KAA7B,CADU,IAC4B,IAD5B,OAHf,EAME,OAAO,EAAE,KAAKqB,iBAAL,CAAuBpC,KAAvB,CANX,EAOE,QAAQ,EAAE,CAAC,CAPb,IASM,KAAKjD,MAAL,CAAYiD,KATlB,SAS2BA,KAT3B,CADF,CAaD,CAtSH,qBAAgCnD,KAAK,CAAC4H,aAAtC,WACgBC,mBADhB,GACsC,YADtC,UAEgBC,WAFhB,GAE8B,YAF9B,UAIgBC,SAJhB,GAI4B,EACxBhG,SAAS,EAAEhC,SAAS,CAACiI,IADG,EAGxBhG,QAAQ,EAAEjC,SAAS,CAACiI,IAHI,EAKxB;AACJ;AACA,KACInD,eAAe,EAAE9E,SAAS,CAACiI,IARH,EAUxB9F,KAAK,EAAEnC,SAAS,CAACiI,IAVO,EAYxB;AACJ;AACA,KACIvE,OAAO,EAAE1D,SAAS,CAACkI,MAAV,CAAiBC,UAfF,EAiBxB9D,SAAS,EAAErE,SAAS,CAACoI,KAAV,CAAgB,CAAC,MAAD,EAAS,OAAT,CAAhB,CAjBa,EAmBxB;AACJ;AACA,KACI3E,OAAO,EAAEzD,SAAS,CAACkI,MAAV,CAAiBC,UAtBF,EAwBxB;AACJ;AACA,KACItD,KAAK,EAAE7E,SAAS,CAACkI,MA3BO,EA6BxBhG,OAAO,EAAElC,SAAS,CAACiI,IA7BK,EA+BxBpC,KAAK,EAAE7F,SAAS,CAACqI,SAAV,CAAoB,CAACrI,SAAS,CAACsI,MAAX,EAAmBtI,SAAS,CAACkI,MAA7B,CAApB,CA/BiB,EAiCxB/B,MAAM,EAAEnG,SAAS,CAACuI,IAjCM,EAmCxBhD,aAAa,EAAEvF,SAAS,CAACuI,IAAV,CAAeJ,UAnCN,EAqCxBlC,OAAO,EAAEjG,SAAS,CAACuI,IArCK,EAuCxBlG,SAAS,EAAErC,SAAS,CAACuI,IAvCG,EAyCxBtD,YAAY,EAAEjF,SAAS,CAACuI,IAzCA,EA2CxBrD,YAAY,EAAElF,SAAS,CAACuI,IA3CA,EA6CxBpD,WAAW,EAAEnF,SAAS,CAACuI,IA7CC,EA+CxB3D,SAAS,EAAE5E,SAAS,CAACuI,IA/CG,EAJ5B,UAsDgBxF,YAtDhB,GAsD6C,EACzCU,OAAO,EAAE9C,YADgC,EAEzC+C,OAAO,EAAEhD,YAFgC,EAtD7C,UAgEgBqG,QAhEhB,GAgE2B,UAAClC,KAAD,EAA0B2D,KAA1B,EAAiF,KAAvDA,KAAuD,cAAvDA,KAAuD,GAAP,EAAO,EACxG,IAAI,CAAC3D,KAAL,EAAY,CACV,OAAO,KAAP,CACD,CAED,aAA2D2D,KAA3D,yBAAQ/E,OAAR,CAAQA,OAAR,+BAAkB9C,YAAlB,0CAAgC+C,OAAhC,CAAgCA,OAAhC,+BAA0ChD,YAA1C,kBACA,IAAM+H,YAAY,GAAG,IAAIhI,YAAJ,CAAiB,EACpC4G,KAAK,EAAEzG,iBAAiB,CAAC8H,GADW,EAEpCpB,SAAS,EAAEzG,qBAAqB,CAAC8H,GAFG,EAAjB,EAIlBC,aAJkB,CAIJ,IAAInI,YAAJ,CAAiB,EAAEoE,KAAK,EAAEpB,OAAT,EAAjB,CAJI,EAKlBoF,WALkB,CAKN,IAAIpI,YAAJ,CAAiB,EAAEoE,KAAK,EAAEnB,OAAT,EAAjB,CALM,EAMlBoF,UANkB,CAMPjE,KANO,CAArB,CAQA,OAAO4D,YAAY,CAAC1B,QAAb,CAAsB,EAC3BC,MAAM,EAAE,CACNlG,yBAAyB,CAACmG,OADpB,EAENnG,yBAAyB,CAACiI,MAFpB,EAGNjI,yBAAyB,CAACoG,MAHpB,EAINpG,yBAAyB,CAACkI,MAJpB,EAKNlI,yBAAyB,CAACmI,KALpB,CADmB,EAAtB,CAAP,CASD,CAvFH","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\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 { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { cx } from '../../lib/theming/Emotion';\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 { DropdownContainer, DropdownContainerProps } from '../../internal/DropdownContainer';\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';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\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<DropdownContainerProps, 'menuPos'>,\n Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\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@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 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\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 calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\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\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() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\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() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\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.props}>\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 } = this.getProps();\n\n if (this.state.opened) {\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 <DropdownContainer\n menuPos={this.props.menuPos}\n data-tid={DatePickerDataTids.root}\n getParent={this.getParent}\n offsetY={parseInt(this.theme.datePickerMenuOffsetY)}\n align={this.props.menuAlign}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\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 />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </DropdownContainer>\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 {...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={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\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 {!this.state.canUseMobileNativeDatePicker && picker}\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 if (isTheme2022(this.theme)) {\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={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n return (\n <button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={cx({\n [styles.todayLinkWrapper(this.theme)]: true,\n })}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n this.handleSelect(today);\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\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 handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\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"]}
@@ -59,6 +59,7 @@ export declare const DatePickerDataTids: {
59
59
  declare type DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;
60
60
  export declare class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {
61
61
  static __KONTUR_REACT_UI__: string;
62
+ static displayName: string;
62
63
  static propTypes: {
63
64
  autoFocus: PropTypes.Requireable<boolean>;
64
65
  disabled: PropTypes.Requireable<boolean>;
@@ -146,4 +146,4 @@ export var Picker = (_dec = locale('DatePicker', DatePickerLocaleHelper), _dec(_
146
146
  };
147
147
 
148
148
  return Picker;
149
- }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Picker', _temp)) || _class);
149
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Picker', _class2.displayName = 'Picker', _temp)) || _class);
@@ -1 +1 @@
1
- {"version":3,"sources":["Picker.tsx"],"names":["React","warning","InternalDateTransformer","ThemeFactory","cx","InternalDateGetter","InternalDate","locale","Calendar","ThemeContext","getTodayDate","isTheme2022","Button","ArrowAUpIcon16Light","styles","DatePickerDataTids","DatePickerLocaleHelper","Picker","props","calendar","isHoliday","day","isWeekend","dateShape","parseValue","getComponentsLikeNumber","onValueChange","date","onPick","getDateFromShape","undefined","dateToInternalString","handleSelectToday","today","onSelect","todayInNativeFormat","toNativeFormat","state","month","year","scrollToMonth","render","theme","create","calendarBottomSeparatorBorder","renderMain","pickerRoot","calendarWrapper","e","preventDefault","c","maxDate","minDate","value","enableTodayLink","renderTodayLink","order","separator","setComponents","getTodayComponents","toString","withPad","withSeparator","margin","pickerTodayWrapper","todayLinkWrapper","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\n\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { locale } from '../../lib/locale/decorators';\nimport { Calendar } from '../Calendar';\nimport { CalendarDateShape } from '../Calendar/CalendarDateShape';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Button } from '../Button';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerDataTids } from './DatePicker';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\n\ninterface PickerProps {\n maxDate?: CalendarDateShape;\n minDate?: CalendarDateShape;\n value: Nullable<CalendarDateShape>;\n onPick: (date: CalendarDateShape) => void;\n onSelect?: (date: CalendarDateShape) => void;\n enableTodayLink?: boolean;\n isHoliday?: (day: CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\ninterface PickerState {\n today: CalendarDateShape;\n}\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class Picker extends React.Component<PickerProps, PickerState> {\n public static __KONTUR_REACT_UI__ = 'Picker';\n\n private theme!: Theme;\n private calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\n\n constructor(props: PickerProps) {\n super(props);\n this.state = {\n today: getTodayDate(),\n };\n warning(\n false,\n `<Picker /> has been deprecated. It will be removed in the next major version of the library. If you wish to have a similar component make use of public component <Calendar />.`,\n );\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 {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private isHoliday = (day: string, isWeekend: boolean) => {\n const dateShape = new InternalDate().parseValue(day).getComponentsLikeNumber();\n\n return !!this.props.isHoliday?.({ ...dateShape, isWeekend });\n };\n\n private onValueChange = (date: string) => {\n const dateShape = new InternalDate().parseValue(date).getComponentsLikeNumber();\n\n return this.props.onPick(dateShape);\n };\n\n private renderMain() {\n return (\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\n maxDate={this.getDateFromShape(this.props.maxDate)}\n minDate={this.getDateFromShape(this.props.minDate)}\n onValueChange={this.onValueChange}\n isHoliday={this.isHoliday}\n value={this.getDateFromShape(this.props.value)}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n );\n }\n\n private getDateFromShape = (dateShape: CalendarDateShape | undefined | null) => {\n if (!dateShape) {\n return undefined;\n }\n\n return InternalDateTransformer.dateToInternalString(dateShape);\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 if (isTheme2022(this.theme)) {\n return (\n <div style={{ margin: 8 }}>\n <Button\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n return (\n <button\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={cx({\n [styles.todayLinkWrapper(this.theme)]: true,\n })}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n if (this.props.onSelect) {\n const todayInNativeFormat = new InternalDate().parseValue(today).toNativeFormat() as CalendarDateShape;\n this.props.onSelect(todayInNativeFormat);\n }\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Picker.tsx"],"names":["React","warning","InternalDateTransformer","ThemeFactory","cx","InternalDateGetter","InternalDate","locale","Calendar","ThemeContext","getTodayDate","isTheme2022","Button","ArrowAUpIcon16Light","styles","DatePickerDataTids","DatePickerLocaleHelper","Picker","props","calendar","isHoliday","day","isWeekend","dateShape","parseValue","getComponentsLikeNumber","onValueChange","date","onPick","getDateFromShape","undefined","dateToInternalString","handleSelectToday","today","onSelect","todayInNativeFormat","toNativeFormat","state","month","year","scrollToMonth","render","theme","create","calendarBottomSeparatorBorder","renderMain","pickerRoot","calendarWrapper","e","preventDefault","c","maxDate","minDate","value","enableTodayLink","renderTodayLink","order","separator","setComponents","getTodayComponents","toString","withPad","withSeparator","margin","pickerTodayWrapper","todayLinkWrapper","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\n\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { locale } from '../../lib/locale/decorators';\nimport { Calendar } from '../Calendar';\nimport { CalendarDateShape } from '../Calendar/CalendarDateShape';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Button } from '../Button';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerDataTids } from './DatePicker';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\n\ninterface PickerProps {\n maxDate?: CalendarDateShape;\n minDate?: CalendarDateShape;\n value: Nullable<CalendarDateShape>;\n onPick: (date: CalendarDateShape) => void;\n onSelect?: (date: CalendarDateShape) => void;\n enableTodayLink?: boolean;\n isHoliday?: (day: CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\ninterface PickerState {\n today: CalendarDateShape;\n}\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class Picker extends React.Component<PickerProps, PickerState> {\n public static __KONTUR_REACT_UI__ = 'Picker';\n public static displayName = 'Picker';\n\n private theme!: Theme;\n private calendar: Calendar | null = null;\n private readonly locale!: DatePickerLocale;\n\n constructor(props: PickerProps) {\n super(props);\n this.state = {\n today: getTodayDate(),\n };\n warning(\n false,\n `<Picker /> has been deprecated. It will be removed in the next major version of the library. If you wish to have a similar component make use of public component <Calendar />.`,\n );\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 {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private isHoliday = (day: string, isWeekend: boolean) => {\n const dateShape = new InternalDate().parseValue(day).getComponentsLikeNumber();\n\n return !!this.props.isHoliday?.({ ...dateShape, isWeekend });\n };\n\n private onValueChange = (date: string) => {\n const dateShape = new InternalDate().parseValue(date).getComponentsLikeNumber();\n\n return this.props.onPick(dateShape);\n };\n\n private renderMain() {\n return (\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n ref={(c) => (this.calendar = c)}\n maxDate={this.getDateFromShape(this.props.maxDate)}\n minDate={this.getDateFromShape(this.props.minDate)}\n onValueChange={this.onValueChange}\n isHoliday={this.isHoliday}\n value={this.getDateFromShape(this.props.value)}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n );\n }\n\n private getDateFromShape = (dateShape: CalendarDateShape | undefined | null) => {\n if (!dateShape) {\n return undefined;\n }\n\n return InternalDateTransformer.dateToInternalString(dateShape);\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 if (isTheme2022(this.theme)) {\n return (\n <div style={{ margin: 8 }}>\n <Button\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={this.handleSelectToday(today)}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n return (\n <button\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n className={cx({\n [styles.todayLinkWrapper(this.theme)]: true,\n })}\n onClick={this.handleSelectToday(today)}\n tabIndex={-1}\n >\n {`${this.locale.today} ${today}`}\n </button>\n );\n }\n\n private handleSelectToday = (today: string) => () => {\n if (this.props.onSelect) {\n const todayInNativeFormat = new InternalDate().parseValue(today).toNativeFormat() as CalendarDateShape;\n this.props.onSelect(todayInNativeFormat);\n }\n\n if (this.calendar) {\n const { month, year } = this.state.today;\n this.calendar.scrollToMonth(month, year);\n }\n };\n}\n"]}
@@ -17,6 +17,7 @@ interface PickerState {
17
17
  }
18
18
  export declare class Picker extends React.Component<PickerProps, PickerState> {
19
19
  static __KONTUR_REACT_UI__: string;
20
+ static displayName: string;
20
21
  private theme;
21
22
  private calendar;
22
23
  private readonly locale;
@@ -120,7 +120,7 @@ export var Dropdown = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
120
120
  };
121
121
 
122
122
  return Dropdown;
123
- }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Dropdown', _class2.Header = MenuHeader, _class2.MenuItem = MenuItem, _class2.Separator = MenuSeparator, _class2.propTypes = {
123
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Dropdown', _class2.displayName = 'Dropdown', _class2.Header = MenuHeader, _class2.MenuItem = MenuItem, _class2.Separator = MenuSeparator, _class2.propTypes = {
124
124
  /**
125
125
  * Подпись на кнопке.
126
126
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["Dropdown.tsx"],"names":["React","PropTypes","filterProps","MenuHeader","MenuItem","MenuSeparator","Select","CommonWrapper","rootNode","ThemeContext","getDropdownTheme","PASS_PROPS","_renderButton","error","disabled","disablePortal","menuAlign","menuWidth","maxMenuHeight","use","size","warning","width","onOpen","onClose","onMouseEnter","onMouseLeave","onMouseOver","menuPos","DropdownDataTids","root","Dropdown","renderMain","caption","icon","props","items","Children","map","children","item","setRootNode","_refSelect","renderValue","element","_select","render","theme","open","close","Component","__KONTUR_REACT_UI__","Header","Separator","propTypes","node","isRequired","bool","number","oneOf","oneOfType","string","any","func","value"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } 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 { DropdownContainerProps } from '../../internal/DropdownContainer';\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 'aria-describedby': true,\n};\n\nexport interface DropdownProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n CommonProps,\n Pick<DropdownContainerProps, 'menuPos'> {\n /**\n * Подпись на кнопке.\n */\n caption: React.ReactNode;\n /**\n * Иконка слева от текста кнопки\n */\n icon?: React.ReactElement<any>;\n width?: React.CSSProperties['width'];\n\n /** @ignore */\n _renderButton?: (params: any) => JSX.Element;\n\n /**\n * Отключает использование портала\n */\n disablePortal?: boolean;\n\n /**\n * Визуально отключает Dropdown\n */\n disabled?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n maxMenuHeight?: number;\n menuAlign?: 'left' | 'right';\n menuWidth?: number | string;\n size?: SizeProp;\n\n /**\n * Смотри Button.\n */\n use?: ButtonUse;\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose?: () => void;\n /**\n * Вызывается при открытии меню.\n */\n onOpen?: () => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;\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 * Выпадающее меню.\n *\n */\n@rootNode\nexport class Dropdown extends React.Component<DropdownProps> {\n public static __KONTUR_REACT_UI__ = '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"]}
1
+ {"version":3,"sources":["Dropdown.tsx"],"names":["React","PropTypes","filterProps","MenuHeader","MenuItem","MenuSeparator","Select","CommonWrapper","rootNode","ThemeContext","getDropdownTheme","PASS_PROPS","_renderButton","error","disabled","disablePortal","menuAlign","menuWidth","maxMenuHeight","use","size","warning","width","onOpen","onClose","onMouseEnter","onMouseLeave","onMouseOver","menuPos","DropdownDataTids","root","Dropdown","renderMain","caption","icon","props","items","Children","map","children","item","setRootNode","_refSelect","renderValue","element","_select","render","theme","open","close","Component","__KONTUR_REACT_UI__","displayName","Header","Separator","propTypes","node","isRequired","bool","number","oneOf","oneOfType","string","any","func","value"],"mappings":"mSAAA,OAAOA,KAAP,MAAsC,OAAtC;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,WAAT,QAA4B,uBAA5B;AACA,SAASC,UAAT,QAA2B,eAA3B;AACA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,MAAT,QAAuB,WAAvB;;;AAGA,SAASC,aAAT,QAAmE,8BAAnE;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,YAAT,QAA6B,gCAA7B;;;;;AAKA,SAASC,gBAAT,QAAiC,oBAAjC;;AAEA,IAAMC,UAAU,GAAG;AACjBC,EAAAA,aAAa,EAAE,IADE;AAEjBC,EAAAA,KAAK,EAAE,IAFU;AAGjBC,EAAAA,QAAQ,EAAE,IAHO;AAIjBC,EAAAA,aAAa,EAAE,IAJE;AAKjBC,EAAAA,SAAS,EAAE,IALM;AAMjBC,EAAAA,SAAS,EAAE,IANM;AAOjBC,EAAAA,aAAa,EAAE,IAPE;AAQjBC,EAAAA,GAAG,EAAE,IARY;AASjBC,EAAAA,IAAI,EAAE,IATW;AAUjBC,EAAAA,OAAO,EAAE,IAVQ;AAWjBC,EAAAA,KAAK,EAAE,IAXU;AAYjBC,EAAAA,MAAM,EAAE,IAZS;AAajBC,EAAAA,OAAO,EAAE,IAbQ;AAcjBC,EAAAA,YAAY,EAAE,IAdG;AAejBC,EAAAA,YAAY,EAAE,IAfG;AAgBjBC,EAAAA,WAAW,EAAE,IAhBI;AAiBjBC,EAAAA,OAAO,EAAE,IAjBQ;AAkBjB,sBAAoB,IAlBH,EAAnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,OAAO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,gBADwB,EAAzB;;;AAIP;AACA;AACA;AACA;;AAEA,WAAaC,QAAb,GADCvB,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFSwB,IAAAA,UAtFT,GAsFsB,gBAAwE,KAArEC,OAAqE,QAArEA,OAAqE,CAA5DC,IAA4D,QAA5DA,IAA4D,CAAnDC,KAAmD;AAC1F,UAAMC,KAAK,GAAGpC,KAAK,CAACqC,QAAN,CAAeC,GAAf,CAAmB,MAAKH,KAAL,CAAWI,QAA9B,EAAwC,UAACC,IAAD,UAAUA,IAAV,EAAxC,KAA2D,EAAzE;;AAEA;AACE,4BAAC,aAAD,aAAe,WAAW,EAAE,MAAKC,WAAjC,IAAkD,MAAKN,KAAvD;AACE,4BAAC,MAAD;AACE,sBAAUN,gBAAgB,CAACC,IAD7B;AAEE,UAAA,GAAG,EAAE,MAAKY,UAFZ;AAGMxC,QAAAA,WAAW,CAACiC,KAAD,EAAQxB,UAAR,CAHjB;AAIE,UAAA,KAAK,EAAEsB,OAJT;AAKE,UAAA,KAAK,EAAEG,KALT;AAME,UAAA,KAAK,EAAEF,IANT;AAOE,UAAA,WAAW,EAAES,WAPf;AAQE,UAAA,IAAI,EAAE,MAAKR,KAAL,CAAWf,IARnB;AASE,wBAAY,MAAKe,KAAL,CAAW,YAAX,CATd,IADF,CADF;;;;AAeD,KAxGH;;;;;;;;;;;;;;;;;;;;AA4HUO,IAAAA,UA5HV,GA4HuB,UAACE,OAAD,EAAuC;AAC1D,YAAKC,OAAL,GAAeD,OAAf;AACD,KA9HH,sDA2ESE,MA3ET,GA2EE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAarC,gBAAgB,CAACqC,KAAD,CAA7B,CACA,oBAAO,oBAAC,YAAD,CAAc,QAAd,IAAuB,KAAK,EAAE,MAAI,CAACA,KAAnC,IAA2C,MAAI,CAACf,UAAL,CAAgB,MAAI,CAACG,KAArB,CAA3C,CAAP,CACD,CAJH,CADF,CAQD,CApFH,EA0GE;AACF;AACA,KA5GA,OA6GSa,IA7GT,GA6GE,gBAAc,CACZ,IAAI,KAAKH,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaG,IAAb,GACD,CACF,CAjHH,CAmHE;AACF;AACA,KArHA,QAsHSC,KAtHT,GAsHE,iBAAe,CACb,IAAI,KAAKJ,OAAT,EAAkB,CAChB,KAAKA,OAAL,CAAaI,KAAb,GACD,CACF,CA1HH,mBAA8BjD,KAAK,CAACkD,SAApC,WACgBC,mBADhB,GACsC,UADtC,UAEgBC,WAFhB,GAE8B,UAF9B,UAIgBC,MAJhB,GAIyBlD,UAJzB,UAKgBC,QALhB,GAK2BA,QAL3B,UAMgBkD,SANhB,GAM4BjD,aAN5B,UAQgBkD,SARhB,GAQ4B,EACxB;AACJ;AACA,KACItB,OAAO,EAAEhC,SAAS,CAACuD,IAAV,CAAeC,UAJA,EAMxB;AACJ;AACA,KACI1C,aAAa,EAAEd,SAAS,CAACyD,IATD,EAWxB;AACJ;AACA,KACI5C,QAAQ,EAAEb,SAAS,CAACyD,IAdI,EAgBxB;AACJ;AACA,KACI7C,KAAK,EAAEZ,SAAS,CAACyD,IAnBO,EAqBxB;AACJ;AACA,KACIxB,IAAI,EAAEjC,SAAS,CAACuD,IAxBQ,EA0BxBtC,aAAa,EAAEjB,SAAS,CAAC0D,MA1BD,EA4BxB3C,SAAS,EAAEf,SAAS,CAAC2D,KAAV,CAAgB,CAAC,MAAD,EAAS,OAAT,CAAhB,CA5Ba,EA8BxB3C,SAAS,EAAEhB,SAAS,CAAC4D,SAAV,CAAoB,CAAC5D,SAAS,CAAC0D,MAAX,EAAmB1D,SAAS,CAAC6D,MAA7B,CAApB,CA9Ba,EAgCxB1C,IAAI,EAAEnB,SAAS,CAAC2D,KAAV,CAAgB,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,CAAhB,CAhCkB,EAkCxB;AACJ;AACA,KACIzC,GAAG,EAAElB,SAAS,CAAC8D,GArCS,EAuCxB;AACJ;AACA,KACI1C,OAAO,EAAEpB,SAAS,CAACyD,IA1CK,EA4CxBpC,KAAK,EAAErB,SAAS,CAAC4D,SAAV,CAAoB,CAAC5D,SAAS,CAAC0D,MAAX,EAAmB1D,SAAS,CAAC6D,MAA7B,CAApB,CA5CiB,EA8CxB;AACJ;AACA,KACItC,OAAO,EAAEvB,SAAS,CAAC+D,IAjDK,EAmDxBvC,YAAY,EAAExB,SAAS,CAAC+D,IAnDA,EAqDxBtC,YAAY,EAAEzB,SAAS,CAAC+D,IArDA,EAuDxBrC,WAAW,EAAE1B,SAAS,CAAC+D,IAvDC,EAyDxB;AACJ;AACA,KACIzC,MAAM,EAAEtB,SAAS,CAAC+D,IA5DM,EAR5B,oBAiIA,SAASrB,WAAT,CAAqBsB,KAArB,EAAiC,CAC/B,OAAOA,KAAP,CACD","sourcesContent":["import React, { AriaAttributes } 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 { DropdownContainerProps } from '../../internal/DropdownContainer';\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 'aria-describedby': true,\n};\n\nexport interface DropdownProps\n extends Pick<AriaAttributes, 'aria-label' | 'aria-describedby'>,\n CommonProps,\n Pick<DropdownContainerProps, 'menuPos'> {\n /**\n * Подпись на кнопке.\n */\n caption: React.ReactNode;\n /**\n * Иконка слева от текста кнопки\n */\n icon?: React.ReactElement<any>;\n width?: React.CSSProperties['width'];\n\n /** @ignore */\n _renderButton?: (params: any) => JSX.Element;\n\n /**\n * Отключает использование портала\n */\n disablePortal?: boolean;\n\n /**\n * Визуально отключает Dropdown\n */\n disabled?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n maxMenuHeight?: number;\n menuAlign?: 'left' | 'right';\n menuWidth?: number | string;\n size?: SizeProp;\n\n /**\n * Смотри Button.\n */\n use?: ButtonUse;\n\n /**\n * Вызывается при закрытии меню.\n */\n onClose?: () => void;\n /**\n * Вызывается при открытии меню.\n */\n onOpen?: () => void;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement>) => void;\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 * Выпадающее меню.\n *\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"]}
@@ -64,6 +64,7 @@ export declare const DropdownDataTids: {
64
64
  */
65
65
  export declare class Dropdown extends React.Component<DropdownProps> {
66
66
  static __KONTUR_REACT_UI__: string;
67
+ static displayName: string;
67
68
  static Header: typeof MenuHeader;
68
69
  static MenuItem: typeof MenuItem;
69
70
  static Separator: typeof MenuSeparator;
@@ -91,7 +91,7 @@ var DropdownMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
91
91
  };
92
92
 
93
93
  return DropdownMenu;
94
- }(React.Component), _class2.__KONTUR_REACT_UI__ = 'DropdownMenu', _class2.defaultProps = {
94
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'DropdownMenu', _class2.displayName = 'DropdownMenu', _class2.defaultProps = {
95
95
  disableAnimations: isTestEnv,
96
96
  positions: ['bottom left', 'bottom right', 'top left', 'top right']
97
97
  }, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownMenu.tsx"],"names":["React","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","getDropdownMenuTheme","DropdownMenu","props","getProps","defaultProps","popupMenu","open","close","refPopupMenu","ref","caption","Error","render","theme","renderMain","positions","disableAnimations","setRootNode","menuMaxHeight","menuWidth","preventIconsOffset","header","footer","width","onClose","onOpen","popupMenuId","children","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { getDropdownMenuTheme } from './getDropdownMenuTheme';\n\nexport interface DropdownMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [MenuHeader](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [MenuSeparator](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownMenuProps, 'disableAnimations' | 'positions'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private getProps = createPropsGetter(DropdownMenu.defaultProps);\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return <ThemeContext.Provider value={getDropdownMenuTheme(theme)}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n const { positions, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n preventIconsOffset={this.props.preventIconsOffset}\n popupHasPin={false}\n positions={positions}\n disableAnimations={disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n onClose={this.props.onClose}\n onOpen={this.props.onOpen}\n popupMenuId={this.props.popupMenuId}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n}\n"]}
1
+ {"version":3,"sources":["DropdownMenu.tsx"],"names":["React","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","getDropdownMenuTheme","DropdownMenu","props","getProps","defaultProps","popupMenu","open","close","refPopupMenu","ref","caption","Error","render","theme","renderMain","positions","disableAnimations","setRootNode","menuMaxHeight","menuWidth","preventIconsOffset","header","footer","width","onClose","onOpen","popupMenuId","children","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { getDropdownMenuTheme } from './getDropdownMenuTheme';\n\nexport interface DropdownMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [MenuHeader](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [MenuSeparator](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownMenuProps, 'disableAnimations' | 'positions'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n public static displayName = 'DropdownMenu';\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private getProps = createPropsGetter(DropdownMenu.defaultProps);\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return <ThemeContext.Provider value={getDropdownMenuTheme(theme)}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n const { positions, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n preventIconsOffset={this.props.preventIconsOffset}\n popupHasPin={false}\n positions={positions}\n disableAnimations={disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n onClose={this.props.onClose}\n onOpen={this.props.onOpen}\n popupMenuId={this.props.popupMenuId}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n}\n"]}
@@ -48,6 +48,7 @@ declare type DefaultProps = Required<Pick<DropdownMenuProps, 'disableAnimations'
48
48
  */
49
49
  export declare class DropdownMenu extends React.Component<DropdownMenuProps> {
50
50
  static __KONTUR_REACT_UI__: string;
51
+ static displayName: string;
51
52
  static defaultProps: DefaultProps;
52
53
  private getProps;
53
54
  private popupMenu;
@@ -22,6 +22,7 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
22
22
  import { FileUploaderFileValidationResult } from "../../../internal/FileUploaderControl/FileUploaderFileValidationResult";
23
23
  import { useFileUploaderSize } from "../../../internal/FileUploaderControl/hooks/useFileUploaderSize";
24
24
  import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
25
+ import { forwardRefAndName } from "../../../lib/forwardRefAndName";
25
26
  import { UploadIcon as UploadIcon2022 } from "../UploadIcon";
26
27
  import { globalClasses, jsStyles } from "../FileUploader.styles";
27
28
 
@@ -44,7 +45,7 @@ var defaultRenderFile = function defaultRenderFile(file, fileNode) {
44
45
  return fileNode;
45
46
  };
46
47
 
47
- var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
48
+ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
48
49
  var _cx;
49
50
 
50
51
  var theme = useContext(ThemeContext);