@skbkontur/react-ui 6.0.2 → 6.0.4-46247.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +6 -8
  3. package/components/Autocomplete/Autocomplete.d.ts +2 -2
  4. package/components/Autocomplete/Autocomplete.js +16 -16
  5. package/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  7. package/components/Autocomplete/locale/index.js.map +1 -1
  8. package/components/Button/Button.d.ts +3 -3
  9. package/components/Button/Button.js +9 -9
  10. package/components/Button/Button.js.map +1 -1
  11. package/components/Button/Button.styles.js +2 -2
  12. package/components/Button/Button.styles.js.map +1 -1
  13. package/components/Button/ButtonArrow.d.ts +1 -1
  14. package/components/Button/ButtonArrow.js +2 -2
  15. package/components/Button/ButtonArrow.js.map +1 -1
  16. package/components/Button/ButtonIcon.js +1 -1
  17. package/components/Button/ButtonIcon.js.map +1 -1
  18. package/components/Button/LoadingButtonIcon.js +1 -1
  19. package/components/Button/LoadingButtonIcon.js.map +1 -1
  20. package/components/Button/getInnerLinkTheme.js.map +1 -1
  21. package/components/Calendar/Calendar.d.ts +2 -2
  22. package/components/Calendar/Calendar.js +13 -13
  23. package/components/Calendar/Calendar.js.map +1 -1
  24. package/components/Calendar/CalendarContext.d.ts +1 -1
  25. package/components/Calendar/CalendarContext.js.map +1 -1
  26. package/components/Calendar/CalendarDay.d.ts +1 -2
  27. package/components/Calendar/CalendarDay.js +7 -7
  28. package/components/Calendar/CalendarDay.js.map +1 -1
  29. package/components/Calendar/CalendarUtils.d.ts +2 -2
  30. package/components/Calendar/CalendarUtils.js +1 -1
  31. package/components/Calendar/CalendarUtils.js.map +1 -1
  32. package/components/Calendar/DayCellView.js +2 -2
  33. package/components/Calendar/DayCellView.js.map +1 -1
  34. package/components/Calendar/DayCellView.styles.js +1 -1
  35. package/components/Calendar/DayCellView.styles.js.map +1 -1
  36. package/components/Calendar/Month.js +4 -4
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js +5 -5
  39. package/components/Calendar/MonthView.js.map +1 -1
  40. package/components/Calendar/MonthViewModel.js.map +1 -1
  41. package/components/Calendar/config.js.map +1 -1
  42. package/components/Center/Center.d.ts +1 -1
  43. package/components/Center/Center.js +1 -1
  44. package/components/Center/Center.js.map +1 -1
  45. package/components/Checkbox/Checkbox.d.ts +1 -1
  46. package/components/Checkbox/Checkbox.js +5 -5
  47. package/components/Checkbox/Checkbox.js.map +1 -1
  48. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  49. package/components/Checkbox/CheckedIcon.js +1 -1
  50. package/components/Checkbox/CheckedIcon.js.map +1 -1
  51. package/components/ComboBox/ComboBox.d.ts +3 -3
  52. package/components/ComboBox/ComboBox.js +1 -1
  53. package/components/ComboBox/ComboBox.js.map +1 -1
  54. package/components/CurrencyInput/CurrencyHelper.js +1 -1
  55. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  56. package/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  57. package/components/CurrencyInput/CurrencyInput.js +6 -6
  58. package/components/CurrencyInput/CurrencyInput.js.map +1 -1
  59. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  60. package/components/CurrencyLabel/CurrencyLabel.js +2 -2
  61. package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  62. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  63. package/components/DateInput/DateFragmentsView.js +1 -1
  64. package/components/DateInput/DateFragmentsView.js.map +1 -1
  65. package/components/DateInput/DateInput.d.ts +1 -1
  66. package/components/DateInput/DateInput.js +8 -8
  67. package/components/DateInput/DateInput.js.map +1 -1
  68. package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  69. package/components/DatePicker/DatePicker.d.ts +2 -2
  70. package/components/DatePicker/DatePicker.js +16 -16
  71. package/components/DatePicker/DatePicker.js.map +1 -1
  72. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  73. package/components/DatePicker/MobilePicker.js +6 -6
  74. package/components/DatePicker/MobilePicker.js.map +1 -1
  75. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  76. package/components/DatePicker/locale/index.js.map +1 -1
  77. package/components/DatePicker/locale/locales/en.js +1 -1
  78. package/components/DatePicker/locale/locales/en.js.map +1 -1
  79. package/components/DatePicker/locale/locales/ru.js +1 -1
  80. package/components/DatePicker/locale/locales/ru.js.map +1 -1
  81. package/components/DateRangePicker/DateRangePicker.d.ts +19 -19
  82. package/components/DateRangePicker/DateRangePicker.js +17 -17
  83. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  84. package/components/DateRangePicker/DateRangePicker.styles.d.ts +1 -1
  85. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  86. package/components/DateRangePicker/DateRangePickerContext.d.ts +1 -1
  87. package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  88. package/components/DateRangePicker/DateRangePickerInput.d.ts +1 -1
  89. package/components/DateRangePicker/DateRangePickerInput.js +3 -3
  90. package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  91. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  92. package/components/DateRangePicker/helpers/getStateForValue.js +2 -2
  93. package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
  94. package/components/DateRangePicker/helpers/validateDateRangePicker.js +3 -3
  95. package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  96. package/components/DateRangePicker/locale/index.js.map +1 -1
  97. package/components/DateRangePicker/locale/locales/en.js.map +1 -1
  98. package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
  99. package/components/Dropdown/Dropdown.d.ts +2 -2
  100. package/components/Dropdown/Dropdown.js +3 -3
  101. package/components/Dropdown/Dropdown.js.map +1 -1
  102. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  103. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  104. package/components/DropdownMenu/DropdownMenu.js +3 -3
  105. package/components/DropdownMenu/DropdownMenu.js.map +1 -1
  106. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  107. package/components/FileUploader/FileUploader.d.ts +5 -5
  108. package/components/FileUploader/FileUploader.js +22 -20
  109. package/components/FileUploader/FileUploader.js.map +1 -1
  110. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  111. package/components/FileUploader/FileUploaderControlContext.d.ts +1 -1
  112. package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
  113. package/components/FileUploader/FileUploaderControlProvider.d.ts +1 -1
  114. package/components/FileUploader/FileUploaderControlProvider.js +3 -3
  115. package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
  116. package/components/FileUploader/FileUploaderFile.js +11 -11
  117. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  118. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.d.ts +1 -1
  119. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +5 -5
  120. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  121. package/components/FileUploader/FileUploaderFileStatusIcon.js +3 -3
  122. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  123. package/components/FileUploader/FileUploaderFileTypeIcon.js +4 -4
  124. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  125. package/components/FileUploader/fileUtils.js.map +1 -1
  126. package/components/FileUploader/hooks/useUpload.js +1 -1
  127. package/components/FileUploader/hooks/useUpload.js.map +1 -1
  128. package/components/FileUploader/icons/UploadIcon.js +1 -1
  129. package/components/FileUploader/icons/UploadIcon.js.map +1 -1
  130. package/components/FileUploader/icons/row/ArchiveIcon.js +1 -1
  131. package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
  132. package/components/FileUploader/icons/row/DocTextIcon.js +1 -1
  133. package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
  134. package/components/FileUploader/icons/row/FolderIcon.js +1 -1
  135. package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
  136. package/components/FileUploader/icons/row/MarkupIcon.js +1 -1
  137. package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
  138. package/components/FileUploader/icons/row/PdfIcon.js +1 -1
  139. package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
  140. package/components/FileUploader/icons/row/PictureIcon.js +1 -1
  141. package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
  142. package/components/FileUploader/icons/row/PresentationIcon.js +1 -1
  143. package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
  144. package/components/FileUploader/icons/row/TableIcon.js +1 -1
  145. package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
  146. package/components/FileUploader/icons/row/TextIcon.js +1 -1
  147. package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
  148. package/components/FileUploader/icons/tile/ArchiveIcon.js +1 -1
  149. package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
  150. package/components/FileUploader/icons/tile/DocTextIcon.js +1 -1
  151. package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
  152. package/components/FileUploader/icons/tile/FolderIcon.js +1 -1
  153. package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
  154. package/components/FileUploader/icons/tile/MarkupIcon.js +1 -1
  155. package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
  156. package/components/FileUploader/icons/tile/PdfIcon.js +1 -1
  157. package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
  158. package/components/FileUploader/icons/tile/PictureIcon.js +1 -1
  159. package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
  160. package/components/FileUploader/icons/tile/PresentationIcon.js +1 -1
  161. package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
  162. package/components/FileUploader/icons/tile/TableIcon.js +1 -1
  163. package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
  164. package/components/FileUploader/icons/tile/TextIcon.js +1 -1
  165. package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
  166. package/components/FileUploader/locale/index.js.map +1 -1
  167. package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
  168. package/components/FxInput/FxInput.d.ts +6 -6
  169. package/components/FxInput/FxInput.js +6 -6
  170. package/components/FxInput/FxInput.js.map +1 -1
  171. package/components/FxInput/FxInputRestoreBtn.d.ts +1 -1
  172. package/components/FxInput/FxInputRestoreBtn.js +1 -1
  173. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  174. package/components/FxInput/UndoIcon.js +2 -2
  175. package/components/FxInput/UndoIcon.js.map +1 -1
  176. package/components/Gapped/Gapped.js +2 -2
  177. package/components/Gapped/Gapped.js.map +1 -1
  178. package/components/GlobalLoader/GlobalLoader.js +3 -3
  179. package/components/GlobalLoader/GlobalLoader.js.map +1 -1
  180. package/components/GlobalLoader/GlobalLoaderView.js +2 -2
  181. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  182. package/components/GlobalLoader/useParams.js.map +1 -1
  183. package/components/Group/Group.js +2 -2
  184. package/components/Group/Group.js.map +1 -1
  185. package/components/Hint/Hint.d.ts +4 -4
  186. package/components/Hint/Hint.js +5 -5
  187. package/components/Hint/Hint.js.map +1 -1
  188. package/components/Hint/Hint.styles.js.map +1 -1
  189. package/components/Input/Input.d.ts +1 -1
  190. package/components/Input/Input.js +7 -8
  191. package/components/Input/Input.js.map +1 -1
  192. package/components/Input/Input.styles.js +1 -1
  193. package/components/Input/Input.styles.js.map +1 -1
  194. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  195. package/components/Input/InputLayout/InputLayout.js +4 -4
  196. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  197. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  198. package/components/Input/InputLayout/InputLayoutAsideIcon.js +2 -2
  199. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  200. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  201. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  202. package/components/Kebab/Kebab.d.ts +3 -3
  203. package/components/Kebab/Kebab.js +11 -11
  204. package/components/Kebab/Kebab.js.map +1 -1
  205. package/components/Link/Link.d.ts +3 -3
  206. package/components/Link/Link.js +6 -6
  207. package/components/Link/Link.js.map +1 -1
  208. package/components/Link/Link.styles.js +1 -1
  209. package/components/Link/Link.styles.js.map +1 -1
  210. package/components/Link/LinkIcon.js.map +1 -1
  211. package/components/Loader/Loader.d.ts +2 -2
  212. package/components/Loader/Loader.js +10 -10
  213. package/components/Loader/Loader.js.map +1 -1
  214. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +4 -4
  215. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  216. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +1 -1
  217. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  218. package/components/MaskedInput/FixedIMaskInput.js +2 -2
  219. package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  220. package/components/MaskedInput/MaskedInput.js +5 -5
  221. package/components/MaskedInput/MaskedInput.js.map +1 -1
  222. package/components/MaskedInput/MaskedInput.styles.js +1 -1
  223. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  224. package/components/MenuFooter/MenuFooter.js +2 -2
  225. package/components/MenuFooter/MenuFooter.js.map +1 -1
  226. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  227. package/components/MenuHeader/MenuHeader.js +2 -2
  228. package/components/MenuHeader/MenuHeader.js.map +1 -1
  229. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  230. package/components/MenuItem/MenuItem.d.ts +1 -1
  231. package/components/MenuItem/MenuItem.js +6 -6
  232. package/components/MenuItem/MenuItem.js.map +1 -1
  233. package/components/MenuItem/MenuItem.styles.js +1 -1
  234. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  235. package/components/MenuSeparator/MenuSeparator.js +2 -2
  236. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  237. package/components/MiniModal/MiniModal.d.ts +2 -2
  238. package/components/MiniModal/MiniModal.js +3 -3
  239. package/components/MiniModal/MiniModal.js.map +1 -1
  240. package/components/MiniModal/MiniModalBody.js +2 -2
  241. package/components/MiniModal/MiniModalBody.js.map +1 -1
  242. package/components/MiniModal/MiniModalFooter.js +3 -3
  243. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  244. package/components/MiniModal/MiniModalHeader.js +4 -4
  245. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  246. package/components/MiniModal/MiniModalIndent.js +2 -2
  247. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  248. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  249. package/components/Modal/Modal.d.ts +2 -2
  250. package/components/Modal/Modal.js +15 -15
  251. package/components/Modal/Modal.js.map +1 -1
  252. package/components/Modal/Modal.styles.js +1 -1
  253. package/components/Modal/Modal.styles.js.map +1 -1
  254. package/components/Modal/ModalBody.js +7 -7
  255. package/components/Modal/ModalBody.js.map +1 -1
  256. package/components/Modal/ModalClose.js +6 -6
  257. package/components/Modal/ModalClose.js.map +1 -1
  258. package/components/Modal/ModalFooter.d.ts +1 -1
  259. package/components/Modal/ModalFooter.js +5 -5
  260. package/components/Modal/ModalFooter.js.map +1 -1
  261. package/components/Modal/ModalHeader.d.ts +1 -1
  262. package/components/Modal/ModalHeader.js +2 -2
  263. package/components/Modal/ModalHeader.js.map +1 -1
  264. package/components/Modal/ModalSeparator.js.map +1 -1
  265. package/components/Modal/getModalBodyTheme.js.map +1 -1
  266. package/components/Modal/getModalTheme.js.map +1 -1
  267. package/components/Modal/locale/index.js.map +1 -1
  268. package/components/Paging/DotsIcon.js +1 -1
  269. package/components/Paging/DotsIcon.js.map +1 -1
  270. package/components/Paging/Paging.d.ts +1 -1
  271. package/components/Paging/Paging.js +13 -13
  272. package/components/Paging/Paging.js.map +1 -1
  273. package/components/Paging/PagingDefaultComponent.js.map +1 -1
  274. package/components/Paging/locale/index.js.map +1 -1
  275. package/components/PasswordInput/ClosedIcon.js +1 -1
  276. package/components/PasswordInput/ClosedIcon.js.map +1 -1
  277. package/components/PasswordInput/OpenedIcon.js +1 -1
  278. package/components/PasswordInput/OpenedIcon.js.map +1 -1
  279. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  280. package/components/PasswordInput/PasswordInput.js +8 -8
  281. package/components/PasswordInput/PasswordInput.js.map +1 -1
  282. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  283. package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  284. package/components/PasswordInput/locale/index.js.map +1 -1
  285. package/components/Radio/Radio.d.ts +2 -2
  286. package/components/Radio/Radio.js +6 -6
  287. package/components/Radio/Radio.js.map +1 -1
  288. package/components/Radio/Radio.mixins.js +1 -1
  289. package/components/Radio/Radio.mixins.js.map +1 -1
  290. package/components/Radio/Radio.styles.js.map +1 -1
  291. package/components/RadioGroup/RadioGroup.js +7 -7
  292. package/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/components/ResponsiveLayout/ResponsiveLayout.js +2 -2
  294. package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  295. package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  296. package/components/ScrollContainer/ScrollBar.js +2 -2
  297. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  298. package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  299. package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  300. package/components/ScrollContainer/ScrollContainer.js +8 -8
  301. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  302. package/components/Select/Select.d.ts +4 -4
  303. package/components/Select/Select.js +17 -17
  304. package/components/Select/Select.js.map +1 -1
  305. package/components/Select/locale/index.js.map +1 -1
  306. package/components/Select/selectTheme.js.map +1 -1
  307. package/components/SidePage/SidePage.js +11 -11
  308. package/components/SidePage/SidePage.js.map +1 -1
  309. package/components/SidePage/SidePage.styles.js +1 -1
  310. package/components/SidePage/SidePage.styles.js.map +1 -1
  311. package/components/SidePage/SidePageBody.js +2 -2
  312. package/components/SidePage/SidePageBody.js.map +1 -1
  313. package/components/SidePage/SidePageCloseButton.js +5 -5
  314. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  315. package/components/SidePage/SidePageContainer.js +3 -3
  316. package/components/SidePage/SidePageContainer.js.map +1 -1
  317. package/components/SidePage/SidePageFooter.js +6 -6
  318. package/components/SidePage/SidePageFooter.js.map +1 -1
  319. package/components/SidePage/SidePageHeader.js +7 -7
  320. package/components/SidePage/SidePageHeader.js.map +1 -1
  321. package/components/SidePage/locale/index.js.map +1 -1
  322. package/components/SingleToast/SingleToast.js +1 -1
  323. package/components/SingleToast/SingleToast.js.map +1 -1
  324. package/components/Spinner/Spinner.js +3 -3
  325. package/components/Spinner/Spinner.js.map +1 -1
  326. package/components/Spinner/Spinner.styles.js +1 -1
  327. package/components/Spinner/Spinner.styles.js.map +1 -1
  328. package/components/Sticky/Sticky.d.ts +1 -1
  329. package/components/Sticky/Sticky.js +5 -5
  330. package/components/Sticky/Sticky.js.map +1 -1
  331. package/components/Switcher/Switcher.d.ts +2 -2
  332. package/components/Switcher/Switcher.js +6 -6
  333. package/components/Switcher/Switcher.js.map +1 -1
  334. package/components/Switcher/switcherTheme.js.map +1 -1
  335. package/components/Tabs/Indicator.js +5 -5
  336. package/components/Tabs/Indicator.js.map +1 -1
  337. package/components/Tabs/Tab.d.ts +1 -1
  338. package/components/Tabs/Tab.js +8 -8
  339. package/components/Tabs/Tab.js.map +1 -1
  340. package/components/Tabs/Tab.styles.js +1 -1
  341. package/components/Tabs/Tab.styles.js.map +1 -1
  342. package/components/Tabs/Tabs.js +4 -4
  343. package/components/Tabs/Tabs.js.map +1 -1
  344. package/components/Tabs/Tabs.styles.js.map +1 -1
  345. package/components/Tabs/TabsContext.js.map +1 -1
  346. package/components/Textarea/Textarea.d.ts +1 -1
  347. package/components/Textarea/Textarea.js +9 -9
  348. package/components/Textarea/Textarea.js.map +1 -1
  349. package/components/Textarea/Textarea.styles.js.map +1 -1
  350. package/components/Textarea/TextareaCounter.js +3 -3
  351. package/components/Textarea/TextareaCounter.js.map +1 -1
  352. package/components/Toast/Toast.d.ts +2 -2
  353. package/components/Toast/Toast.js +4 -4
  354. package/components/Toast/Toast.js.map +1 -1
  355. package/components/Toast/ToastView.d.ts +1 -1
  356. package/components/Toast/ToastView.js +7 -7
  357. package/components/Toast/ToastView.js.map +1 -1
  358. package/components/Toast/locale/index.js.map +1 -1
  359. package/components/Toggle/Toggle.d.ts +1 -1
  360. package/components/Toggle/Toggle.js +5 -5
  361. package/components/Toggle/Toggle.js.map +1 -1
  362. package/components/Toggle/Toggle.mixins.js.map +1 -1
  363. package/components/Toggle/Toggle.styles.js.map +1 -1
  364. package/components/Token/Token.js +7 -7
  365. package/components/Token/Token.js.map +1 -1
  366. package/components/Token/Token.styles.js.map +1 -1
  367. package/components/Token/TokenView.d.ts +1 -1
  368. package/components/Token/TokenView.js +2 -2
  369. package/components/Token/TokenView.js.map +1 -1
  370. package/components/Token/locale/index.js.map +1 -1
  371. package/components/TokenInput/TextWidthHelper.js +2 -2
  372. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  373. package/components/TokenInput/TokenInput.d.ts +2 -2
  374. package/components/TokenInput/TokenInput.js +13 -13
  375. package/components/TokenInput/TokenInput.js.map +1 -1
  376. package/components/TokenInput/TokenInput.styles.js +2 -2
  377. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  378. package/components/TokenInput/TokenInputMenu.d.ts +2 -2
  379. package/components/TokenInput/TokenInputMenu.js +2 -2
  380. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  381. package/components/TokenInput/TokenInputReducer.js.map +1 -1
  382. package/components/TokenInput/locale/index.js.map +1 -1
  383. package/components/Tooltip/Tooltip.d.ts +3 -3
  384. package/components/Tooltip/Tooltip.js +12 -13
  385. package/components/Tooltip/Tooltip.js.map +1 -1
  386. package/components/TooltipMenu/TooltipMenu.d.ts +4 -4
  387. package/components/TooltipMenu/TooltipMenu.js +4 -4
  388. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  389. package/hooks/useDrop.js.map +1 -1
  390. package/hooks/useEffectWithoutInitCall.js.map +1 -1
  391. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -1
  392. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  393. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  394. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +1 -1
  395. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  396. package/internal/CloseButtonIcon/CloseButtonIcon.js +2 -2
  397. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  398. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +1 -1
  399. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  400. package/internal/CommonWrapper/CommonWrapper.js +2 -2
  401. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  402. package/internal/CommonWrapper/utils/extractCommonProps.d.ts +1 -1
  403. package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
  404. package/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -3
  405. package/internal/CustomComboBox/ComboBoxMenu.js +7 -7
  406. package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  407. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -6
  408. package/internal/CustomComboBox/ComboBoxView.js +15 -15
  409. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  410. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -6
  411. package/internal/CustomComboBox/CustomComboBox.js +6 -6
  412. package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  413. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -1
  414. package/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
  415. package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  416. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  417. package/internal/CustomComboBox/locale/index.js.map +1 -1
  418. package/internal/DateSelect/DateSelect.js +7 -7
  419. package/internal/DateSelect/DateSelect.js.map +1 -1
  420. package/internal/DateSelect/locale/index.js.map +1 -1
  421. package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  422. package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
  423. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  424. package/internal/FocusTrap/FocusTrap.js +7 -7
  425. package/internal/FocusTrap/FocusTrap.js.map +1 -1
  426. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -2
  427. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  428. package/internal/InputLikeText/InputLikeText.d.ts +2 -2
  429. package/internal/InputLikeText/InputLikeText.js +14 -14
  430. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  431. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +6 -6
  432. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  433. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  434. package/internal/Menu/Menu.js +10 -10
  435. package/internal/Menu/Menu.js.map +1 -1
  436. package/internal/Menu/MenuContext.js.map +1 -1
  437. package/internal/Menu/MenuNavigation.d.ts +1 -1
  438. package/internal/Menu/MenuNavigation.js.map +1 -1
  439. package/internal/MenuMessage/MenuMessage.d.ts +1 -1
  440. package/internal/MenuMessage/MenuMessage.js +2 -2
  441. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  442. package/internal/MenuMessage/MenuMessage.styles.js +1 -1
  443. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  444. package/internal/MobilePopup/MobilePopup.js +5 -5
  445. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  446. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  447. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  448. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -2
  449. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  450. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  451. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  452. package/internal/NativeDateInput/utils.d.ts +1 -1
  453. package/internal/NativeDateInput/utils.js.map +1 -1
  454. package/internal/Popup/Popup.d.ts +5 -3
  455. package/internal/Popup/Popup.js +69 -40
  456. package/internal/Popup/Popup.js.map +1 -1
  457. package/internal/Popup/PopupHelper.d.ts +5 -3
  458. package/internal/Popup/PopupHelper.js +14 -8
  459. package/internal/Popup/PopupHelper.js.map +1 -1
  460. package/internal/Popup/PopupPin.js +1 -1
  461. package/internal/Popup/PopupPin.js.map +1 -1
  462. package/internal/Popup/types.js.map +1 -1
  463. package/internal/PopupMenu/PopupMenu.d.ts +2 -2
  464. package/internal/PopupMenu/PopupMenu.js +8 -8
  465. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  466. package/internal/PopupMenu/validatePositions.js.map +1 -1
  467. package/internal/RenderContainer/RenderContainer.d.ts +9 -1
  468. package/internal/RenderContainer/RenderContainer.js +85 -6
  469. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  470. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  471. package/internal/RenderLayer/RenderLayer.d.ts +2 -1
  472. package/internal/RenderLayer/RenderLayer.js +7 -9
  473. package/internal/RenderLayer/RenderLayer.js.map +1 -1
  474. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  475. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  476. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  477. package/internal/ZIndex/ZIndex.js +6 -6
  478. package/internal/ZIndex/ZIndex.js.map +1 -1
  479. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  480. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  481. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  482. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  483. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  484. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  485. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  486. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  487. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  488. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  489. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  490. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  491. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  492. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  493. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  494. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  495. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  496. package/internal/icons2022/BaseIcon.js +1 -1
  497. package/internal/icons2022/BaseIcon.js.map +1 -1
  498. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  499. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  500. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  501. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  502. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  503. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  504. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  505. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  506. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  507. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  508. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  509. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
  510. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
  511. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
  512. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
  513. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
  514. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
  515. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
  516. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
  517. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
  518. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
  519. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
  520. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
  521. package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
  522. package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
  523. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
  524. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
  525. package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
  526. package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
  527. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
  528. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
  529. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
  530. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
  531. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
  532. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
  533. package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
  534. package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
  535. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
  536. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
  537. package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
  538. package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
  539. package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
  540. package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
  541. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
  542. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
  543. package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
  544. package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
  545. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
  546. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
  547. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
  548. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
  549. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
  550. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
  551. package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
  552. package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
  553. package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
  554. package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
  555. package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
  556. package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
  557. package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
  558. package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
  559. package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
  560. package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
  561. package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
  562. package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
  563. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  564. package/internal/icons2022/LoadingIcon.js +1 -1
  565. package/internal/icons2022/LoadingIcon.js.map +1 -1
  566. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  567. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  568. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  569. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  570. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
  571. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  572. package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
  573. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  574. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  575. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
  576. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  577. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  578. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  579. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
  580. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
  581. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
  582. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
  583. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
  584. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
  585. package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
  586. package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
  587. package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
  588. package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
  589. package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
  590. package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
  591. package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  592. package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  593. package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  594. package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  595. package/internal/icons2022/iconSizer.js.map +1 -1
  596. package/internal/react-focus-lock/Lock.js +1 -1
  597. package/internal/react-focus-lock/Lock.js.map +1 -1
  598. package/internal/react-focus-lock/Trap.js +2 -2
  599. package/internal/react-focus-lock/Trap.js.map +1 -1
  600. package/internal/themes/DarkTheme6_0.js +1 -1
  601. package/internal/themes/DarkTheme6_0.js.map +1 -1
  602. package/internal/themes/LightTheme6_0.js.map +1 -1
  603. package/lib/ModalStack.d.ts +1 -1
  604. package/lib/ModalStack.js.map +1 -1
  605. package/lib/animation/index.js.map +1 -1
  606. package/lib/date/InternalDate.js.map +1 -1
  607. package/lib/date/InternalDateGetter.d.ts +1 -1
  608. package/lib/date/InternalDateGetter.js.map +1 -1
  609. package/lib/date/InternalDateSetter.d.ts +1 -1
  610. package/lib/date/InternalDateSetter.js.map +1 -1
  611. package/lib/date/InternalDateTransformer.js +1 -1
  612. package/lib/date/InternalDateTransformer.js.map +1 -1
  613. package/lib/date/InternalDateValidator.js +1 -1
  614. package/lib/date/InternalDateValidator.js.map +1 -1
  615. package/lib/date/comparison.js.map +1 -1
  616. package/lib/date/localeSets.js.map +1 -1
  617. package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
  618. package/lib/dom/selectionHelpers.js +3 -3
  619. package/lib/dom/selectionHelpers.js.map +1 -1
  620. package/lib/dom/tabbableHelpers.js +1 -1
  621. package/lib/dom/tabbableHelpers.js.map +1 -1
  622. package/lib/events/fixFirefoxModifiedClickOnLabel.js +1 -1
  623. package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  624. package/lib/events/keyListener.js.map +1 -1
  625. package/lib/events/keyboard/extractCode.js.map +1 -1
  626. package/lib/events/keyboard/identifiers.js.map +1 -1
  627. package/lib/forwardRefAndName.js.map +1 -1
  628. package/lib/listenFocusOutside.d.ts +3 -1
  629. package/lib/listenFocusOutside.js +21 -4
  630. package/lib/listenFocusOutside.js.map +1 -1
  631. package/lib/locale/LocaleContext.js.map +1 -1
  632. package/lib/locale/types.d.ts +6 -6
  633. package/lib/locale/types.js.map +1 -1
  634. package/lib/locale/useLocaleForControl.d.ts +1 -1
  635. package/lib/locale/useLocaleForControl.js.map +1 -1
  636. package/lib/mergeRefs.js.map +1 -1
  637. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +17 -1
  638. package/lib/renderEnvironment/RenderEnvironmentContext.js +10 -10
  639. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  640. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  641. package/lib/rootNode/getRootNode.js.map +1 -1
  642. package/lib/rootNode/rootNodeDecorator.js.map +1 -1
  643. package/lib/shadowDom/isShadowRoot.d.ts +6 -0
  644. package/lib/shadowDom/isShadowRoot.js +17 -0
  645. package/lib/shadowDom/isShadowRoot.js.map +1 -0
  646. package/lib/size/SizeControlContext.js.map +1 -1
  647. package/lib/size/SizeDecorator.js +1 -1
  648. package/lib/size/SizeDecorator.js.map +1 -1
  649. package/lib/size/useSizeControl.js.map +1 -1
  650. package/lib/styles/ColorFunctions.js +2 -2
  651. package/lib/styles/ColorFunctions.js.map +1 -1
  652. package/lib/theming/AnimationKeyframes.js.map +1 -1
  653. package/lib/theming/Emotion.d.ts +17 -1
  654. package/lib/theming/Emotion.js +16 -5
  655. package/lib/theming/Emotion.js.map +1 -1
  656. package/lib/theming/ThemeFactory.js +1 -1
  657. package/lib/theming/ThemeFactory.js.map +1 -1
  658. package/lib/theming/ThemeHelpers.js.map +1 -1
  659. package/lib/theming/useTheme.js.map +1 -1
  660. package/lib/types/polymorphic-component.d.ts +1 -1
  661. package/lib/types/polymorphic-component.js.map +1 -1
  662. package/lib/utils.d.ts +8 -8
  663. package/lib/utils.js.map +1 -1
  664. package/package.json +14 -23
@@ -1 +1 @@
1
- {"version":3,"file":"DateFragmentsView.js","sourceRoot":"","sources":["../../../components/DateInput/DateFragmentsView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { type JSX } from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine/index.js';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator.js';\nimport type { InternalDateFragment } from '../../lib/date/types.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\n\nimport { getStyles } from './DateFragmentsView.styles.js';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\n@withRenderEnvironment\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = (): HTMLSpanElement | null => this.rootNode;\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n return (\n <span\n ref={this.rootRef}\n className={this.cx({\n [this.styles.root()]: true,\n [this.styles.selected(this.theme)]: true,\n })}\n >\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const separatorClassName = this.cx({\n [this.styles.mask(this.theme)]: true,\n [this.styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (this.globalObject.document?.activeElement?.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={this.styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
1
+ {"version":3,"file":"DateFragmentsView.js","sourceRoot":"","sources":["../../../components/DateInput/DateFragmentsView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine/index.js';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { InternalDateFragment } from '../../lib/date/types.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getStyles } from './DateFragmentsView.styles.js';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\n@withRenderEnvironment\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = (): HTMLSpanElement | null => this.rootNode;\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n return (\n <span\n ref={this.rootRef}\n className={this.cx({\n [this.styles.root()]: true,\n [this.styles.selected(this.theme)]: true,\n })}\n >\n {this.props.fragments.map((fragment, index) =>\n fragment.type === InternalDateComponentType.Separator\n ? this.renderSeparator(fragment, index)\n : this.renderDateComponent(fragment, index),\n )}\n </span>\n );\n }\n\n private renderSeparator(fragment: InternalDateFragment, index: number): JSX.Element {\n const separatorClassName = this.cx({\n [this.styles.mask(this.theme)]: true,\n [this.styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (this.globalObject.document?.activeElement?.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={this.styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { AriaAttributes, HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
- import { InternalDateComponentType } from '../../lib/date/types.js';
4
3
  import type { CommonProps } from '../../internal/CommonWrapper/index.js';
4
+ import { InternalDateComponentType } from '../../lib/date/types.js';
5
5
  import type { TGetRootNode } from '../../lib/rootNode/index.js';
6
6
  import type { SizeProp } from '../../lib/types/props.js';
7
7
  export interface DateInputState {
@@ -32,20 +32,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  };
33
33
  import React from 'react';
34
34
  import ReactDOM from 'react-dom';
35
+ import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
36
+ import { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';
37
+ import { InputLikeText } from '../../internal/InputLikeText/index.js';
35
38
  import { ConditionalHandler } from '../../lib/ConditionalHandler.js';
39
+ import { createPropsGetter } from '../../lib/createPropsGetter.js';
36
40
  import { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';
37
41
  import { InternalDateComponentType } from '../../lib/date/types.js';
38
- import { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';
39
- import { InputLikeText } from '../../internal/InputLikeText/index.js';
40
42
  import { locale } from '../../lib/locale/decorators.js';
41
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
42
- import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
43
+ import { REACT_MAJOR_VERSION } from '../../lib/react-is.js';
44
+ import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
43
45
  import { rootNode } from '../../lib/rootNode/index.js';
44
- import { createPropsGetter } from '../../lib/createPropsGetter.js';
45
- import { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';
46
46
  import { withSize } from '../../lib/size/SizeDecorator.js';
47
- import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
48
- import { REACT_MAJOR_VERSION } from '../../lib/react-is.js';
47
+ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
48
+ import { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';
49
49
  import { CalendarIcon } from './CalendarIcon.js';
50
50
  import { DateFragmentsView } from './DateFragmentsView.js';
51
51
  import { getStyles } from './DateInput.styles.js';
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.js","sourceRoot":"","sources":["../../../components/DateInput/DateInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler.js';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport type { DatePickerLocale } from '../DatePicker/locale/index.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { InputLikeText } from '../../internal/InputLikeText/index.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport { REACT_MAJOR_VERSION } from '../../lib/react-is.js';\n\nimport { CalendarIcon } from './CalendarIcon.js';\nimport { DateFragmentsView } from './DateFragmentsView.js';\nimport { getStyles } from './DateInput.styles.js';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions.js';\nimport { InternalDateMediator } from './helpers/InternalDateMediator.js';\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 root: 'DateInput__root',\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@withRenderEnvironment\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\n@withSize\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 width: 125,\n };\n private size!: SizeProp;\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 globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = (): void => {\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(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus(): void {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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 } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n data-tid={DateInputDataTids.root}\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={this.size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={this.cx(this.styles.value(), { [this.styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = this.cx({\n [this.styles.icon(theme)]: true,\n [this.styles.iconSmall(theme)]: size === 'small',\n [this.styles.iconMedium(theme)]: size === 'medium',\n [this.styles.iconLarge(theme)]: size === 'large',\n [this.styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false }, false);\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = this.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_MAJOR_VERSION >= 18) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
1
+ {"version":3,"file":"DateInput.js","sourceRoot":"","sources":["../../../components/DateInput/DateInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { InputLikeText } from '../../internal/InputLikeText/index.js';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';\nimport { InternalDateComponentType } from '../../lib/date/types.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { REACT_MAJOR_VERSION } from '../../lib/react-is.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { DatePickerLocale } from '../DatePicker/locale/index.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { CalendarIcon } from './CalendarIcon.js';\nimport { DateFragmentsView } from './DateFragmentsView.js';\nimport { getStyles } from './DateInput.styles.js';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions.js';\nimport { InternalDateMediator } from './helpers/InternalDateMediator.js';\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 root: 'DateInput__root',\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@withRenderEnvironment\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\n@withSize\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 width: 125,\n };\n private size!: SizeProp;\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 globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = (): void => {\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(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus(): void {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink(): void {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\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 } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n data-tid={DateInputDataTids.root}\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={this.size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={this.cx(this.styles.value(), { [this.styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = this.cx({\n [this.styles.icon(theme)]: true,\n [this.styles.iconSmall(theme)]: size === 'small',\n [this.styles.iconMedium(theme)]: size === 'medium',\n [this.styles.iconLarge(theme)]: size === 'large',\n [this.styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false }, false);\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = this.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_MAJOR_VERSION >= 18) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalDateMediator.js","sourceRoot":"","sources":["../../../../components/DateInput/helpers/InternalDateMediator.ts"],"names":[],"mappings":"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","sourcesContent":["import { InternalDate } from '../../../lib/date/InternalDate.js';\nimport { InternalDateGetter } from '../../../lib/date/InternalDateGetter.js';\nimport { InternalDateTransformer } from '../../../lib/date/InternalDateTransformer.js';\nimport type {\n InputKeyResult,\n InternalDateComponentRaw,\n InternalDateFragment,\n InternalDateTypesOrder,\n} from '../../../lib/date/types.js';\nimport { InternalDateComponentType, InternalDateValidateCheck } from '../../../lib/date/types.js';\nimport type { DatePickerLocale } from '../../DatePicker/locale/index.js';\nimport type { DateInputProps } from '../DateInput.js';\n\nimport { inputNumber } from './inputNumber.js';\n\nexport class InternalDateMediator {\n public iDate: InternalDate = new InternalDate();\n\n public update = (props: DateInputProps, locale: DatePickerLocale): InternalDateMediator => {\n const start = this.iDate.getRangeStart();\n const min = start && start.toInternalString();\n const end = this.iDate.getRangeEnd();\n const max = end && end.toInternalString();\n const { order, separator } = locale;\n this.iDate.setOrder(order).setSeparator(separator);\n if (props.minDate !== min) {\n this.iDate.setRangeStart(\n props.minDate\n ? new InternalDate({\n order,\n separator,\n value: props.minDate,\n })\n : null,\n );\n }\n if (props.maxDate !== max) {\n this.iDate.setRangeEnd(\n props.maxDate\n ? new InternalDate({\n order,\n separator,\n value: props.maxDate,\n })\n : null,\n );\n }\n if (!props.value || props.value !== this.iDate.toInternalString()) {\n this.iDate.parseInternalValue(props.value);\n }\n return this;\n };\n\n public inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): InputKeyResult {\n const prevValue = this.iDate.get(type);\n if (type === null) {\n const leftMostType = this.getLeftmostType();\n this.clear(leftMostType);\n }\n\n if (type !== InternalDateComponentType.Year) {\n this.iDate.cutOffExcess(type);\n } else {\n this.iDate.restore(type);\n }\n const maxValue = InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber(), true);\n const { nextValue, nextInputMode } = inputNumber(type, prevValue, key, inputMode, maxValue);\n this.iDate.set(type, nextValue);\n return { inputMode: nextInputMode, changed: nextValue !== prevValue };\n }\n\n public paste = (pasted: string): InternalDateMediator => {\n this.iDate.parseValue(pasted).restore().cutOffExcess();\n return this;\n };\n\n public restore = (): boolean => {\n if (this.iDate.isIncomplete()) {\n const restored = this.iDate.clone().restore();\n if (!this.iDate.isEqual(restored)) {\n this.iDate.duplicateOf(restored);\n }\n return true;\n }\n return false;\n };\n\n public shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean {\n const calculatedType = type ?? this.getLeftmostType();\n\n const iDate = this.iDate.clone();\n const start = iDate.getRangeStart();\n const end = iDate.getRangeEnd();\n\n const isValidRange = iDate.validate({ checks: [InternalDateValidateCheck.Range] });\n if (!isValidRange) {\n // Удерживаем дату в заданном диапазоне\n if (start && InternalDateGetter.max([iDate, start]) === start) {\n iDate.duplicateOf(start);\n } else if (end && InternalDateGetter.min([iDate, end]) === end) {\n iDate.duplicateOf(end);\n }\n } else {\n const clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true, isCutFeb: true });\n if (clone.validate({ checks: [InternalDateValidateCheck.Range] })) {\n iDate.duplicateOf(clone);\n }\n }\n\n const changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);\n this.iDate = iDate;\n return changed;\n }\n\n public getShiftedType(type: InternalDateComponentType | null, step: number): InternalDateComponentType | null {\n const typesOrder = this.getTypesOrder();\n const index = type === null ? 0 : typesOrder.indexOf(type);\n const nextIndex = index + step;\n\n // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент\n if (type === InternalDateComponentType.All) {\n return step < 0 ? typesOrder[0] : typesOrder[2];\n }\n\n // Если текущий компонент \"год\", и он не пуст, то при перемещении выделения \"восстанавливаем\" значение года\n if (type === InternalDateComponentType.Year && this.iDate.getYear() !== null) {\n this.iDate.restore(type);\n }\n\n const shiftedType = typesOrder[nextIndex];\n return typeof shiftedType === 'number' ? shiftedType : type;\n }\n\n public getFragments = (): InternalDateFragment[] =>\n this.iDate.toFragments({\n withSeparator: true,\n withPad: true,\n });\n\n public deleteOneCharRight = (type: InternalDateComponentType, inputMode: boolean): void => {\n let prev = this.iDate.get(type);\n prev = String(inputMode ? prev : InternalDateTransformer.padDateComponent(type, prev));\n const next = prev.replace(/.$/, '') || null;\n this.iDate.set(type, next);\n };\n\n public isChangedLocale = (locale: DatePickerLocale): boolean =>\n locale.order !== this.iDate.getOrder() || locale.separator !== this.iDate.getSeparator();\n\n public isNull = (type: InternalDateComponentType | null): boolean => this.iDate.get(type) === null;\n\n public isEmpty = (): boolean => this.iDate.isEmpty();\n\n public get = (type: InternalDateComponentType | null): InternalDateComponentRaw => this.iDate.get(type);\n\n public clear = (type: InternalDateComponentType | null): InternalDate => this.iDate.set(type, null);\n\n public validateString = (value: string): boolean =>\n InternalDateTransformer.parseValueToDate(value, this.iDate.getOrder()) !== null;\n\n public getString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toString());\n\n public getInternalString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toInternalString());\n\n public getTypesOrder = (): InternalDateTypesOrder =>\n this.iDate.toFragments().map(({ type }) => type) as InternalDateTypesOrder;\n\n public getLeftmostType = (): InternalDateComponentType => this.getTypesOrder()[0];\n\n public getRightmostType = (): InternalDateComponentType => this.getTypesOrder()[2];\n}\n"]}
1
+ {"version":3,"file":"InternalDateMediator.js","sourceRoot":"","sources":["../../../../components/DateInput/helpers/InternalDateMediator.ts"],"names":[],"mappings":"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","sourcesContent":["import { InternalDate } from '../../../lib/date/InternalDate.js';\nimport { InternalDateGetter } from '../../../lib/date/InternalDateGetter.js';\nimport { InternalDateTransformer } from '../../../lib/date/InternalDateTransformer.js';\nimport type {\n InputKeyResult,\n InternalDateComponentRaw,\n InternalDateFragment,\n InternalDateTypesOrder,\n} from '../../../lib/date/types.js';\nimport { InternalDateComponentType, InternalDateValidateCheck } from '../../../lib/date/types.js';\nimport type { DatePickerLocale } from '../../DatePicker/locale/index.js';\nimport type { DateInputProps } from '../DateInput.js';\nimport { inputNumber } from './inputNumber.js';\n\nexport class InternalDateMediator {\n public iDate: InternalDate = new InternalDate();\n\n public update = (props: DateInputProps, locale: DatePickerLocale): InternalDateMediator => {\n const start = this.iDate.getRangeStart();\n const min = start && start.toInternalString();\n const end = this.iDate.getRangeEnd();\n const max = end && end.toInternalString();\n const { order, separator } = locale;\n this.iDate.setOrder(order).setSeparator(separator);\n if (props.minDate !== min) {\n this.iDate.setRangeStart(\n props.minDate\n ? new InternalDate({\n order,\n separator,\n value: props.minDate,\n })\n : null,\n );\n }\n if (props.maxDate !== max) {\n this.iDate.setRangeEnd(\n props.maxDate\n ? new InternalDate({\n order,\n separator,\n value: props.maxDate,\n })\n : null,\n );\n }\n if (!props.value || props.value !== this.iDate.toInternalString()) {\n this.iDate.parseInternalValue(props.value);\n }\n return this;\n };\n\n public inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): InputKeyResult {\n const prevValue = this.iDate.get(type);\n if (type === null) {\n const leftMostType = this.getLeftmostType();\n this.clear(leftMostType);\n }\n\n if (type !== InternalDateComponentType.Year) {\n this.iDate.cutOffExcess(type);\n } else {\n this.iDate.restore(type);\n }\n const maxValue = InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber(), true);\n const { nextValue, nextInputMode } = inputNumber(type, prevValue, key, inputMode, maxValue);\n this.iDate.set(type, nextValue);\n return { inputMode: nextInputMode, changed: nextValue !== prevValue };\n }\n\n public paste = (pasted: string): InternalDateMediator => {\n this.iDate.parseValue(pasted).restore().cutOffExcess();\n return this;\n };\n\n public restore = (): boolean => {\n if (this.iDate.isIncomplete()) {\n const restored = this.iDate.clone().restore();\n if (!this.iDate.isEqual(restored)) {\n this.iDate.duplicateOf(restored);\n }\n return true;\n }\n return false;\n };\n\n public shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean {\n const calculatedType = type ?? this.getLeftmostType();\n\n const iDate = this.iDate.clone();\n const start = iDate.getRangeStart();\n const end = iDate.getRangeEnd();\n\n const isValidRange = iDate.validate({ checks: [InternalDateValidateCheck.Range] });\n if (!isValidRange) {\n // Удерживаем дату в заданном диапазоне\n if (start && InternalDateGetter.max([iDate, start]) === start) {\n iDate.duplicateOf(start);\n } else if (end && InternalDateGetter.min([iDate, end]) === end) {\n iDate.duplicateOf(end);\n }\n } else {\n const clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true, isCutFeb: true });\n if (clone.validate({ checks: [InternalDateValidateCheck.Range] })) {\n iDate.duplicateOf(clone);\n }\n }\n\n const changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);\n this.iDate = iDate;\n return changed;\n }\n\n public getShiftedType(type: InternalDateComponentType | null, step: number): InternalDateComponentType | null {\n const typesOrder = this.getTypesOrder();\n const index = type === null ? 0 : typesOrder.indexOf(type);\n const nextIndex = index + step;\n\n // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент\n if (type === InternalDateComponentType.All) {\n return step < 0 ? typesOrder[0] : typesOrder[2];\n }\n\n // Если текущий компонент \"год\", и он не пуст, то при перемещении выделения \"восстанавливаем\" значение года\n if (type === InternalDateComponentType.Year && this.iDate.getYear() !== null) {\n this.iDate.restore(type);\n }\n\n const shiftedType = typesOrder[nextIndex];\n return typeof shiftedType === 'number' ? shiftedType : type;\n }\n\n public getFragments = (): InternalDateFragment[] =>\n this.iDate.toFragments({\n withSeparator: true,\n withPad: true,\n });\n\n public deleteOneCharRight = (type: InternalDateComponentType, inputMode: boolean): void => {\n let prev = this.iDate.get(type);\n prev = String(inputMode ? prev : InternalDateTransformer.padDateComponent(type, prev));\n const next = prev.replace(/.$/, '') || null;\n this.iDate.set(type, next);\n };\n\n public isChangedLocale = (locale: DatePickerLocale): boolean =>\n locale.order !== this.iDate.getOrder() || locale.separator !== this.iDate.getSeparator();\n\n public isNull = (type: InternalDateComponentType | null): boolean => this.iDate.get(type) === null;\n\n public isEmpty = (): boolean => this.iDate.isEmpty();\n\n public get = (type: InternalDateComponentType | null): InternalDateComponentRaw => this.iDate.get(type);\n\n public clear = (type: InternalDateComponentType | null): InternalDate => this.iDate.set(type, null);\n\n public validateString = (value: string): boolean =>\n InternalDateTransformer.parseValueToDate(value, this.iDate.getOrder()) !== null;\n\n public getString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toString());\n\n public getInternalString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toInternalString());\n\n public getTypesOrder = (): InternalDateTypesOrder =>\n this.iDate.toFragments().map(({ type }) => type) as InternalDateTypesOrder;\n\n public getLeftmostType = (): InternalDateComponentType => this.getTypesOrder()[0];\n\n public getRightmostType = (): InternalDateComponentType => this.getTypesOrder()[2];\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
- import type { Nullable } from '../../typings/utility-types.js';
4
3
  import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';
5
4
  import type { TGetRootNode } from '../../lib/rootNode/index.js';
6
- import type { CalendarDateShape, CalendarProps } from '../Calendar/index.js';
7
5
  import type { SizeProp } from '../../lib/types/props.js';
6
+ import type { Nullable } from '../../typings/utility-types.js';
7
+ import type { CalendarDateShape, CalendarProps } from '../Calendar/index.js';
8
8
  export declare const MIN_WIDTH = 120;
9
9
  export interface DatePickerProps extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
10
10
  /** Устанавливает фокус на контроле после окончания загрузки страницы. */
@@ -31,31 +31,31 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
31
31
  return c > 3 && r && Object.defineProperty(target, key, r), r;
32
32
  };
33
33
  import React from 'react';
34
- import { Popup } from '../../internal/Popup/index.js';
35
- import { LocaleContext } from '../../lib/locale/index.js';
36
- import { locale } from '../../lib/locale/decorators.js';
37
- import { InternalDateGetter } from '../../lib/date/InternalDateGetter.js';
34
+ import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
38
35
  import { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js';
39
- import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
40
- import { InternalDate } from '../../lib/date/InternalDate.js';
36
+ import { NativeDateInput } from '../../internal/NativeDateInput/index.js';
37
+ import { Popup } from '../../internal/Popup/index.js';
38
+ import { ZIndex } from '../../internal/ZIndex/index.js';
39
+ import { isMobile } from '../../lib/client.js';
40
+ import { createPropsGetter } from '../../lib/createPropsGetter.js';
41
41
  import { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';
42
+ import { InternalDate } from '../../lib/date/InternalDate.js';
43
+ import { InternalDateGetter } from '../../lib/date/InternalDateGetter.js';
42
44
  import { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types.js';
43
- import { DateInput } from '../DateInput/index.js';
44
45
  import { filterProps } from '../../lib/filterProps.js';
45
- import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
46
- import { isMobile } from '../../lib/client.js';
47
- import { NativeDateInput } from '../../internal/NativeDateInput/index.js';
46
+ import { getMenuPositions } from '../../lib/getMenuPositions.js';
47
+ import { locale } from '../../lib/locale/decorators.js';
48
+ import { LocaleContext } from '../../lib/locale/index.js';
49
+ import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
48
50
  import { getRootNode, rootNode } from '../../lib/rootNode/index.js';
49
- import { isNonNullable } from '../../lib/utils.js';
50
- import { createPropsGetter } from '../../lib/createPropsGetter.js';
51
- import { Calendar } from '../Calendar/index.js';
52
51
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
52
+ import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
53
+ import { isNonNullable } from '../../lib/utils.js';
53
54
  import { Button } from '../Button/index.js';
54
55
  import { getTodayDate } from '../Calendar/CalendarUtils.js';
56
+ import { Calendar } from '../Calendar/index.js';
57
+ import { DateInput } from '../DateInput/index.js';
55
58
  import { responsiveLayout } from '../ResponsiveLayout/decorator.js';
56
- import { getMenuPositions } from '../../lib/getMenuPositions.js';
57
- import { ZIndex } from '../../internal/ZIndex/index.js';
58
- import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
59
59
  import { getStyles } from './DatePicker.styles.js';
60
60
  import { DatePickerLocaleHelper } from './locale/index.js';
61
61
  import { MobilePicker } from './MobilePicker.js';
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Popup } from '../../internal/Popup/index.js';\nimport { LocaleContext } from '../../lib/locale/index.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter.js';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { DateInput } from '../DateInput/index.js';\nimport { filterProps } from '../../lib/filterProps.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { isMobile } from '../../lib/client.js';\nimport { NativeDateInput } from '../../internal/NativeDateInput/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { isNonNullable } from '../../lib/utils.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { CalendarDateShape, CalendarProps } from '../Calendar/index.js';\nimport { Calendar } from '../Calendar/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { Button } from '../Button/index.js';\nimport { getTodayDate } from '../Calendar/CalendarUtils.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\n\nimport { getStyles } from './DatePicker.styles.js';\nimport type { DatePickerLocale } from './locale/index.js';\nimport { DatePickerLocaleHelper } from './locale/index.js';\nimport { MobilePicker } from './MobilePicker.js';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n\n autoFocus?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отображает кнопку \"Сегодня\" в календаре. */\n enableTodayLink?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает nекущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /**\n * Строка формата `dd.mm.yyyy`\n * Задает значение автокомплита.\n */\n value?: string | null;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает ширину автокомплита. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при потере датапикером фокуса. */\n onBlur?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при получении датапикером фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n\n /** Позволяет использовать на мобильных устройствах нативный календарь для выбора дат.\n * На iOS нативный календарь не умеет работать с minDate и maxDate. */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n/**\n * Поле `DatePicker` помогает вводить дату с клавиатуры или выбирать ее с помощью мыши.\n *\n * Используйте поле с датой, когда нужно ввести дату в формате ДД.ММ.ГГГГ.\n *\n * Поле с датой отличается от обычного поля ввода наличием иконки, маски и блока календаря.\n */\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private emotion!: Emotion;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private canOpenPopup = true;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}): boolean => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur(): void {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }): void {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close(): void {\n this.setState({ opened: false });\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>): React.JSX.Element => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={this.styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={this.styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n onClick={this.openPickerPopup}\n onKeyDown={this.handleKeyDown}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = (): Nullable<Element> => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private openPickerPopup = () => {\n this.setState({ opened: true });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n } else {\n this.openPickerPopup();\n }\n\n this.focused = true;\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (!this.state.opened) {\n this.openPickerPopup();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"]}
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js';\nimport { NativeDateInput } from '../../internal/NativeDateInput/index.js';\nimport { Popup } from '../../internal/Popup/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { isMobile } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter.js';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types.js';\nimport { filterProps } from '../../lib/filterProps.js';\nimport { getMenuPositions } from '../../lib/getMenuPositions.js';\nimport { locale } from '../../lib/locale/decorators.js';\nimport { LocaleContext } from '../../lib/locale/index.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isNonNullable } from '../../lib/utils.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { Button } from '../Button/index.js';\nimport { getTodayDate } from '../Calendar/CalendarUtils.js';\nimport type { CalendarDateShape, CalendarProps } from '../Calendar/index.js';\nimport { Calendar } from '../Calendar/index.js';\nimport { DateInput } from '../DateInput/index.js';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator.js';\nimport { getStyles } from './DatePicker.styles.js';\nimport type { DatePickerLocale } from './locale/index.js';\nimport { DatePickerLocaleHelper } from './locale/index.js';\nimport { MobilePicker } from './MobilePicker.js';\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\n Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n\n autoFocus?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Отображает кнопку \"Сегодня\" в календаре. */\n enableTodayLink?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает nекущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /**\n * Строка формата `dd.mm.yyyy`\n * Задает значение автокомплита.\n */\n value?: string | null;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает ширину автокомплита. */\n width?: number | string;\n\n /** Задает функцию, которая вызывается при потере датапикером фокуса. */\n onBlur?: () => void;\n\n /** Задает функцию, вызывающуюся при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange: (value: string) => void;\n\n /** Задает функцию, которая вызывается при получении датапикером фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n\n /** Позволяет использовать на мобильных устройствах нативный календарь для выбора дат.\n * На iOS нативный календарь не умеет работать с minDate и maxDate. */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n/**\n * Поле `DatePicker` помогает вводить дату с клавиатуры или выбирать ее с помощью мыши.\n *\n * Используйте поле с датой, когда нужно ввести дату в формате ДД.ММ.ГГГГ.\n *\n * Поле с датой отличается от обычного поля ввода наличием иконки, маски и блока календаря.\n */\n@withRenderEnvironment\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private emotion!: Emotion;\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private canOpenPopup = true;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}): boolean => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur(): void {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }): void {\n if (this.props.disabled) {\n return;\n }\n\n if (opts?.withoutOpenDropdown) {\n this.canOpenPopup = false;\n }\n\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close(): void {\n this.setState({ opened: false });\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>): React.JSX.Element => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={this.styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={this.styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n onClick={this.openPickerPopup}\n onKeyDown={this.handleKeyDown}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = (): Nullable<Element> => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private openPickerPopup = () => {\n this.setState({ opened: true });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n if (!this.canOpenPopup) {\n this.canOpenPopup = true;\n } else {\n this.openPickerPopup();\n }\n\n this.focused = true;\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (!this.state.opened) {\n this.openPickerPopup();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.styles.js","sourceRoot":"","sources":["../../../components/DatePicker/DatePicker.styles.ts"],"names":[],"mappings":";;;;AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,2LAAA,wHAKT,KAAC;QACJ,CAAC;QACD,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,sRAAA,sBACM,EAAY,uBACZ,EAAc,uJAMX,EAAsB,SACxC,KARe,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,YAAY,EAMX,CAAC,CAAC,oBAAoB,EACvC;QACJ,CAAC;KACF,CAAC;AArB8D,CAqB9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n display: inline-block;\n position: relative;\n touch-action: none;\n line-height: normal;\n `;\n },\n calendarWrapper(t: Theme) {\n return css`\n background: ${t.calendarBg};\n box-shadow: ${t.pickerShadow};\n display: flex;\n flex-flow: column nowrap;\n font-size: 0;\n z-index: 1000;\n touch-action: none;\n border-radius: ${t.calendarBorderRadius};\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"DatePicker.styles.js","sourceRoot":"","sources":["../../../components/DatePicker/DatePicker.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,2LAAA,wHAKT,KAAC;QACJ,CAAC;QACD,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,sRAAA,sBACM,EAAY,uBACZ,EAAc,uJAMX,EAAsB,SACxC,KARe,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,YAAY,EAMX,CAAC,CAAC,oBAAoB,EACvC;QACJ,CAAC;KACF,CAAC;AArB8D,CAqB9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n display: inline-block;\n position: relative;\n touch-action: none;\n line-height: normal;\n `;\n },\n calendarWrapper(t: Theme) {\n return css`\n background: ${t.calendarBg};\n box-shadow: ${t.pickerShadow};\n display: flex;\n flex-flow: column nowrap;\n font-size: 0;\n z-index: 1000;\n touch-action: none;\n border-radius: ${t.calendarBorderRadius};\n `;\n },\n}));\n"]}
@@ -1,15 +1,15 @@
1
1
  import React, { useContext, useLayoutEffect, useRef, useState } from 'react';
2
+ import { MobilePopup } from '../../internal/MobilePopup/index.js';
3
+ import { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';
2
4
  import { useStyles } from '../../lib/renderEnvironment/index.js';
3
- import { Calendar } from '../Calendar/index.js';
4
- import { getMonthInHumanFormat, getTodayDate } from '../Calendar/CalendarUtils.js';
5
5
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
6
- import { MobilePopup } from '../../internal/MobilePopup/index.js';
7
- import { DateInput } from '../DateInput/index.js';
8
6
  import { Button } from '../Button/index.js';
9
- import { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';
7
+ import { getMonthInHumanFormat, getTodayDate } from '../Calendar/CalendarUtils.js';
8
+ import { Calendar } from '../Calendar/index.js';
9
+ import { DateInput } from '../DateInput/index.js';
10
+ import { getMobilePickerTheme } from './getMobilePickerTheme.js';
10
11
  import { DatePickerLocaleHelper } from './locale/index.js';
11
12
  import { getStyles } from './MobilePicker.styles.js';
12
- import { getMobilePickerTheme } from './getMobilePickerTheme.js';
13
13
  export var MobilePickerDataTids = {
14
14
  input: 'MobilePicker__input',
15
15
  today: 'MobilePicker__today',
@@ -1 +1 @@
1
- {"version":3,"file":"MobilePicker.js","sourceRoot":"","sources":["../../../components/DatePicker/MobilePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useLayoutEffect, useRef, useState } from 'react';\n\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { Calendar } from '../Calendar/index.js';\nimport { getMonthInHumanFormat, getTodayDate } from '../Calendar/CalendarUtils.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { MobilePopup } from '../../internal/MobilePopup/index.js';\nimport { DateInput } from '../DateInput/index.js';\nimport { Button } from '../Button/index.js';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';\n\nimport type { DatePickerProps } from './DatePicker.js';\nimport { DatePickerLocaleHelper } from './locale/index.js';\nimport { getStyles } from './MobilePicker.styles.js';\nimport { getMobilePickerTheme } from './getMobilePickerTheme.js';\n\nexport const MobilePickerDataTids = {\n input: 'MobilePicker__input',\n today: 'MobilePicker__today',\n} as const;\n\nexport interface MobilePickerProps\n extends Pick<\n DatePickerProps,\n | 'error'\n | 'warning'\n | 'value'\n | 'minDate'\n | 'maxDate'\n | 'onValueChange'\n | 'isHoliday'\n | 'enableTodayLink'\n | 'renderDay'\n | 'onMonthChange'\n > {\n onCloseRequest?: () => void;\n}\n\nexport const MobilePicker: React.FC<MobilePickerProps> = (props) => {\n const locale = useLocaleForControl('DatePicker', DatePickerLocaleHelper);\n const styles = useStyles(getStyles);\n const theme = getMobilePickerTheme(useContext(ThemeContext));\n\n const calendarRef = useRef<Calendar>(null);\n const inputRef = useRef<DateInput>(null);\n\n const [{ month: monthNative, year }] = useState(() => getTodayDate());\n const month = getMonthInHumanFormat(monthNative);\n\n const onValueChange = (date: string) => {\n props.onValueChange?.(date);\n props.onCloseRequest?.();\n };\n\n useLayoutEffect(() => {\n // fix DateInput flushSync warning in React 18\n setTimeout(() => {\n inputRef.current?.focus();\n });\n }, []);\n\n const onTodayClick = () => {\n if (calendarRef.current) {\n calendarRef.current.scrollToMonth(month, year);\n }\n };\n\n return (\n <ThemeContext.Provider value={theme}>\n <MobilePopup\n opened\n headerChildComponent={\n <DateInput\n value={props.value || ''}\n width=\"100%\"\n withIcon\n ref={inputRef}\n minDate={props.minDate}\n maxDate={props.maxDate}\n onValueChange={props.onValueChange}\n size=\"medium\"\n warning={props.warning}\n error={props.error}\n data-tid={MobilePickerDataTids.input}\n />\n }\n footerChildComponent={\n props.enableTodayLink && (\n <Button size=\"medium\" onClick={onTodayClick} data-tid={MobilePickerDataTids.today}>\n {locale.today}\n </Button>\n )\n }\n onCloseRequest={props.onCloseRequest}\n >\n <Calendar\n ref={calendarRef}\n value={props.value}\n className={styles.calendarRoot()}\n minDate={props.minDate}\n maxDate={props.maxDate}\n onValueChange={onValueChange}\n isHoliday={props.isHoliday}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n </MobilePopup>\n </ThemeContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"MobilePicker.js","sourceRoot":"","sources":["../../../components/DatePicker/MobilePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext, useLayoutEffect, useRef, useState } from 'react';\n\nimport { MobilePopup } from '../../internal/MobilePopup/index.js';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Button } from '../Button/index.js';\nimport { getMonthInHumanFormat, getTodayDate } from '../Calendar/CalendarUtils.js';\nimport { Calendar } from '../Calendar/index.js';\nimport { DateInput } from '../DateInput/index.js';\nimport type { DatePickerProps } from './DatePicker.js';\nimport { getMobilePickerTheme } from './getMobilePickerTheme.js';\nimport { DatePickerLocaleHelper } from './locale/index.js';\nimport { getStyles } from './MobilePicker.styles.js';\n\nexport const MobilePickerDataTids = {\n input: 'MobilePicker__input',\n today: 'MobilePicker__today',\n} as const;\n\nexport interface MobilePickerProps extends Pick<\n DatePickerProps,\n | 'error'\n | 'warning'\n | 'value'\n | 'minDate'\n | 'maxDate'\n | 'onValueChange'\n | 'isHoliday'\n | 'enableTodayLink'\n | 'renderDay'\n | 'onMonthChange'\n> {\n onCloseRequest?: () => void;\n}\n\nexport const MobilePicker: React.FC<MobilePickerProps> = (props) => {\n const locale = useLocaleForControl('DatePicker', DatePickerLocaleHelper);\n const styles = useStyles(getStyles);\n const theme = getMobilePickerTheme(useContext(ThemeContext));\n\n const calendarRef = useRef<Calendar>(null);\n const inputRef = useRef<DateInput>(null);\n\n const [{ month: monthNative, year }] = useState(() => getTodayDate());\n const month = getMonthInHumanFormat(monthNative);\n\n const onValueChange = (date: string) => {\n props.onValueChange?.(date);\n props.onCloseRequest?.();\n };\n\n useLayoutEffect(() => {\n // fix DateInput flushSync warning in React 18\n setTimeout(() => {\n inputRef.current?.focus();\n });\n }, []);\n\n const onTodayClick = () => {\n if (calendarRef.current) {\n calendarRef.current.scrollToMonth(month, year);\n }\n };\n\n return (\n <ThemeContext.Provider value={theme}>\n <MobilePopup\n opened\n headerChildComponent={\n <DateInput\n value={props.value || ''}\n width=\"100%\"\n withIcon\n ref={inputRef}\n minDate={props.minDate}\n maxDate={props.maxDate}\n onValueChange={props.onValueChange}\n size=\"medium\"\n warning={props.warning}\n error={props.error}\n data-tid={MobilePickerDataTids.input}\n />\n }\n footerChildComponent={\n props.enableTodayLink && (\n <Button size=\"medium\" onClick={onTodayClick} data-tid={MobilePickerDataTids.today}>\n {locale.today}\n </Button>\n )\n }\n onCloseRequest={props.onCloseRequest}\n >\n <Calendar\n ref={calendarRef}\n value={props.value}\n className={styles.calendarRoot()}\n minDate={props.minDate}\n maxDate={props.maxDate}\n onValueChange={onValueChange}\n isHoliday={props.isHoliday}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n </MobilePopup>\n </ThemeContext.Provider>\n );\n};\n"]}