@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
@@ -3,6 +3,7 @@ export declare class InternalDate {
3
3
  private order;
4
4
  private separator;
5
5
  private components;
6
+ private canonicalLocale;
6
7
  private start;
7
8
  private end;
8
9
  constructor({ order, separator, langCode, value }?: InternalDateConstructorProps);
@@ -45,6 +46,7 @@ export declare class InternalDate {
45
46
  toString(settings?: InternalDateToFragmentsSettings): string;
46
47
  toInternalString(): string;
47
48
  toNativeFormat(): InternalDateComponentsNumber | undefined;
49
+ toA11YFormat(): string;
48
50
  clone(): InternalDate;
49
51
  duplicateOf(pattern: InternalDate): InternalDate;
50
52
  restore(type?: InternalDateComponentType | null): InternalDate;
@@ -47,9 +47,12 @@ InternalDate = /*#__PURE__*/function () {
47
47
 
48
48
 
49
49
 
50
- function InternalDate(_temp) {var _ref = _temp === void 0 ? {} : _temp,order = _ref.order,separator = _ref.separator,_ref$langCode = _ref.langCode,langCode = _ref$langCode === void 0 ? _constants.defaultLangCode : _ref$langCode,value = _ref.value;this.components = (0, _extends2.default)({}, _constants2.emptyDateComponents);this.start = null;this.end = null;
50
+
51
+ function InternalDate(_temp) {var _ref = _temp === void 0 ? {} : _temp,order = _ref.order,separator = _ref.separator,_ref$langCode = _ref.langCode,langCode = _ref$langCode === void 0 ? _constants.defaultLangCode : _ref$langCode,value = _ref.value;this.components = (0, _extends2.default)({}, _constants2.emptyDateComponents);this.canonicalLocale = 'ru-RU';this.start = null;this.end = null;
51
52
  this.order = order != null ? order : _localeSets.internalDateLocale[langCode].order;
52
53
  this.separator = separator != null ? separator : _localeSets.internalDateLocale[langCode].separator;
54
+ this.canonicalLocale = _constants.langCodesToCanonicalLocale[langCode];
55
+
53
56
  if (value !== undefined) {
54
57
  this.parseInternalValue(value);
55
58
  }
@@ -295,6 +298,10 @@ InternalDate = /*#__PURE__*/function () {
295
298
  return undefined;
296
299
  };_proto.
297
300
 
301
+ toA11YFormat = function toA11YFormat() {
302
+ return _InternalDateTransformer.InternalDateTransformer.componentsToA11YFormat(this.components, this.canonicalLocale);
303
+ };_proto.
304
+
298
305
  clone = function clone() {
299
306
  return new InternalDate({ order: this.order, separator: this.separator }).
300
307
  setComponents((0, _extends2.default)({}, this.components)).
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDate.ts"],"names":["getRestoreYear","prev","today","year","InternalDateValidator","testParseToNumber","Number","InternalDate","order","separator","langCode","defaultLangCode","value","components","emptyDateComponents","start","end","internalDateLocale","undefined","parseInternalValue","getComponentsRaw","getComponentsLikeNumber","InternalDateTransformer","dateComponentsStringToNumber","getSeparator","getOrder","getYear","getMonth","month","getDate","date","getRangeStart","getRangeEnd","setOrder","defaultDateComponentsOrder","setSeparator","defaultDateComponentsSeparator","setComponents","isNativeMonth","clone","shiftMonth","validate","checks","InternalDateValidateCheck","Native","setYear","setMonth","setDate","shiftYear","step","isLoop","isRange","isCutFeb","min","getMinValue","InternalDateComponentType","Year","max","getMaxValue","InternalDateCalculator","calcShiftValueDateComponent","Month","shiftDate","Date","setRangeStart","internalDate","setRangeEnd","get","type","InternalDateGetter","getValueDateComponent","set","InternalDateSetter","setValueDateComponent","shift","settings","shiftValueDateComponent","parseValue","parseValueToDate","InternalDateOrder","DMY","nextValue","Object","values","filter","isInternalDateValidateCheck","self","includes","NotNull","checkForNull","every","Limits","checkLimits","compareWithNativeDate","Range","checkRangePiecemeal","checkRangeFully","toNumber","toFragments","dateToFragments","YMD","withPad","map","valueWithPad","join","toString","withSeparator","Separator","toInternalString","dateToInternalString","toNativeFormat","duplicateOf","pattern","restore","getTodayComponents","restoreYear","All","cutOffExcess","isIncomplete","isEmpty","some","component","isEqualComponentDate","compared","isEqual","isEqualDateValues","isEqualDateFormats","calcRangeStartDateComponent","getDefaultMin","calcRangeEndDateComponent","getDefaultMax"],"mappings":"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","sourcesContent":["import { defaultLangCode } from '../locale/constants';\n\nimport { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from './constants';\nimport { InternalDateCalculator } from './InternalDateCalculator';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport { InternalDateSetter } from './InternalDateSetter';\nimport { InternalDateTransformer } from './InternalDateTransformer';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport { internalDateLocale } from './localeSets';\nimport {\n InternalDateChangeSettings,\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateConstructorProps,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n InternalDateValidateCheck,\n isInternalDateValidateCheck,\n} from './types';\n\nconst getRestoreYear = (\n prev: InternalDateComponentsRaw,\n today: ReturnType<typeof InternalDateGetter.getTodayComponents>,\n) => {\n if (prev.year !== null && InternalDateValidator.testParseToNumber(prev.year)) {\n if (prev.year > 50 && prev.year < 100) {\n return Number(prev.year) + 1900;\n } else if (prev.year > 0 && prev.year < 51) {\n return Number(prev.year) + 2000;\n }\n\n return prev.year;\n }\n\n return today.year;\n};\n\nexport class InternalDate {\n private order: InternalDateOrder;\n private separator: InternalDateSeparator;\n private components: InternalDateComponentsRaw = { ...emptyDateComponents };\n\n private start: InternalDate | null = null;\n private end: InternalDate | null = null;\n\n public constructor({ order, separator, langCode = defaultLangCode, value }: InternalDateConstructorProps = {}) {\n this.order = order ?? internalDateLocale[langCode].order;\n this.separator = separator ?? internalDateLocale[langCode].separator;\n if (value !== undefined) {\n this.parseInternalValue(value);\n }\n }\n\n public getComponentsRaw(): InternalDateComponentsRaw {\n return { ...this.components };\n }\n\n public getComponentsLikeNumber(): InternalDateComponentsNumber {\n return InternalDateTransformer.dateComponentsStringToNumber(this.getComponentsRaw());\n }\n\n public getSeparator(): InternalDateSeparator {\n return this.separator;\n }\n\n public getOrder(): InternalDateOrder {\n return this.order;\n }\n\n public getYear(): InternalDateComponentRaw {\n return this.components.year;\n }\n\n public getMonth(): InternalDateComponentRaw {\n return this.components.month;\n }\n\n public getDate(): InternalDateComponentRaw {\n return this.components.date;\n }\n\n public getRangeStart(): InternalDate | null {\n return this.start;\n }\n\n public getRangeEnd(): InternalDate | null {\n return this.end;\n }\n\n public setOrder(order: InternalDateOrder = defaultDateComponentsOrder): InternalDate {\n this.order = order;\n return this;\n }\n\n public setSeparator(separator: InternalDateSeparator = defaultDateComponentsSeparator): InternalDate {\n this.separator = separator;\n return this;\n }\n\n public setComponents(components: InternalDateComponentsRaw | null, isNativeMonth = false): InternalDate {\n if (components && isNativeMonth) {\n const clone = this.clone().setComponents(components).shiftMonth(1);\n if (clone.validate({ checks: [InternalDateValidateCheck.Native] })) {\n this.components = { ...clone.getComponentsLikeNumber() };\n }\n return this;\n }\n this.components = components || { ...emptyDateComponents };\n return this;\n }\n\n public setYear(year: InternalDateComponentRaw): InternalDate {\n this.components.year = year;\n return this;\n }\n\n public setMonth(month: InternalDateComponentRaw): InternalDate {\n this.components.month = month;\n return this;\n }\n\n public setDate(date: InternalDateComponentRaw): InternalDate {\n this.components.date = date;\n return this;\n }\n\n public shiftYear(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Year, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Year, { isRange, isCutFeb });\n const { year } = this.getComponentsLikeNumber();\n this.components.year = InternalDateCalculator.calcShiftValueDateComponent(step, year, min, max, isLoop);\n return this;\n }\n\n public shiftMonth(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Month, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Month, { isRange, isCutFeb });\n const { month } = this.getComponentsLikeNumber();\n this.components.month = InternalDateCalculator.calcShiftValueDateComponent(step, month, min, max, isLoop);\n return this;\n }\n\n public shiftDate(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Date, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Date, { isRange, isCutFeb });\n const { date } = this.getComponentsLikeNumber();\n this.components.date = InternalDateCalculator.calcShiftValueDateComponent(step, date, min, max, isLoop);\n return this;\n }\n\n public setRangeStart(internalDate: InternalDate | null): InternalDate {\n this.start = internalDate;\n return this;\n }\n\n public setRangeEnd(internalDate: InternalDate | null): InternalDate {\n this.end = internalDate;\n return this;\n }\n\n public get(type: InternalDateComponentType | null): InternalDateComponentRaw {\n return type !== null ? InternalDateGetter.getValueDateComponent(type, this.getComponentsRaw()) : null;\n }\n\n public set(type: InternalDateComponentType | null, value: InternalDateComponentRaw): InternalDate {\n return type !== null ? InternalDateSetter.setValueDateComponent(this, type, value) : this;\n }\n\n public shift(\n type: InternalDateComponentType | null,\n step: number,\n settings?: InternalDateChangeSettings,\n ): InternalDate {\n return type !== null ? InternalDateSetter.shiftValueDateComponent(this, type, step, settings) : this;\n }\n\n public parseValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, this.order) || { ...emptyDateComponents };\n this.setComponents(components);\n return this;\n }\n\n public parseInternalValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, InternalDateOrder.DMY) || {\n ...emptyDateComponents,\n };\n this.setComponents(components);\n return this;\n }\n\n public validate({\n type,\n nextValue,\n checks = Object.values(InternalDateValidateCheck).filter<InternalDateValidateCheck>(isInternalDateValidateCheck),\n }: {\n type?: InternalDateComponentType;\n nextValue?: InternalDateComponentRaw;\n checks?: InternalDateValidateCheck[];\n } = {}): boolean {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let self: InternalDate = this;\n if (type !== undefined) {\n const clone = this.clone();\n if (nextValue !== undefined) {\n clone.set(type, nextValue);\n }\n self = clone;\n }\n if (\n checks.includes(InternalDateValidateCheck.NotNull) &&\n !InternalDateValidator.checkForNull(self.getComponentsRaw(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Number) &&\n !Object.values(self.getComponentsRaw()).every(InternalDateValidator.testParseToNumber)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Limits) &&\n !InternalDateValidator.checkLimits(self.getComponentsLikeNumber(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Native) &&\n !InternalDateValidator.compareWithNativeDate(self.getComponentsLikeNumber())\n ) {\n return false;\n }\n if (checks.includes(InternalDateValidateCheck.Range)) {\n return type !== undefined\n ? InternalDateValidator.checkRangePiecemeal(\n type,\n self.getComponentsLikeNumber(),\n self.start && self.start.getComponentsLikeNumber(),\n self.end && self.end.getComponentsLikeNumber(),\n )\n : InternalDateValidator.checkRangeFully(\n self.toNumber(),\n self.start && self.start.toNumber(),\n self.end && self.end.toNumber(),\n );\n }\n return true;\n }\n\n public toFragments(\n settings: InternalDateToFragmentsSettings = {},\n components: InternalDateComponentsRaw = this.getComponentsRaw(),\n ): InternalDateFragment[] {\n return InternalDateTransformer.dateToFragments(components, {\n order: this.order,\n separator: this.separator,\n ...settings,\n });\n }\n\n /**\n * Перевод даты в числовое представление (**НЕ** аналог `timestamp`)\n * Предназначено для быстрого сравнивания дат `<=>`\n */\n public toNumber(): number {\n return Number(\n this.toFragments({ order: InternalDateOrder.YMD, withPad: true })\n .map(({ valueWithPad }) => valueWithPad)\n .join(''),\n );\n }\n\n public toString(settings: InternalDateToFragmentsSettings = {}): string {\n return this.toFragments({ withPad: true, withSeparator: true, ...settings })\n .filter(({ value }) => value !== null)\n .map(({ type, valueWithPad, value }) =>\n settings.withPad && type !== InternalDateComponentType.Separator ? valueWithPad : value,\n )\n .join('');\n }\n\n public toInternalString(): string {\n return InternalDateTransformer.dateToInternalString(this.getComponentsRaw());\n }\n\n public toNativeFormat(): InternalDateComponentsNumber | undefined {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return undefined;\n }\n\n public clone(): InternalDate {\n return new InternalDate({ order: this.order, separator: this.separator })\n .setComponents({ ...this.components })\n .setRangeStart(this.start && this.start.clone())\n .setRangeEnd(this.end && this.end.clone());\n }\n\n public duplicateOf(pattern: InternalDate): InternalDate {\n return this.setComponents(pattern.getComponentsRaw());\n }\n\n public restore(type: InternalDateComponentType | null = null): InternalDate {\n const prev = this.getComponentsRaw();\n const today = InternalDateGetter.getTodayComponents();\n\n if (prev.year === null && prev.month === null && prev.date === null) {\n return this;\n }\n\n const restoreYear = getRestoreYear(prev, today);\n\n if (\n (type === null && restoreYear !== prev.year) ||\n type === InternalDateComponentType.Year ||\n type === InternalDateComponentType.All\n ) {\n this.setYear(restoreYear);\n }\n\n if (\n (type === null && prev.month === null) ||\n type === InternalDateComponentType.Month ||\n type === InternalDateComponentType.All\n ) {\n this.setMonth(today.month);\n }\n\n if (\n (type === null && prev.date === null) ||\n type === InternalDateComponentType.Date ||\n type === InternalDateComponentType.All\n ) {\n this.setDate(today.date);\n }\n\n return this;\n }\n\n public cutOffExcess(\n type: InternalDateComponentType | null = null,\n { isLoop = false, isRange, isCutFeb = false }: InternalDateChangeSettings = {},\n ): InternalDate {\n const { year, month, date } = this.components;\n if ((type === null || type === InternalDateComponentType.Year) && InternalDateValidator.testParseToNumber(year)) {\n this.shiftYear(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Month) && InternalDateValidator.testParseToNumber(month)) {\n this.shiftMonth(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Date) && InternalDateValidator.testParseToNumber(date)) {\n this.shiftDate(0, { isLoop, isRange, isCutFeb });\n }\n return this;\n }\n\n public isIncomplete(): boolean {\n return !this.isEmpty() && Object.values(this.components).some((component) => component === null);\n }\n\n public isEmpty(): boolean {\n return Object.values(this.components).every((component) => component === null);\n }\n\n public isEqualComponentDate(type: InternalDateComponentType | null, compared: InternalDate): boolean {\n return this.get(type) === compared.get(type);\n }\n\n public isEqual(compared: InternalDate): boolean {\n return (\n InternalDateValidator.isEqualDateValues(this, compared) &&\n InternalDateValidator.isEqualDateFormats(this, compared)\n );\n }\n\n private getMinValue(type: InternalDateComponentType, isRange?: boolean): number {\n if (isRange === true && this.start !== null) {\n return Number(\n InternalDateCalculator.calcRangeStartDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.start.getComponentsLikeNumber(),\n ),\n );\n }\n return InternalDateGetter.getDefaultMin(type);\n }\n\n private getMaxValue(\n type: InternalDateComponentType,\n { isRange, isCutFeb }: { isRange?: boolean; isCutFeb?: boolean } = {},\n ): number {\n if (isRange && this.end !== null) {\n return Number(\n InternalDateCalculator.calcRangeEndDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.end.getComponentsLikeNumber(),\n ),\n );\n }\n if (!isCutFeb) {\n return InternalDateGetter.getDefaultMax(type);\n }\n return InternalDateGetter.getDefaultMax(type, this.getComponentsLikeNumber());\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDate.ts"],"names":["getRestoreYear","prev","today","year","InternalDateValidator","testParseToNumber","Number","InternalDate","order","separator","langCode","defaultLangCode","value","components","emptyDateComponents","canonicalLocale","start","end","internalDateLocale","langCodesToCanonicalLocale","undefined","parseInternalValue","getComponentsRaw","getComponentsLikeNumber","InternalDateTransformer","dateComponentsStringToNumber","getSeparator","getOrder","getYear","getMonth","month","getDate","date","getRangeStart","getRangeEnd","setOrder","defaultDateComponentsOrder","setSeparator","defaultDateComponentsSeparator","setComponents","isNativeMonth","clone","shiftMonth","validate","checks","InternalDateValidateCheck","Native","setYear","setMonth","setDate","shiftYear","step","isLoop","isRange","isCutFeb","min","getMinValue","InternalDateComponentType","Year","max","getMaxValue","InternalDateCalculator","calcShiftValueDateComponent","Month","shiftDate","Date","setRangeStart","internalDate","setRangeEnd","get","type","InternalDateGetter","getValueDateComponent","set","InternalDateSetter","setValueDateComponent","shift","settings","shiftValueDateComponent","parseValue","parseValueToDate","InternalDateOrder","DMY","nextValue","Object","values","filter","isInternalDateValidateCheck","self","includes","NotNull","checkForNull","every","Limits","checkLimits","compareWithNativeDate","Range","checkRangePiecemeal","checkRangeFully","toNumber","toFragments","dateToFragments","YMD","withPad","map","valueWithPad","join","toString","withSeparator","Separator","toInternalString","dateToInternalString","toNativeFormat","toA11YFormat","componentsToA11YFormat","duplicateOf","pattern","restore","getTodayComponents","restoreYear","All","cutOffExcess","isIncomplete","isEmpty","some","component","isEqualComponentDate","compared","isEqual","isEqualDateValues","isEqualDateFormats","calcRangeStartDateComponent","getDefaultMin","calcRangeEndDateComponent","getDefaultMax"],"mappings":"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","sourcesContent":["import { defaultLangCode, langCodesToCanonicalLocale } from '../locale/constants';\n\nimport { defaultDateComponentsOrder, defaultDateComponentsSeparator, emptyDateComponents } from './constants';\nimport { InternalDateCalculator } from './InternalDateCalculator';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport { InternalDateSetter } from './InternalDateSetter';\nimport { InternalDateTransformer } from './InternalDateTransformer';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport { internalDateLocale } from './localeSets';\nimport {\n InternalDateChangeSettings,\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateConstructorProps,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n InternalDateValidateCheck,\n isInternalDateValidateCheck,\n} from './types';\n\nconst getRestoreYear = (\n prev: InternalDateComponentsRaw,\n today: ReturnType<typeof InternalDateGetter.getTodayComponents>,\n) => {\n if (prev.year !== null && InternalDateValidator.testParseToNumber(prev.year)) {\n if (prev.year > 50 && prev.year < 100) {\n return Number(prev.year) + 1900;\n } else if (prev.year > 0 && prev.year < 51) {\n return Number(prev.year) + 2000;\n }\n\n return prev.year;\n }\n\n return today.year;\n};\n\nexport class InternalDate {\n private order: InternalDateOrder;\n private separator: InternalDateSeparator;\n private components: InternalDateComponentsRaw = { ...emptyDateComponents };\n private canonicalLocale = 'ru-RU';\n\n private start: InternalDate | null = null;\n private end: InternalDate | null = null;\n\n public constructor({ order, separator, langCode = defaultLangCode, value }: InternalDateConstructorProps = {}) {\n this.order = order ?? internalDateLocale[langCode].order;\n this.separator = separator ?? internalDateLocale[langCode].separator;\n this.canonicalLocale = langCodesToCanonicalLocale[langCode];\n\n if (value !== undefined) {\n this.parseInternalValue(value);\n }\n }\n\n public getComponentsRaw(): InternalDateComponentsRaw {\n return { ...this.components };\n }\n\n public getComponentsLikeNumber(): InternalDateComponentsNumber {\n return InternalDateTransformer.dateComponentsStringToNumber(this.getComponentsRaw());\n }\n\n public getSeparator(): InternalDateSeparator {\n return this.separator;\n }\n\n public getOrder(): InternalDateOrder {\n return this.order;\n }\n\n public getYear(): InternalDateComponentRaw {\n return this.components.year;\n }\n\n public getMonth(): InternalDateComponentRaw {\n return this.components.month;\n }\n\n public getDate(): InternalDateComponentRaw {\n return this.components.date;\n }\n\n public getRangeStart(): InternalDate | null {\n return this.start;\n }\n\n public getRangeEnd(): InternalDate | null {\n return this.end;\n }\n\n public setOrder(order: InternalDateOrder = defaultDateComponentsOrder): InternalDate {\n this.order = order;\n return this;\n }\n\n public setSeparator(separator: InternalDateSeparator = defaultDateComponentsSeparator): InternalDate {\n this.separator = separator;\n return this;\n }\n\n public setComponents(components: InternalDateComponentsRaw | null, isNativeMonth = false): InternalDate {\n if (components && isNativeMonth) {\n const clone = this.clone().setComponents(components).shiftMonth(1);\n if (clone.validate({ checks: [InternalDateValidateCheck.Native] })) {\n this.components = { ...clone.getComponentsLikeNumber() };\n }\n return this;\n }\n this.components = components || { ...emptyDateComponents };\n return this;\n }\n\n public setYear(year: InternalDateComponentRaw): InternalDate {\n this.components.year = year;\n return this;\n }\n\n public setMonth(month: InternalDateComponentRaw): InternalDate {\n this.components.month = month;\n return this;\n }\n\n public setDate(date: InternalDateComponentRaw): InternalDate {\n this.components.date = date;\n return this;\n }\n\n public shiftYear(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Year, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Year, { isRange, isCutFeb });\n const { year } = this.getComponentsLikeNumber();\n this.components.year = InternalDateCalculator.calcShiftValueDateComponent(step, year, min, max, isLoop);\n return this;\n }\n\n public shiftMonth(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Month, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Month, { isRange, isCutFeb });\n const { month } = this.getComponentsLikeNumber();\n this.components.month = InternalDateCalculator.calcShiftValueDateComponent(step, month, min, max, isLoop);\n return this;\n }\n\n public shiftDate(step: number, { isLoop, isRange, isCutFeb }: InternalDateChangeSettings = {}): InternalDate {\n const min = this.getMinValue(InternalDateComponentType.Date, isRange);\n const max = this.getMaxValue(InternalDateComponentType.Date, { isRange, isCutFeb });\n const { date } = this.getComponentsLikeNumber();\n this.components.date = InternalDateCalculator.calcShiftValueDateComponent(step, date, min, max, isLoop);\n return this;\n }\n\n public setRangeStart(internalDate: InternalDate | null): InternalDate {\n this.start = internalDate;\n return this;\n }\n\n public setRangeEnd(internalDate: InternalDate | null): InternalDate {\n this.end = internalDate;\n return this;\n }\n\n public get(type: InternalDateComponentType | null): InternalDateComponentRaw {\n return type !== null ? InternalDateGetter.getValueDateComponent(type, this.getComponentsRaw()) : null;\n }\n\n public set(type: InternalDateComponentType | null, value: InternalDateComponentRaw): InternalDate {\n return type !== null ? InternalDateSetter.setValueDateComponent(this, type, value) : this;\n }\n\n public shift(\n type: InternalDateComponentType | null,\n step: number,\n settings?: InternalDateChangeSettings,\n ): InternalDate {\n return type !== null ? InternalDateSetter.shiftValueDateComponent(this, type, step, settings) : this;\n }\n\n public parseValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, this.order) || { ...emptyDateComponents };\n this.setComponents(components);\n return this;\n }\n\n public parseInternalValue(value: string | null = ''): InternalDate {\n const components = InternalDateTransformer.parseValueToDate(value, InternalDateOrder.DMY) || {\n ...emptyDateComponents,\n };\n this.setComponents(components);\n return this;\n }\n\n public validate({\n type,\n nextValue,\n checks = Object.values(InternalDateValidateCheck).filter<InternalDateValidateCheck>(isInternalDateValidateCheck),\n }: {\n type?: InternalDateComponentType;\n nextValue?: InternalDateComponentRaw;\n checks?: InternalDateValidateCheck[];\n } = {}): boolean {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let self: InternalDate = this;\n if (type !== undefined) {\n const clone = this.clone();\n if (nextValue !== undefined) {\n clone.set(type, nextValue);\n }\n self = clone;\n }\n if (\n checks.includes(InternalDateValidateCheck.NotNull) &&\n !InternalDateValidator.checkForNull(self.getComponentsRaw(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Number) &&\n !Object.values(self.getComponentsRaw()).every(InternalDateValidator.testParseToNumber)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Limits) &&\n !InternalDateValidator.checkLimits(self.getComponentsLikeNumber(), type)\n ) {\n return false;\n }\n if (\n checks.includes(InternalDateValidateCheck.Native) &&\n !InternalDateValidator.compareWithNativeDate(self.getComponentsLikeNumber())\n ) {\n return false;\n }\n if (checks.includes(InternalDateValidateCheck.Range)) {\n return type !== undefined\n ? InternalDateValidator.checkRangePiecemeal(\n type,\n self.getComponentsLikeNumber(),\n self.start && self.start.getComponentsLikeNumber(),\n self.end && self.end.getComponentsLikeNumber(),\n )\n : InternalDateValidator.checkRangeFully(\n self.toNumber(),\n self.start && self.start.toNumber(),\n self.end && self.end.toNumber(),\n );\n }\n return true;\n }\n\n public toFragments(\n settings: InternalDateToFragmentsSettings = {},\n components: InternalDateComponentsRaw = this.getComponentsRaw(),\n ): InternalDateFragment[] {\n return InternalDateTransformer.dateToFragments(components, {\n order: this.order,\n separator: this.separator,\n ...settings,\n });\n }\n\n /**\n * Перевод даты в числовое представление (**НЕ** аналог `timestamp`)\n * Предназначено для быстрого сравнивания дат `<=>`\n */\n public toNumber(): number {\n return Number(\n this.toFragments({ order: InternalDateOrder.YMD, withPad: true })\n .map(({ valueWithPad }) => valueWithPad)\n .join(''),\n );\n }\n\n public toString(settings: InternalDateToFragmentsSettings = {}): string {\n return this.toFragments({ withPad: true, withSeparator: true, ...settings })\n .filter(({ value }) => value !== null)\n .map(({ type, valueWithPad, value }) =>\n settings.withPad && type !== InternalDateComponentType.Separator ? valueWithPad : value,\n )\n .join('');\n }\n\n public toInternalString(): string {\n return InternalDateTransformer.dateToInternalString(this.getComponentsRaw());\n }\n\n public toNativeFormat(): InternalDateComponentsNumber | undefined {\n const components = this.getComponentsLikeNumber();\n if (InternalDateValidator.compareWithNativeDate(components)) {\n return { ...components, month: components.month - 1 };\n }\n return undefined;\n }\n\n public toA11YFormat(): string {\n return InternalDateTransformer.componentsToA11YFormat(this.components, this.canonicalLocale);\n }\n\n public clone(): InternalDate {\n return new InternalDate({ order: this.order, separator: this.separator })\n .setComponents({ ...this.components })\n .setRangeStart(this.start && this.start.clone())\n .setRangeEnd(this.end && this.end.clone());\n }\n\n public duplicateOf(pattern: InternalDate): InternalDate {\n return this.setComponents(pattern.getComponentsRaw());\n }\n\n public restore(type: InternalDateComponentType | null = null): InternalDate {\n const prev = this.getComponentsRaw();\n const today = InternalDateGetter.getTodayComponents();\n\n if (prev.year === null && prev.month === null && prev.date === null) {\n return this;\n }\n\n const restoreYear = getRestoreYear(prev, today);\n\n if (\n (type === null && restoreYear !== prev.year) ||\n type === InternalDateComponentType.Year ||\n type === InternalDateComponentType.All\n ) {\n this.setYear(restoreYear);\n }\n\n if (\n (type === null && prev.month === null) ||\n type === InternalDateComponentType.Month ||\n type === InternalDateComponentType.All\n ) {\n this.setMonth(today.month);\n }\n\n if (\n (type === null && prev.date === null) ||\n type === InternalDateComponentType.Date ||\n type === InternalDateComponentType.All\n ) {\n this.setDate(today.date);\n }\n\n return this;\n }\n\n public cutOffExcess(\n type: InternalDateComponentType | null = null,\n { isLoop = false, isRange, isCutFeb = false }: InternalDateChangeSettings = {},\n ): InternalDate {\n const { year, month, date } = this.components;\n if ((type === null || type === InternalDateComponentType.Year) && InternalDateValidator.testParseToNumber(year)) {\n this.shiftYear(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Month) && InternalDateValidator.testParseToNumber(month)) {\n this.shiftMonth(0, { isLoop, isRange, isCutFeb });\n }\n if ((type === null || type === InternalDateComponentType.Date) && InternalDateValidator.testParseToNumber(date)) {\n this.shiftDate(0, { isLoop, isRange, isCutFeb });\n }\n return this;\n }\n\n public isIncomplete(): boolean {\n return !this.isEmpty() && Object.values(this.components).some((component) => component === null);\n }\n\n public isEmpty(): boolean {\n return Object.values(this.components).every((component) => component === null);\n }\n\n public isEqualComponentDate(type: InternalDateComponentType | null, compared: InternalDate): boolean {\n return this.get(type) === compared.get(type);\n }\n\n public isEqual(compared: InternalDate): boolean {\n return (\n InternalDateValidator.isEqualDateValues(this, compared) &&\n InternalDateValidator.isEqualDateFormats(this, compared)\n );\n }\n\n private getMinValue(type: InternalDateComponentType, isRange?: boolean): number {\n if (isRange === true && this.start !== null) {\n return Number(\n InternalDateCalculator.calcRangeStartDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.start.getComponentsLikeNumber(),\n ),\n );\n }\n return InternalDateGetter.getDefaultMin(type);\n }\n\n private getMaxValue(\n type: InternalDateComponentType,\n { isRange, isCutFeb }: { isRange?: boolean; isCutFeb?: boolean } = {},\n ): number {\n if (isRange && this.end !== null) {\n return Number(\n InternalDateCalculator.calcRangeEndDateComponent(\n type,\n this.getComponentsLikeNumber(),\n this.end.getComponentsLikeNumber(),\n ),\n );\n }\n if (!isCutFeb) {\n return InternalDateGetter.getDefaultMax(type);\n }\n return InternalDateGetter.getDefaultMax(type, this.getComponentsLikeNumber());\n }\n}\n"]}
@@ -9,4 +9,7 @@ export declare class InternalDateTransformer {
9
9
  static parseValueToDate(value: string | null, order?: InternalDateOrder): InternalDateComponents | null;
10
10
  static dateComponentsStringToNumber(componentsRaw: InternalDateComponentsRaw | null): InternalDateComponentsNumber;
11
11
  static dateToInternalString(components: InternalDateComponentsRaw): string;
12
+ static dateToHumanString({ date, month, year }: InternalDateComponentsRaw): string;
13
+ static componentsToNativeDate(componentsRaw: InternalDateComponentsRaw): Date;
14
+ static componentsToA11YFormat(components: InternalDateComponentsRaw, canonicalLocale: string): string;
12
15
  }
@@ -168,4 +168,27 @@ InternalDateTransformer = /*#__PURE__*/function () {function InternalDateTransfo
168
168
  filter(function (_ref) {var value = _ref.value;return value !== null;}).
169
169
  map(function (_ref2) {var valueWithPad = _ref2.valueWithPad;return valueWithPad;}).
170
170
  join(_types.InternalDateSeparator.Dot);
171
+ };InternalDateTransformer.
172
+
173
+ dateToHumanString = function dateToHumanString(_ref3) {var date = _ref3.date,month = _ref3.month,year = _ref3.year;
174
+ return InternalDateTransformer.dateToInternalString({
175
+ date: date,
176
+ month: month !== null ? Number(month) + 1 : null,
177
+ year: year });
178
+
179
+ };InternalDateTransformer.
180
+
181
+ componentsToNativeDate = function componentsToNativeDate(componentsRaw) {
182
+ var _InternalDateTransfor = InternalDateTransformer.dateComponentsStringToNumber(componentsRaw),year = _InternalDateTransfor.year,month = _InternalDateTransfor.month,date = _InternalDateTransfor.date;
183
+ return new Date(Date.UTC(year, month - 1, date));
184
+ };InternalDateTransformer.
185
+
186
+ componentsToA11YFormat = function componentsToA11YFormat(components, canonicalLocale) {
187
+ var nativeDate = InternalDateTransformer.componentsToNativeDate(components);
188
+ return nativeDate.toLocaleDateString(canonicalLocale, {
189
+ weekday: 'long',
190
+ year: 'numeric',
191
+ month: 'long',
192
+ day: 'numeric' });
193
+
171
194
  };return InternalDateTransformer;}();exports.InternalDateTransformer = InternalDateTransformer;InternalDateTransformer.padStart = function (value, length, pad) {if (pad === void 0) {pad = _constants.CHAR_PAD;}return String(value || '').padStart(length, pad);};InternalDateTransformer.padYear = function (year, pad) {return InternalDateTransformer.padStart(year, _constants.LENGTH_YEAR, pad);};InternalDateTransformer.padMonth = function (month, pad) {return InternalDateTransformer.padStart(month, _constants.LENGTH_MONTH, pad);};InternalDateTransformer.padDate = function (date, pad) {return InternalDateTransformer.padStart(date, _constants.LENGTH_DATE, pad);};InternalDateTransformer.padDateComponent = function (type, value, pad) {if (type === _types.InternalDateComponentType.Year) {return InternalDateTransformer.padYear(value, pad);} else if (type === _types.InternalDateComponentType.Month) {return InternalDateTransformer.padMonth(value, pad);} else if (type === _types.InternalDateComponentType.Date) {return InternalDateTransformer.padDate(value, pad);}return '';};
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateTransformer.ts"],"names":["InternalDateTransformer","dateToFragments","components","settings","order","defaultDateComponentsOrder","separator","defaultDateComponentsSeparator","withSeparator","withPad","pad","year","type","InternalDateComponentType","Year","value","length","LENGTH_YEAR","month","Month","LENGTH_MONTH","date","Date","LENGTH_DATE","fragments","InternalDateOrder","YMD","push","MDY","DMY","valueWithPad","padYear","padMonth","padDate","isValid","InternalDateValidator","testParseToNumber","separatorFragment","Separator","LENGTH_SEPARATOR","splice","parseValueToDate","getRe","RE_ORDER_MDY","RE_ORDER_DMY","RE_ORDER_YMD","re","test","match","exec","dateComponents","emptyDateComponents","matchFinished","slice","map","item","Number","dateComponentsStringToNumber","componentsRaw","dateToInternalString","filter","join","InternalDateSeparator","Dot","padStart","CHAR_PAD","String","padDateComponent"],"mappings":"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","sourcesContent":["import {\n CHAR_PAD,\n defaultDateComponentsOrder,\n defaultDateComponentsSeparator,\n emptyDateComponents,\n LENGTH_DATE,\n LENGTH_MONTH,\n LENGTH_SEPARATOR,\n LENGTH_YEAR,\n RE_ORDER_DMY,\n RE_ORDER_MDY,\n RE_ORDER_YMD,\n} from './constants';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport {\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n} from './types';\n\nexport class InternalDateTransformer {\n public static padStart = (value: InternalDateComponentRaw, length: number, pad: string = CHAR_PAD): string =>\n String(value || '').padStart(length, pad);\n\n public static padYear = (year: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(year, LENGTH_YEAR, pad);\n public static padMonth = (month: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(month, LENGTH_MONTH, pad);\n public static padDate = (date: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(date, LENGTH_DATE, pad);\n\n public static padDateComponent = (\n type: InternalDateComponentType | null,\n value: InternalDateComponentRaw,\n pad?: string,\n ): string => {\n if (type === InternalDateComponentType.Year) {\n return InternalDateTransformer.padYear(value, pad);\n } else if (type === InternalDateComponentType.Month) {\n return InternalDateTransformer.padMonth(value, pad);\n } else if (type === InternalDateComponentType.Date) {\n return InternalDateTransformer.padDate(value, pad);\n }\n return '';\n };\n\n public static dateToFragments(\n components: InternalDateComponentsRaw,\n settings: InternalDateToFragmentsSettings = {},\n ): InternalDateFragment[] {\n const {\n order = defaultDateComponentsOrder,\n separator = defaultDateComponentsSeparator,\n withSeparator = false,\n withPad = false,\n pad,\n } = settings;\n const year: InternalDateFragment = {\n type: InternalDateComponentType.Year,\n value: components.year,\n length: LENGTH_YEAR,\n };\n const month: InternalDateFragment = {\n type: InternalDateComponentType.Month,\n value: components.month,\n length: LENGTH_MONTH,\n };\n const date: InternalDateFragment = {\n type: InternalDateComponentType.Date,\n value: components.date,\n length: LENGTH_DATE,\n };\n\n const fragments: InternalDateFragment[] = [];\n if (order === InternalDateOrder.YMD) {\n fragments.push(year, month, date);\n } else if (order === InternalDateOrder.MDY) {\n fragments.push(month, date, year);\n } else if (order === InternalDateOrder.DMY) {\n fragments.push(date, month, year);\n }\n\n if (withPad) {\n year.valueWithPad = InternalDateTransformer.padYear(year.value, pad);\n month.valueWithPad = InternalDateTransformer.padMonth(month.value, pad);\n date.valueWithPad = InternalDateTransformer.padDate(date.value, pad);\n }\n\n year.isValid = InternalDateValidator.testParseToNumber(year.value);\n month.isValid = InternalDateValidator.testParseToNumber(month.value);\n date.isValid = InternalDateValidator.testParseToNumber(date.value);\n\n if (withSeparator) {\n const separatorFragment: InternalDateFragment = {\n type: InternalDateComponentType.Separator,\n value: separator,\n length: LENGTH_SEPARATOR,\n };\n fragments.splice(1, 0, separatorFragment);\n fragments.splice(3, 0, separatorFragment);\n }\n\n return fragments;\n }\n\n public static parseValueToDate(\n value: string | null,\n order: InternalDateOrder = defaultDateComponentsOrder,\n ): InternalDateComponents | null {\n if (!value) {\n return null;\n }\n\n const getRe = () => {\n if (order === InternalDateOrder.MDY) {\n return RE_ORDER_MDY;\n } else if (order === InternalDateOrder.DMY) {\n return RE_ORDER_DMY;\n }\n\n return RE_ORDER_YMD;\n };\n\n const re = getRe();\n if (!re.test(value)) {\n return null;\n }\n const match = re.exec(value);\n const dateComponents: InternalDateComponents = { ...emptyDateComponents };\n\n if (match) {\n const matchFinished = match\n .slice(1)\n .map((item) => (InternalDateValidator.testParseToNumber(item) ? Number(item) : null));\n if (order === InternalDateOrder.YMD) {\n ({ 0: dateComponents.year, 1: dateComponents.month, 2: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.MDY) {\n ({ 2: dateComponents.year, 0: dateComponents.month, 1: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.DMY) {\n ({ 2: dateComponents.year, 1: dateComponents.month, 0: dateComponents.date } = matchFinished);\n }\n }\n return dateComponents;\n }\n\n public static dateComponentsStringToNumber(\n componentsRaw: InternalDateComponentsRaw | null,\n ): InternalDateComponentsNumber {\n if (componentsRaw === null) {\n return { year: 0, month: 0, date: 0 };\n }\n const { year, month, date } = componentsRaw;\n return { year: Number(year), month: Number(month), date: Number(date) };\n }\n\n public static dateToInternalString(components: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToFragments(components, {\n withPad: true,\n withSeparator: false,\n order: InternalDateOrder.DMY,\n })\n .filter(({ value }) => value !== null)\n .map(({ valueWithPad }) => valueWithPad)\n .join(InternalDateSeparator.Dot);\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateTransformer.ts"],"names":["InternalDateTransformer","dateToFragments","components","settings","order","defaultDateComponentsOrder","separator","defaultDateComponentsSeparator","withSeparator","withPad","pad","year","type","InternalDateComponentType","Year","value","length","LENGTH_YEAR","month","Month","LENGTH_MONTH","date","Date","LENGTH_DATE","fragments","InternalDateOrder","YMD","push","MDY","DMY","valueWithPad","padYear","padMonth","padDate","isValid","InternalDateValidator","testParseToNumber","separatorFragment","Separator","LENGTH_SEPARATOR","splice","parseValueToDate","getRe","RE_ORDER_MDY","RE_ORDER_DMY","RE_ORDER_YMD","re","test","match","exec","dateComponents","emptyDateComponents","matchFinished","slice","map","item","Number","dateComponentsStringToNumber","componentsRaw","dateToInternalString","filter","join","InternalDateSeparator","Dot","dateToHumanString","componentsToNativeDate","UTC","componentsToA11YFormat","canonicalLocale","nativeDate","toLocaleDateString","weekday","day","padStart","CHAR_PAD","String","padDateComponent"],"mappings":"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","sourcesContent":["import {\n CHAR_PAD,\n defaultDateComponentsOrder,\n defaultDateComponentsSeparator,\n emptyDateComponents,\n LENGTH_DATE,\n LENGTH_MONTH,\n LENGTH_SEPARATOR,\n LENGTH_YEAR,\n RE_ORDER_DMY,\n RE_ORDER_MDY,\n RE_ORDER_YMD,\n} from './constants';\nimport { InternalDateValidator } from './InternalDateValidator';\nimport {\n InternalDateComponentRaw,\n InternalDateComponents,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n InternalDateFragment,\n InternalDateOrder,\n InternalDateSeparator,\n InternalDateToFragmentsSettings,\n} from './types';\n\nexport class InternalDateTransformer {\n public static padStart = (value: InternalDateComponentRaw, length: number, pad: string = CHAR_PAD): string =>\n String(value || '').padStart(length, pad);\n\n public static padYear = (year: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(year, LENGTH_YEAR, pad);\n public static padMonth = (month: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(month, LENGTH_MONTH, pad);\n public static padDate = (date: InternalDateComponentRaw, pad?: string): string =>\n InternalDateTransformer.padStart(date, LENGTH_DATE, pad);\n\n public static padDateComponent = (\n type: InternalDateComponentType | null,\n value: InternalDateComponentRaw,\n pad?: string,\n ): string => {\n if (type === InternalDateComponentType.Year) {\n return InternalDateTransformer.padYear(value, pad);\n } else if (type === InternalDateComponentType.Month) {\n return InternalDateTransformer.padMonth(value, pad);\n } else if (type === InternalDateComponentType.Date) {\n return InternalDateTransformer.padDate(value, pad);\n }\n return '';\n };\n\n public static dateToFragments(\n components: InternalDateComponentsRaw,\n settings: InternalDateToFragmentsSettings = {},\n ): InternalDateFragment[] {\n const {\n order = defaultDateComponentsOrder,\n separator = defaultDateComponentsSeparator,\n withSeparator = false,\n withPad = false,\n pad,\n } = settings;\n const year: InternalDateFragment = {\n type: InternalDateComponentType.Year,\n value: components.year,\n length: LENGTH_YEAR,\n };\n const month: InternalDateFragment = {\n type: InternalDateComponentType.Month,\n value: components.month,\n length: LENGTH_MONTH,\n };\n const date: InternalDateFragment = {\n type: InternalDateComponentType.Date,\n value: components.date,\n length: LENGTH_DATE,\n };\n\n const fragments: InternalDateFragment[] = [];\n if (order === InternalDateOrder.YMD) {\n fragments.push(year, month, date);\n } else if (order === InternalDateOrder.MDY) {\n fragments.push(month, date, year);\n } else if (order === InternalDateOrder.DMY) {\n fragments.push(date, month, year);\n }\n\n if (withPad) {\n year.valueWithPad = InternalDateTransformer.padYear(year.value, pad);\n month.valueWithPad = InternalDateTransformer.padMonth(month.value, pad);\n date.valueWithPad = InternalDateTransformer.padDate(date.value, pad);\n }\n\n year.isValid = InternalDateValidator.testParseToNumber(year.value);\n month.isValid = InternalDateValidator.testParseToNumber(month.value);\n date.isValid = InternalDateValidator.testParseToNumber(date.value);\n\n if (withSeparator) {\n const separatorFragment: InternalDateFragment = {\n type: InternalDateComponentType.Separator,\n value: separator,\n length: LENGTH_SEPARATOR,\n };\n fragments.splice(1, 0, separatorFragment);\n fragments.splice(3, 0, separatorFragment);\n }\n\n return fragments;\n }\n\n public static parseValueToDate(\n value: string | null,\n order: InternalDateOrder = defaultDateComponentsOrder,\n ): InternalDateComponents | null {\n if (!value) {\n return null;\n }\n\n const getRe = () => {\n if (order === InternalDateOrder.MDY) {\n return RE_ORDER_MDY;\n } else if (order === InternalDateOrder.DMY) {\n return RE_ORDER_DMY;\n }\n\n return RE_ORDER_YMD;\n };\n\n const re = getRe();\n if (!re.test(value)) {\n return null;\n }\n const match = re.exec(value);\n const dateComponents: InternalDateComponents = { ...emptyDateComponents };\n\n if (match) {\n const matchFinished = match\n .slice(1)\n .map((item) => (InternalDateValidator.testParseToNumber(item) ? Number(item) : null));\n if (order === InternalDateOrder.YMD) {\n ({ 0: dateComponents.year, 1: dateComponents.month, 2: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.MDY) {\n ({ 2: dateComponents.year, 0: dateComponents.month, 1: dateComponents.date } = matchFinished);\n } else if (order === InternalDateOrder.DMY) {\n ({ 2: dateComponents.year, 1: dateComponents.month, 0: dateComponents.date } = matchFinished);\n }\n }\n return dateComponents;\n }\n\n public static dateComponentsStringToNumber(\n componentsRaw: InternalDateComponentsRaw | null,\n ): InternalDateComponentsNumber {\n if (componentsRaw === null) {\n return { year: 0, month: 0, date: 0 };\n }\n const { year, month, date } = componentsRaw;\n return { year: Number(year), month: Number(month), date: Number(date) };\n }\n\n public static dateToInternalString(components: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToFragments(components, {\n withPad: true,\n withSeparator: false,\n order: InternalDateOrder.DMY,\n })\n .filter(({ value }) => value !== null)\n .map(({ valueWithPad }) => valueWithPad)\n .join(InternalDateSeparator.Dot);\n }\n\n public static dateToHumanString({ date, month, year }: InternalDateComponentsRaw): string {\n return InternalDateTransformer.dateToInternalString({\n date,\n month: month !== null ? Number(month) + 1 : null,\n year,\n });\n }\n\n public static componentsToNativeDate(componentsRaw: InternalDateComponentsRaw): Date {\n const { year, month, date } = InternalDateTransformer.dateComponentsStringToNumber(componentsRaw);\n return new Date(Date.UTC(year, month - 1, date));\n }\n\n public static componentsToA11YFormat(components: InternalDateComponentsRaw, canonicalLocale: string): string {\n const nativeDate = InternalDateTransformer.componentsToNativeDate(components);\n return nativeDate.toLocaleDateString(canonicalLocale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n }\n}\n"]}
@@ -6,6 +6,7 @@ var _types = require("./types");
6
6
 
7
7
 
8
8
 
9
+ var _InternalDateTransformer = require("./InternalDateTransformer");
9
10
 
10
11
  var calculateStartDate = function calculateStartDate(startDate) {
11
12
  if (startDate) {
@@ -77,7 +78,7 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
77
78
  };InternalDateValidator.
78
79
 
79
80
  compareWithNativeDate = function compareWithNativeDate(_ref4) {var year = _ref4.year,month = _ref4.month,date = _ref4.date;
80
- var nativeDate = new Date(Date.UTC(year, month - 1, date));
81
+ var nativeDate = _InternalDateTransformer.InternalDateTransformer.componentsToNativeDate({ year: year, month: month, date: date });
81
82
  return (
82
83
  nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date);
83
84
 
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","InternalDateComponentType","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","areOrdersEqual","getOrder","areSeparatorsEqual","getSeparator"],"mappings":";AACA;AACA;;;;;;;AAOA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAA8B;AACvD,MAAIA,SAAJ,EAAe;AACb,WAAOA,SAAP;AACD;;AAED,SAAO,CAACC,QAAR;AACD,CAND;;AAQA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,OAAD,EAA4B;AACnD,MAAIA,OAAJ,EAAa;AACX,WAAOA,OAAP;AACD;;AAED,SAAOF,QAAP;AACD,CAND;;AAQA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAACC,IAAD,QAA0F,KAAtDC,IAAsD,QAAtDA,IAAsD,CAAhDC,KAAgD,QAAhDA,KAAgD,CAAzCC,IAAyC,QAAzCA,IAAyC;AACzG,MAAIH,IAAI,KAAKI,iCAA0BC,IAAvC,EAA6C;AAC3C,WAAOJ,IAAP;AACD;;AAED,MAAID,IAAI,KAAKI,iCAA0BE,KAAvC,EAA8C;AAC5C,WAAOJ,KAAP;AACD;;AAED,SAAOC,IAAP;AACD,CAVD,C;;AAYaI,qB;AACGC,EAAAA,Y,GAAd,6BAA6ER,IAA7E,EAA+G,KAAlFC,IAAkF,SAAlFA,IAAkF,CAA5EC,KAA4E,SAA5EA,KAA4E,CAArEC,IAAqE,SAArEA,IAAqE;AAC7G,QAAIH,IAAI,KAAKS,SAAb,EAAwB;AACtB,UAAIT,IAAI,KAAKI,iCAA0BC,IAAvC,EAA6C;AAC3C,eAAOJ,IAAI,KAAK,IAAhB;AACD;;AAED,UAAID,IAAI,KAAKI,iCAA0BE,KAAvC,EAA8C;AAC5C,eAAOJ,KAAK,KAAK,IAAjB;AACD;;AAED,UAAIF,IAAI,KAAKI,iCAA0BM,GAAvC,EAA4C;AAC1C,eAAOT,IAAI,KAAK,IAAT,IAAiBC,KAAK,KAAK,IAA3B,IAAmCC,IAAI,KAAK,IAAnD;AACD;;AAED,aAAOA,IAAI,KAAK,IAAhB;AACD;;AAED,WAAO,EAAEF,IAAI,KAAK,IAAT,IAAiBC,KAAK,KAAK,IAA3B,IAAmCC,IAAI,KAAK,IAA9C,CAAP;AACD,G;;AAEaQ,EAAAA,W,GAAd;;AAEEX,EAAAA,IAFF;AAGW,OAFPC,IAEO,SAFPA,IAEO,CAFDC,KAEC,SAFDA,KAEC,CAFMC,IAEN,SAFMA,IAEN;AACT,QAAIH,IAAI,KAAKS,SAAb,EAAwB;AACtB,UAAMG,KAAK,GAAGb,QAAQ,CAACC,IAAD,EAAO,EAAEG,IAAI,EAAJA,IAAF,EAAQD,KAAK,EAALA,KAAR,EAAeD,IAAI,EAAJA,IAAf,EAAP,CAAtB;;AAEA,aAAOW,KAAK,IAAIC,uCAAmBC,aAAnB,CAAiCd,IAAjC,CAAT,IAAmDY,KAAK,IAAIC,uCAAmBE,aAAnB,CAAiCf,IAAjC,CAAnE;AACD;;AAED;AACEC,MAAAA,IAAI,IAAIY,uCAAmBC,aAAnB,CAAiCV,iCAA0BC,IAA3D,CAAR;AACAJ,MAAAA,IAAI,IAAIY,uCAAmBE,aAAnB,CAAiCX,iCAA0BC,IAA3D,CADR;AAEAH,MAAAA,KAAK,IAAIW,uCAAmBC,aAAnB,CAAiCV,iCAA0BE,KAA3D,CAFT;AAGAJ,MAAAA,KAAK,IAAIW,uCAAmBE,aAAnB,CAAiCX,iCAA0BE,KAA3D,CAHT;AAIAH,MAAAA,IAAI,IAAIU,uCAAmBC,aAAnB,CAAiCV,iCAA0BY,IAA3D,CAJR;AAKAb,MAAAA,IAAI,IAAIU,uCAAmBE,aAAnB,CAAiCX,iCAA0BY,IAA3D,CANV;;AAQD,G;;AAEaC,EAAAA,qB,GAAd,sCAAkG,KAA5DhB,IAA4D,SAA5DA,IAA4D,CAAtDC,KAAsD,SAAtDA,KAAsD,CAA/CC,IAA+C,SAA/CA,IAA+C;AAChG,QAAMe,UAAgB,GAAG,IAAIF,IAAJ,CAASA,IAAI,CAACG,GAAL,CAASlB,IAAT,EAAeC,KAAK,GAAG,CAAvB,EAA0BC,IAA1B,CAAT,CAAzB;AACA;AACEe,MAAAA,UAAU,CAACE,cAAX,OAAgCnB,IAAhC,IAAwCiB,UAAU,CAACG,WAAX,KAA2B,CAA3B,KAAiCnB,KAAzE,IAAkFgB,UAAU,CAACI,UAAX,OAA4BnB,IADhH;;AAGD,G;;AAEaoB,EAAAA,e,GAAd,yBAA8BpB,IAA9B,EAA4CR,SAA5C,EAAsEG,OAAtE,EAAuG;AACrG,QAAIH,SAAS,KAAK,IAAd,IAAsBG,OAAO,KAAK,IAAtC,EAA4C;AAC1C,aAAO,IAAP;AACD;;AAED,QAAM0B,iBAAiB,GAAG3B,gBAAgB,CAACC,OAAD,CAA1C;AACA,QAAM2B,mBAAmB,GAAG/B,kBAAkB,CAACC,SAAD,CAA9C;AACA,WAAOQ,IAAI,IAAIsB,mBAAR,IAA+BtB,IAAI,IAAIqB,iBAA9C;AACD,G;;AAEaE,EAAAA,mB,GAAd;AACE1B,EAAAA,IADF;;AAGE2B,EAAAA,eAHF;AAIEC,EAAAA,aAJF;AAKW,OAHP3B,IAGO,SAHPA,IAGO,CAHDC,KAGC,SAHDA,KAGC,CAHMC,IAGN,SAHMA,IAGN;AACT,QAAIwB,eAAe,KAAK,IAApB,IAA4BC,aAAa,KAAK,IAAlD,EAAwD;AACtD,aAAO,IAAP;AACD;AACD;;;;AAIID,IAAAA,eAAe,IAAI,EAJvB,oBACE1B,IADF,CACQ4B,SADR,2BACoB,CAACjC,QADrB,kCAEEM,KAFF,CAES4B,UAFT,4BAEsB,CAAClC,QAFvB,kCAGEO,IAHF,CAGQR,SAHR,2BAGoB,CAACC,QAHrB;AAKA,gBAA2FgC,aAAa,IAAI,EAA5G,oBAAQ3B,IAAR,CAAc8B,OAAd,2BAAwBnC,QAAxB,kCAAkCM,KAAlC,CAAyC8B,QAAzC,4BAAoDpC,QAApD,kCAA8DO,IAA9D,CAAoEL,OAApE,2BAA8EF,QAA9E;;AAEA,QAAII,IAAI,KAAKI,iCAA0BC,IAAvC,EAA6C;AAC3C,aAAO,EAAEJ,IAAI,GAAG4B,SAAP,IAAoB5B,IAAI,GAAG8B,OAA7B,CAAP;AACD,KAFD,MAEO,IAAI/B,IAAI,KAAKI,iCAA0BE,KAAvC,EAA8C;AACnD,aAAO,EAAGL,IAAI,KAAK4B,SAAT,IAAsB3B,KAAK,GAAG4B,UAA/B,IAA+C7B,IAAI,KAAK8B,OAAT,IAAoB7B,KAAK,GAAG8B,QAA7E,CAAP;AACD,KAFM,MAEA,IAAIhC,IAAI,KAAKI,iCAA0BY,IAAvC,EAA6C;AAClD,aAAO;AACJf,MAAAA,IAAI,KAAK4B,SAAT,IAAsB3B,KAAK,KAAK4B,UAAhC,IAA8C3B,IAAI,GAAGR,SAAtD;AACCM,MAAAA,IAAI,KAAK8B,OAAT,IAAoB7B,KAAK,KAAK8B,QAA9B,IAA0C7B,IAAI,GAAGL,OAF7C,CAAP;;AAID;AACD,WAAO,IAAP;AACD,G;;AAEamC,EAAAA,iB,GAAd,2BAAgCrB,KAAhC,EAAqG;AACnG,QAAIA,KAAK,KAAK,IAAd,EAAoB;AAClB,aAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACsB,MAAM,CAACC,KAAP,CAAaC,QAAQ,CAACxB,KAAD,EAAQ,EAAR,CAArB,CAArC;AACD;;AAED,WAAO,KAAP;AACD,G;;AAEayB,EAAAA,iB,GAAd,2BAAgCC,CAAhC,EAAiDC,CAAjD,EAA2E;AACzE,WAAOD,CAAC,CAACE,gBAAF,OAAyBD,CAAC,CAACC,gBAAF,EAAhC;AACD,G;;AAEaC,EAAAA,kB,GAAd,4BAAiCH,CAAjC,EAAkDC,CAAlD,EAA4E;AAC1E,QAAMG,cAAc,GAAGJ,CAAC,CAACK,QAAF,OAAiBJ,CAAC,CAACI,QAAF,EAAxC;AACA,QAAMC,kBAAkB,GAAGN,CAAC,CAACO,YAAF,OAAqBN,CAAC,CAACM,YAAF,EAAhD;;AAEA,WAAOH,cAAc,IAAIE,kBAAzB;AACD,G","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","InternalDateComponentType","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","InternalDateTransformer","componentsToNativeDate","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","areOrdersEqual","getOrder","areSeparatorsEqual","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\nimport { InternalDateTransformer } from './InternalDateTransformer';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate = InternalDateTransformer.componentsToNativeDate({ year, month, date });\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const isEqual: (left: string, right: string) => boolean;
2
+ export declare const isLess: (left: string, right: string) => boolean;
3
+ export declare const isLessOrEqual: (left: string, right: string) => boolean;
4
+ export declare const isGreater: (left: string, right: string) => boolean;
5
+ export declare const isGreaterOrEqual: (left: string, right: string) => boolean;
6
+ export declare const isBetween: (between: string, left?: string | undefined, right?: string | undefined) => boolean;
@@ -0,0 +1,44 @@
1
+ "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.isLessOrEqual = exports.isLess = exports.isGreaterOrEqual = exports.isGreater = exports.isEqual = exports.isBetween = void 0;var CDS = _interopRequireWildcard(require("../../components/Calendar/CalendarDateShape"));
2
+
3
+ var _InternalDate = require("./InternalDate");
4
+
5
+ var stringToDate = function stringToDate(date) {
6
+ return new _InternalDate.InternalDate({ value: date }).getComponentsLikeNumber();
7
+ };
8
+
9
+ var isEqual = function isEqual(left, right) {return left === right;};exports.isEqual = isEqual;
10
+
11
+ var isLess = function isLess(left, right) {
12
+ var leftDate = stringToDate(left);
13
+ var rightDate = stringToDate(right);
14
+ return CDS.isLess(leftDate, rightDate);
15
+ };exports.isLess = isLess;
16
+
17
+ var isLessOrEqual = function isLessOrEqual(left, right) {
18
+ var leftDate = stringToDate(left);
19
+ var rightDate = stringToDate(right);
20
+ return CDS.isLess(leftDate, rightDate) || CDS.isEqual(leftDate, rightDate);
21
+ };exports.isLessOrEqual = isLessOrEqual;
22
+
23
+ var isGreater = function isGreater(left, right) {
24
+ var leftDate = stringToDate(left);
25
+ var rightDate = stringToDate(right);
26
+ return !CDS.isLessOrEqual(leftDate, rightDate);
27
+ };exports.isGreater = isGreater;
28
+
29
+ var isGreaterOrEqual = function isGreaterOrEqual(left, right) {
30
+ var leftDate = stringToDate(left);
31
+ var rightDate = stringToDate(right);
32
+ return !CDS.isLess(leftDate, rightDate);
33
+ };exports.isGreaterOrEqual = isGreaterOrEqual;
34
+
35
+ var isBetween = function isBetween(between, left, right) {
36
+ var betweenDate = stringToDate(between);
37
+ if (left && CDS.isLess(betweenDate, stringToDate(left))) {
38
+ return false;
39
+ }
40
+ if (right && CDS.isGreater(betweenDate, stringToDate(right))) {
41
+ return false;
42
+ }
43
+ return true;
44
+ };exports.isBetween = isBetween;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["comparison.ts"],"names":["stringToDate","date","InternalDate","value","getComponentsLikeNumber","isEqual","left","right","isLess","leftDate","rightDate","CDS","isLessOrEqual","isGreater","isGreaterOrEqual","isBetween","between","betweenDate"],"mappings":"2QAAA;;AAEA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAyC;AAC5D,SAAO,IAAIC,0BAAJ,CAAiB,EAAEC,KAAK,EAAEF,IAAT,EAAjB,EAAkCG,uBAAlC,EAAP;AACD,CAFD;;AAIO,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,EAAeC,KAAf,UAA0CD,IAAI,KAAKC,KAAnD,EAAhB,C;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACF,IAAD,EAAeC,KAAf,EAA0C;AAC9D,MAAME,QAAQ,GAAGT,YAAY,CAACM,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGV,YAAY,CAACO,KAAD,CAA9B;AACA,SAAOI,GAAG,CAACH,MAAJ,CAAWC,QAAX,EAAqBC,SAArB,CAAP;AACD,CAJM,C;;AAMA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACN,IAAD,EAAeC,KAAf,EAA0C;AACrE,MAAME,QAAQ,GAAGT,YAAY,CAACM,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGV,YAAY,CAACO,KAAD,CAA9B;AACA,SAAOI,GAAG,CAACH,MAAJ,CAAWC,QAAX,EAAqBC,SAArB,KAAmCC,GAAG,CAACN,OAAJ,CAAYI,QAAZ,EAAsBC,SAAtB,CAA1C;AACD,CAJM,C;;AAMA,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAACP,IAAD,EAAeC,KAAf,EAA0C;AACjE,MAAME,QAAQ,GAAGT,YAAY,CAACM,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGV,YAAY,CAACO,KAAD,CAA9B;AACA,SAAO,CAACI,GAAG,CAACC,aAAJ,CAAkBH,QAAlB,EAA4BC,SAA5B,CAAR;AACD,CAJM,C;;AAMA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACR,IAAD,EAAeC,KAAf,EAA0C;AACxE,MAAME,QAAQ,GAAGT,YAAY,CAACM,IAAD,CAA7B;AACA,MAAMI,SAAS,GAAGV,YAAY,CAACO,KAAD,CAA9B;AACA,SAAO,CAACI,GAAG,CAACH,MAAJ,CAAWC,QAAX,EAAqBC,SAArB,CAAR;AACD,CAJM,C;;AAMA,IAAMK,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD,EAAkBV,IAAlB,EAAiCC,KAAjC,EAA6D;AACpF,MAAMU,WAAW,GAAGjB,YAAY,CAACgB,OAAD,CAAhC;AACA,MAAIV,IAAI,IAAIK,GAAG,CAACH,MAAJ,CAAWS,WAAX,EAAwBjB,YAAY,CAACM,IAAD,CAApC,CAAZ,EAAyD;AACvD,WAAO,KAAP;AACD;AACD,MAAIC,KAAK,IAAII,GAAG,CAACE,SAAJ,CAAcI,WAAd,EAA2BjB,YAAY,CAACO,KAAD,CAAvC,CAAb,EAA8D;AAC5D,WAAO,KAAP;AACD;AACD,SAAO,IAAP;AACD,CATM,C","sourcesContent":["import * as CDS from '../../components/Calendar/CalendarDateShape';\n\nimport { InternalDate } from './InternalDate';\n\nconst stringToDate = (date: string): CDS.CalendarDateShape => {\n return new InternalDate({ value: date }).getComponentsLikeNumber();\n};\n\nexport const isEqual = (left: string, right: string): boolean => left === right;\n\nexport const isLess = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return CDS.isLess(leftDate, rightDate);\n};\n\nexport const isLessOrEqual = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return CDS.isLess(leftDate, rightDate) || CDS.isEqual(leftDate, rightDate);\n};\n\nexport const isGreater = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return !CDS.isLessOrEqual(leftDate, rightDate);\n};\n\nexport const isGreaterOrEqual = (left: string, right: string): boolean => {\n const leftDate = stringToDate(left);\n const rightDate = stringToDate(right);\n return !CDS.isLess(leftDate, rightDate);\n};\n\nexport const isBetween = (between: string, left?: string, right?: string): boolean => {\n const betweenDate = stringToDate(between);\n if (left && CDS.isLess(betweenDate, stringToDate(left))) {\n return false;\n }\n if (right && CDS.isGreater(betweenDate, stringToDate(right))) {\n return false;\n }\n return true;\n};\n"]}
@@ -276,6 +276,30 @@ import { Hint, Button, ReactUIFeatureFlagsContext } from '@skbkontur/react-ui';
276
276
  </ReactUIFeatureFlagsContext.Provider>
277
277
  ```
278
278
 
279
+
280
+ ### popupUnifyPositioning
281
+
282
+ Этот флаг делает одинаковым порядок выбора позиции Hint'ом и Tooltip'ом. Таким образом при одинаковых условиях Hint и Tooltip будут отрисовываться с одинаковой стороны с одинаковым выравниванием.
283
+ Отличие Hint и Tooltip остается в том, что при изменении viewport открытый Tooltip остается на том месте, на котором он был отрисован, а Hint -- ищет более "выгодное" положение.
284
+
285
+ ```jsx harmony
286
+ import { Hint, Button, Tooltip, ReactUIFeatureFlagsContext } from '@skbkontur/react-ui';
287
+
288
+ <ReactUIFeatureFlagsContext.Provider value={{ popupUnifyPositioning: true }}>
289
+ <Hint text={'Example!'} manual opened>
290
+ <Button use="success" size="medium" disabled>
291
+ Пригласить
292
+ </Button>
293
+ </Hint>
294
+
295
+ <Tooltip render={() => 'Example!'} trigger="opened">
296
+ <Button use="success" size="medium" disabled>
297
+ Пригласить
298
+ </Button>
299
+ </Tooltip>
300
+ </ReactUIFeatureFlagsContext.Provider>
301
+ ```
302
+
279
303
  ## Объект со всеми флагами
280
304
 
281
305
  Чтобы получить объект со всеми флагами, необходимо применить вспомогательную функцию getFullValidationsFlagsContext к объекту заданных флагов:
@@ -9,4 +9,5 @@ export declare const getFullReactUIFlagsContext: (flags: ReactUIFeatureFlags) =>
9
9
  linkFocusOutline?: boolean | undefined;
10
10
  comboBoxAllowValueChangeInEditingState?: boolean | undefined;
11
11
  hintAddDynamicPositioning?: boolean | undefined;
12
+ popupUnifyPositioning?: boolean | undefined;
12
13
  };
@@ -9,6 +9,7 @@ export interface ReactUIFeatureFlags {
9
9
  linkFocusOutline?: boolean;
10
10
  comboBoxAllowValueChangeInEditingState?: boolean;
11
11
  hintAddDynamicPositioning?: boolean;
12
+ popupUnifyPositioning?: boolean;
12
13
  }
13
14
  export declare const reactUIFeatureFlagsDefault: ReactUIFeatureFlags;
14
15
  export declare const ReactUIFeatureFlagsContext: React.Context<ReactUIFeatureFlags>;
@@ -12,6 +12,7 @@
12
12
 
13
13
 
14
14
 
15
+
15
16
  var reactUIFeatureFlagsDefault = {
16
17
  tokenInputRemoveWhitespaceFromDefaultDelimiters: false,
17
18
  kebabHintRemovePin: false,
@@ -21,7 +22,8 @@ var reactUIFeatureFlagsDefault = {
21
22
  textareaUseSafari17Workaround: false,
22
23
  linkFocusOutline: false,
23
24
  comboBoxAllowValueChangeInEditingState: false,
24
- hintAddDynamicPositioning: false };exports.reactUIFeatureFlagsDefault = reactUIFeatureFlagsDefault;
25
+ hintAddDynamicPositioning: false,
26
+ popupUnifyPositioning: false };exports.reactUIFeatureFlagsDefault = reactUIFeatureFlagsDefault;
25
27
 
26
28
 
27
29
  var ReactUIFeatureFlagsContext = /*#__PURE__*/_react.default.createContext(reactUIFeatureFlagsDefault);exports.ReactUIFeatureFlagsContext = ReactUIFeatureFlagsContext;
@@ -1 +1 @@
1
- {"version":3,"sources":["ReactUIFeatureFlagsContext.tsx"],"names":["reactUIFeatureFlagsDefault","tokenInputRemoveWhitespaceFromDefaultDelimiters","kebabHintRemovePin","sidePageEnableFocusLockWhenBackgroundBlocked","spinnerLoaderRemoveDefaultCaption","menuItemsAtAnyLevel","textareaUseSafari17Workaround","linkFocusOutline","comboBoxAllowValueChangeInEditingState","hintAddDynamicPositioning","ReactUIFeatureFlagsContext","React","createContext","displayName","__KONTUR_REACT_UI__"],"mappings":"qNAAA;;;;;;;;;;;;;;AAcO,IAAMA,0BAA+C,GAAG;AAC7DC,EAAAA,+CAA+C,EAAE,KADY;AAE7DC,EAAAA,kBAAkB,EAAE,KAFyC;AAG7DC,EAAAA,4CAA4C,EAAE,KAHe;AAI7DC,EAAAA,iCAAiC,EAAE,KAJ0B;AAK7DC,EAAAA,mBAAmB,EAAE,KALwC;AAM7DC,EAAAA,6BAA6B,EAAE,KAN8B;AAO7DC,EAAAA,gBAAgB,EAAE,KAP2C;AAQ7DC,EAAAA,sCAAsC,EAAE,KARqB;AAS7DC,EAAAA,yBAAyB,EAAE,KATkC,EAAxD,C;;;AAYA,IAAMC,0BAA0B,gBAAGC,eAAMC,aAAN,CAAyCZ,0BAAzC,CAAnC,C;;AAEPU,0BAA0B,CAACG,WAA3B,GAAyC,4BAAzC;AACAH,0BAA0B,CAACI,mBAA3B,GAAiD,4BAAjD","sourcesContent":["import React from 'react';\n\nexport interface ReactUIFeatureFlags {\n tokenInputRemoveWhitespaceFromDefaultDelimiters?: boolean;\n kebabHintRemovePin?: boolean;\n sidePageEnableFocusLockWhenBackgroundBlocked?: boolean;\n spinnerLoaderRemoveDefaultCaption?: boolean;\n menuItemsAtAnyLevel?: boolean;\n textareaUseSafari17Workaround?: boolean;\n linkFocusOutline?: boolean;\n comboBoxAllowValueChangeInEditingState?: boolean;\n hintAddDynamicPositioning?: boolean;\n}\n\nexport const reactUIFeatureFlagsDefault: ReactUIFeatureFlags = {\n tokenInputRemoveWhitespaceFromDefaultDelimiters: false,\n kebabHintRemovePin: false,\n sidePageEnableFocusLockWhenBackgroundBlocked: false,\n spinnerLoaderRemoveDefaultCaption: false,\n menuItemsAtAnyLevel: false,\n textareaUseSafari17Workaround: false,\n linkFocusOutline: false,\n comboBoxAllowValueChangeInEditingState: false,\n hintAddDynamicPositioning: false,\n};\n\nexport const ReactUIFeatureFlagsContext = React.createContext<ReactUIFeatureFlags>(reactUIFeatureFlagsDefault);\n\nReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';\nReactUIFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ReactUIFeatureFlagsContext';\n"]}
1
+ {"version":3,"sources":["ReactUIFeatureFlagsContext.tsx"],"names":["reactUIFeatureFlagsDefault","tokenInputRemoveWhitespaceFromDefaultDelimiters","kebabHintRemovePin","sidePageEnableFocusLockWhenBackgroundBlocked","spinnerLoaderRemoveDefaultCaption","menuItemsAtAnyLevel","textareaUseSafari17Workaround","linkFocusOutline","comboBoxAllowValueChangeInEditingState","hintAddDynamicPositioning","popupUnifyPositioning","ReactUIFeatureFlagsContext","React","createContext","displayName","__KONTUR_REACT_UI__"],"mappings":"qNAAA;;;;;;;;;;;;;;;AAeO,IAAMA,0BAA+C,GAAG;AAC7DC,EAAAA,+CAA+C,EAAE,KADY;AAE7DC,EAAAA,kBAAkB,EAAE,KAFyC;AAG7DC,EAAAA,4CAA4C,EAAE,KAHe;AAI7DC,EAAAA,iCAAiC,EAAE,KAJ0B;AAK7DC,EAAAA,mBAAmB,EAAE,KALwC;AAM7DC,EAAAA,6BAA6B,EAAE,KAN8B;AAO7DC,EAAAA,gBAAgB,EAAE,KAP2C;AAQ7DC,EAAAA,sCAAsC,EAAE,KARqB;AAS7DC,EAAAA,yBAAyB,EAAE,KATkC;AAU7DC,EAAAA,qBAAqB,EAAE,KAVsC,EAAxD,C;;;AAaA,IAAMC,0BAA0B,gBAAGC,eAAMC,aAAN,CAAyCb,0BAAzC,CAAnC,C;;AAEPW,0BAA0B,CAACG,WAA3B,GAAyC,4BAAzC;AACAH,0BAA0B,CAACI,mBAA3B,GAAiD,4BAAjD","sourcesContent":["import React from 'react';\n\nexport interface ReactUIFeatureFlags {\n tokenInputRemoveWhitespaceFromDefaultDelimiters?: boolean;\n kebabHintRemovePin?: boolean;\n sidePageEnableFocusLockWhenBackgroundBlocked?: boolean;\n spinnerLoaderRemoveDefaultCaption?: boolean;\n menuItemsAtAnyLevel?: boolean;\n textareaUseSafari17Workaround?: boolean;\n linkFocusOutline?: boolean;\n comboBoxAllowValueChangeInEditingState?: boolean;\n hintAddDynamicPositioning?: boolean;\n popupUnifyPositioning?: boolean;\n}\n\nexport const reactUIFeatureFlagsDefault: ReactUIFeatureFlags = {\n tokenInputRemoveWhitespaceFromDefaultDelimiters: false,\n kebabHintRemovePin: false,\n sidePageEnableFocusLockWhenBackgroundBlocked: false,\n spinnerLoaderRemoveDefaultCaption: false,\n menuItemsAtAnyLevel: false,\n textareaUseSafari17Workaround: false,\n linkFocusOutline: false,\n comboBoxAllowValueChangeInEditingState: false,\n hintAddDynamicPositioning: false,\n popupUnifyPositioning: false,\n};\n\nexport const ReactUIFeatureFlagsContext = React.createContext<ReactUIFeatureFlags>(reactUIFeatureFlagsDefault);\n\nReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';\nReactUIFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ReactUIFeatureFlagsContext';\n"]}
@@ -2,6 +2,8 @@
2
2
  var _lodash = _interopRequireDefault(require("lodash.debounce"));
3
3
  var _globalObject = require("@skbkontur/global-object");
4
4
 
5
+ var _RenderContainer = require("../internal/RenderContainer");
6
+
5
7
  var _isInstanceOf = require("./isInstanceOf");
6
8
  var _client = require("./client");var _globalObject$documen2;
7
9
 
@@ -80,9 +82,9 @@ function findRenderContainer(node, rootNode, container) {var _globalObject$docum
80
82
  return container ? container : null;
81
83
  }
82
84
 
83
- var newContainerId = currentNode.getAttribute('data-rendered-container-id');
85
+ var newContainerId = currentNode.getAttribute(_RenderContainer.PORTAL_OUTLET_ATTR);
84
86
  if (newContainerId) {var _globalObject$documen5;
85
- var nextNode = (_globalObject$documen5 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen5.querySelector("[data-render-container-id~=\"" + newContainerId + "\"]");
87
+ var nextNode = (_globalObject$documen5 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen5.querySelector("[" + _RenderContainer.PORTAL_INLET_ATTR + "~=\"" + newContainerId + "\"]");
86
88
 
87
89
  if (!nextNode) {
88
90
  throw Error("Origin node for render container was not found");
@@ -1 +1 @@
1
- {"version":3,"sources":["listenFocusOutside.ts"],"names":["handlers","addHandleEvent","document","body","addEventListener","isFirefox","handleNativeFocus","leading","trailing","capture","readyState","globalObject","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","ReactDOM","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isInstanceOf } from './isInstanceOf';\nimport { isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: Element[] | (() => Element[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n globalObject.document?.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (globalObject.document?.readyState === 'complete') {\n addHandleEvent();\n} else {\n globalObject.addEventListener?.('load', addHandleEvent);\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: Element = (event.target || event.srcElement) as Element;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === globalObject.document?.body ||\n currentNode === globalObject.document?.documentElement ||\n !isInstanceOf(currentNode, globalObject.Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute('data-rendered-container-id');\n if (newContainerId) {\n const nextNode = globalObject.document?.querySelector(`[data-render-container-id~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: Element[] | (() => Element[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["listenFocusOutside.ts"],"names":["handlers","addHandleEvent","document","body","addEventListener","isFirefox","handleNativeFocus","leading","trailing","capture","readyState","globalObject","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","ReactDOM","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","PORTAL_OUTLET_ATTR","nextNode","querySelector","PORTAL_INLET_ATTR","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { PORTAL_INLET_ATTR, PORTAL_OUTLET_ATTR } from '../internal/RenderContainer';\n\nimport { isInstanceOf } from './isInstanceOf';\nimport { isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: Element[] | (() => Element[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n globalObject.document?.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (globalObject.document?.readyState === 'complete') {\n addHandleEvent();\n} else {\n globalObject.addEventListener?.('load', addHandleEvent);\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: Element = (event.target || event.srcElement) as Element;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === globalObject.document?.body ||\n currentNode === globalObject.document?.documentElement ||\n !isInstanceOf(currentNode, globalObject.Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute(PORTAL_OUTLET_ATTR);\n if (newContainerId) {\n const nextNode = globalObject.document?.querySelector(`[${PORTAL_INLET_ATTR}~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: Element[] | (() => Element[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
@@ -1,2 +1,5 @@
1
1
  import { LangCodes } from './types';
2
2
  export declare const defaultLangCode: Readonly<LangCodes>;
3
+ export declare const langCodesToCanonicalLocale: {
4
+ [key in LangCodes]: string;
5
+ };
@@ -1,3 +1,7 @@
1
- "use strict";exports.__esModule = true;exports.defaultLangCode = void 0;var _types = require("./types");
1
+ "use strict";exports.__esModule = true;exports.langCodesToCanonicalLocale = exports.defaultLangCode = void 0;var _types = require("./types");var _langCodesToCanonical;
2
2
 
3
- var defaultLangCode = _types.LangCodes.ru_RU;exports.defaultLangCode = defaultLangCode;
3
+ var defaultLangCode = _types.LangCodes.ru_RU;exports.defaultLangCode = defaultLangCode;
4
+
5
+ var langCodesToCanonicalLocale = (_langCodesToCanonical = {}, _langCodesToCanonical[
6
+ _types.LangCodes.ru_RU] = 'ru-RU', _langCodesToCanonical[
7
+ _types.LangCodes.en_GB] = 'en-GB', _langCodesToCanonical);exports.langCodesToCanonicalLocale = langCodesToCanonicalLocale;
@@ -1 +1 @@
1
- {"version":3,"sources":["constants.ts"],"names":["defaultLangCode","LangCodes","ru_RU"],"mappings":"wEAAA;;AAEO,IAAMA,eAAoC,GAAGC,iBAAUC,KAAvD,C","sourcesContent":["import { LangCodes } from './types';\n\nexport const defaultLangCode: Readonly<LangCodes> = LangCodes.ru_RU;\n"]}
1
+ {"version":3,"sources":["constants.ts"],"names":["defaultLangCode","LangCodes","ru_RU","langCodesToCanonicalLocale","en_GB"],"mappings":"6GAAA,gC;;AAEO,IAAMA,eAAoC,GAAGC,iBAAUC,KAAvD,C;;AAEA,IAAMC,0BAA0D;AACpEF,iBAAUC,KAD0D,IAClD,OADkD;AAEpED,iBAAUG,KAF0D,IAElD,OAFkD,wBAAhE,C","sourcesContent":["import { LangCodes } from './types';\n\nexport const defaultLangCode: Readonly<LangCodes> = LangCodes.ru_RU;\n\nexport const langCodesToCanonicalLocale: { [key in LangCodes]: string } = {\n [LangCodes.ru_RU]: 'ru-RU',\n [LangCodes.en_GB]: 'en-GB',\n};\n"]}
@@ -77,6 +77,7 @@ function TaskWithDelayAndMinimalDuration(initialValues) {var _this = this;this.i
77
77
  };this.
78
78
 
79
79
  clearTask = function () {
80
+ _this.isTaskActive = false;
80
81
  _this.clearTimeoutBeforeTaskStart();
81
82
  _this.clearTimeoutBeforeTaskStop();
82
83
  };this.taskParams = initialValues;};exports.TaskWithDelayAndMinimalDuration = TaskWithDelayAndMinimalDuration;