@skbkontur/react-ui 5.1.7 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +2 -8
  3. package/cjs/components/CurrencyLabel/CurrencyLabel.js +19 -15
  4. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  5. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  6. package/cjs/components/DateInput/DateInput.js +25 -5
  7. package/cjs/components/DateInput/DateInput.js.map +1 -1
  8. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  9. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  10. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  11. package/cjs/components/Dropdown/Dropdown.d.ts +2 -4
  12. package/cjs/components/FxInput/FxInput.d.ts +1 -1
  13. package/cjs/components/FxInput/FxInput.js.map +1 -1
  14. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -6
  15. package/cjs/components/MenuFooter/MenuFooter.js +47 -40
  16. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  17. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -6
  18. package/cjs/components/MenuHeader/MenuHeader.js +49 -41
  19. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  20. package/cjs/components/MenuItem/MenuItem.js +3 -0
  21. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  22. package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -0
  23. package/cjs/components/MenuItem/MenuItem.styles.js +18 -13
  24. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  25. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -6
  26. package/cjs/components/MenuSeparator/MenuSeparator.js +24 -22
  27. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  28. package/cjs/components/MiniModal/MiniModal.js +3 -3
  29. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  30. package/cjs/components/Modal/Modal.d.ts +20 -4
  31. package/cjs/components/Modal/Modal.js +79 -5
  32. package/cjs/components/Modal/Modal.js.map +1 -1
  33. package/cjs/components/Modal/Modal.styles.d.ts +19 -0
  34. package/cjs/components/Modal/Modal.styles.js +172 -42
  35. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  36. package/cjs/components/Modal/ModalBody.js +8 -1
  37. package/cjs/components/Modal/ModalBody.js.map +1 -1
  38. package/cjs/components/Modal/ModalContext.d.ts +1 -0
  39. package/cjs/components/Modal/ModalContext.js +1 -0
  40. package/cjs/components/Modal/ModalContext.js.map +1 -1
  41. package/cjs/components/Modal/ModalFooter.js +17 -2
  42. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  43. package/cjs/components/Modal/ModalHeader.js +21 -1
  44. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  45. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  46. package/cjs/components/RadioGroup/RadioGroup.js +18 -1
  47. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  48. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  49. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  50. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  51. package/cjs/components/SidePage/SidePage.d.ts +3 -1
  52. package/cjs/components/SidePage/SidePage.js +11 -5
  53. package/cjs/components/SidePage/SidePage.js.map +1 -1
  54. package/cjs/components/SidePage/SidePage.styles.d.ts +0 -1
  55. package/cjs/components/SidePage/SidePage.styles.js +51 -57
  56. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  57. package/cjs/components/Sticky/Sticky.js +1 -1
  58. package/cjs/components/Sticky/Sticky.js.map +1 -1
  59. package/cjs/components/Toast/Toast.d.ts +5 -5
  60. package/cjs/components/Toast/Toast.js +2 -2
  61. package/cjs/components/Toast/Toast.js.map +1 -1
  62. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  63. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  64. package/cjs/components/Toast/ToastView.d.ts +1 -1
  65. package/cjs/components/Toast/ToastView.js.map +1 -1
  66. package/cjs/internal/Popup/Popup.d.ts +1 -0
  67. package/cjs/internal/Popup/Popup.js +11 -1
  68. package/cjs/internal/Popup/Popup.js.map +1 -1
  69. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  70. package/cjs/internal/themes/BasicTheme.d.ts +4 -0
  71. package/cjs/internal/themes/BasicTheme.js +8 -2
  72. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  73. package/cjs/internal/themes/DarkTheme5_2.d.ts +1 -0
  74. package/cjs/internal/themes/DarkTheme5_2.js +29 -0
  75. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -0
  76. package/cjs/internal/themes/LightTheme5_2.d.ts +1 -0
  77. package/cjs/internal/themes/LightTheme5_2.js +27 -0
  78. package/cjs/internal/themes/LightTheme5_2.js.map +1 -0
  79. package/cjs/lib/ModalStack.d.ts +7 -1
  80. package/cjs/lib/ModalStack.js.map +1 -1
  81. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  82. package/cjs/lib/date/InternalDateGetter.js +8 -1
  83. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  84. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +3 -0
  85. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +3 -0
  86. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +7 -1
  87. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  88. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  89. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  90. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  91. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  92. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  93. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  94. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  95. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  96. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +8 -6
  97. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  98. package/components/CurrencyLabel/CurrencyLabel.d.ts +2 -8
  99. package/components/DateInput/DateInput/DateInput.js +13 -7
  100. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  101. package/components/DateInput/DateInput.d.ts +1 -0
  102. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  103. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  104. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  105. package/components/Dropdown/Dropdown.d.ts +2 -4
  106. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  107. package/components/FxInput/FxInput.d.ts +1 -1
  108. package/components/MenuFooter/MenuFooter/MenuFooter.js +7 -4
  109. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  110. package/components/MenuFooter/MenuFooter.d.ts +1 -6
  111. package/components/MenuHeader/MenuHeader/MenuHeader.js +7 -4
  112. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  113. package/components/MenuHeader/MenuHeader.d.ts +1 -6
  114. package/components/MenuItem/MenuItem/MenuItem.js +3 -1
  115. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  116. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +16 -13
  117. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  118. package/components/MenuItem/MenuItem.styles.d.ts +1 -0
  119. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -4
  120. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  121. package/components/MenuSeparator/MenuSeparator.d.ts +1 -6
  122. package/components/MiniModal/MiniModal/MiniModal.js +3 -1
  123. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  124. package/components/Modal/Modal/Modal.js +51 -11
  125. package/components/Modal/Modal/Modal.js.map +1 -1
  126. package/components/Modal/Modal.d.ts +20 -4
  127. package/components/Modal/Modal.styles/Modal.styles.js +98 -41
  128. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  129. package/components/Modal/Modal.styles.d.ts +19 -0
  130. package/components/Modal/ModalBody/ModalBody.js +5 -1
  131. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  132. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  133. package/components/Modal/ModalContext.d.ts +1 -0
  134. package/components/Modal/ModalFooter/ModalFooter.js +14 -2
  135. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  136. package/components/Modal/ModalHeader/ModalHeader.js +12 -2
  137. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  138. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  139. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  140. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  141. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  142. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  143. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  144. package/components/SidePage/SidePage/SidePage.js +15 -8
  145. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  146. package/components/SidePage/SidePage.d.ts +3 -1
  147. package/components/SidePage/SidePage.styles/SidePage.styles.js +51 -54
  148. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  149. package/components/SidePage/SidePage.styles.d.ts +0 -1
  150. package/components/Sticky/Sticky/Sticky.js +1 -1
  151. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  152. package/components/Toast/Toast/Toast.js +2 -2
  153. package/components/Toast/Toast/Toast.js.map +1 -1
  154. package/components/Toast/Toast.d.ts +5 -5
  155. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  156. package/components/Toast/ToastStatic.d.ts +3 -2
  157. package/components/Toast/ToastView/ToastView.js.map +1 -1
  158. package/components/Toast/ToastView.d.ts +1 -1
  159. package/internal/Popup/Popup/Popup.js +12 -1
  160. package/internal/Popup/Popup/Popup.js.map +1 -1
  161. package/internal/Popup/Popup.d.ts +1 -0
  162. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  163. package/internal/themes/BasicTheme/BasicTheme.js +8 -0
  164. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  165. package/internal/themes/BasicTheme.d.ts +4 -0
  166. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +27 -0
  167. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -0
  168. package/internal/themes/DarkTheme5_2/package.json +6 -0
  169. package/internal/themes/DarkTheme5_2.d.ts +1 -0
  170. package/internal/themes/LightTheme5_2/LightTheme5_2.js +27 -0
  171. package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +1 -0
  172. package/internal/themes/LightTheme5_2/package.json +6 -0
  173. package/internal/themes/LightTheme5_2.d.ts +1 -0
  174. package/lib/ModalStack/ModalStack.js.map +1 -1
  175. package/lib/ModalStack.d.ts +7 -1
  176. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  177. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  178. package/lib/date/InternalDateGetter.d.ts +1 -1
  179. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +3 -0
  180. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +4 -1
  181. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  182. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +3 -0
  183. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  184. package/lib/theming/ThemeVersions.d.ts +1 -1
  185. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  186. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  187. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  188. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  189. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  190. package/lib/theming/themes/LightTheme.d.ts +1 -0
  191. package/package.json +9 -9
  192. package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +0 -239
  193. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +0 -26
  194. package/cjs/components/Button/__creevey__/Button.creevey.mts +0 -251
  195. package/cjs/components/Button/__docs__/Button.mdx +0 -27
  196. package/cjs/components/Calendar/__creevey__/Calendar.creevey.mts +0 -113
  197. package/cjs/components/Calendar/__docs__/Calendar.mdx +0 -27
  198. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +0 -23
  199. package/cjs/components/Center/__docs__/Center.mdx +0 -23
  200. package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.mts +0 -243
  201. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +0 -27
  202. package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.mts +0 -545
  203. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +0 -27
  204. package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +0 -81
  205. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +0 -27
  206. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +0 -23
  207. package/cjs/components/DateInput/__creevey__/DateInput.creevey.mts +0 -156
  208. package/cjs/components/DateInput/__docs__/DateInput.mdx +0 -23
  209. package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.mts +0 -209
  210. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +0 -27
  211. package/cjs/components/DateRangePicker/__creevey__/DateRangePicker.creevey.mts +0 -155
  212. package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -123
  213. package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.mts +0 -184
  214. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +0 -27
  215. package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +0 -263
  216. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +0 -27
  217. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +0 -27
  218. package/cjs/components/FxInput/__creevey__/FxInput.creevey.mts +0 -21
  219. package/cjs/components/FxInput/__docs__/FxInput.mdx +0 -27
  220. package/cjs/components/Gapped/__docs__/Gapped.mdx +0 -23
  221. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +0 -27
  222. package/cjs/components/Group/__creevey__/Group.creevey.mts +0 -19
  223. package/cjs/components/Group/__docs__/Group.mdx +0 -23
  224. package/cjs/components/Hint/__creevey__/Hint.creevey.mts +0 -68
  225. package/cjs/components/Hint/__docs__/Hint.mdx +0 -28
  226. package/cjs/components/Input/__creevey__/Input.creevey.mts +0 -239
  227. package/cjs/components/Input/__docs__/Input.mdx +0 -27
  228. package/cjs/components/Kebab/__creevey__/Kebab.creevey.mts +0 -147
  229. package/cjs/components/Kebab/__docs__/Kebab.mdx +0 -27
  230. package/cjs/components/Link/__creevey__/Link.creevey.mts +0 -162
  231. package/cjs/components/Link/__docs__/Link.mdx +0 -27
  232. package/cjs/components/Loader/__creevey__/Loader.creevey.mts +0 -35
  233. package/cjs/components/Loader/__docs__/Loader.mdx +0 -23
  234. package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +0 -221
  235. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +0 -27
  236. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +0 -23
  237. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +0 -23
  238. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +0 -23
  239. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +0 -23
  240. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +0 -27
  241. package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +0 -17
  242. package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +0 -17
  243. package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +0 -18
  244. package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +0 -11
  245. package/cjs/components/Modal/__creevey__/Modal.creevey.mts +0 -295
  246. package/cjs/components/Modal/__docs__/Modal.mdx +0 -27
  247. package/cjs/components/Modal/__docs__/ModalBody.mdx +0 -15
  248. package/cjs/components/Modal/__docs__/ModalFooter.mdx +0 -15
  249. package/cjs/components/Modal/__docs__/ModalHeader.mdx +0 -15
  250. package/cjs/components/Modal/__docs__/ModalSeparator.mdx +0 -15
  251. package/cjs/components/Paging/__creevey__/Paging.creevey.mts +0 -97
  252. package/cjs/components/Paging/__docs__/Paging.mdx +0 -27
  253. package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +0 -46
  254. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +0 -27
  255. package/cjs/components/Radio/__creevey__/Radio.creevey.mts +0 -28
  256. package/cjs/components/Radio/__docs__/Radio.mdx +0 -27
  257. package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +0 -86
  258. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +0 -27
  259. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +0 -96
  260. package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +0 -247
  261. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +0 -23
  262. package/cjs/components/Select/__creevey__/Select.creevey.mts +0 -293
  263. package/cjs/components/Select/__docs__/Select.mdx +0 -27
  264. package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +0 -421
  265. package/cjs/components/SidePage/__docs__/SidePage.mdx +0 -27
  266. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +0 -16
  267. package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +0 -15
  268. package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +0 -15
  269. package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +0 -15
  270. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +0 -27
  271. package/cjs/components/Spinner/__docs__/Spinner.mdx +0 -27
  272. package/cjs/components/Sticky/__creevey__/Sticky.creevey.mts +0 -98
  273. package/cjs/components/Sticky/__docs__/Sticky.mdx +0 -23
  274. package/cjs/components/Switcher/__creevey__/Switcher.creevey.mts +0 -24
  275. package/cjs/components/Switcher/__docs__/Switcher.mdx +0 -27
  276. package/cjs/components/Tabs/__creevey__/Tabs.creevey.mts +0 -239
  277. package/cjs/components/Tabs/__docs__/Tab.mdx +0 -27
  278. package/cjs/components/Tabs/__docs__/Tabs.mdx +0 -27
  279. package/cjs/components/Textarea/__creevey__/Textarea.creevey.mts +0 -177
  280. package/cjs/components/Textarea/__docs__/Textarea.mdx +0 -27
  281. package/cjs/components/Toast/__creevey__/Toast.creevey.mts +0 -77
  282. package/cjs/components/Toast/__docs__/Toast.mdx +0 -27
  283. package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +0 -93
  284. package/cjs/components/Toggle/__docs__/Toggle.mdx +0 -27
  285. package/cjs/components/Token/__docs__/Token.mdx +0 -27
  286. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +0 -442
  287. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +0 -27
  288. package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.mts +0 -533
  289. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +0 -27
  290. package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +0 -131
  291. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +0 -23
  292. package/cjs/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +0 -44
  293. package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +0 -48
  294. package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +0 -30
  295. package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +0 -25
  296. package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +0 -83
  297. package/cjs/internal/Menu/__creevey__/Menu.creevey.mts +0 -90
  298. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +0 -7
  299. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js +0 -89
  300. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +0 -1
  301. package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +0 -37
  302. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +0 -36
  303. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +0 -4
  304. package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +0 -68
  305. package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.mts +0 -228
  306. package/components/Autocomplete/__creevey__/Autocomplete.creevey.d.mts +0 -1
  307. package/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +0 -239
  308. package/components/Autocomplete/__docs__/Autocomplete.mdx +0 -26
  309. package/components/Button/__creevey__/Button.creevey.d.mts +0 -1
  310. package/components/Button/__creevey__/Button.creevey.mts +0 -251
  311. package/components/Button/__docs__/Button.mdx +0 -27
  312. package/components/Calendar/__creevey__/Calendar.creevey.d.mts +0 -1
  313. package/components/Calendar/__creevey__/Calendar.creevey.mts +0 -113
  314. package/components/Calendar/__docs__/Calendar.mdx +0 -27
  315. package/components/Calendar/__docs__/CalendarDay.mdx +0 -23
  316. package/components/Center/__docs__/Center.mdx +0 -23
  317. package/components/Checkbox/__creevey__/Checkbox.creevey.d.mts +0 -1
  318. package/components/Checkbox/__creevey__/Checkbox.creevey.mts +0 -243
  319. package/components/Checkbox/__docs__/Checkbox.mdx +0 -27
  320. package/components/ComboBox/__creevey__/ComboBox.creevey.d.mts +0 -1
  321. package/components/ComboBox/__creevey__/ComboBox.creevey.mts +0 -545
  322. package/components/ComboBox/__docs__/ComboBox.mdx +0 -27
  323. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.mts +0 -1
  324. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +0 -81
  325. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +0 -27
  326. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +0 -23
  327. package/components/DateInput/__creevey__/DateInput.creevey.d.mts +0 -1
  328. package/components/DateInput/__creevey__/DateInput.creevey.mts +0 -156
  329. package/components/DateInput/__docs__/DateInput.mdx +0 -23
  330. package/components/DatePicker/__creevey__/DatePicker.creevey.d.mts +0 -1
  331. package/components/DatePicker/__creevey__/DatePicker.creevey.mts +0 -209
  332. package/components/DatePicker/__docs__/DatePicker.mdx +0 -27
  333. package/components/DateRangePicker/__creevey__/DateRangePicker.creevey.d.mts +0 -1
  334. package/components/DateRangePicker/__creevey__/DateRangePicker.creevey.mts +0 -155
  335. package/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -123
  336. package/components/Dropdown/__creevey__/Dropdown.creevey.d.mts +0 -1
  337. package/components/Dropdown/__creevey__/Dropdown.creevey.mts +0 -184
  338. package/components/Dropdown/__docs__/Dropdown.mdx +0 -27
  339. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.mts +0 -1
  340. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +0 -263
  341. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +0 -27
  342. package/components/FileUploader/__docs__/FileUploader.mdx +0 -27
  343. package/components/FxInput/__creevey__/FxInput.creevey.d.mts +0 -1
  344. package/components/FxInput/__creevey__/FxInput.creevey.mts +0 -21
  345. package/components/FxInput/__docs__/FxInput.mdx +0 -27
  346. package/components/Gapped/__docs__/Gapped.mdx +0 -23
  347. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +0 -27
  348. package/components/Group/__creevey__/Group.creevey.d.mts +0 -1
  349. package/components/Group/__creevey__/Group.creevey.mts +0 -19
  350. package/components/Group/__docs__/Group.mdx +0 -23
  351. package/components/Hint/__creevey__/Hint.creevey.d.mts +0 -1
  352. package/components/Hint/__creevey__/Hint.creevey.mts +0 -68
  353. package/components/Hint/__docs__/Hint.mdx +0 -28
  354. package/components/Input/__creevey__/Input.creevey.d.mts +0 -1
  355. package/components/Input/__creevey__/Input.creevey.mts +0 -239
  356. package/components/Input/__docs__/Input.mdx +0 -27
  357. package/components/Kebab/__creevey__/Kebab.creevey.d.mts +0 -1
  358. package/components/Kebab/__creevey__/Kebab.creevey.mts +0 -147
  359. package/components/Kebab/__docs__/Kebab.mdx +0 -27
  360. package/components/Link/__creevey__/Link.creevey.d.mts +0 -1
  361. package/components/Link/__creevey__/Link.creevey.mts +0 -162
  362. package/components/Link/__docs__/Link.mdx +0 -27
  363. package/components/Loader/__creevey__/Loader.creevey.d.mts +0 -1
  364. package/components/Loader/__creevey__/Loader.creevey.mts +0 -35
  365. package/components/Loader/__docs__/Loader.mdx +0 -23
  366. package/components/MaskedInput/__creevey__/MaskedInput.creevey.d.mts +0 -1
  367. package/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +0 -221
  368. package/components/MaskedInput/__docs__/MaskedInput.mdx +0 -27
  369. package/components/MenuFooter/__docs__/MenuFooter.mdx +0 -23
  370. package/components/MenuHeader/__docs__/MenuHeader.mdx +0 -23
  371. package/components/MenuItem/__docs__/MenuItem.mdx +0 -23
  372. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +0 -23
  373. package/components/MiniModal/__docs__/MiniModal.mdx +0 -27
  374. package/components/MiniModal/__docs__/MiniModalBody.mdx +0 -17
  375. package/components/MiniModal/__docs__/MiniModalFooter.mdx +0 -17
  376. package/components/MiniModal/__docs__/MiniModalHeader.mdx +0 -18
  377. package/components/MiniModal/__docs__/MiniModalIndent.mdx +0 -11
  378. package/components/Modal/__creevey__/Modal.creevey.d.mts +0 -1
  379. package/components/Modal/__creevey__/Modal.creevey.mts +0 -295
  380. package/components/Modal/__docs__/Modal.mdx +0 -27
  381. package/components/Modal/__docs__/ModalBody.mdx +0 -15
  382. package/components/Modal/__docs__/ModalFooter.mdx +0 -15
  383. package/components/Modal/__docs__/ModalHeader.mdx +0 -15
  384. package/components/Modal/__docs__/ModalSeparator.mdx +0 -15
  385. package/components/Paging/__creevey__/Paging.creevey.d.mts +0 -1
  386. package/components/Paging/__creevey__/Paging.creevey.mts +0 -97
  387. package/components/Paging/__docs__/Paging.mdx +0 -27
  388. package/components/PasswordInput/__creevey__/PasswordInput.creevey.d.mts +0 -1
  389. package/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +0 -46
  390. package/components/PasswordInput/__docs__/PasswordInput.mdx +0 -27
  391. package/components/Radio/__creevey__/Radio.creevey.d.mts +0 -1
  392. package/components/Radio/__creevey__/Radio.creevey.mts +0 -28
  393. package/components/Radio/__docs__/Radio.mdx +0 -27
  394. package/components/RadioGroup/__creevey__/RadioGroup.creevey.d.mts +0 -1
  395. package/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +0 -86
  396. package/components/RadioGroup/__docs__/RadioGroup.mdx +0 -27
  397. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +0 -96
  398. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.mts +0 -1
  399. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +0 -247
  400. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +0 -23
  401. package/components/Select/__creevey__/Select.creevey.d.mts +0 -1
  402. package/components/Select/__creevey__/Select.creevey.mts +0 -293
  403. package/components/Select/__docs__/Select.mdx +0 -27
  404. package/components/SidePage/__creevey__/SidePage.creevey.d.mts +0 -1
  405. package/components/SidePage/__creevey__/SidePage.creevey.mts +0 -421
  406. package/components/SidePage/__docs__/SidePage.mdx +0 -27
  407. package/components/SidePage/__docs__/SidePageBody.mdx +0 -16
  408. package/components/SidePage/__docs__/SidePageContainer.mdx +0 -15
  409. package/components/SidePage/__docs__/SidePageFooter.mdx +0 -15
  410. package/components/SidePage/__docs__/SidePageHeader.mdx +0 -15
  411. package/components/SingleToast/__docs__/SingleToast.mdx +0 -27
  412. package/components/Spinner/__docs__/Spinner.mdx +0 -27
  413. package/components/Sticky/__creevey__/Sticky.creevey.d.mts +0 -1
  414. package/components/Sticky/__creevey__/Sticky.creevey.mts +0 -98
  415. package/components/Sticky/__docs__/Sticky.mdx +0 -23
  416. package/components/Switcher/__creevey__/Switcher.creevey.d.mts +0 -1
  417. package/components/Switcher/__creevey__/Switcher.creevey.mts +0 -24
  418. package/components/Switcher/__docs__/Switcher.mdx +0 -27
  419. package/components/Tabs/__creevey__/Tabs.creevey.d.mts +0 -1
  420. package/components/Tabs/__creevey__/Tabs.creevey.mts +0 -239
  421. package/components/Tabs/__docs__/Tab.mdx +0 -27
  422. package/components/Tabs/__docs__/Tabs.mdx +0 -27
  423. package/components/Textarea/__creevey__/Textarea.creevey.d.mts +0 -1
  424. package/components/Textarea/__creevey__/Textarea.creevey.mts +0 -177
  425. package/components/Textarea/__docs__/Textarea.mdx +0 -27
  426. package/components/Toast/__creevey__/Toast.creevey.d.mts +0 -1
  427. package/components/Toast/__creevey__/Toast.creevey.mts +0 -77
  428. package/components/Toast/__docs__/Toast.mdx +0 -27
  429. package/components/Toggle/__creevey__/Toggle.creevey.d.mts +0 -1
  430. package/components/Toggle/__creevey__/Toggle.creevey.mts +0 -93
  431. package/components/Toggle/__docs__/Toggle.mdx +0 -27
  432. package/components/Token/__docs__/Token.mdx +0 -27
  433. package/components/TokenInput/__creevey__/TokenInput.creevey.d.mts +0 -1
  434. package/components/TokenInput/__creevey__/TokenInput.creevey.mts +0 -442
  435. package/components/TokenInput/__docs__/TokenInput.mdx +0 -27
  436. package/components/Tooltip/__creevey__/Tooltip.creevey.d.mts +0 -1
  437. package/components/Tooltip/__creevey__/Tooltip.creevey.mts +0 -533
  438. package/components/Tooltip/__docs__/Tooltip.mdx +0 -27
  439. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.mts +0 -1
  440. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +0 -131
  441. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +0 -23
  442. package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.d.mts +0 -1
  443. package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +0 -44
  444. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.mts +0 -1
  445. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +0 -48
  446. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.mts +0 -1
  447. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +0 -30
  448. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.mts +0 -1
  449. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +0 -25
  450. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.mts +0 -1
  451. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +0 -83
  452. package/internal/Menu/__creevey__/Menu.creevey.d.mts +0 -1
  453. package/internal/Menu/__creevey__/Menu.creevey.mts +0 -90
  454. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js +0 -106
  455. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +0 -1
  456. package/internal/PerformanceMetrics/PerformanceMetrics/package.json +0 -6
  457. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +0 -7
  458. package/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.mts +0 -1
  459. package/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +0 -37
  460. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +0 -1
  461. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +0 -36
  462. package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +0 -4
  463. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.mts +0 -1
  464. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +0 -68
  465. package/internal/ZIndex/__creevey__/ZIndex.creevey.d.mts +0 -1
  466. package/internal/ZIndex/__creevey__/ZIndex.creevey.mts +0 -228
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.2.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.1.7...@skbkontur/react-ui@5.2.0) (2025-07-16)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **DateInput,DatePicker:** input same number after blur and refocus (feature flag `dateInputFixSameNumberTypingOnRefocus`) ([fc068d8](https://github.com/skbkontur/retail-ui/commit/fc068d8d09852764a4d41543bbd3a9caa7e1f110))
12
+ * **RadioGroup:** fix baseline spacer (feature flag `radioGroupRemoveBaselineSpacer`) ([c7ca31a](https://github.com/skbkontur/retail-ui/commit/c7ca31a9d00385d14223f090ad9f731456cf122a))
13
+ * **Toast:** extend notification type to ReactNode ([a58ec5a](https://github.com/skbkontur/retail-ui/commit/a58ec5af1ac75e860f058bdf597d5160097fb334))
14
+ * **Kebab:** update colors in DarkTheme ([79fa1f5](https://github.com/skbkontur/retail-ui/commit/79fa1f51ee9ecebee7371c2308ee01ad3744eb5e))
15
+ * **MenuItem:** use default cursor for nonselectable items ([b260ef9](https://github.com/skbkontur/retail-ui/commit/b260ef9db12d0b004f0e46e3686127325e0bd8fb))
16
+ * **FxInput:** inline deprecated React.ReactText type ([790ab0b](https://github.com/skbkontur/retail-ui/commit/790ab0b3036d0592bac022bdb7484b4022fbfe07))
17
+
18
+
19
+ ### Features
20
+
21
+ * **Modal, MiniModal, SidePage:** update mobile versions ([6bebba9](https://github.com/skbkontur/retail-ui/commit/6bebba9118e8bf0ffdd5797cd3c26b2a5bee6e28))
22
+ * **DateInput,DatePicker:** allow invalid values in days (feature flag `dateInputAllowInvalidValuesInDays`) ([cc35707](https://github.com/skbkontur/retail-ui/commit/cc357071a20364875851ecf37130b5c81548c80b))
23
+
24
+
25
+
26
+
27
+
28
+
6
29
  ## [5.1.7](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@5.1.6...@skbkontur/react-ui@5.1.7) (2025-07-11)
7
30
 
8
31
 
@@ -18,11 +18,5 @@ export declare const CurrencyLabelDataTids: {
18
18
  /**
19
19
  * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).
20
20
  */
21
- export declare const CurrencyLabel: {
22
- ({ id, value, fractionDigits, currencySymbol, hideTrailingZeros, ...rest }: CurrencyLabelProps): JSX.Element;
23
- __KONTUR_REACT_UI__: string;
24
- displayName: string;
25
- propTypes: {
26
- fractionDigits: ({ fractionDigits, value }: CurrencyLabelProps) => Error | null;
27
- };
28
- };
21
+ declare const CurrencyLabel: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, CurrencyLabelProps> & Record<never, never>;
22
+ export { CurrencyLabel };
@@ -4,7 +4,8 @@ var _react = _interopRequireDefault(require("react"));
4
4
  var _constants = require("../CurrencyInput/constants");
5
5
  var _CurrencyHelper = require("../CurrencyInput/CurrencyHelper");
6
6
 
7
- var _CommonWrapper = require("../../internal/CommonWrapper");var _excluded = ["id", "value", "fractionDigits", "currencySymbol", "hideTrailingZeros"];
7
+ var _CommonWrapper = require("../../internal/CommonWrapper");
8
+ var _forwardRefAndName = require("../../lib/forwardRefAndName");var _excluded = ["id", "value", "fractionDigits", "currencySymbol", "hideTrailingZeros"];
8
9
 
9
10
 
10
11
 
@@ -30,29 +31,33 @@ var CurrencyLabelDataTids = exports.CurrencyLabelDataTids = {
30
31
  /**
31
32
  * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).
32
33
  */
33
- var CurrencyLabel = exports.CurrencyLabel = function CurrencyLabel(_ref)
34
+ var CurrencyLabel = exports.CurrencyLabel = (0, _forwardRefAndName.forwardRefAndName)(
35
+ 'CurrencyLabel',
36
+ function CurrencyLabel(_ref,
34
37
 
35
38
 
36
39
 
37
40
 
38
41
 
39
42
 
40
- {var id = _ref.id,value = _ref.value,_ref$fractionDigits = _ref.fractionDigits,fractionDigits = _ref$fractionDigits === void 0 ? FRACTION_DIGITS_DEFAULT : _ref$fractionDigits,currencySymbol = _ref.currencySymbol,_ref$hideTrailingZero = _ref.hideTrailingZeros,hideTrailingZeros = _ref$hideTrailingZero === void 0 ? false : _ref$hideTrailingZero,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
41
- return /*#__PURE__*/(
42
- _react.default.createElement(_CommonWrapper.CommonWrapper, rest, /*#__PURE__*/
43
- _react.default.createElement("span", { id: id, "data-tid": CurrencyLabelDataTids.root },
44
- _CurrencyHelper.CurrencyHelper.format(value, { fractionDigits: fractionDigits, hideTrailingZeros: hideTrailingZeros }),
45
- currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */,
46
- currencySymbol
47
- )
48
- ));
49
43
 
50
- };
51
44
 
52
- CurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';
53
- CurrencyLabel.displayName = 'CurrencyLabel';
45
+ ref)
46
+ {var id = _ref.id,value = _ref.value,_ref$fractionDigits = _ref.fractionDigits,fractionDigits = _ref$fractionDigits === void 0 ? FRACTION_DIGITS_DEFAULT : _ref$fractionDigits,currencySymbol = _ref.currencySymbol,_ref$hideTrailingZero = _ref.hideTrailingZeros,hideTrailingZeros = _ref$hideTrailingZero === void 0 ? false : _ref$hideTrailingZero,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
47
+ return /*#__PURE__*/(
48
+ _react.default.createElement(_CommonWrapper.CommonWrapper, rest, /*#__PURE__*/
49
+ _react.default.createElement("span", { id: id, "data-tid": CurrencyLabelDataTids.root, ref: ref },
50
+ _CurrencyHelper.CurrencyHelper.format(value, { fractionDigits: fractionDigits, hideTrailingZeros: hideTrailingZeros }),
51
+ currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */,
52
+ currencySymbol
53
+ )
54
+ ));
55
+
56
+ }
57
+ );
54
58
 
55
59
  CurrencyLabel.propTypes = {
60
+ // @ts-ignore
56
61
  fractionDigits: function fractionDigits(_ref2) {var _ref2$fractionDigits = _ref2.fractionDigits,_fractionDigits = _ref2$fractionDigits === void 0 ? FRACTION_DIGITS_DEFAULT : _ref2$fractionDigits,value = _ref2.value;
57
62
  if (_fractionDigits > _constants.MAX_SAFE_DIGITS) {
58
63
  return new Error(
@@ -74,7 +79,6 @@ CurrencyLabel.propTypes = {
74
79
 
75
80
  );
76
81
  }
77
-
78
82
  return null;
79
83
  }
80
84
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_constants","_CurrencyHelper","_CommonWrapper","_excluded","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","exports","root","CurrencyLabel","_ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose2","default","createElement","CommonWrapper","CurrencyHelper","format","String","fromCharCode","__KONTUR_REACT_UI__","displayName","propTypes","_ref2","_ref2$fractionDigits","MAX_SAFE_DIGITS","Error","_ref3","destructString","fraction","length","Number","isInteger"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Устанавливает значение. */\n value: number;\n\n /** Задает символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\n */\nexport const CurrencyLabel = ({\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n}: CurrencyLabelProps): JSX.Element => {\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n};\n\nCurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';\nCurrencyLabel.displayName = 'CurrencyLabel';\n\nCurrencyLabel.propTypes = {\n fractionDigits: ({ fractionDigits = FRACTION_DIGITS_DEFAULT, value }: CurrencyLabelProps) => {\n if (fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n if (fraction.length > fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n\n return null;\n },\n};\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;;AAEA,IAAAG,cAAA,GAAAH,OAAA,iCAA6D,IAAAI,SAAA;;;;;;;;;;;;;;;;;AAiB7D,IAAMC,uBAAuB,GAAG,CAAC;;AAE1B,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG;EACnCE,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACO,IAAMC,aAAa,GAAAF,OAAA,CAAAE,aAAA,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;;;;;;;AAOa,KANrCC,EAAE,GAAAD,IAAA,CAAFC,EAAE,CACFC,KAAK,GAAAF,IAAA,CAALE,KAAK,CAAAC,mBAAA,GAAAH,IAAA,CACLI,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGR,uBAAuB,GAAAQ,mBAAA,CACxCE,cAAc,GAAAL,IAAA,CAAdK,cAAc,CAAAC,qBAAA,GAAAN,IAAA,CACdO,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAV,IAAA,EAAAN,SAAA;EAEP;IACEN,MAAA,CAAAsB,OAAA,CAAAC,aAAA,CAAClB,cAAA,CAAAmB,aAAa,EAAKJ,IAAI;IACrBpB,MAAA,CAAAsB,OAAA,CAAAC,aAAA,WAAMV,EAAE,EAAEA,EAAG,EAAC,YAAUL,qBAAqB,CAACE,IAAK;IAChDe,8BAAc,CAACC,MAAM,CAACZ,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;IACnEF,cAAc,IAAIU,MAAM,CAACC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5CX;IACG;IACO,CAAC;;AAEpB,CAAC;;AAEDN,aAAa,CAACkB,mBAAmB,GAAG,eAAe;AACnDlB,aAAa,CAACmB,WAAW,GAAG,eAAe;;AAE3CnB,aAAa,CAACoB,SAAS,GAAG;EACxBf,cAAc,EAAE,SAAAA,eAAAgB,KAAA,EAA6E,KAAAC,oBAAA,GAAAD,KAAA,CAA1EhB,cAAc,CAAdA,eAAc,GAAAiB,oBAAA,cAAG1B,uBAAuB,GAAA0B,oBAAA,CAAEnB,KAAK,GAAAkB,KAAA,CAALlB,KAAK;IAChE,IAAIE,eAAc,GAAGkB,0BAAe,EAAE;MACpC,OAAO,IAAIC,KAAK;QACd,oDAAkDD,0BAAe;;MAEnE,CAAC;IACH;;IAEA,IAAAE,KAAA,GAAqBX,8BAAc,CAACY,cAAc,CAACV,MAAM,CAACb,KAAK,CAAC,CAAC,IAAI,EAAEwB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAChB,IAAIA,QAAQ,CAACC,MAAM,GAAGvB,eAAc,EAAE;MACpC,OAAO,IAAImB,KAAK;QACd;;MAEF,CAAC;IACH;;IAEA,IAAI,CAACK,MAAM,CAACC,SAAS,CAACzB,eAAc,CAAC,EAAE;MACrC,OAAO,IAAImB,KAAK;;MAEhB,CAAC;IACH;;IAEA,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_constants","_CurrencyHelper","_CommonWrapper","_forwardRefAndName","_excluded","FRACTION_DIGITS_DEFAULT","CurrencyLabelDataTids","exports","root","CurrencyLabel","forwardRefAndName","_ref","ref","id","value","_ref$fractionDigits","fractionDigits","currencySymbol","_ref$hideTrailingZero","hideTrailingZeros","rest","_objectWithoutPropertiesLoose2","default","createElement","CommonWrapper","CurrencyHelper","format","String","fromCharCode","propTypes","_ref2","_ref2$fractionDigits","MAX_SAFE_DIGITS","Error","_ref3","destructString","fraction","length","Number","isInteger"],"sources":["CurrencyLabel.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nexport interface CurrencyLabelProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает минимальное количество отображаемых знаков после запятой.\n * @default 2 */\n fractionDigits?: number;\n\n /** Устанавливает значение. */\n value: number;\n\n /** Задает символ валюты. */\n currencySymbol?: React.ReactNode;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n}\n\nconst FRACTION_DIGITS_DEFAULT = 2;\n\nexport const CurrencyLabelDataTids = {\n root: 'CurrencyLabel__root',\n} as const;\n\n/**\n * `CurrencyLabel` — подпись для денежных сумм (и других числовых значений).\n */\nconst CurrencyLabel = forwardRefAndName(\n 'CurrencyLabel',\n function CurrencyLabel(\n {\n id,\n value,\n fractionDigits = FRACTION_DIGITS_DEFAULT,\n currencySymbol,\n hideTrailingZeros = false,\n ...rest\n }: CurrencyLabelProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n return (\n <CommonWrapper {...rest}>\n <span id={id} data-tid={CurrencyLabelDataTids.root} ref={ref}>\n {CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros })}\n {currencySymbol && String.fromCharCode(0xa0) /* &nbsp; */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n },\n);\n\nCurrencyLabel.propTypes = {\n // @ts-ignore\n fractionDigits: ({ fractionDigits = FRACTION_DIGITS_DEFAULT, value }: CurrencyLabelProps) => {\n if (fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(value)) || { fraction: '' };\n if (fraction.length > fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n return null;\n },\n};\n\nexport { CurrencyLabel };\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA,gCAAgE,IAAAK,SAAA;;;;;;;;;;;;;;;;;AAiBhE,IAAMC,uBAAuB,GAAG,CAAC;;AAE1B,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG;EACnCE,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,IAAMC,aAAa,GAAAF,OAAA,CAAAE,aAAA,GAAG,IAAAC,oCAAiB;EACrC,eAAe;EACf,SAASD,aAAaA,CAAAE,IAAA;;;;;;;;;EASpBC,GAA8B;EAC9B,KAREC,EAAE,GAAAF,IAAA,CAAFE,EAAE,CACFC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAAC,mBAAA,GAAAJ,IAAA,CACLK,cAAc,CAAdA,cAAc,GAAAD,mBAAA,cAAGV,uBAAuB,GAAAU,mBAAA,CACxCE,cAAc,GAAAN,IAAA,CAAdM,cAAc,CAAAC,qBAAA,GAAAP,IAAA,CACdQ,iBAAiB,CAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CACtBE,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAX,IAAA,EAAAP,SAAA;IAIT;MACEP,MAAA,CAAAyB,OAAA,CAAAC,aAAA,CAACrB,cAAA,CAAAsB,aAAa,EAAKJ,IAAI;MACrBvB,MAAA,CAAAyB,OAAA,CAAAC,aAAA,WAAMV,EAAE,EAAEA,EAAG,EAAC,YAAUP,qBAAqB,CAACE,IAAK,EAACI,GAAG,EAAEA,GAAI;MAC1Da,8BAAc,CAACC,MAAM,CAACZ,KAAK,EAAE,EAAEE,cAAc,EAAdA,cAAc,EAAEG,iBAAiB,EAAjBA,iBAAiB,CAAC,CAAC,CAAC;MACnEF,cAAc,IAAIU,MAAM,CAACC,YAAY,CAAC,IAAI,CAAC,CAAC;MAC5CX;MACG;MACO,CAAC;;EAEpB;AACF,CAAC;;AAEDR,aAAa,CAACoB,SAAS,GAAG;EACxB;EACAb,cAAc,EAAE,SAAAA,eAAAc,KAAA,EAA6E,KAAAC,oBAAA,GAAAD,KAAA,CAA1Ed,cAAc,CAAdA,eAAc,GAAAe,oBAAA,cAAG1B,uBAAuB,GAAA0B,oBAAA,CAAEjB,KAAK,GAAAgB,KAAA,CAALhB,KAAK;IAChE,IAAIE,eAAc,GAAGgB,0BAAe,EAAE;MACpC,OAAO,IAAIC,KAAK;QACd,oDAAkDD,0BAAe;;MAEnE,CAAC;IACH;;IAEA,IAAAE,KAAA,GAAqBT,8BAAc,CAACU,cAAc,CAACR,MAAM,CAACb,KAAK,CAAC,CAAC,IAAI,EAAEsB,QAAQ,EAAE,EAAE,CAAC,CAAC,CAA7EA,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAChB,IAAIA,QAAQ,CAACC,MAAM,GAAGrB,eAAc,EAAE;MACpC,OAAO,IAAIiB,KAAK;QACd;;MAEF,CAAC;IACH;;IAEA,IAAI,CAACK,MAAM,CAACC,SAAS,CAACvB,eAAc,CAAC,EAAE;MACrC,OAAO,IAAIiB,KAAK;;MAEhB,CAAC;IACH;IACA,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]}
@@ -66,6 +66,7 @@ export declare class DateInput extends React.Component<DateInputProps, DateInput
66
66
  private theme;
67
67
  private setRootNode;
68
68
  private conditionalHandler;
69
+ private featureFlags;
69
70
  constructor(props: DateInputProps);
70
71
  componentDidUpdate(prevProps: DateInputProps): void;
71
72
  selectNode: () => void;
@@ -3,6 +3,8 @@ var _react = _interopRequireDefault(require("react"));
3
3
  var _reactDom = _interopRequireDefault(require("react-dom"));
4
4
  var _globalObject = require("@skbkontur/global-object");
5
5
 
6
+
7
+ var _featureFlagsContext = require("../../lib/featureFlagsContext");
6
8
  var _ConditionalHandler = require("../../lib/ConditionalHandler");
7
9
  var _constants = require("../../lib/date/constants");
8
10
  var _types = require("../../lib/date/types");
@@ -133,6 +135,8 @@ DateInput = exports.DateInput = (_dec = (0, _decorators.locale)('DatePicker', _l
133
135
 
134
136
 
135
137
 
138
+
139
+
136
140
 
137
141
 
138
142
 
@@ -253,6 +257,13 @@ DateInput = exports.DateInput = (_dec = (0, _decorators.locale)('DatePicker', _l
253
257
 
254
258
 
255
259
 
260
+
261
+
262
+
263
+
264
+
265
+
266
+
256
267
 
257
268
 
258
269
 
@@ -480,10 +491,19 @@ DateInput = exports.DateInput = (_dec = (0, _decorators.locale)('DatePicker', _l
480
491
  _this.iDateMediator.clear(_types.InternalDateComponentType.All);
481
492
  _this.setState({ selected: selected });
482
493
  }
483
- var _this$iDateMediator$i = _this.iDateMediator.inputKey(event.key, selected, _this.state.inputMode),inputMode = _this$iDateMediator$i.inputMode,changed = _this$iDateMediator$i.changed;
484
- if (!changed) {
485
- _this.blink();
486
- return;
494
+
495
+ var _this$iDateMediator$i = _this.iDateMediator.inputKey(
496
+ event.key,
497
+ selected,
498
+ _this.state.inputMode,
499
+ _this.featureFlags.dateInputAllowInvalidValuesInDays
500
+ ),inputMode = _this$iDateMediator$i.inputMode,changed = _this$iDateMediator$i.changed;
501
+
502
+ if (!_this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {
503
+ if (!changed) {
504
+ _this.blink();
505
+ return;
506
+ }
487
507
  }
488
508
 
489
509
  if (!inputMode) {
@@ -491,4 +511,4 @@ DateInput = exports.DateInput = (_dec = (0, _decorators.locale)('DatePicker', _l
491
511
  _this.shiftSelection(1);
492
512
  }
493
513
  _this.updateValue({ inputMode: inputMode });
494
- };_this.state = { valueFormatted: '', selected: null, inputMode: false, focused: false, dragged: false };return _this;}(0, _inheritsLoose2.default)(DateInput, _React$Component);var _proto = DateInput.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),value = _this$getProps.value,minDate = _this$getProps.minDate,maxDate = _this$getProps.maxDate;if (prevProps.value !== value || prevProps.minDate !== minDate || prevProps.maxDate !== maxDate || this.iDateMediator.isChangedLocale(this.locale)) {this.updateFromProps(false);}!this.props.disabled && this.selectNode();};_proto.componentDidMount = function componentDidMount() {this.updateFromProps(false);if (this.props.autoFocus) {this.focus();}};_proto.blur = function blur() {if (this.inputLikeText) {this.inputLikeText.blur();}};_proto.focus = function focus() {if (this.inputLikeText) {this.inputLikeText.focus();}};_proto.blink = function blink() {if (this.inputLikeText) {this.inputLikeText.blink();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx2;var _this$state2 = this.state,focused = _this$state2.focused,selected = _this$state2.selected,inputMode = _this$state2.inputMode,valueFormatted = _this$state2.valueFormatted;var showValue = Boolean(focused || valueFormatted);var _this$getProps2 = this.getProps(),width = _this$getProps2.width,size = _this$getProps2.size;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_FocusControlWrapper.FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus }, /*#__PURE__*/_react.default.createElement(_InputLikeText.InputLikeText, { id: this.props.id, width: width, ref: this.inputLikeTextRef, size: size, disabled: this.props.disabled, error: this.props.error, warning: this.props.warning, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.props.onClick, onKeyDown: this.handleKeyDown, onMouseDownCapture: this.handleMouseDownCapture, onPaste: this.handlePaste, rightIcon: this.renderIcon(), onDoubleClickCapture: this.handleDoubleClick, onMouseDragStart: this.handleMouseDragStart, onMouseDragEnd: this.handleMouseDragEnd, value: this.iDateMediator.getInternalString(), inputMode: 'numeric', takeContentWidth: true, "aria-describedby": this.props['aria-describedby'], "aria-label": this.props['aria-label'], "aria-labelledby": this.props['aria-labelledby'] }, /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_DateInput2.styles.value(), (_cx2 = {}, _cx2[_DateInput2.styles.valueVisible()] = showValue, _cx2)) }, /*#__PURE__*/_react.default.createElement(_DateFragmentsView.DateFragmentsView, { ref: this.dateFragmentsViewRef, fragments: this.iDateMediator.getFragments(), onSelectDateComponent: this.handleSelectDateComponent, selected: selected, inputMode: inputMode })))));};return DateInput;}(_react.default.Component), _DateInput.__KONTUR_REACT_UI__ = 'DateInput', _DateInput.displayName = 'DateInput', _DateInput.defaultProps = { value: '', minDate: _constants.MIN_FULLDATE, maxDate: _constants.MAX_FULLDATE, size: 'small', width: 125 }, _DateInput)) || _class) || _class);
514
+ };_this.state = { valueFormatted: '', selected: null, inputMode: false, focused: false, dragged: false };return _this;}(0, _inheritsLoose2.default)(DateInput, _React$Component);var _proto = DateInput.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),value = _this$getProps.value,minDate = _this$getProps.minDate,maxDate = _this$getProps.maxDate;if (prevProps.value !== value || prevProps.minDate !== minDate || prevProps.maxDate !== maxDate || this.iDateMediator.isChangedLocale(this.locale)) {this.updateFromProps(false);}!this.props.disabled && this.selectNode();};_proto.componentDidMount = function componentDidMount() {this.updateFromProps(false);if (this.props.autoFocus) {this.focus();}};_proto.blur = function blur() {if (this.inputLikeText) {this.inputLikeText.blur();}};_proto.focus = function focus() {if (this.inputLikeText) {this.inputLikeText.focus();}};_proto.blink = function blink() {if (this.inputLikeText) {this.inputLikeText.blink();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});});};_proto.renderMain = function renderMain() {var _cx2;var _this$state2 = this.state,focused = _this$state2.focused,selected = _this$state2.selected,inputMode = _this$state2.inputMode,valueFormatted = _this$state2.valueFormatted;var showValue = Boolean(focused || valueFormatted);var _this$getProps2 = this.getProps(),width = _this$getProps2.width,size = _this$getProps2.size;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_FocusControlWrapper.FocusControlWrapper, { onBlurWhenDisabled: this.resetFocus }, /*#__PURE__*/_react.default.createElement(_InputLikeText.InputLikeText, { id: this.props.id, width: width, ref: this.inputLikeTextRef, size: size, disabled: this.props.disabled, error: this.props.error, warning: this.props.warning, onBlur: this.handleBlur, onFocus: this.handleFocus, onClick: this.props.onClick, onKeyDown: this.handleKeyDown, onMouseDownCapture: this.handleMouseDownCapture, onPaste: this.handlePaste, rightIcon: this.renderIcon(), onDoubleClickCapture: this.handleDoubleClick, onMouseDragStart: this.handleMouseDragStart, onMouseDragEnd: this.handleMouseDragEnd, value: this.iDateMediator.getInternalString(), inputMode: 'numeric', takeContentWidth: true, "aria-describedby": this.props['aria-describedby'], "aria-label": this.props['aria-label'], "aria-labelledby": this.props['aria-labelledby'] }, /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_DateInput2.styles.value(), (_cx2 = {}, _cx2[_DateInput2.styles.valueVisible()] = showValue, _cx2)) }, /*#__PURE__*/_react.default.createElement(_DateFragmentsView.DateFragmentsView, { ref: this.dateFragmentsViewRef, fragments: this.iDateMediator.getFragments(), onSelectDateComponent: this.handleSelectDateComponent, selected: selected, inputMode: inputMode })))));};return DateInput;}(_react.default.Component), _DateInput.__KONTUR_REACT_UI__ = 'DateInput', _DateInput.displayName = 'DateInput', _DateInput.defaultProps = { value: '', minDate: _constants.MIN_FULLDATE, maxDate: _constants.MAX_FULLDATE, size: 'small', width: 125 }, _DateInput)) || _class) || _class);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_ConditionalHandler","_constants","_types","_locale","_InputLikeText","_decorators","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_FocusControlWrapper","_CalendarIcon","_DateFragmentsView","_DateInput2","_DateInputKeyboardActions","_InternalDateMediator","_dec","_class","_DateInput","DateInputDataTids","exports","icon","DateInput","locale","DatePickerLocaleHelper","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","iDateMediator","InternalDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","ConditionalHandler","add","Actions","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","InternalDateComponentType","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","default","createElement","CalendarIcon","iconStyles","cx","styles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","globalObject","getSelection","toString","length","LENGTH_FULLDATE","handleKeyDown","extractAction","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends2","emitChange","React","version","search","ReactDOM","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","_inheritsLoose2","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","ThemeContext","Consumer","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","CommonWrapper","rootNodeRef","setRootNode","FocusControlWrapper","onBlurWhenDisabled","InputLikeText","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","DateFragmentsView","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName","MIN_FULLDATE","MAX_FULLDATE"],"sources":["DateInput.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { DatePickerLocale } from '../DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_featureFlagsContext","_ConditionalHandler","_constants","_types","_locale","_InputLikeText","_decorators","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_FocusControlWrapper","_CalendarIcon","_DateFragmentsView","_DateInput2","_DateInputKeyboardActions","_InternalDateMediator","_dec","_class","_DateInput","DateInputDataTids","exports","icon","DateInput","locale","DatePickerLocaleHelper","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","iDateMediator","InternalDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","ConditionalHandler","add","Actions","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","InternalDateComponentType","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","default","createElement","CalendarIcon","iconStyles","cx","styles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","globalObject","getSelection","toString","length","LENGTH_FULLDATE","handleKeyDown","extractAction","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends2","emitChange","React","version","search","ReactDOM","flushSync","updateFromProps","value","get","onValueChange","getInternalString","setTimeout","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","featureFlags","dateInputAllowInvalidValuesInDays","dateInputFixSameNumberTypingOnRefocus","_inheritsLoose2","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","ReactUIFeatureFlagsContext","Consumer","flags","getFullReactUIFlagsContext","ThemeContext","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","CommonWrapper","rootNodeRef","setRootNode","FocusControlWrapper","onBlurWhenDisabled","InputLikeText","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","DateFragmentsView","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName","MIN_FULLDATE","MAX_FULLDATE"],"sources":["DateInput.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';\nimport { getFullReactUIFlagsContext, ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext';\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { DatePickerLocale } from '../DatePicker/locale';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Устанавливает значение датаинпута. */\n value?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает минимальную возможную дату в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Задает максимальную возможную дату в формате `dd.mm.yyyy` */\n maxDate?: string;\n\n /** Задает ширину поля. */\n width?: string | number;\n\n /** Добавляет иконку календаря. */\n withIcon?: boolean;\n\n /** Задает размер поля. */\n size?: SizeProp;\n\n /** Задает функцию, которая вызывается при потере датаинпутом фокуса. */\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при клике на датаинпут. */\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при получении датаинпутом фокуса. */\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при изменении value.\n * @param value - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (value: string) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n/**\n * Компонент поля `DateInput` из DatePicker'а помогает выбирать дату с клавиатуры.\n */\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n private featureFlags!: ReactUIFeatureFlags;\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n aria-describedby={this.props['aria-describedby']}\n aria-label={this.props['aria-label']}\n aria-labelledby={this.props['aria-labelledby']}\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n if (this.props.onValueChange) {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value !== value) {\n this.props.onValueChange(value);\n }\n }\n\n // `this.blurEvent` is always null in `flushSync` without `setTimeout` due to sync update\n setTimeout(() => {\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n });\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n\n const { inputMode, changed } = this.iDateMediator.inputKey(\n event.key,\n selected,\n this.state.inputMode,\n this.featureFlags.dateInputAllowInvalidValuesInDays,\n );\n\n if (!this.featureFlags.dateInputFixSameNumberTypingOnRefocus) {\n if (!changed) {\n this.blink();\n return;\n }\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;;;AAGA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;;;AAGA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;;AAEA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;;AAEA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,kBAAA,GAAAd,OAAA;;AAEA,IAAAe,oBAAA,GAAAf,OAAA;;AAEA,IAAAgB,aAAA,GAAAhB,OAAA;AACA,IAAAiB,kBAAA,GAAAjB,OAAA;AACA,IAAAkB,WAAA,GAAAlB,OAAA;AACA,IAAAmB,yBAAA,GAAAnB,OAAA;AACA,IAAAoB,qBAAA,GAAApB,OAAA,mCAAsE,IAAAqB,IAAA,EAAAC,MAAA,EAAAC,UAAA;;;;;;;;;;AAU/D,IAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC/BE,IAAI,EAAE;AACR,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDV;AACA;AACA,GAFA;;;AAKaC,SAAS,GAAAF,OAAA,CAAAE,SAAA,IAAAN,IAAA,GADrB,IAAAO,kBAAM,EAAC,YAAY,EAAEC,8BAAsB,CAAC,MAD5CC,kBAAQ,EAAAR,MAAA,GAAAD,IAAA,CAAAC,MAAA,IAAAC,UAAA,0BAAAQ,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CP,SAAAJ,UAAYK,KAAqB,EAAE,KAAAC,KAAA;IACjCA,KAAA,GAAAF,gBAAA,CAAAG,IAAA,OAAMF,KAAK,CAAC,SAACC,KAAA,CA9BPE,QAAQ,GAAG,IAAAC,oCAAiB,EAACT,SAAS,CAACU,YAAY,CAAC,CAAAJ,KAAA,CAEpDK,aAAa,GAAyB,IAAIC,0CAAoB,CAAC,CAAC,CAAAN,KAAA,CAChEO,aAAa,GAAyB,IAAI,CAAAP,KAAA,CAC1CQ,iBAAiB,GAA6B,IAAI,CAAAR,KAAA,CAClDS,WAAW,GAAG,KAAK,CAAAT,KAAA,CACnBU,YAAY,GAAG,KAAK,CAAAV,KAAA,CACpBW,iBAAiB,GAAG,KAAK,CAAAX,KAAA,CAEzBY,SAAS,GAAyC,IAAI,CAAAZ,KAAA,CAGtDa,kBAAkB,GAAG,IAAIC,sCAAkB,CAA8C,CAAC,CAC/FC,GAAG,CAACC,iCAAO,CAACC,iBAAiB,EAAE,oBAAMjB,KAAA,CAAKkB,cAAc,CAAC,CAAC,CAAC,CAAC,GAAC,CAC7DH,GAAG,CAACC,iCAAO,CAACG,kBAAkB,EAAE,oBAAMnB,KAAA,CAAKkB,cAAc,CAAC,CAAC,CAAC,GAAC,CAC7DH,GAAG,CAACC,iCAAO,CAACI,SAAS,EAAE,oBAAMpB,KAAA,CAAKqB,cAAc,CAAC,CAAC,GAAC,CACnDN,GAAG,CAACC,iCAAO,CAACM,kBAAkB,EAAE,oBAAMtB,KAAA,CAAKuB,mBAAmB,CAACvB,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC,CAAC,CAAC,GAAC,CACrGT,GAAG,CAACC,iCAAO,CAACS,iBAAiB,EAAE,oBAAMzB,KAAA,CAAKuB,mBAAmB,CAACvB,KAAA,CAAKK,aAAa,CAACqB,gBAAgB,CAAC,CAAC,CAAC,GAAC,CACrGX,GAAG,CAACC,iCAAO,CAACW,SAAS,EAAE,oBAAM3B,KAAA,CAAK4B,kBAAkB,CAAC,CAAC,CAAC,GAAC,CACxDb,GAAG,CAACC,iCAAO,CAACa,SAAS,EAAE,oBAAM7B,KAAA,CAAK4B,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAC,CACzDb,GAAG,CAACC,iCAAO,CAACc,KAAK,EAAE,UAACC,CAAC,UAAK/B,KAAA,CAAKgC,UAAU,CAACD,CAAC,CAAC,GAAC,CAC7ChB,GAAG,CAACC,iCAAO,CAACiB,cAAc,EAAE,oBAAMjC,KAAA,CAAKkC,aAAa,CAAC,CAAC,GAAC,CACvDnB,GAAG,CAACC,iCAAO,CAACmB,YAAY,EAAE,oBAAMnC,KAAA,CAAKoC,YAAY,CAAC,CAAC,GAAC,CACpDrB,GAAG,CAACC,iCAAO,CAACqB,aAAa,EAAE,oBAAMrC,KAAA,CAAKsC,aAAa,CAAC,CAAC,GAAC,CACtDvB,GAAG,CAACC,iCAAO,CAACuB,UAAU,EAAE,oBAAMvC,KAAA,CAAKwC,KAAK,CAAC,CAAC,GAAC,CAC3CC,KAAK,CAAC,CAAC,CAAAzC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;IA6BH0C,UAAU,GAAG,YAAM;MACxB,IAAMC,IAAI,GAAG3C,KAAA,CAAK4C,KAAK,CAACC,QAAQ;MAChC,IAAMrC,iBAAiB,GAAGR,KAAA,CAAKQ,iBAAiB,IAAIR,KAAA,CAAKQ,iBAAiB,CAACsC,WAAW,CAAC,CAAC;MACxF,IAAIH,IAAI,KAAK,IAAI,IAAI,CAAC3C,KAAA,CAAKO,aAAa,IAAI,CAACC,iBAAiB,EAAE;QAC9D;MACF;MACA,IAAImC,IAAI,KAAKI,gCAAyB,CAACC,GAAG,EAAE;QAC1ChD,KAAA,CAAKO,aAAa,CAAC0C,eAAe,CAACzC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D;MACF;MACA,IAAM0C,KAAK,GAAGlD,KAAA,CAAKK,aAAa,CAAC8C,aAAa,CAAC,CAAC,CAACC,OAAO,CAACT,IAAI,CAAC;MAC9D,IAAIO,KAAK,GAAG,CAAC,CAAC,EAAE;QACdlD,KAAA,CAAKO,aAAa,CAAC0C,eAAe,CAACzC,iBAAiB,EAAE0C,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;MACjF;IACF,CAAC,CAAAlD,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6FOqD,UAAU,GAAG,YAAM;MACzB,IAAAC,WAAA,GAAuCtD,KAAA,CAAKD,KAAK,CAAzCwD,QAAQ,GAAAD,WAAA,CAARC,QAAQ,CAAAC,oBAAA,GAAAF,WAAA,CAAEG,QAAQ,CAARA,QAAQ,GAAAD,oBAAA,cAAG,KAAK,GAAAA,oBAAA;MAClC,IAAME,IAAI,GAAG1D,KAAA,CAAKE,QAAQ,CAAC,CAAC,CAACwD,IAAI;;MAEjC,IAAIH,QAAQ,EAAE,KAAAI,GAAA;QACZ,IAAMC,KAAK,GAAG5D,KAAA,CAAK4D,KAAK;QACxB,IAAMnE,IAAI,gBAAG5B,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAAC/E,aAAA,CAAAgF,YAAY,IAACL,IAAI,EAAEA,IAAK,EAAE,CAAC;QACzC,IAAMM,UAAU,GAAG,IAAAC,WAAE,GAAAN,GAAA,OAAAA,GAAA;QAClBO,kBAAM,CAACzE,IAAI,CAACmE,KAAK,CAAC,IAAG,IAAI,EAAAD,GAAA;QACzBO,kBAAM,CAACC,SAAS,CAACP,KAAK,CAAC,IAAGF,IAAI,KAAK,OAAO,EAAAC,GAAA;QAC1CO,kBAAM,CAACE,UAAU,CAACR,KAAK,CAAC,IAAGF,IAAI,KAAK,QAAQ,EAAAC,GAAA;QAC5CO,kBAAM,CAACG,SAAS,CAACT,KAAK,CAAC,IAAGF,IAAI,KAAK,OAAO,EAAAC,GAAA;QAC1CO,kBAAM,CAACI,YAAY,CAACV,KAAK,CAAC,IAAGH,QAAQ,EAAAE,GAAA;QACvC,CAAC;QACF;UACE9F,MAAA,CAAAgG,OAAA,CAAAC,aAAA,WAAMS,SAAS,EAAEP,UAAW,EAAC,YAAUzE,iBAAiB,CAACE,IAAK;UAC3DA;UACG,CAAC;;MAEX;MACA,OAAO,IAAI;IACb,CAAC,CAAAO,KAAA;;IAEOwE,WAAW,GAAG,UAACzC,CAAgC,EAAK;MAC1D/B,KAAA,CAAKyE,QAAQ,CAAC,UAACC,SAAS,UAAM;UAC5BC,OAAO,EAAE,IAAI;UACb9B,QAAQ,EAAE7C,KAAA,CAAKS,WAAW,IAAI,CAACiE,SAAS,CAACC,OAAO,GAAGD,SAAS,CAAC7B,QAAQ,GAAG7C,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC;QAC7G,CAAC,EAAC,CAAC;;MAEH,IAAIxB,KAAA,CAAKD,KAAK,CAAC6E,OAAO,EAAE;QACtB5E,KAAA,CAAKD,KAAK,CAAC6E,OAAO,CAAC7C,CAAC,CAAC;MACvB;IACF,CAAC,CAAA/B,KAAA;;IAEO6E,UAAU,GAAG,oBAAM7E,KAAA,CAAK8E,WAAW,CAAC,EAAEH,OAAO,EAAE,KAAK,EAAE9B,QAAQ,EAAE,IAAI,EAAEkC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAA/E,KAAA;;IAEzFgF,UAAU,GAAG,UAACjD,CAAgC,EAAK;MACzD/B,KAAA,CAAK6E,UAAU,CAAC,CAAC;;MAEjB,IAAI7E,KAAA,CAAKD,KAAK,CAACkF,MAAM,EAAE;QACrB,IAAMC,QAAQ,GAAGlF,KAAA,CAAKK,aAAa,CAAC8E,OAAO,CAAC,CAAC;QAC7C,IAAID,QAAQ,EAAE;UACZnD,CAAC,CAACqD,OAAO,CAAC,CAAC;UACXpF,KAAA,CAAKY,SAAS,GAAGmB,CAAC;QACpB,CAAC,MAAM;UACL/B,KAAA,CAAKD,KAAK,CAACkF,MAAM,CAAClD,CAAC,CAAC;QACtB;MACF;IACF,CAAC,CAAA/B,KAAA;;IAEOqF,sBAAsB,GAAG,UAACtD,CAAoC,EAAK;MACzE,IAAMuD,UAAU,GAAGtF,KAAA,CAAKQ,iBAAiB,GAAGR,KAAA,CAAKQ,iBAAiB,CAAC8E,UAAU,CAACvD,CAAC,CAACwD,MAAM,CAAC,GAAG,KAAK;MAC/F,IAAIvF,KAAA,CAAK4C,KAAK,CAAC+B,OAAO,IAAI,CAACW,UAAU,EAAE;QACrCvD,CAAC,CAACyD,cAAc,CAAC,CAAC;MACpB;MACAxF,KAAA,CAAKU,YAAY,GAAG,CAACV,KAAA,CAAK4C,KAAK,CAAC+B,OAAO;MACvC3E,KAAA,CAAKS,WAAW,GAAG6E,UAAU;IAC/B,CAAC,CAAAtF,KAAA;;IAEOyF,yBAAyB,GAAG,UAAC9C,IAA+B,EAAK;MACvE,IAAI,EAAE3C,KAAA,CAAKU,YAAY,IAAIV,KAAA,CAAKK,aAAa,CAACqF,OAAO,CAAC,CAAC,CAAC,EAAE;QACxD1F,KAAA,CAAKuB,mBAAmB,CAACoB,IAAI,CAAC;MAChC;MACA3C,KAAA,CAAKU,YAAY,GAAG,KAAK;MACzBV,KAAA,CAAKS,WAAW,GAAG,KAAK;IAC1B,CAAC,CAAAT,KAAA;;IAEO2F,oBAAoB,GAAG,YAAM;MACnC3F,KAAA,CAAKyE,QAAQ,CAAC,EAAEmB,OAAO,EAAE,IAAI,EAAE/C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC,CAAA7C,KAAA;;IAEO6F,kBAAkB,GAAG,YAAM;MACjC,IAAMC,SAAS,GAAGC,0BAAY,CAACC,YAAY,oBAAzBD,0BAAY,CAACC,YAAY,CAAG,CAAC;MAC/C;MACEF,SAAS;MACTA,SAAS,CAACG,QAAQ,CAAC,CAAC,CAACC,MAAM,KAAKC,0BAAe;MAC/CnG,KAAA,CAAK4C,KAAK,CAACC,QAAQ,KAAKE,gCAAyB,CAACC,GAAG;MACrD;QACAhD,KAAA,CAAKuB,mBAAmB,CAACwB,gCAAyB,CAACC,GAAG,CAAC;MACzD;IACF,CAAC,CAAAhD,KAAA;;IAEOoG,aAAa,GAAG,UAACrE,CAAmC,EAAK;MAC/D,IAAI/B,KAAA,CAAKa,kBAAkB,CAAC,IAAAwF,uCAAa,EAACtE,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE;QAChDA,CAAC,CAACyD,cAAc,CAAC,CAAC;MACpB;MACA,IAAIxF,KAAA,CAAKD,KAAK,CAACuG,SAAS,EAAE;QACxBtG,KAAA,CAAKD,KAAK,CAACuG,SAAS,CAACvE,CAAC,CAAC;MACzB;IACF,CAAC,CAAA/B,KAAA;;IAEOuG,WAAW,GAAG,UAACxE,CAAoC,EAAK;MAC9D,IAAMyE,MAAM,GAAGzE,CAAC,IAAIA,CAAC,CAAC0E,aAAa,CAACC,OAAO,CAAC,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC;MAC1D,IAAIH,MAAM,IAAIxG,KAAA,CAAKK,aAAa,CAACuG,cAAc,CAACJ,MAAM,CAAC,EAAE;QACvDxG,KAAA,CAAKK,aAAa,CAACwG,KAAK,CAACL,MAAM,CAAC;QAChCxG,KAAA,CAAK8E,WAAW,CAAC,CAAC;MACpB;IACF,CAAC,CAAA9E,KAAA;;IAEO8G,iBAAiB,GAAG,YAAM;MAChC9G,KAAA,CAAKuB,mBAAmB,CAACwB,gCAAyB,CAACC,GAAG,CAAC;IACzD,CAAC,CAAAhD,KAAA;;IAEO+G,gBAAgB,GAAG,UAACC,EAAwB,EAAK;MACvDhH,KAAA,CAAKO,aAAa,GAAGyG,EAAE;IACzB,CAAC,CAAAhH,KAAA;;IAEOiH,oBAAoB,GAAG,UAACD,EAA4B,EAAK;MAC/DhH,KAAA,CAAKQ,iBAAiB,GAAGwG,EAAE;IAC7B,CAAC,CAAAhH,KAAA;;IAEOuB,mBAAmB,GAAG,UAACsB,QAA0C,EAAW;MAClF7C,KAAA,CAAKyE,QAAQ,CAAC,EAAE5B,QAAQ,EAARA,QAAQ,EAAEkC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAA/E,KAAA;;IAEO8E,WAAW,GAAG,UAAClC,KAA8B,EAAOsE,IAAI,EAAkB,KAA3DtE,KAA8B,cAA9BA,KAA8B,GAAG,CAAC,CAAC,MAAEsE,IAAI,cAAJA,IAAI,GAAG,IAAI;MACrE,IAAMC,cAAc,GAAGnH,KAAA,CAAKK,aAAa,CAAC+G,SAAS,CAAC,CAAC;;MAErD,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA,UAASrH,KAAA,CAAKyE,QAAQ,KAAA6C,SAAA,CAAAzD,OAAA,MAAMjB,KAAK,IAAEuE,cAAc,EAAdA,cAAc,KAAsBnH,KAAA,CAAKuH,UAAU,CAAC;;MAEnG,IAAIL,IAAI,IAAIM,cAAK,CAACC,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC5CC,iBAAQ,CAACC,SAAS,CAACP,MAAM,CAAC;MAC5B,CAAC,MAAM;QACLA,MAAM,CAAC,CAAC;MACV;IACF,CAAC,CAAArH,KAAA;;IAEO6H,eAAe,GAAG,UAACX,IAAa,EAAW;MACjDlH,KAAA,CAAKK,aAAa,CAACgH,MAAM,CAACrH,KAAA,CAAKD,KAAK,EAAEC,KAAA,CAAKL,MAAM,CAAC;;MAElDK,KAAA,CAAK8E,WAAW,CAAC,CAAC,CAAC,EAAEoC,IAAI,CAAC;IAC5B,CAAC,CAAAlH,KAAA;;IAEOsC,aAAa,GAAG,YAAY;MAClCtC,KAAA,CAAKuB,mBAAmB,CAACwB,gCAAyB,CAACC,GAAG,CAAC;IACzD,CAAC,CAAAhD,KAAA;;IAEOqB,cAAc,GAAG,YAAY;MACnC,IAAMyG,KAAK,GAAG9H,KAAA,CAAKK,aAAa,CAAC0H,GAAG,CAAC/H,KAAA,CAAK4C,KAAK,CAACC,QAAQ,CAAC;MACzD,IAAIiF,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC9H,KAAA,CAAKW,iBAAiB,EAAE;UAC3BX,KAAA,CAAKkB,cAAc,CAAC,CAAC,CAAC;QACxB;QACAlB,KAAA,CAAKW,iBAAiB,GAAG,KAAK;MAChC;IACF,CAAC,CAAAX,KAAA;;IAEOuH,UAAU,GAAG,YAAY;MAC/B,IAAIvH,KAAA,CAAKD,KAAK,CAACiI,aAAa,EAAE;QAC5B,IAAMF,KAAK,GAAG9H,KAAA,CAAKK,aAAa,CAAC4H,iBAAiB,CAAC,CAAC;QACpD,IAAIjI,KAAA,CAAKD,KAAK,CAAC+H,KAAK,KAAKA,KAAK,EAAE;UAC9B9H,KAAA,CAAKD,KAAK,CAACiI,aAAa,CAACF,KAAK,CAAC;QACjC;MACF;;MAEA;MACAI,UAAU,CAAC,YAAM;QACf,IAAIlI,KAAA,CAAKY,SAAS,IAAIZ,KAAA,CAAKD,KAAK,CAACkF,MAAM,EAAE;UACvCjF,KAAA,CAAKD,KAAK,CAACkF,MAAM,CAACjF,KAAA,CAAKY,SAAS,CAAC;UACjCZ,KAAA,CAAKY,SAAS,GAAG,IAAI;QACvB;MACF,CAAC,CAAC;IACJ,CAAC,CAAAZ,KAAA;;IAEOkC,aAAa,GAAG,YAAY;MAClC,IAAMW,QAAQ,GAAG7C,KAAA,CAAK4C,KAAK,CAACC,QAAQ,KAAK,IAAI,GAAG7C,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC,CAAC,GAAGxB,KAAA,CAAK4C,KAAK,CAACC,QAAQ;MAC1G7C,KAAA,CAAKK,aAAa,CAAC8H,KAAK,CAACtF,QAAQ,CAAC;MAClC7C,KAAA,CAAK8E,WAAW,CAAC;QACfC,SAAS,EAAE,KAAK;QAChBlC,QAAQ,EAAEA,QAAQ,KAAKE,gCAAyB,CAACC,GAAG,GAAGhD,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC,CAAC,GAAGqB;MAChG,CAAC,CAAC;IACJ,CAAC,CAAA7C,KAAA;;IAEOoC,YAAY,GAAG,YAAY;MACjC,IAAAgG,WAAA,GAAgCpI,KAAA,CAAK4C,KAAK,CAAlCC,QAAQ,GAAAuF,WAAA,CAARvF,QAAQ,CAAEkC,SAAS,GAAAqD,WAAA,CAATrD,SAAS;MAC3B,IAAMsD,QAAQ,GAAGxF,QAAQ,KAAK,IAAI,GAAG7C,KAAA,CAAKK,aAAa,CAACqB,gBAAgB,CAAC,CAAC,GAAGmB,QAAQ;MACrF,IAAI7C,KAAA,CAAKK,aAAa,CAACiI,MAAM,CAACD,QAAQ,CAAC,EAAE;QACvCrI,KAAA,CAAKkB,cAAc,CAAC,CAAC,CAAC,CAAC;QACvB;MACF;MACA,IAAI2B,QAAQ,KAAKE,gCAAyB,CAACC,GAAG,EAAE;QAC9ChD,KAAA,CAAKK,aAAa,CAAC8H,KAAK,CAACpF,gCAAyB,CAACC,GAAG,CAAC;QACvDhD,KAAA,CAAK8E,WAAW,CAAC,EAAEjC,QAAQ,EAAE7C,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE;MACF;MACAxB,KAAA,CAAKK,aAAa,CAACkI,kBAAkB,CAACF,QAAQ,EAAEtD,SAAS,CAAC;MAC1D/E,KAAA,CAAK8E,WAAW,CAAC;QACfC,SAAS,EAAE/E,KAAA,CAAKK,aAAa,CAAC0H,GAAG,CAACM,QAAQ,CAAC,KAAK,IAAI;QACpDxF,QAAQ,EAAEwF;MACZ,CAAC,CAAC;IACJ,CAAC,CAAArI,KAAA;;IAEO4B,kBAAkB,GAAG,UAAC4G,IAAY,EAAW;MACnD,IAAQ3F,QAAQ,GAAK7C,KAAA,CAAK4C,KAAK,CAAvBC,QAAQ;MAChB,IAAM4F,OAAO,GAAGzI,KAAA,CAAKK,aAAa,CAACuB,kBAAkB,CAACiB,QAAQ,EAAE2F,IAAI,CAAC;MACrE,IAAI,CAACC,OAAO,EAAE;QACZzI,KAAA,CAAKwC,KAAK,CAAC,CAAC;QACZ;MACF;MACAxC,KAAA,CAAK8E,WAAW,CAAC;QACfC,SAAS,EAAE,KAAK;QAChBlC,QAAQ,EAAEA,QAAQ,KAAKE,gCAAyB,CAACC,GAAG,GAAGhD,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC,CAAC,GAAGqB;MAChG,CAAC,CAAC;IACJ,CAAC,CAAA7C,KAAA;;IAEOkB,cAAc,GAAG,UAACsH,IAAY,EAAW;MAC/C,IAAM3F,QAAQ,GAAG7C,KAAA,CAAKK,aAAa,CAACqI,cAAc,CAAC1I,KAAA,CAAK4C,KAAK,CAACC,QAAQ,EAAE2F,IAAI,CAAC;MAC7E,IAAI3F,QAAQ,KAAK7C,KAAA,CAAK4C,KAAK,CAACC,QAAQ,EAAE;QACpC7C,KAAA,CAAKyE,QAAQ,CAAC,EAAE5B,QAAQ,EAARA,QAAQ,EAAEkC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;MAC/C;IACF,CAAC,CAAA/E,KAAA;;IAEOgC,UAAU,GAAG,UAAC2G,KAAuC,EAAW;MACtE,IAAI9F,QAAQ,GAAG7C,KAAA,CAAK4C,KAAK,CAACC,QAAQ;MAClC,IAAIA,QAAQ,KAAKE,gCAAyB,CAACC,GAAG,EAAE;QAC9CH,QAAQ,GAAG7C,KAAA,CAAKK,aAAa,CAACmB,eAAe,CAAC,CAAC;QAC/CxB,KAAA,CAAKK,aAAa,CAAC8H,KAAK,CAACpF,gCAAyB,CAACC,GAAG,CAAC;QACvDhD,KAAA,CAAKyE,QAAQ,CAAC,EAAE5B,QAAQ,EAARA,QAAQ,CAAC,CAAC,CAAC;MAC7B;;MAEA,IAAA+F,qBAAA,GAA+B5I,KAAA,CAAKK,aAAa,CAACwI,QAAQ;UACxDF,KAAK,CAACG,GAAG;UACTjG,QAAQ;UACR7C,KAAA,CAAK4C,KAAK,CAACmC,SAAS;UACpB/E,KAAA,CAAK+I,YAAY,CAACC;QACpB,CAAC,CALOjE,SAAS,GAAA6D,qBAAA,CAAT7D,SAAS,CAAE0D,OAAO,GAAAG,qBAAA,CAAPH,OAAO;;MAO1B,IAAI,CAACzI,KAAA,CAAK+I,YAAY,CAACE,qCAAqC,EAAE;QAC5D,IAAI,CAACR,OAAO,EAAE;UACZzI,KAAA,CAAKwC,KAAK,CAAC,CAAC;UACZ;QACF;MACF;;MAEA,IAAI,CAACuC,SAAS,EAAE;QACd/E,KAAA,CAAKW,iBAAiB,GAAG,IAAI;QAC7BX,KAAA,CAAKkB,cAAc,CAAC,CAAC,CAAC;MACxB;MACAlB,KAAA,CAAK8E,WAAW,CAAC,EAAEC,SAAS,EAATA,SAAS,CAAC,CAAC,CAAC;IACjC,CAAC,CAhXC/E,KAAA,CAAK4C,KAAK,GAAG,EACXuE,cAAc,EAAE,EAAE,EAClBtE,QAAQ,EAAE,IAAI,EACdkC,SAAS,EAAE,KAAK,EAChBJ,OAAO,EAAE,KAAK,EACdiB,OAAO,EAAE,KAAK,CAChB,CAAC,CAAC,OAAA5F,KAAA,CACJ,CAAC,IAAAkJ,eAAA,CAAArF,OAAA,EAAAnE,SAAA,EAAAI,gBAAA,MAAAqJ,MAAA,GAAAzJ,SAAA,CAAA0J,SAAA,CAAAD,MAAA,CAEME,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAyB,EAAE,CACnD,IAAAC,cAAA,GAAoC,IAAI,CAACrJ,QAAQ,CAAC,CAAC,CAA3C4H,KAAK,GAAAyB,cAAA,CAALzB,KAAK,CAAE0B,OAAO,GAAAD,cAAA,CAAPC,OAAO,CAAEC,OAAO,GAAAF,cAAA,CAAPE,OAAO,CAC/B,IACEH,SAAS,CAACxB,KAAK,KAAKA,KAAK,IACzBwB,SAAS,CAACE,OAAO,KAAKA,OAAO,IAC7BF,SAAS,CAACG,OAAO,KAAKA,OAAO,IAC7B,IAAI,CAACpJ,aAAa,CAACqJ,eAAe,CAAC,IAAI,CAAC/J,MAAM,CAAC,EAC/C,CACA,IAAI,CAACkI,eAAe,CAAC,KAAK,CAAC,CAC7B,CACA,CAAC,IAAI,CAAC9H,KAAK,CAAC0D,QAAQ,IAAI,IAAI,CAACf,UAAU,CAAC,CAAC,CAC3C,CAAC,CAAAyG,MAAA,CAkBMQ,iBAAiB,GAAxB,SAAAA,kBAAA,EAAiC,CAC/B,IAAI,CAAC9B,eAAe,CAAC,KAAK,CAAC,CAC3B,IAAI,IAAI,CAAC9H,KAAK,CAAC6J,SAAS,EAAE,CACxB,IAAI,CAACC,KAAK,CAAC,CAAC,CACd,CACF,CAAC,CAAAV,MAAA,CAEMW,IAAI,GAAX,SAAAA,KAAA,EAAc,CACZ,IAAI,IAAI,CAACvJ,aAAa,EAAE,CACtB,IAAI,CAACA,aAAa,CAACuJ,IAAI,CAAC,CAAC,CAC3B,CACF,CAAC,CAAAX,MAAA,CAEMU,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACtJ,aAAa,EAAE,CACtB,IAAI,CAACA,aAAa,CAACsJ,KAAK,CAAC,CAAC,CAC5B,CACF,CAAC,CAAAV,MAAA,CAEM3G,KAAK,GAAZ,SAAAA,MAAA,EAAe,CACb,IAAI,IAAI,CAACjC,aAAa,EAAE,CACtB,IAAI,CAACA,aAAa,CAACiC,KAAK,CAAC,CAAC,CAC5B,CACF,CAAC,CAAA2G,MAAA,CAEMY,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEnM,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAAC5F,oBAAA,CAAA+L,0BAA0B,CAACC,QAAQ,QACjC,UAACC,KAAK,EAAK,CACVH,MAAI,CAACjB,YAAY,GAAG,IAAAqB,+CAA0B,EAACD,KAAK,CAAC,CACrD,oBACEtM,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAACrF,aAAA,CAAA4L,YAAY,CAACH,QAAQ,QACnB,UAACtG,KAAK,EAAK,CACVoG,MAAI,CAACpG,KAAK,GAAGA,KAAK,CAClB,OAAOoG,MAAI,CAACM,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CACmC,CAAC,CAE1C,CAAC,CAAAnB,MAAA,CAEOmB,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAAC,IAAA,CACnB,IAAAC,YAAA,GAAyD,IAAI,CAAC5H,KAAK,CAA3D+B,OAAO,GAAA6F,YAAA,CAAP7F,OAAO,CAAE9B,QAAQ,GAAA2H,YAAA,CAAR3H,QAAQ,CAAEkC,SAAS,GAAAyF,YAAA,CAATzF,SAAS,CAAEoC,cAAc,GAAAqD,YAAA,CAAdrD,cAAc,CACpD,IAAMsD,SAAS,GAAGC,OAAO,CAAC/F,OAAO,IAAIwC,cAAc,CAAC,CACpD,IAAAwD,eAAA,GAAwB,IAAI,CAACzK,QAAQ,CAAC,CAAC,CAA/B0K,KAAK,GAAAD,eAAA,CAALC,KAAK,CAAElH,IAAI,GAAAiH,eAAA,CAAJjH,IAAI,CAEnB,oBACE7F,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAACpF,cAAA,CAAAmM,aAAa,MAAAvD,SAAA,CAAAzD,OAAA,IAACiH,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAAChL,KAAK,gBAC1DlC,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAAChF,oBAAA,CAAAkM,mBAAmB,IAACC,kBAAkB,EAAE,IAAI,CAACpG,UAAW,iBACvDhH,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAACvF,cAAA,CAAA2M,aAAa,IACZC,EAAE,EAAE,IAAI,CAACpL,KAAK,CAACoL,EAAG,EAClBP,KAAK,EAAEA,KAAM,EACbQ,GAAG,EAAE,IAAI,CAACrE,gBAAiB,EAC3BrD,IAAI,EAAEA,IAAK,EACXD,QAAQ,EAAE,IAAI,CAAC1D,KAAK,CAAC0D,QAAS,EAC9B4H,KAAK,EAAE,IAAI,CAACtL,KAAK,CAACsL,KAAM,EACxBC,OAAO,EAAE,IAAI,CAACvL,KAAK,CAACuL,OAAQ,EAC5BrG,MAAM,EAAE,IAAI,CAACD,UAAW,EACxBJ,OAAO,EAAE,IAAI,CAACJ,WAAY,EAC1B+G,OAAO,EAAE,IAAI,CAACxL,KAAK,CAACwL,OAAQ,EAC5BjF,SAAS,EAAE,IAAI,CAACF,aAAc,EAC9BoF,kBAAkB,EAAE,IAAI,CAACnG,sBAAuB,EAChDoG,OAAO,EAAE,IAAI,CAAClF,WAAY,EAC1BmF,SAAS,EAAE,IAAI,CAACrI,UAAU,CAAC,CAAE,EAC7BsI,oBAAoB,EAAE,IAAI,CAAC7E,iBAAkB,EAC7C8E,gBAAgB,EAAE,IAAI,CAACjG,oBAAqB,EAC5CkG,cAAc,EAAE,IAAI,CAAChG,kBAAmB,EACxCiC,KAAK,EAAE,IAAI,CAACzH,aAAa,CAAC4H,iBAAiB,CAAC,CAAE,EAC9ClD,SAAS,EAAE,SAAU,EACrB+G,gBAAgB,QAChB,oBAAkB,IAAI,CAAC/L,KAAK,CAAC,kBAAkB,CAAE,EACjD,cAAY,IAAI,CAACA,KAAK,CAAC,YAAY,CAAE,EACrC,mBAAiB,IAAI,CAACA,KAAK,CAAC,iBAAiB,CAAE,iBAE/ClC,MAAA,CAAAgG,OAAA,CAAAC,aAAA,WAAMS,SAAS,EAAE,IAAAN,WAAE,EAACC,kBAAM,CAAC4D,KAAK,CAAC,CAAC,GAAAyC,IAAA,OAAAA,IAAA,CAAKrG,kBAAM,CAAC6H,YAAY,CAAC,CAAC,IAAGtB,SAAS,EAAAF,IAAA,CAAE,CAAE,iBAC1E1M,MAAA,CAAAgG,OAAA,CAAAC,aAAA,CAAC9E,kBAAA,CAAAgN,iBAAiB,IAChBZ,GAAG,EAAE,IAAI,CAACnE,oBAAqB,EAC/BgF,SAAS,EAAE,IAAI,CAAC5L,aAAa,CAAC6L,YAAY,CAAC,CAAE,EAC7CC,qBAAqB,EAAE,IAAI,CAAC1G,yBAA0B,EACtD5C,QAAQ,EAAEA,QAAS,EACnBkC,SAAS,EAAEA,SAAU,EACtB,CACG,CACO,CACI,CACR,CAAC,CAEpB,CAAC,QAAArF,SAAA,GA3K4B8H,cAAK,CAAC4E,SAAS,GAAA9M,UAAA,CAC9B+M,mBAAmB,GAAG,WAAW,EAAA/M,UAAA,CACjCgN,WAAW,GAAG,WAAW,EAAAhN,UAAA,CAEzBc,YAAY,GAAiB,EACzC0H,KAAK,EAAE,EAAE,EACT0B,OAAO,EAAE+C,uBAAY,EACrB9C,OAAO,EAAE+C,uBAAY,EACrB9I,IAAI,EAAE,OAAO,EACbkH,KAAK,EAAE,GAAG,CACZ,CAAC,EAAAtL,UAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
@@ -6,7 +6,7 @@ import type { DateInputProps } from '../DateInput';
6
6
  export declare class InternalDateMediator {
7
7
  iDate: InternalDate;
8
8
  update: (props: DateInputProps, locale: DatePickerLocale) => InternalDateMediator;
9
- inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): InputKeyResult;
9
+ inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean, dateInputAllowInvalidValuesInDays?: boolean): InputKeyResult;
10
10
  paste: (pasted: string) => InternalDateMediator;
11
11
  restore: () => boolean;
12
12
  shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean;
@@ -56,6 +56,15 @@ InternalDateMediator = exports.InternalDateMediator = /*#__PURE__*/function () {
56
56
 
57
57
 
58
58
 
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
59
68
 
60
69
 
61
70
 
@@ -161,7 +170,7 @@ InternalDateMediator = exports.InternalDateMediator = /*#__PURE__*/function () {
161
170
 
162
171
  getLeftmostType = function () {return _this.getTypesOrder()[0];};this.
163
172
 
164
- getRightmostType = function () {return _this.getTypesOrder()[2];};}var _proto = InternalDateMediator.prototype;_proto.inputKey = function inputKey(key, type, inputMode) {var prevValue = this.iDate.get(type);if (type === null) {var leftMostType = this.getLeftmostType();this.clear(leftMostType);}if (type !== _types.InternalDateComponentType.Year) {this.iDate.cutOffExcess(type);} else {this.iDate.restore(type);}var maxValue = _InternalDateGetter.InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber());var _inputNumber = (0, _inputNumber2.inputNumber)(type, prevValue, key, inputMode, maxValue),nextValue = _inputNumber.nextValue,nextInputMode = _inputNumber.nextInputMode;this.iDate.set(type, nextValue);return { inputMode: nextInputMode, changed: nextValue !== prevValue };};_proto.shiftDateComponent = function shiftDateComponent(type, step) {var calculatedType = type != null ? type : this.getLeftmostType();var iDate = this.iDate.clone();var start = iDate.getRangeStart();var end = iDate.getRangeEnd();var isValidRange = iDate.validate({ checks: [_types.InternalDateValidateCheck.Range] });if (!isValidRange) {// Удерживаем дату в заданном диапазоне
173
+ getRightmostType = function () {return _this.getTypesOrder()[2];};}var _proto = InternalDateMediator.prototype;_proto.inputKey = function inputKey(key, type, inputMode, dateInputAllowInvalidValuesInDays) {var prevValue = this.iDate.get(type);if (type === null) {var leftMostType = this.getLeftmostType();this.clear(leftMostType);}if (type !== _types.InternalDateComponentType.Year) {this.iDate.cutOffExcess(type);} else {this.iDate.restore(type);}var maxValue = _InternalDateGetter.InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber(), dateInputAllowInvalidValuesInDays);var _inputNumber = (0, _inputNumber2.inputNumber)(type, prevValue, key, inputMode, maxValue),nextValue = _inputNumber.nextValue,nextInputMode = _inputNumber.nextInputMode;this.iDate.set(type, nextValue);return { inputMode: nextInputMode, changed: nextValue !== prevValue };};_proto.shiftDateComponent = function shiftDateComponent(type, step) {var calculatedType = type != null ? type : this.getLeftmostType();var iDate = this.iDate.clone();var start = iDate.getRangeStart();var end = iDate.getRangeEnd();var isValidRange = iDate.validate({ checks: [_types.InternalDateValidateCheck.Range] });if (!isValidRange) {// Удерживаем дату в заданном диапазоне
165
174
  if (start && _InternalDateGetter.InternalDateGetter.max([iDate, start]) === start) {iDate.duplicateOf(start);} else if (end && _InternalDateGetter.InternalDateGetter.min([iDate, end]) === end) {iDate.duplicateOf(end);}} else {var clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true, isCutFeb: true });if (clone.validate({ checks: [_types.InternalDateValidateCheck.Range] })) {iDate.duplicateOf(clone);}}var changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);this.iDate = iDate;return changed;};_proto.getShiftedType = function getShiftedType(type, step) {var typesOrder = this.getTypesOrder();var index = type === null ? 0 : typesOrder.indexOf(type);var nextIndex = index + step; // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент
166
175
  if (type === _types.InternalDateComponentType.All) {return step < 0 ? typesOrder[0] : typesOrder[2];} // Если текущий компонент "год", и он не пуст, то при перемещении выделения "восстанавливаем" значение года
167
176
  if (type === _types.InternalDateComponentType.Year && this.iDate.getYear() !== null) {this.iDate.restore(type);}var shiftedType = typesOrder[nextIndex];return typeof shiftedType === 'number' ? shiftedType : type;};return InternalDateMediator;}();
@@ -1 +1 @@
1
- {"version":3,"names":["_InternalDate","require","_InternalDateGetter","_InternalDateTransformer","_types","_inputNumber2","InternalDateMediator","exports","_this","iDate","InternalDate","update","props","locale","start","getRangeStart","min","toInternalString","end","getRangeEnd","max","order","separator","setOrder","setSeparator","minDate","setRangeStart","value","maxDate","setRangeEnd","parseInternalValue","paste","pasted","parseValue","restore","cutOffExcess","isIncomplete","restored","clone","isEqual","duplicateOf","getFragments","toFragments","withSeparator","withPad","deleteOneCharRight","type","inputMode","prev","get","String","InternalDateTransformer","padDateComponent","next","replace","set","isChangedLocale","getOrder","getSeparator","isNull","isEmpty","clear","validateString","parseValueToDate","getString","toString","getInternalString","getTypesOrder","map","_ref","getLeftmostType","getRightmostType","_proto","prototype","inputKey","key","prevValue","leftMostType","InternalDateComponentType","Year","maxValue","InternalDateGetter","getDefaultMax","getComponentsLikeNumber","_inputNumber","inputNumber","nextValue","nextInputMode","changed","shiftDateComponent","step","calculatedType","isValidRange","validate","checks","InternalDateValidateCheck","Range","shift","isRange","isLoop","isCutFeb","isEqualComponentDate","getShiftedType","typesOrder","index","indexOf","nextIndex","All","getYear","shiftedType"],"sources":["InternalDateMediator.ts"],"sourcesContent":["import { InternalDate } from '../../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../../lib/date/InternalDateGetter';\nimport { InternalDateTransformer } from '../../../lib/date/InternalDateTransformer';\nimport type { InputKeyResult, InternalDateTypesOrder } from '../../../lib/date/types';\nimport { InternalDateComponentType, InternalDateValidateCheck } from '../../../lib/date/types';\nimport type { DatePickerLocale } from '../../DatePicker/locale';\nimport type { DateInputProps } from '../DateInput';\n\nimport { inputNumber } from './inputNumber';\n\nexport class InternalDateMediator {\n public iDate: InternalDate = new InternalDate();\n\n public update = (props: DateInputProps, locale: DatePickerLocale): InternalDateMediator => {\n const start = this.iDate.getRangeStart();\n const min = start && start.toInternalString();\n const end = this.iDate.getRangeEnd();\n const max = end && end.toInternalString();\n const { order, separator } = locale;\n this.iDate.setOrder(order).setSeparator(separator);\n if (props.minDate !== min) {\n this.iDate.setRangeStart(\n props.minDate\n ? new InternalDate({\n order,\n separator,\n value: props.minDate,\n })\n : null,\n );\n }\n if (props.maxDate !== max) {\n this.iDate.setRangeEnd(\n props.maxDate\n ? new InternalDate({\n order,\n separator,\n value: props.maxDate,\n })\n : null,\n );\n }\n if (!props.value || props.value !== this.iDate.toInternalString()) {\n this.iDate.parseInternalValue(props.value);\n }\n return this;\n };\n\n public inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): InputKeyResult {\n const prevValue = this.iDate.get(type);\n if (type === null) {\n const leftMostType = this.getLeftmostType();\n this.clear(leftMostType);\n }\n\n if (type !== InternalDateComponentType.Year) {\n this.iDate.cutOffExcess(type);\n } else {\n this.iDate.restore(type);\n }\n const maxValue = InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber());\n const { nextValue, nextInputMode } = inputNumber(type, prevValue, key, inputMode, maxValue);\n this.iDate.set(type, nextValue);\n return { inputMode: nextInputMode, changed: nextValue !== prevValue };\n }\n\n public paste = (pasted: string): InternalDateMediator => {\n this.iDate.parseValue(pasted).restore().cutOffExcess();\n return this;\n };\n\n public restore = (): boolean => {\n if (this.iDate.isIncomplete()) {\n const restored = this.iDate.clone().restore();\n if (!this.iDate.isEqual(restored)) {\n this.iDate.duplicateOf(restored);\n }\n return true;\n }\n return false;\n };\n\n public shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean {\n const calculatedType = type ?? this.getLeftmostType();\n\n const iDate = this.iDate.clone();\n const start = iDate.getRangeStart();\n const end = iDate.getRangeEnd();\n\n const isValidRange = iDate.validate({ checks: [InternalDateValidateCheck.Range] });\n if (!isValidRange) {\n // Удерживаем дату в заданном диапазоне\n if (start && InternalDateGetter.max([iDate, start]) === start) {\n iDate.duplicateOf(start);\n } else if (end && InternalDateGetter.min([iDate, end]) === end) {\n iDate.duplicateOf(end);\n }\n } else {\n const clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true, isCutFeb: true });\n if (clone.validate({ checks: [InternalDateValidateCheck.Range] })) {\n iDate.duplicateOf(clone);\n }\n }\n\n const changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);\n this.iDate = iDate;\n return changed;\n }\n\n public getShiftedType(type: InternalDateComponentType | null, step: number): InternalDateComponentType | null {\n const typesOrder = this.getTypesOrder();\n const index = type === null ? 0 : typesOrder.indexOf(type);\n const nextIndex = index + step;\n\n // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент\n if (type === InternalDateComponentType.All) {\n return step < 0 ? typesOrder[0] : typesOrder[2];\n }\n\n // Если текущий компонент \"год\", и он не пуст, то при перемещении выделения \"восстанавливаем\" значение года\n if (type === InternalDateComponentType.Year && this.iDate.getYear() !== null) {\n this.iDate.restore(type);\n }\n\n const shiftedType = typesOrder[nextIndex];\n return typeof shiftedType === 'number' ? shiftedType : type;\n }\n\n public getFragments = () =>\n this.iDate.toFragments({\n withSeparator: true,\n withPad: true,\n });\n\n public deleteOneCharRight = (type: InternalDateComponentType, inputMode: boolean) => {\n let prev = this.iDate.get(type);\n prev = String(inputMode ? prev : InternalDateTransformer.padDateComponent(type, prev));\n const next = prev.replace(/.$/, '') || null;\n this.iDate.set(type, next);\n };\n\n public isChangedLocale = (locale: DatePickerLocale): boolean =>\n locale.order !== this.iDate.getOrder() || locale.separator !== this.iDate.getSeparator();\n\n public isNull = (type: InternalDateComponentType | null): boolean => this.iDate.get(type) === null;\n\n public isEmpty = (): boolean => this.iDate.isEmpty();\n\n public get = (type: InternalDateComponentType | null) => this.iDate.get(type);\n\n public clear = (type: InternalDateComponentType | null): InternalDate => this.iDate.set(type, null);\n\n public validateString = (value: string): boolean =>\n InternalDateTransformer.parseValueToDate(value, this.iDate.getOrder()) !== null;\n\n public getString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toString());\n\n public getInternalString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toInternalString());\n\n public getTypesOrder = () => this.iDate.toFragments().map(({ type }) => type) as InternalDateTypesOrder;\n\n public getLeftmostType = (): InternalDateComponentType => this.getTypesOrder()[0];\n\n public getRightmostType = (): InternalDateComponentType => this.getTypesOrder()[2];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_InternalDate","require","_InternalDateGetter","_InternalDateTransformer","_types","_inputNumber2","InternalDateMediator","exports","_this","iDate","InternalDate","update","props","locale","start","getRangeStart","min","toInternalString","end","getRangeEnd","max","order","separator","setOrder","setSeparator","minDate","setRangeStart","value","maxDate","setRangeEnd","parseInternalValue","paste","pasted","parseValue","restore","cutOffExcess","isIncomplete","restored","clone","isEqual","duplicateOf","getFragments","toFragments","withSeparator","withPad","deleteOneCharRight","type","inputMode","prev","get","String","InternalDateTransformer","padDateComponent","next","replace","set","isChangedLocale","getOrder","getSeparator","isNull","isEmpty","clear","validateString","parseValueToDate","getString","toString","getInternalString","getTypesOrder","map","_ref","getLeftmostType","getRightmostType","_proto","prototype","inputKey","key","dateInputAllowInvalidValuesInDays","prevValue","leftMostType","InternalDateComponentType","Year","maxValue","InternalDateGetter","getDefaultMax","getComponentsLikeNumber","_inputNumber","inputNumber","nextValue","nextInputMode","changed","shiftDateComponent","step","calculatedType","isValidRange","validate","checks","InternalDateValidateCheck","Range","shift","isRange","isLoop","isCutFeb","isEqualComponentDate","getShiftedType","typesOrder","index","indexOf","nextIndex","All","getYear","shiftedType"],"sources":["InternalDateMediator.ts"],"sourcesContent":["import { InternalDate } from '../../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../../lib/date/InternalDateGetter';\nimport { InternalDateTransformer } from '../../../lib/date/InternalDateTransformer';\nimport type { InputKeyResult, InternalDateTypesOrder } from '../../../lib/date/types';\nimport { InternalDateComponentType, InternalDateValidateCheck } from '../../../lib/date/types';\nimport type { DatePickerLocale } from '../../DatePicker/locale';\nimport type { DateInputProps } from '../DateInput';\n\nimport { inputNumber } from './inputNumber';\n\nexport class InternalDateMediator {\n public iDate: InternalDate = new InternalDate();\n\n public update = (props: DateInputProps, locale: DatePickerLocale): InternalDateMediator => {\n const start = this.iDate.getRangeStart();\n const min = start && start.toInternalString();\n const end = this.iDate.getRangeEnd();\n const max = end && end.toInternalString();\n const { order, separator } = locale;\n this.iDate.setOrder(order).setSeparator(separator);\n if (props.minDate !== min) {\n this.iDate.setRangeStart(\n props.minDate\n ? new InternalDate({\n order,\n separator,\n value: props.minDate,\n })\n : null,\n );\n }\n if (props.maxDate !== max) {\n this.iDate.setRangeEnd(\n props.maxDate\n ? new InternalDate({\n order,\n separator,\n value: props.maxDate,\n })\n : null,\n );\n }\n if (!props.value || props.value !== this.iDate.toInternalString()) {\n this.iDate.parseInternalValue(props.value);\n }\n return this;\n };\n\n public inputKey(\n key: string,\n type: InternalDateComponentType | null,\n inputMode: boolean,\n dateInputAllowInvalidValuesInDays?: boolean,\n ): InputKeyResult {\n const prevValue = this.iDate.get(type);\n if (type === null) {\n const leftMostType = this.getLeftmostType();\n this.clear(leftMostType);\n }\n\n if (type !== InternalDateComponentType.Year) {\n this.iDate.cutOffExcess(type);\n } else {\n this.iDate.restore(type);\n }\n const maxValue = InternalDateGetter.getDefaultMax(\n type,\n this.iDate.getComponentsLikeNumber(),\n dateInputAllowInvalidValuesInDays,\n );\n const { nextValue, nextInputMode } = inputNumber(type, prevValue, key, inputMode, maxValue);\n this.iDate.set(type, nextValue);\n return { inputMode: nextInputMode, changed: nextValue !== prevValue };\n }\n\n public paste = (pasted: string): InternalDateMediator => {\n this.iDate.parseValue(pasted).restore().cutOffExcess();\n return this;\n };\n\n public restore = (): boolean => {\n if (this.iDate.isIncomplete()) {\n const restored = this.iDate.clone().restore();\n if (!this.iDate.isEqual(restored)) {\n this.iDate.duplicateOf(restored);\n }\n return true;\n }\n return false;\n };\n\n public shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean {\n const calculatedType = type ?? this.getLeftmostType();\n\n const iDate = this.iDate.clone();\n const start = iDate.getRangeStart();\n const end = iDate.getRangeEnd();\n\n const isValidRange = iDate.validate({ checks: [InternalDateValidateCheck.Range] });\n if (!isValidRange) {\n // Удерживаем дату в заданном диапазоне\n if (start && InternalDateGetter.max([iDate, start]) === start) {\n iDate.duplicateOf(start);\n } else if (end && InternalDateGetter.min([iDate, end]) === end) {\n iDate.duplicateOf(end);\n }\n } else {\n const clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true, isCutFeb: true });\n if (clone.validate({ checks: [InternalDateValidateCheck.Range] })) {\n iDate.duplicateOf(clone);\n }\n }\n\n const changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);\n this.iDate = iDate;\n return changed;\n }\n\n public getShiftedType(type: InternalDateComponentType | null, step: number): InternalDateComponentType | null {\n const typesOrder = this.getTypesOrder();\n const index = type === null ? 0 : typesOrder.indexOf(type);\n const nextIndex = index + step;\n\n // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент\n if (type === InternalDateComponentType.All) {\n return step < 0 ? typesOrder[0] : typesOrder[2];\n }\n\n // Если текущий компонент \"год\", и он не пуст, то при перемещении выделения \"восстанавливаем\" значение года\n if (type === InternalDateComponentType.Year && this.iDate.getYear() !== null) {\n this.iDate.restore(type);\n }\n\n const shiftedType = typesOrder[nextIndex];\n return typeof shiftedType === 'number' ? shiftedType : type;\n }\n\n public getFragments = () =>\n this.iDate.toFragments({\n withSeparator: true,\n withPad: true,\n });\n\n public deleteOneCharRight = (type: InternalDateComponentType, inputMode: boolean) => {\n let prev = this.iDate.get(type);\n prev = String(inputMode ? prev : InternalDateTransformer.padDateComponent(type, prev));\n const next = prev.replace(/.$/, '') || null;\n this.iDate.set(type, next);\n };\n\n public isChangedLocale = (locale: DatePickerLocale): boolean =>\n locale.order !== this.iDate.getOrder() || locale.separator !== this.iDate.getSeparator();\n\n public isNull = (type: InternalDateComponentType | null): boolean => this.iDate.get(type) === null;\n\n public isEmpty = (): boolean => this.iDate.isEmpty();\n\n public get = (type: InternalDateComponentType | null) => this.iDate.get(type);\n\n public clear = (type: InternalDateComponentType | null): InternalDate => this.iDate.set(type, null);\n\n public validateString = (value: string): boolean =>\n InternalDateTransformer.parseValueToDate(value, this.iDate.getOrder()) !== null;\n\n public getString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toString());\n\n public getInternalString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toInternalString());\n\n public getTypesOrder = () => this.iDate.toFragments().map(({ type }) => type) as InternalDateTypesOrder;\n\n public getLeftmostType = (): InternalDateComponentType => this.getTypesOrder()[0];\n\n public getRightmostType = (): InternalDateComponentType => this.getTypesOrder()[2];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,7 @@
1
1
  import type { AriaAttributes, HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { MenuHeader } from '../MenuHeader';
5
4
  import { MenuItem } from '../MenuItem';
6
- import { MenuSeparator } from '../MenuSeparator';
7
5
  import type { ButtonUse } from '../Button';
8
6
  import type { CommonProps } from '../../internal/CommonWrapper';
9
7
  import type { SizeProp } from '../../lib/types/props';
@@ -66,9 +64,9 @@ export declare const DropdownDataTids: {
66
64
  export declare class Dropdown extends React.Component<DropdownProps> {
67
65
  static __KONTUR_REACT_UI__: string;
68
66
  static displayName: string;
69
- static Header: typeof MenuHeader;
67
+ static Header: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, import("../MenuHeader").MenuHeaderProps> & Record<never, never>;
70
68
  static MenuItem: typeof MenuItem;
71
- static Separator: typeof MenuSeparator;
69
+ static Separator: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, CommonProps> & Record<never, never>;
72
70
  static propTypes: {
73
71
  /**
74
72
  * Подпись на кнопке.
@@ -18,7 +18,7 @@ export interface FxInputProps extends Pick<AriaAttributes, 'aria-label'>, Common
18
18
  /** Задает функцию, вызывающуюся при изменении value. */
19
19
  onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];
20
20
  /** Задает значение инпута. */
21
- value?: React.ReactText;
21
+ value?: string | number;
22
22
  /** Задает ref инпута. */
23
23
  refInput?: (element: CurrencyInput | Input | null) => void;
24
24
  /** Убирает лишние нули после запятой. */