@skbkontur/react-ui 0.0.0-95a1dbe516 → 0.0.0-9ab4f802f3

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 (647) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/README.md +41 -13
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -6
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +76 -3
  6. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  7. package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
  8. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  9. package/cjs/components/Button/Button.js +2 -2
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.md +38 -11
  12. package/cjs/components/Calendar/Calendar.d.ts +28 -5
  13. package/cjs/components/Calendar/Calendar.js +80 -36
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/Calendar.md +82 -1
  16. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  17. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  18. package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
  19. package/cjs/components/Calendar/CalendarContext.js +16 -0
  20. package/cjs/components/Calendar/CalendarContext.js.map +1 -0
  21. package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
  22. package/cjs/components/Calendar/CalendarDateShape.js +13 -3
  23. package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
  24. package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
  25. package/cjs/components/Calendar/CalendarDay.js +79 -0
  26. package/cjs/components/Calendar/CalendarDay.js.map +1 -0
  27. package/cjs/components/Calendar/CalendarDay.md +70 -0
  28. package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
  29. package/cjs/components/Calendar/CalendarUtils.js +4 -6
  30. package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.d.ts +4 -12
  32. package/cjs/components/Calendar/DayCellView.js +20 -42
  33. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  34. package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
  35. package/cjs/components/Calendar/DayCellView.styles.js +37 -43
  36. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  37. package/cjs/components/Calendar/Month.d.ts +0 -10
  38. package/cjs/components/Calendar/Month.js +36 -88
  39. package/cjs/components/Calendar/Month.js.map +1 -1
  40. package/cjs/components/Calendar/MonthView.d.ts +3 -2
  41. package/cjs/components/Calendar/MonthView.js +47 -37
  42. package/cjs/components/Calendar/MonthView.js.map +1 -1
  43. package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
  44. package/cjs/components/Calendar/MonthView.styles.js +45 -7
  45. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  46. package/cjs/components/Calendar/MonthViewModel.js +24 -6
  47. package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
  48. package/cjs/components/Calendar/config.js +12 -6
  49. package/cjs/components/Calendar/config.js.map +1 -1
  50. package/cjs/components/Calendar/index.d.ts +1 -0
  51. package/cjs/components/Calendar/index.js +2 -1
  52. package/cjs/components/Calendar/index.js.map +1 -1
  53. package/cjs/components/Checkbox/Checkbox.js +1 -1
  54. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  55. package/cjs/components/DateInput/DateFragmentsView.js +1 -1
  56. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  57. package/cjs/components/DateInput/DateInput.js +1 -1
  58. package/cjs/components/DateInput/DateInput.js.map +1 -1
  59. package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
  60. package/cjs/components/DatePicker/DatePicker.js +72 -45
  61. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  62. package/cjs/components/DatePicker/DatePicker.md +29 -1
  63. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
  64. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  65. package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
  66. package/cjs/components/DatePicker/MobilePicker.js +118 -0
  67. package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
  68. package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  69. package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
  70. package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
  71. package/cjs/components/DatePicker/Picker.js +1 -1
  72. package/cjs/components/DatePicker/Picker.js.map +1 -1
  73. package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  74. package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
  75. package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
  76. package/cjs/components/Dropdown/Dropdown.js +1 -1
  77. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  78. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  79. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  80. package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
  81. package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
  82. package/cjs/components/FileUploader/FileUploader.js +32 -9
  83. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  84. package/cjs/components/FileUploader/FileUploader.md +29 -0
  85. package/cjs/components/FxInput/FxInput.js +1 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/Group/Group.js +1 -1
  88. package/cjs/components/Group/Group.js.map +1 -1
  89. package/cjs/components/Hint/Hint.d.ts +4 -3
  90. package/cjs/components/Hint/Hint.js +9 -8
  91. package/cjs/components/Hint/Hint.js.map +1 -1
  92. package/cjs/components/Input/Input.js +1 -1
  93. package/cjs/components/Input/Input.js.map +1 -1
  94. package/cjs/components/Input/Input.styles.d.ts +1 -1
  95. package/cjs/components/Input/Input.styles.js +3 -2
  96. package/cjs/components/Input/Input.styles.js.map +1 -1
  97. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  98. package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
  99. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  100. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  101. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.js +6 -1
  103. package/cjs/components/Kebab/Kebab.js.map +1 -1
  104. package/cjs/components/Link/Link.js +3 -2
  105. package/cjs/components/Link/Link.js.map +1 -1
  106. package/cjs/components/Loader/Loader.js +1 -1
  107. package/cjs/components/Loader/Loader.js.map +1 -1
  108. package/cjs/components/MenuItem/MenuItem.js +2 -2
  109. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  110. package/cjs/components/MiniModal/MiniModal.js +1 -1
  111. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  112. package/cjs/components/Modal/Modal.js +1 -1
  113. package/cjs/components/Modal/Modal.js.map +1 -1
  114. package/cjs/components/Modal/ModalBody.js +1 -1
  115. package/cjs/components/Modal/ModalBody.js.map +1 -1
  116. package/cjs/components/Paging/Paging.js +8 -3
  117. package/cjs/components/Paging/Paging.js.map +1 -1
  118. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  119. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  120. package/cjs/components/Radio/Radio.js +1 -1
  121. package/cjs/components/Radio/Radio.js.map +1 -1
  122. package/cjs/components/RadioGroup/RadioGroup.js +10 -1
  123. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  124. package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
  125. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  126. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  127. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
  128. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  129. package/cjs/components/Select/Select.js +6 -3
  130. package/cjs/components/Select/Select.js.map +1 -1
  131. package/cjs/components/SidePage/SidePage.js +1 -1
  132. package/cjs/components/SidePage/SidePage.js.map +1 -1
  133. package/cjs/components/SidePage/SidePageBody.js +1 -1
  134. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageContainer.js +1 -1
  136. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageFooter.js +1 -1
  138. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  139. package/cjs/components/SidePage/SidePageHeader.js +1 -1
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.js +1 -1
  142. package/cjs/components/Spinner/Spinner.js.map +1 -1
  143. package/cjs/components/Switcher/Switcher.js +1 -1
  144. package/cjs/components/Switcher/Switcher.js.map +1 -1
  145. package/cjs/components/Tabs/Indicator.js +1 -1
  146. package/cjs/components/Tabs/Indicator.js.map +1 -1
  147. package/cjs/components/Tabs/Tab.js +2 -2
  148. package/cjs/components/Tabs/Tab.js.map +1 -1
  149. package/cjs/components/Tabs/Tabs.js +1 -1
  150. package/cjs/components/Tabs/Tabs.js.map +1 -1
  151. package/cjs/components/Textarea/Textarea.js +1 -1
  152. package/cjs/components/Textarea/Textarea.js.map +1 -1
  153. package/cjs/components/Toast/Toast.js +1 -1
  154. package/cjs/components/Toast/Toast.js.map +1 -1
  155. package/cjs/components/Toast/ToastView.js +1 -1
  156. package/cjs/components/Toast/ToastView.js.map +1 -1
  157. package/cjs/components/Toggle/Toggle.js +1 -1
  158. package/cjs/components/Toggle/Toggle.js.map +1 -1
  159. package/cjs/components/Token/Token.js +2 -1
  160. package/cjs/components/Token/Token.js.map +1 -1
  161. package/cjs/components/TokenInput/TokenInput.js +1 -1
  162. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  163. package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
  164. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  165. package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
  166. package/cjs/components/Tooltip/Tooltip.js +59 -20
  167. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  168. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
  169. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  170. package/cjs/hooks/useDrop.d.ts +1 -1
  171. package/cjs/hooks/useDrop.js.map +1 -1
  172. package/cjs/index.d.ts +2 -0
  173. package/cjs/index.js +2 -0
  174. package/cjs/index.js.map +1 -1
  175. package/cjs/internal/CommonWrapper/CommonWrapper.js +2 -2
  176. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  177. package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  178. package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
  179. package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
  180. package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
  181. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  182. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
  183. package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
  184. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  185. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
  186. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
  187. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
  188. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  189. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  190. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  191. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  192. package/cjs/internal/DateSelect/DateSelect.js +51 -4
  193. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  194. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  195. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
  196. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  197. package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
  198. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
  199. package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
  200. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
  201. package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
  202. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  203. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
  204. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  205. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  206. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
  207. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  208. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  209. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
  210. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  211. package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
  212. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  213. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
  214. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  215. package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
  216. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  217. package/cjs/internal/Menu/Menu.js +2 -2
  218. package/cjs/internal/Menu/Menu.js.map +1 -1
  219. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
  221. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  222. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  223. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
  224. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  225. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  226. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
  227. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  228. package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  229. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
  230. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
  231. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  232. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  233. package/cjs/internal/NativeDateInput/utils.js +3 -2
  234. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  235. package/cjs/internal/Popup/Popup.d.ts +15 -4
  236. package/cjs/internal/Popup/Popup.js +67 -4
  237. package/cjs/internal/Popup/Popup.js.map +1 -1
  238. package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
  239. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  240. package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
  241. package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
  242. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  243. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
  244. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  245. package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
  246. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  247. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  248. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  249. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
  250. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  251. package/cjs/internal/ThemePlayground/constants.js +2 -1
  252. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  253. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
  254. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  255. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  256. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
  257. package/cjs/internal/ZIndex/ZIndex.js +41 -3
  258. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  259. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  260. package/cjs/internal/themes/DarkTheme.js +6 -1
  261. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  262. package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
  263. package/cjs/internal/themes/DefaultTheme.js +32 -4
  264. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  265. package/cjs/lib/date/InternalDate.d.ts +2 -0
  266. package/cjs/lib/date/InternalDate.js +8 -1
  267. package/cjs/lib/date/InternalDate.js.map +1 -1
  268. package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
  269. package/cjs/lib/date/InternalDateTransformer.js +23 -0
  270. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  271. package/cjs/lib/date/InternalDateValidator.js +2 -1
  272. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  273. package/cjs/lib/date/comparison.d.ts +6 -0
  274. package/cjs/lib/date/comparison.js +44 -0
  275. package/cjs/lib/date/comparison.js.map +1 -0
  276. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  277. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  278. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  279. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  280. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  281. package/cjs/lib/listenFocusOutside.js +4 -2
  282. package/cjs/lib/listenFocusOutside.js.map +1 -1
  283. package/cjs/lib/locale/constants.d.ts +3 -0
  284. package/cjs/lib/locale/constants.js +6 -2
  285. package/cjs/lib/locale/constants.js.map +1 -1
  286. package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
  287. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  288. package/cjs/lib/theming/Emotion.d.ts +7 -1
  289. package/cjs/lib/theming/Emotion.js +6 -3
  290. package/cjs/lib/theming/Emotion.js.map +1 -1
  291. package/cjs/lib/theming/ThemeContext.d.ts +0 -2
  292. package/cjs/lib/theming/ThemeContext.js +1 -3
  293. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  294. package/cjs/lib/theming/ThemeContext.md +3 -1
  295. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  296. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
  297. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
  298. package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  299. package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
  300. package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
  301. package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
  302. package/cjs/lib/widgets/StylesContainer.js +70 -0
  303. package/cjs/lib/widgets/StylesContainer.js.map +1 -0
  304. package/cjs/lib/widgets/index.d.ts +1 -0
  305. package/cjs/lib/widgets/index.js +1 -0
  306. package/cjs/lib/widgets/index.js.map +1 -0
  307. package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
  308. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  309. package/components/Autocomplete/Autocomplete.md +76 -3
  310. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
  311. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
  312. package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  313. package/components/Button/Button/Button.js +3 -3
  314. package/components/Button/Button/Button.js.map +1 -1
  315. package/components/Button/Button.md +38 -11
  316. package/components/Calendar/Calendar/Calendar.js +83 -66
  317. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  318. package/components/Calendar/Calendar.d.ts +28 -5
  319. package/components/Calendar/Calendar.md +82 -1
  320. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  321. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  322. package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
  323. package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
  324. package/components/Calendar/CalendarContext/package.json +6 -0
  325. package/components/Calendar/CalendarContext.d.ts +12 -0
  326. package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
  327. package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  328. package/components/Calendar/CalendarDateShape.d.ts +4 -2
  329. package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
  330. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
  331. package/components/Calendar/CalendarDay/package.json +6 -0
  332. package/components/Calendar/CalendarDay.d.ts +12 -0
  333. package/components/Calendar/CalendarDay.md +70 -0
  334. package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
  335. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  336. package/components/Calendar/CalendarUtils.d.ts +2 -1
  337. package/components/Calendar/DayCellView/DayCellView.js +33 -46
  338. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  339. package/components/Calendar/DayCellView.d.ts +4 -12
  340. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
  341. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  342. package/components/Calendar/DayCellView.styles.d.ts +2 -5
  343. package/components/Calendar/Month/Month.js +50 -84
  344. package/components/Calendar/Month/Month.js.map +1 -1
  345. package/components/Calendar/Month.d.ts +0 -10
  346. package/components/Calendar/MonthView/MonthView.js +50 -45
  347. package/components/Calendar/MonthView/MonthView.js.map +1 -1
  348. package/components/Calendar/MonthView.d.ts +3 -2
  349. package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
  350. package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  351. package/components/Calendar/MonthView.styles.d.ts +3 -0
  352. package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
  353. package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  354. package/components/Calendar/config/config.js +6 -4
  355. package/components/Calendar/config/config.js.map +1 -1
  356. package/components/Calendar/index/index.js +2 -1
  357. package/components/Calendar/index/index.js.map +1 -1
  358. package/components/Calendar/index.d.ts +1 -0
  359. package/components/Checkbox/Checkbox/Checkbox.js +2 -2
  360. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  361. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
  362. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  363. package/components/DateInput/DateInput/DateInput.js +2 -2
  364. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  365. package/components/DatePicker/DatePicker/DatePicker.js +62 -41
  366. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  367. package/components/DatePicker/DatePicker.d.ts +4 -1
  368. package/components/DatePicker/DatePicker.md +29 -1
  369. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
  370. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  371. package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
  372. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
  373. package/components/DatePicker/MobilePicker/package.json +6 -0
  374. package/components/DatePicker/MobilePicker.d.ts +10 -0
  375. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
  376. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
  377. package/components/DatePicker/MobilePicker.styles/package.json +6 -0
  378. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  379. package/components/DatePicker/Picker/Picker.js +3 -3
  380. package/components/DatePicker/Picker/Picker.js.map +1 -1
  381. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
  382. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
  383. package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
  384. package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  385. package/components/Dropdown/Dropdown/Dropdown.js +3 -3
  386. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  387. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
  388. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  389. package/components/DropdownMenu/DropdownMenu.md +39 -0
  390. package/components/FileUploader/FileUploader/FileUploader.js +30 -8
  391. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  392. package/components/FileUploader/FileUploader.d.ts +2 -0
  393. package/components/FileUploader/FileUploader.md +29 -0
  394. package/components/FxInput/FxInput/FxInput.js +2 -2
  395. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  396. package/components/Group/Group/Group.js +2 -2
  397. package/components/Group/Group/Group.js.map +1 -1
  398. package/components/Hint/Hint/Hint.js +53 -48
  399. package/components/Hint/Hint/Hint.js.map +1 -1
  400. package/components/Hint/Hint.d.ts +4 -3
  401. package/components/Input/Input/Input.js +3 -3
  402. package/components/Input/Input/Input.js.map +1 -1
  403. package/components/Input/Input.styles/Input.styles.js +2 -2
  404. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  405. package/components/Input/Input.styles.d.ts +1 -1
  406. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
  407. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  408. package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  409. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
  410. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  411. package/components/Kebab/Kebab/Kebab.js +7 -4
  412. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  413. package/components/Link/Link/Link.js +6 -3
  414. package/components/Link/Link/Link.js.map +1 -1
  415. package/components/Loader/Loader/Loader.js +2 -2
  416. package/components/Loader/Loader/Loader.js.map +1 -1
  417. package/components/MenuItem/MenuItem/MenuItem.js +3 -3
  418. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  419. package/components/MiniModal/MiniModal/MiniModal.js +2 -2
  420. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  421. package/components/Modal/Modal/Modal.js +3 -3
  422. package/components/Modal/Modal/Modal.js.map +1 -1
  423. package/components/Modal/ModalBody/ModalBody.js +3 -3
  424. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  425. package/components/Paging/Paging/Paging.js +10 -6
  426. package/components/Paging/Paging/Paging.js.map +1 -1
  427. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
  428. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  429. package/components/Radio/Radio/Radio.js +2 -2
  430. package/components/Radio/Radio/Radio.js.map +1 -1
  431. package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
  432. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  433. package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
  434. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  435. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
  436. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  437. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  438. package/components/Select/Select/Select.js +6 -5
  439. package/components/Select/Select/Select.js.map +1 -1
  440. package/components/SidePage/SidePage/SidePage.js +2 -2
  441. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  442. package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
  443. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  444. package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
  445. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  446. package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
  447. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  448. package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
  449. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  450. package/components/Spinner/Spinner/Spinner.js +2 -2
  451. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  452. package/components/Switcher/Switcher/Switcher.js +3 -3
  453. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  454. package/components/Tabs/Indicator/Indicator.js +2 -2
  455. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  456. package/components/Tabs/Tab/Tab.js +3 -3
  457. package/components/Tabs/Tab/Tab.js.map +1 -1
  458. package/components/Tabs/Tabs/Tabs.js +2 -2
  459. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  460. package/components/Textarea/Textarea/Textarea.js +2 -2
  461. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  462. package/components/Toast/Toast/Toast.js +3 -3
  463. package/components/Toast/Toast/Toast.js.map +1 -1
  464. package/components/Toast/ToastView/ToastView.js +2 -2
  465. package/components/Toast/ToastView/ToastView.js.map +1 -1
  466. package/components/Toggle/Toggle/Toggle.js +2 -2
  467. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  468. package/components/Token/Token/Token.js +6 -3
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/TokenInput/TokenInput/TokenInput.js +2 -2
  471. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  472. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
  473. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  474. package/components/Tooltip/Tooltip/Tooltip.js +67 -46
  475. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  476. package/components/Tooltip/Tooltip.d.ts +10 -5
  477. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
  478. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  479. package/hooks/useDrop/useDrop.js.map +1 -1
  480. package/hooks/useDrop.d.ts +1 -1
  481. package/index.d.ts +2 -0
  482. package/index.js +2 -0
  483. package/index.js.map +1 -1
  484. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
  485. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  486. package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
  487. package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
  488. package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  489. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
  490. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  491. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
  492. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
  493. package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  494. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
  495. package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  496. package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
  497. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
  498. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
  499. package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  500. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
  501. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  502. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
  503. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  504. package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
  505. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  506. package/internal/DateSelect/DateSelect.d.ts +2 -0
  507. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
  508. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  509. package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  510. package/internal/DateSelect/locale/locales/en/en.js +2 -1
  511. package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
  512. package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
  513. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
  514. package/internal/DateSelect/locale/types.d.ts +1 -0
  515. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
  516. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  517. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  518. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
  519. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  520. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  521. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  524. package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
  525. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  526. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
  527. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  528. package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
  529. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  530. package/internal/Menu/Menu/Menu.js +3 -3
  531. package/internal/Menu/Menu/Menu.js.map +1 -1
  532. package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
  533. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  534. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  535. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
  536. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  537. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
  538. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  539. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
  540. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
  541. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
  542. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  543. package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
  544. package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
  545. package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
  546. package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  547. package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
  548. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
  549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  550. package/internal/NativeDateInput/utils/utils.js +2 -1
  551. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  552. package/internal/Popup/Popup/Popup.js +53 -10
  553. package/internal/Popup/Popup/Popup.js.map +1 -1
  554. package/internal/Popup/Popup.d.ts +15 -4
  555. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  556. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  557. package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
  558. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  559. package/internal/RenderContainer/RenderContainer.d.ts +3 -0
  560. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
  561. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  562. package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
  563. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  564. package/internal/ThemePlayground/Playground/Playground.js +2 -2
  565. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  566. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
  567. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  568. package/internal/ThemePlayground/constants/constants.js +3 -0
  569. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  570. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
  571. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  572. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  573. package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
  574. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  575. package/internal/ZIndex/ZIndex.d.ts +7 -3
  576. package/internal/themes/DarkTheme/DarkTheme.js +2 -0
  577. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  578. package/internal/themes/DarkTheme.d.ts +2 -0
  579. package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
  580. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  581. package/internal/themes/DefaultTheme.d.ts +18 -0
  582. package/lib/date/InternalDate/InternalDate.js +7 -1
  583. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  584. package/lib/date/InternalDate.d.ts +2 -0
  585. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
  586. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  587. package/lib/date/InternalDateTransformer.d.ts +3 -0
  588. package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
  589. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  590. package/lib/date/comparison/comparison.js +45 -0
  591. package/lib/date/comparison/comparison.js.map +1 -0
  592. package/lib/date/comparison/package.json +6 -0
  593. package/lib/date/comparison.d.ts +6 -0
  594. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  595. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  596. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  597. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  598. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  599. package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
  600. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  601. package/lib/locale/constants/constants.js +4 -1
  602. package/lib/locale/constants/constants.js.map +1 -1
  603. package/lib/locale/constants.d.ts +3 -0
  604. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
  605. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  606. package/lib/theming/Emotion/Emotion.js +12 -3
  607. package/lib/theming/Emotion/Emotion.js.map +1 -1
  608. package/lib/theming/Emotion.d.ts +7 -1
  609. package/lib/theming/ThemeContext/ThemeContext.js +0 -2
  610. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  611. package/lib/theming/ThemeContext.d.ts +0 -2
  612. package/lib/theming/ThemeContext.md +3 -1
  613. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
  614. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
  615. package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
  616. package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  617. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
  618. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
  619. package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
  620. package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  621. package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
  622. package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
  623. package/lib/widgets/StylesContainer/package.json +6 -0
  624. package/lib/widgets/StylesContainer.d.ts +13 -0
  625. package/lib/widgets/index/index.js +1 -0
  626. package/lib/widgets/index/index.js.map +1 -0
  627. package/lib/widgets/index/package.json +6 -0
  628. package/lib/widgets/index.d.ts +1 -0
  629. package/lib/widgets/package.json +6 -0
  630. package/package.json +3 -2
  631. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
  632. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
  633. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
  634. package/cjs/lib/theming/StyleContainer.d.ts +0 -4
  635. package/cjs/lib/theming/StyleContainer.js +0 -21
  636. package/cjs/lib/theming/StyleContainer.js.map +0 -1
  637. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
  638. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
  639. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
  640. package/lib/theming/StyleContainer/StyleContainer.js +0 -21
  641. package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
  642. package/lib/theming/StyleContainer/package.json +0 -6
  643. package/lib/theming/StyleContainer.d.ts +0 -4
  644. /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
  645. /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
  646. /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
  647. /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.tsx"],"names":["CheckboxDataTids","root","Checkbox","rootNode","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","React","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","isIndeterminate","_isTheme2022","theme","styles","emotion","iconClass","cx","icon","iconFixPosition","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","IconSquare","rootClass","getRootSizeClassName","rootFallback","isIE11","isEdge","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","globalClasses","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","resetFocus","globalObject","requestAnimationFrame","keyListener","isTabPressed","event","currentTarget","undefined","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { getStyles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\n/**\n * @deprecated use SizeProp\n */\nexport type CheckboxSize = SizeProp;\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private emotion!: Emotion;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n const iconClass = this.emotion.cx(\n styles.icon(),\n !_isTheme2022 && styles.iconFixPosition(),\n !props.checked && !isIndeterminate && styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = _isTheme2022 ? (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n ) : (\n <OkIcon className={iconClass} />\n );\n const IconSquare = _isTheme2022 ? (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n ) : (\n <SquareIcon className={iconClass} />\n );\n\n const rootClass = this.emotion.cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.emotion.cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.emotion.cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.emotion.cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Checkbox.tsx"],"names":["CheckboxDataTids","root","Checkbox","rootNode","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","React","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","isIndeterminate","_isTheme2022","theme","styles","emotion","iconClass","cx","icon","iconFixPosition","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","IconSquare","rootClass","getRootSizeClassName","rootFallback","isIE11","isEdge","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","globalClasses","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","resetFocus","globalObject","requestAnimationFrame","keyListener","isTabPressed","event","currentTarget","undefined","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","func"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { getStyles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\n/**\n * @deprecated use SizeProp\n */\nexport type CheckboxSize = SizeProp;\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Размер */\n size?: SizeProp;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private emotion!: Emotion;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n const iconClass = this.emotion.cx(\n styles.icon(),\n !_isTheme2022 && styles.iconFixPosition(),\n !props.checked && !isIndeterminate && styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = _isTheme2022 ? (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n ) : (\n <OkIcon className={iconClass} />\n );\n const IconSquare = _isTheme2022 ? (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n ) : (\n <SquareIcon className={iconClass} />\n );\n\n const rootClass = this.emotion.cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.emotion.cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.emotion.cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.emotion.cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
@@ -130,4 +130,4 @@ DateFragmentsView = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose
130
130
 
131
131
  rootRef = function (el) {
132
132
  _this.rootNode = el;
133
- };return _this;}var _proto = DateFragmentsView.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var _this$emotion$cx,_this3 = this;var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(this.theme);var styles = (0, _DateFragmentsView.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("span", { ref: this.rootRef, className: this.emotion.cx((_this$emotion$cx = {}, _this$emotion$cx[styles.root()] = true, _this$emotion$cx[styles.selected(this.theme)] = !_isTheme2022, _this$emotion$cx[styles.selectedFor22Themes(this.theme)] = _isTheme2022, _this$emotion$cx)) }, this.props.fragments.map(function (fragment, index) {return fragment.type === _types.InternalDateComponentType.Separator ? _this3.renderSeparator(fragment, index) : _this3.renderDateComponent(fragment, index);}));};_proto.renderSeparator = function renderSeparator(fragment, index) {var _this$emotion$cx2;var styles = (0, _DateFragmentsView.getStyles)(this.emotion);var separatorClassName = this.emotion.cx((_this$emotion$cx2 = {}, _this$emotion$cx2[styles.mask(this.theme)] = true, _this$emotion$cx2[styles.delimiterFilled()] = this.props.fragments[index + 1].value !== null, _this$emotion$cx2));return /*#__PURE__*/_react.default.createElement("span", { key: index, className: separatorClassName }, fragment.value);};_proto.renderDateComponent = function renderDateComponent(fragment, index) {var _this$props = this.props,inputMode = _this$props.inputMode,onSelectDateComponent = _this$props.onSelectDateComponent,selected = _this$props.selected;var type = fragment.type,value = fragment.value,length = fragment.length,valueWithPad = fragment.valueWithPad;var getValueMask = function getValueMask() {if (value === null || selected === type && inputMode) {return value;}return valueWithPad || value;};var valueMask = getValueMask();var lengthMask = _InternalDateValidator.InternalDateValidator.testParseToNumber(valueMask) ? Math.max(length - valueMask.toString().length, 0) : length;var handleMouseUp = function handleMouseUp(e) {var _globalObject$documen, _globalObject$documen2;if ((_globalObject$documen = _globalObject.globalObject.document) != null && (_globalObject$documen2 = _globalObject$documen.activeElement) != null && _globalObject$documen2.contains(e.currentTarget)) {onSelectDateComponent(type, e);}};var styles = (0, _DateFragmentsView.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("span", { key: index, "data-fragment": "", onMouseUp: handleMouseUp }, valueMask, /*#__PURE__*/_react.default.createElement("span", { "data-tid": "DateFragmentsView__placeholder", className: styles.mask(this.theme) }, Array(lengthMask).fill('').map(function (_, i) {return /*#__PURE__*/_react.default.createElement(_MaskCharLowLine.MaskCharLowLine, { key: i });})));};return DateFragmentsView;}(_react.default.Component);exports.DateFragmentsView = DateFragmentsView;
133
+ };return _this;}var _proto = DateFragmentsView.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var _this$emotion$cx,_this3 = this;var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(this.theme);var styles = (0, _DateFragmentsView.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("span", { ref: this.rootRef, className: this.emotion.cx((_this$emotion$cx = {}, _this$emotion$cx[styles.root()] = true, _this$emotion$cx[styles.selected(this.theme)] = !_isTheme2022, _this$emotion$cx[styles.selectedFor22Themes(this.theme)] = _isTheme2022, _this$emotion$cx)) }, this.props.fragments.map(function (fragment, index) {return fragment.type === _types.InternalDateComponentType.Separator ? _this3.renderSeparator(fragment, index) : _this3.renderDateComponent(fragment, index);}));};_proto.renderSeparator = function renderSeparator(fragment, index) {var _this$emotion$cx2;var styles = (0, _DateFragmentsView.getStyles)(this.emotion);var separatorClassName = this.emotion.cx((_this$emotion$cx2 = {}, _this$emotion$cx2[styles.mask(this.theme)] = true, _this$emotion$cx2[styles.delimiterFilled()] = this.props.fragments[index + 1].value !== null, _this$emotion$cx2));return /*#__PURE__*/_react.default.createElement("span", { key: index, className: separatorClassName }, fragment.value);};_proto.renderDateComponent = function renderDateComponent(fragment, index) {var _this$props = this.props,inputMode = _this$props.inputMode,onSelectDateComponent = _this$props.onSelectDateComponent,selected = _this$props.selected;var type = fragment.type,value = fragment.value,length = fragment.length,valueWithPad = fragment.valueWithPad;var getValueMask = function getValueMask() {if (value === null || selected === type && inputMode) {return value;}return valueWithPad || value;};var valueMask = getValueMask();var lengthMask = _InternalDateValidator.InternalDateValidator.testParseToNumber(valueMask) ? Math.max(length - valueMask.toString().length, 0) : length;var handleMouseUp = function handleMouseUp(e) {var _globalObject$documen, _globalObject$documen2;if ((_globalObject$documen = _globalObject.globalObject.document) != null && (_globalObject$documen2 = _globalObject$documen.activeElement) != null && _globalObject$documen2.contains(e.currentTarget)) {onSelectDateComponent(type, e);}};var styles = (0, _DateFragmentsView.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("span", { key: index, "data-fragment": "", onMouseUp: handleMouseUp }, valueMask, /*#__PURE__*/_react.default.createElement("span", { "data-tid": "DateFragmentsView__placeholder", className: styles.mask(this.theme) }, Array(lengthMask).fill('').map(function (_, i) {return /*#__PURE__*/_react.default.createElement(_MaskCharLowLine.MaskCharLowLine, { key: i });})));};return DateFragmentsView;}(_react.default.Component);exports.DateFragmentsView = DateFragmentsView;
@@ -1 +1 @@
1
- {"version":3,"sources":["DateFragmentsView.tsx"],"names":["DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","emotion","theme","renderMain","_isTheme2022","styles","cx","root","selected","selectedFor22Themes","props","map","index","type","InternalDateComponentType","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","length","valueWithPad","getValueMask","valueMask","lengthMask","InternalDateValidator","testParseToNumber","Math","max","toString","handleMouseUp","e","globalObject","document","activeElement","currentTarget","fill","_","i","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n\n return (\n <span\n ref={this.rootRef}\n className={this.emotion.cx({\n [styles.root()]: true,\n [styles.selected(this.theme)]: !_isTheme2022,\n [styles.selectedFor22Themes(this.theme)]: _isTheme2022,\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 styles = getStyles(this.emotion);\n const separatorClassName = this.emotion.cx({\n [styles.mask(this.theme)]: true,\n [styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (globalObject.document?.activeElement?.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n const styles = getStyles(this.emotion);\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
1
+ {"version":3,"sources":["DateFragmentsView.tsx"],"names":["DateFragmentsView","rootNode","isFragment","el","fragments","Array","from","querySelectorAll","some","fragment","contains","getRootNode","rootRef","render","emotion","theme","renderMain","_isTheme2022","styles","cx","root","selected","selectedFor22Themes","props","map","index","type","InternalDateComponentType","Separator","renderSeparator","renderDateComponent","separatorClassName","mask","delimiterFilled","value","inputMode","onSelectDateComponent","length","valueWithPad","getValueMask","valueMask","lengthMask","InternalDateValidator","testParseToNumber","Math","max","toString","handleMouseUp","e","globalObject","document","activeElement","currentTarget","fill","_","i","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { MaskCharLowLine } from '../../internal/MaskCharLowLine';\nimport { InternalDateValidator } from '../../lib/date/InternalDateValidator';\nimport { InternalDateComponentType, InternalDateFragment } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './DateFragmentsView.styles';\n\ninterface DateFragmentViewProps {\n selected: InternalDateComponentType | null;\n fragments: InternalDateFragment[];\n inputMode: boolean;\n onSelectDateComponent: (type: InternalDateComponentType, e: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\nexport class DateFragmentsView extends React.Component<DateFragmentViewProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n private rootNode: HTMLSpanElement | null = null;\n\n public isFragment = (el: HTMLElement | EventTarget): boolean => {\n if (this.rootNode) {\n // NOTE: NodeList doesn't support method 'forEach' in IE11\n const fragments: HTMLSpanElement[] = Array.from(this.rootNode.querySelectorAll('[data-fragment]'));\n return fragments.some((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n }\n return false;\n };\n\n public getRootNode = () => this.rootNode;\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const _isTheme2022 = isTheme2022(this.theme);\n const styles = getStyles(this.emotion);\n\n return (\n <span\n ref={this.rootRef}\n className={this.emotion.cx({\n [styles.root()]: true,\n [styles.selected(this.theme)]: !_isTheme2022,\n [styles.selectedFor22Themes(this.theme)]: _isTheme2022,\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 styles = getStyles(this.emotion);\n const separatorClassName = this.emotion.cx({\n [styles.mask(this.theme)]: true,\n [styles.delimiterFilled()]: this.props.fragments[index + 1].value !== null,\n });\n\n return (\n <span key={index} className={separatorClassName}>\n {fragment.value}\n </span>\n );\n }\n\n private renderDateComponent(fragment: InternalDateFragment, index: number): JSX.Element {\n const { inputMode, onSelectDateComponent, selected } = this.props;\n const { type, value, length, valueWithPad } = fragment;\n\n const getValueMask = () => {\n if (value === null || (selected === type && inputMode)) {\n return value;\n }\n\n return valueWithPad || value;\n };\n\n const valueMask = getValueMask();\n\n const lengthMask = InternalDateValidator.testParseToNumber(valueMask)\n ? Math.max(length - valueMask.toString().length, 0)\n : length;\n\n const handleMouseUp = (e: React.MouseEvent<HTMLSpanElement>) => {\n if (globalObject.document?.activeElement?.contains(e.currentTarget)) {\n onSelectDateComponent(type, e);\n }\n };\n const styles = getStyles(this.emotion);\n\n return (\n <span key={index} data-fragment=\"\" onMouseUp={handleMouseUp}>\n {valueMask}\n <span data-tid=\"DateFragmentsView__placeholder\" className={styles.mask(this.theme)}>\n {Array(lengthMask)\n .fill('')\n .map((_, i) => (\n <MaskCharLowLine key={i} />\n ))}\n </span>\n </span>\n );\n }\n\n private rootRef = (el: HTMLSpanElement | null) => {\n this.rootNode = el;\n };\n}\n"]}
@@ -482,4 +482,4 @@ DateInput = (_dec = (0, _decorators.locale)('DatePicker', _locale.DatePickerLoca
482
482
  _this.shiftSelection(1);
483
483
  }
484
484
  _this.updateValue({ inputMode: inputMode });
485
- };_this.state = { valueFormatted: '', selected: null, inputMode: false, focused: false, dragged: false };return _this;}var _proto = DateInput.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),value = _this$getProps.value,minDate = _this$getProps.minDate,maxDate = _this$getProps.maxDate;if (prevProps.value !== value || prevProps.minDate !== minDate || prevProps.maxDate !== maxDate || this.iDateMediator.isChangedLocale(this.locale)) {this.updateFromProps(false);}this.selectNode();};_proto.componentDidMount = function componentDidMount() {this.updateFromProps(false);if (this.props.autoFocus) {this.focus();}};_proto.blur = function blur() {if (this.inputLikeText) {this.inputLikeText.blur();}};_proto.focus = function focus() {if (this.inputLikeText) {this.inputLikeText.focus();}};_proto.blink = function blink() {if (this.inputLikeText) {this.inputLikeText.blink();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var _this$emotion$cx2;var _this$state2 = this.state,focused = _this$state2.focused,selected = _this$state2.selected,inputMode = _this$state2.inputMode,valueFormatted = _this$state2.valueFormatted;var showValue = Boolean(focused || valueFormatted);var _this$getProps2 = this.getProps(),width = _this$getProps2.width,size = _this$getProps2.size;var styles = (0, _DateInput.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_FocusControlWrapper.FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus }, /*#__PURE__*/_react.default.createElement(_InputLikeText.InputLikeText, { width: width, ref: this.inputLikeTextRef, size: size, disabled: this.props.disabled, error: this.props.error, warning: this.props.warning, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.props.onClick, onKeyDown: this.handleKeyDown, onMouseDownCapture: this.handleMouseDownCapture, onPaste: this.handlePaste, rightIcon: this.renderIcon(), onDoubleClickCapture: this.handleDoubleClick, onMouseDragStart: this.handleMouseDragStart, onMouseDragEnd: this.handleMouseDragEnd, value: this.iDateMediator.getInternalString(), inputMode: 'numeric', takeContentWidth: true }, /*#__PURE__*/_react.default.createElement("span", { className: this.emotion.cx(styles.value(), (_this$emotion$cx2 = {}, _this$emotion$cx2[styles.valueVisible()] = showValue, _this$emotion$cx2)) }, /*#__PURE__*/_react.default.createElement(_DateFragmentsView.DateFragmentsView, { ref: this.dateFragmentsViewRef, fragments: this.iDateMediator.getFragments(), onSelectDateComponent: this.handleSelectDateComponent, selected: selected, inputMode: inputMode })))));};return DateInput;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'DateInput', _class2.displayName = 'DateInput', _class2.defaultProps = { value: '', minDate: _constants.MIN_FULLDATE, maxDate: _constants.MAX_FULLDATE, size: 'small', width: 125 }, _temp)) || _class) || _class);exports.DateInput = DateInput;
485
+ };_this.state = { valueFormatted: '', selected: null, inputMode: false, focused: false, dragged: false };return _this;}var _proto = DateInput.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),value = _this$getProps.value,minDate = _this$getProps.minDate,maxDate = _this$getProps.maxDate;if (prevProps.value !== value || prevProps.minDate !== minDate || prevProps.maxDate !== maxDate || this.iDateMediator.isChangedLocale(this.locale)) {this.updateFromProps(false);}this.selectNode();};_proto.componentDidMount = function componentDidMount() {this.updateFromProps(false);if (this.props.autoFocus) {this.focus();}};_proto.blur = function blur() {if (this.inputLikeText) {this.inputLikeText.blur();}};_proto.focus = function focus() {if (this.inputLikeText) {this.inputLikeText.focus();}};_proto.blink = function blink() {if (this.inputLikeText) {this.inputLikeText.blink();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var _this$emotion$cx2;var _this$state2 = this.state,focused = _this$state2.focused,selected = _this$state2.selected,inputMode = _this$state2.inputMode,valueFormatted = _this$state2.valueFormatted;var showValue = Boolean(focused || valueFormatted);var _this$getProps2 = this.getProps(),width = _this$getProps2.width,size = _this$getProps2.size;var styles = (0, _DateInput.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_FocusControlWrapper.FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus }, /*#__PURE__*/_react.default.createElement(_InputLikeText.InputLikeText, { width: width, ref: this.inputLikeTextRef, size: size, disabled: this.props.disabled, error: this.props.error, warning: this.props.warning, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.props.onClick, onKeyDown: this.handleKeyDown, onMouseDownCapture: this.handleMouseDownCapture, onPaste: this.handlePaste, rightIcon: this.renderIcon(), onDoubleClickCapture: this.handleDoubleClick, onMouseDragStart: this.handleMouseDragStart, onMouseDragEnd: this.handleMouseDragEnd, value: this.iDateMediator.getInternalString(), inputMode: 'numeric', takeContentWidth: true }, /*#__PURE__*/_react.default.createElement("span", { className: this.emotion.cx(styles.value(), (_this$emotion$cx2 = {}, _this$emotion$cx2[styles.valueVisible()] = showValue, _this$emotion$cx2)) }, /*#__PURE__*/_react.default.createElement(_DateFragmentsView.DateFragmentsView, { ref: this.dateFragmentsViewRef, fragments: this.iDateMediator.getFragments(), onSelectDateComponent: this.handleSelectDateComponent, selected: selected, inputMode: inputMode })))));};return DateInput;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'DateInput', _class2.displayName = 'DateInput', _class2.defaultProps = { value: '', minDate: _constants.MIN_FULLDATE, maxDate: _constants.MAX_FULLDATE, size: 'small', width: 125 }, _temp)) || _class) || _class);exports.DateInput = DateInput;
@@ -1 +1 @@
1
- {"version":3,"sources":["DateInput.tsx"],"names":["DateInputDataTids","icon","DateInput","DatePickerLocaleHelper","rootNode","props","getProps","defaultProps","iDateMediator","InternalDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","ConditionalHandler","add","Actions","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","InternalDateComponentType","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","styles","emotion","theme","iconStyles","cx","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","globalObject","getSelection","toString","length","LENGTH_FULLDATE","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","emitChange","React","version","search","ReactDOM","flushSync","updateFromProps","locale","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","displayName","MIN_FULLDATE","MAX_FULLDATE"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\n\nimport { CalendarIcon as CalendarIcon2022 } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { getStyles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n const styles = getStyles(this.emotion);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={this.emotion.cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n const styles = getStyles(this.emotion);\n if (withIcon) {\n const theme = this.theme;\n const icon = isTheme2022(theme) ? <CalendarIcon2022 size={size} /> : <CalendarIcon />;\n const iconStyles = this.emotion.cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
1
+ {"version":3,"sources":["DateInput.tsx"],"names":["DateInputDataTids","icon","DateInput","DatePickerLocaleHelper","rootNode","props","getProps","defaultProps","iDateMediator","InternalDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","ConditionalHandler","add","Actions","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","InternalDateComponentType","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","withIcon","disabled","size","styles","emotion","theme","iconStyles","cx","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","globalObject","getSelection","toString","length","LENGTH_FULLDATE","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","emitChange","React","version","search","ReactDOM","flushSync","updateFromProps","locale","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","width","setRootNode","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","displayName","MIN_FULLDATE","MAX_FULLDATE"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\n\nimport { CalendarIcon as CalendarIcon2022 } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { getStyles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n const styles = getStyles(this.emotion);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={this.emotion.cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n const styles = getStyles(this.emotion);\n if (withIcon) {\n const theme = this.theme;\n const icon = isTheme2022(theme) ? <CalendarIcon2022 size={size} /> : <CalendarIcon />;\n const iconStyles = this.emotion.cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
@@ -6,7 +6,7 @@ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrappe
6
6
  import { CalendarDateShape, CalendarProps } from '../Calendar';
7
7
  import { SizeProp } from '../../lib/types/props';
8
8
  export declare const MIN_WIDTH = 120;
9
- export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>, Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate'>, CommonProps {
9
+ export interface DatePickerProps extends Pick<DropdownContainerProps, 'menuPos'>, Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>, CommonProps {
10
10
  autoFocus?: boolean;
11
11
  disabled?: boolean;
12
12
  /**
@@ -91,6 +91,8 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
91
91
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
92
92
  onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
93
93
  isHoliday: PropTypes.Requireable<(...args: any[]) => any>;
94
+ renderDay: PropTypes.Requireable<(...args: any[]) => any>;
95
+ onMonthChange: PropTypes.Requireable<(...args: any[]) => any>;
94
96
  };
95
97
  static defaultProps: DefaultProps;
96
98
  private getProps;
@@ -106,6 +108,7 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
106
108
  private input;
107
109
  private focused;
108
110
  private setRootNode;
111
+ private isMobileLayout;
109
112
  componentDidMount(): void;
110
113
  componentDidUpdate(): void;
111
114
  /**
@@ -26,11 +26,13 @@ var _Calendar = require("../Calendar");
26
26
  var _Button = require("../Button");
27
27
  var _CalendarUtils = require("../Calendar/CalendarUtils");
28
28
 
29
+ var _decorator = require("../ResponsiveLayout/decorator");
29
30
  var _ThemeContext = require("../../lib/theming/ThemeContext");
30
31
  var _Emotion = require("../../lib/theming/Emotion");
31
32
 
32
33
  var _DatePicker = require("./DatePicker.styles");
33
- var _locale2 = require("./locale");var _dec, _class, _class2, _temp;
34
+ var _locale2 = require("./locale");
35
+ var _MobilePicker = require("./MobilePicker");var _dec, _class, _class2, _temp;
34
36
 
35
37
  var INPUT_PASS_PROPS = {
36
38
  autoFocus: true,
@@ -103,7 +105,12 @@ var DatePickerDataTids = {
103
105
 
104
106
 
105
107
 
106
- DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLocaleHelper), (0, _rootNode.rootNode)(_class = _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(DatePicker, _React$PureComponent);function DatePicker() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
108
+
109
+ DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLocaleHelper), (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class = _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(DatePicker, _React$PureComponent);function DatePicker() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
110
+
111
+
112
+
113
+
107
114
 
108
115
 
109
116
 
@@ -272,6 +279,7 @@ DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLo
272
279
 
273
280
 
274
281
 
282
+
275
283
 
276
284
 
277
285
  renderMain = function (props) {
@@ -280,48 +288,67 @@ DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLo
280
288
  var _this$getProps = _this.getProps(),minDate = _this$getProps.minDate,maxDate = _this$getProps.maxDate;
281
289
  var styles = (0, _DatePicker.getStyles)(_this.emotion);
282
290
 
283
- if (_this.state.opened) {
284
- picker = /*#__PURE__*/
285
- _react.default.createElement(_locale.LocaleContext.Provider, {
286
- value: {
287
- locale: {
288
- Calendar: {
289
- months: _this.locale.months,
290
- dayCellChooseDateAriaLabel: _this.locale.dayCellChooseDateAriaLabel,
291
- selectMonthAriaLabel: _this.locale.selectMonthAriaLabel,
292
- selectYearAriaLabel: _this.locale.selectYearAriaLabel,
293
- selectChosenAriaLabel: _this.locale.selectChosenAriaLabel } } } }, /*#__PURE__*/
294
-
295
-
291
+ var isMobile = _this.isMobileLayout;
296
292
 
297
-
298
- _react.default.createElement(_DropdownContainer.DropdownContainer, {
299
- menuPos: _this.props.menuPos,
300
- "data-tid": DatePickerDataTids.root,
301
- getParent: _this.getParent,
302
- offsetY: parseInt(_this.theme.datePickerMenuOffsetY),
303
- align: _this.props.menuAlign }, /*#__PURE__*/
304
-
305
- _react.default.createElement("div", {
306
- "data-tid": DatePickerDataTids.pickerRoot,
307
- className: styles.calendarWrapper(_this.theme),
308
- onMouseDown: function onMouseDown(e) {return e.preventDefault();} }, /*#__PURE__*/
309
-
310
- _react.default.createElement(_Calendar.Calendar, {
311
- ref: function ref(c) {return _this.calendar = c;},
312
- maxDate: _this.parseValueToDate(maxDate),
313
- minDate: _this.parseValueToDate(minDate),
314
- onValueChange: _this.handleValueChange,
315
- isHoliday: _this.props.isHoliday,
316
- value: _this.parseValueToDate(_this.props.value) }),
317
-
318
- _this.props.enableTodayLink && _this.renderTodayLink(), ' ')));
293
+ if (_this.state.opened) {
294
+ if (isMobile) {
295
+ picker = /*#__PURE__*/
296
+ _react.default.createElement(_MobilePicker.MobilePicker, {
297
+ value: _this.props.value,
298
+ minDate: _this.parseValueToDate(minDate),
299
+ maxDate: _this.parseValueToDate(maxDate),
300
+ onValueChange: _this.props.onValueChange,
301
+ enableTodayLink: _this.props.enableTodayLink,
302
+ isHoliday: _this.props.isHoliday,
303
+ onCloseRequest: _this.handleBlur,
304
+ renderDay: props.renderDay,
305
+ onMonthChange: props.onMonthChange });
306
+
307
+
308
+ } else {
309
+ picker = /*#__PURE__*/
310
+ _react.default.createElement(_locale.LocaleContext.Provider, {
311
+ value: {
312
+ locale: {
313
+ Calendar: {
314
+ months: _this.locale.months,
315
+ dayCellChooseDateAriaLabel: _this.locale.dayCellChooseDateAriaLabel,
316
+ selectMonthAriaLabel: _this.locale.selectMonthAriaLabel,
317
+ selectYearAriaLabel: _this.locale.selectYearAriaLabel,
318
+ selectChosenAriaLabel: _this.locale.selectChosenAriaLabel } } } }, /*#__PURE__*/
319
+
320
+
321
+
322
+
323
+ _react.default.createElement(_DropdownContainer.DropdownContainer, {
324
+ menuPos: _this.props.menuPos,
325
+ "data-tid": DatePickerDataTids.root,
326
+ getParent: _this.getParent,
327
+ offsetY: parseInt(_this.theme.datePickerMenuOffsetY),
328
+ align: _this.props.menuAlign }, /*#__PURE__*/
329
+
330
+ _react.default.createElement("div", {
331
+ "data-tid": DatePickerDataTids.pickerRoot,
332
+ className: styles.calendarWrapper(_this.theme),
333
+ onMouseDown: function onMouseDown(e) {return e.preventDefault();} }, /*#__PURE__*/
334
+
335
+ _react.default.createElement(_Calendar.Calendar, {
336
+ ref: function ref(c) {return _this.calendar = c;},
337
+ maxDate: _this.parseValueToDate(maxDate),
338
+ minDate: _this.parseValueToDate(minDate),
339
+ onValueChange: _this.handleValueChange,
340
+ isHoliday: _this.props.isHoliday,
341
+ value: _this.parseValueToDate(_this.props.value),
342
+ renderDay: _this.props.renderDay,
343
+ onMonthChange: _this.props.onMonthChange }),
344
+
345
+ _this.props.enableTodayLink && _this.renderTodayLink(), ' ')));
319
346
 
320
347
 
321
348
 
322
349
 
350
+ }
323
351
  }
324
-
325
352
  return /*#__PURE__*/(
326
353
  _react.default.createElement("label", {
327
354
  className: styles.root(),
@@ -339,25 +366,25 @@ DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLo
339
366
  withIcon: true,
340
367
  minDate: minDate,
341
368
  maxDate: maxDate,
342
- onBlur: _this.handleBlur,
369
+ onBlur: isMobile ? undefined : _this.handleBlur,
343
370
  onFocus: _this.handleFocus,
344
371
  onValueChange: _this.props.onValueChange,
345
372
  "data-tid": DatePickerDataTids.input })),
346
373
 
347
- _this.state.canUseMobileNativeDatePicker && /*#__PURE__*/
374
+ _this.state.canUseMobileNativeDatePicker ? /*#__PURE__*/
348
375
  _react.default.createElement(_NativeDateInput.NativeDateInput, {
349
376
  onValueChange: _this.props.onValueChange,
350
377
  value: _this.props.value || '',
351
378
  minDate: minDate,
352
379
  maxDate: maxDate,
353
- disabled: _this.props.disabled }),
380
+ disabled: _this.props.disabled }) :
354
381
 
355
382
 
356
- !_this.state.canUseMobileNativeDatePicker && picker));
383
+ picker));
357
384
 
358
385
 
359
- };_this.
360
386
 
387
+ };_this.
361
388
 
362
389
 
363
390
 
@@ -478,7 +505,7 @@ DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLo
478
505
  */;_proto.focus = function focus() {if (this.props.disabled) {return;}if (this.input) {this.input.focus();}this.handleFocus();} /**
479
506
  * Закрывает выпадашку выбора дня
480
507
  * @public
481
- */;_proto.close = function close() {this.setState({ opened: false });};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeProvider, { value: _ThemeFactory.ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme) }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), _this2.renderMain));});});};_proto.parseValueToDate = function parseValueToDate(value) {if (value === undefined || value === null) {return undefined;}var date = new _InternalDate.InternalDate({ value: value });if (date.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Native] })) {return date.toString({ withPad: true });}return undefined;};_proto.renderTodayLink = function renderTodayLink() {var _this$emotion$cx;var _this$locale = this.locale,order = _this$locale.order,separator = _this$locale.separator;var today = new _InternalDate.InternalDate({ order: order, separator: separator }).setComponents(_InternalDateGetter.InternalDateGetter.getTodayComponents()).toString({ withPad: true, withSeparator: true });if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return /*#__PURE__*/_react.default.createElement("div", { style: { margin: 8 } }, /*#__PURE__*/_react.default.createElement(_Button.Button, { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, width: "100%", onClick: this.handleSelectToday(today), icon: /*#__PURE__*/_react.default.createElement(_ArrowAUp16Light.ArrowAUpIcon16Light, null) }, this.locale.today));}var styles = (0, _DatePicker.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("button", { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, className: this.emotion.cx((_this$emotion$cx = {}, _this$emotion$cx[styles.todayLinkWrapper(this.theme)] = true, _this$emotion$cx)), onClick: this.handleSelectToday(today), tabIndex: -1 }, this.locale.today + " " + today);};return DatePicker;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DatePicker', _class2.displayName = 'DatePicker', _class2.propTypes = { autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, /**
508
+ */;_proto.close = function close() {this.setState({ opened: false });};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this2.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme) }, /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.props), _this2.renderMain));});});};_proto.parseValueToDate = function parseValueToDate(value) {if (value === undefined || value === null) {return undefined;}var date = new _InternalDate.InternalDate({ value: value });if (date.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Native] })) {return date.toString({ withPad: true });}return undefined;};_proto.renderTodayLink = function renderTodayLink() {var _this$emotion$cx;var _this$locale = this.locale,order = _this$locale.order,separator = _this$locale.separator;var today = new _InternalDate.InternalDate({ order: order, separator: separator }).setComponents(_InternalDateGetter.InternalDateGetter.getTodayComponents()).toString({ withPad: true, withSeparator: true });if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return /*#__PURE__*/_react.default.createElement("div", { style: { margin: 8 } }, /*#__PURE__*/_react.default.createElement(_Button.Button, { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, width: "100%", onClick: this.handleSelectToday(today), icon: /*#__PURE__*/_react.default.createElement(_ArrowAUp16Light.ArrowAUpIcon16Light, null) }, this.locale.today));}var styles = (0, _DatePicker.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("button", { "aria-label": this.locale.todayAriaLabel, "data-tid": DatePickerDataTids.pickerTodayWrapper, className: this.emotion.cx((_this$emotion$cx = {}, _this$emotion$cx[styles.todayLinkWrapper(this.theme)] = true, _this$emotion$cx)), onClick: this.handleSelectToday(today), tabIndex: -1 }, this.locale.today + " " + today);};return DatePicker;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DatePicker', _class2.displayName = 'DatePicker', _class2.propTypes = { autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, /**
482
509
  * Включает кнопку сегодня в календаре
483
510
  */enableTodayLink: _propTypes.default.bool, error: _propTypes.default.bool, /**
484
511
  * Максимальная дата в календаре.
@@ -486,4 +513,4 @@ DatePicker = (_dec = (0, _decorators.locale)('DatePicker', _locale2.DatePickerLo
486
513
  * Минимальная дата в календаре.
487
514
  */minDate: _propTypes.default.string.isRequired, /**
488
515
  * Строка формата `dd.mm.yyyy`
489
- */value: _propTypes.default.string, warning: _propTypes.default.bool, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onBlur: _propTypes.default.func, onValueChange: _propTypes.default.func.isRequired, onFocus: _propTypes.default.func, onKeyDown: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, isHoliday: _propTypes.default.func }, _class2.defaultProps = { minDate: _constants.MIN_FULLDATE, maxDate: _constants.MAX_FULLDATE }, _class2.validate = function (value, range) {if (range === void 0) {range = {};}if (!value) {return false;}var _range = range,_range$minDate = _range.minDate,minDate = _range$minDate === void 0 ? _constants.MIN_FULLDATE : _range$minDate,_range$maxDate = _range.maxDate,maxDate = _range$maxDate === void 0 ? _constants.MAX_FULLDATE : _range$maxDate;var internalDate = new _InternalDate.InternalDate({ order: _types.InternalDateOrder.DMY, separator: _types.InternalDateSeparator.Dot }).setRangeStart(new _InternalDate.InternalDate({ value: minDate })).setRangeEnd(new _InternalDate.InternalDate({ value: maxDate })).parseValue(value);return internalDate.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Number, _types.InternalDateValidateCheck.Native, _types.InternalDateValidateCheck.Limits, _types.InternalDateValidateCheck.Range] });}, _temp)) || _class) || _class);exports.DatePicker = DatePicker;
516
+ */value: _propTypes.default.string, warning: _propTypes.default.bool, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onBlur: _propTypes.default.func, onValueChange: _propTypes.default.func.isRequired, onFocus: _propTypes.default.func, onKeyDown: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, isHoliday: _propTypes.default.func, renderDay: _propTypes.default.func, onMonthChange: _propTypes.default.func }, _class2.defaultProps = { minDate: _constants.MIN_FULLDATE, maxDate: _constants.MAX_FULLDATE }, _class2.validate = function (value, range) {if (range === void 0) {range = {};}if (!value) {return false;}var _range = range,_range$minDate = _range.minDate,minDate = _range$minDate === void 0 ? _constants.MIN_FULLDATE : _range$minDate,_range$maxDate = _range.maxDate,maxDate = _range$maxDate === void 0 ? _constants.MAX_FULLDATE : _range$maxDate;var internalDate = new _InternalDate.InternalDate({ order: _types.InternalDateOrder.DMY, separator: _types.InternalDateSeparator.Dot }).setRangeStart(new _InternalDate.InternalDate({ value: minDate })).setRangeEnd(new _InternalDate.InternalDate({ value: maxDate })).parseValue(value);return internalDate.validate({ checks: [_types.InternalDateValidateCheck.NotNull, _types.InternalDateValidateCheck.Number, _types.InternalDateValidateCheck.Native, _types.InternalDateValidateCheck.Limits, _types.InternalDateValidateCheck.Range] });}, _temp)) || _class) || _class) || _class);exports.DatePicker = DatePicker;