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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (647) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/README.md +41 -13
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -6
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +76 -3
  6. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  7. package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
  8. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  9. package/cjs/components/Button/Button.js +2 -2
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.md +38 -11
  12. package/cjs/components/Calendar/Calendar.d.ts +28 -5
  13. package/cjs/components/Calendar/Calendar.js +80 -36
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/Calendar.md +82 -1
  16. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  17. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  18. package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
  19. package/cjs/components/Calendar/CalendarContext.js +16 -0
  20. package/cjs/components/Calendar/CalendarContext.js.map +1 -0
  21. package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
  22. package/cjs/components/Calendar/CalendarDateShape.js +13 -3
  23. package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
  24. package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
  25. package/cjs/components/Calendar/CalendarDay.js +79 -0
  26. package/cjs/components/Calendar/CalendarDay.js.map +1 -0
  27. package/cjs/components/Calendar/CalendarDay.md +70 -0
  28. package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
  29. package/cjs/components/Calendar/CalendarUtils.js +4 -6
  30. package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.d.ts +4 -12
  32. package/cjs/components/Calendar/DayCellView.js +20 -42
  33. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  34. package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
  35. package/cjs/components/Calendar/DayCellView.styles.js +37 -43
  36. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  37. package/cjs/components/Calendar/Month.d.ts +0 -10
  38. package/cjs/components/Calendar/Month.js +36 -88
  39. package/cjs/components/Calendar/Month.js.map +1 -1
  40. package/cjs/components/Calendar/MonthView.d.ts +3 -2
  41. package/cjs/components/Calendar/MonthView.js +47 -37
  42. package/cjs/components/Calendar/MonthView.js.map +1 -1
  43. package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
  44. package/cjs/components/Calendar/MonthView.styles.js +45 -7
  45. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  46. package/cjs/components/Calendar/MonthViewModel.js +24 -6
  47. package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
  48. package/cjs/components/Calendar/config.js +12 -6
  49. package/cjs/components/Calendar/config.js.map +1 -1
  50. package/cjs/components/Calendar/index.d.ts +1 -0
  51. package/cjs/components/Calendar/index.js +2 -1
  52. package/cjs/components/Calendar/index.js.map +1 -1
  53. package/cjs/components/Checkbox/Checkbox.js +1 -1
  54. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  55. package/cjs/components/DateInput/DateFragmentsView.js +1 -1
  56. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  57. package/cjs/components/DateInput/DateInput.js +1 -1
  58. package/cjs/components/DateInput/DateInput.js.map +1 -1
  59. package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
  60. package/cjs/components/DatePicker/DatePicker.js +72 -45
  61. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  62. package/cjs/components/DatePicker/DatePicker.md +29 -1
  63. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
  64. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  65. package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
  66. package/cjs/components/DatePicker/MobilePicker.js +118 -0
  67. package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
  68. package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  69. package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
  70. package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
  71. package/cjs/components/DatePicker/Picker.js +1 -1
  72. package/cjs/components/DatePicker/Picker.js.map +1 -1
  73. package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  74. package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
  75. package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
  76. package/cjs/components/Dropdown/Dropdown.js +1 -1
  77. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  78. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  79. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  80. package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
  81. package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
  82. package/cjs/components/FileUploader/FileUploader.js +32 -9
  83. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  84. package/cjs/components/FileUploader/FileUploader.md +29 -0
  85. package/cjs/components/FxInput/FxInput.js +1 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/Group/Group.js +1 -1
  88. package/cjs/components/Group/Group.js.map +1 -1
  89. package/cjs/components/Hint/Hint.d.ts +4 -3
  90. package/cjs/components/Hint/Hint.js +9 -8
  91. package/cjs/components/Hint/Hint.js.map +1 -1
  92. package/cjs/components/Input/Input.js +1 -1
  93. package/cjs/components/Input/Input.js.map +1 -1
  94. package/cjs/components/Input/Input.styles.d.ts +1 -1
  95. package/cjs/components/Input/Input.styles.js +3 -2
  96. package/cjs/components/Input/Input.styles.js.map +1 -1
  97. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  98. package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
  99. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  100. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  101. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.js +6 -1
  103. package/cjs/components/Kebab/Kebab.js.map +1 -1
  104. package/cjs/components/Link/Link.js +3 -2
  105. package/cjs/components/Link/Link.js.map +1 -1
  106. package/cjs/components/Loader/Loader.js +1 -1
  107. package/cjs/components/Loader/Loader.js.map +1 -1
  108. package/cjs/components/MenuItem/MenuItem.js +2 -2
  109. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  110. package/cjs/components/MiniModal/MiniModal.js +1 -1
  111. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  112. package/cjs/components/Modal/Modal.js +1 -1
  113. package/cjs/components/Modal/Modal.js.map +1 -1
  114. package/cjs/components/Modal/ModalBody.js +1 -1
  115. package/cjs/components/Modal/ModalBody.js.map +1 -1
  116. package/cjs/components/Paging/Paging.js +8 -3
  117. package/cjs/components/Paging/Paging.js.map +1 -1
  118. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  119. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  120. package/cjs/components/Radio/Radio.js +1 -1
  121. package/cjs/components/Radio/Radio.js.map +1 -1
  122. package/cjs/components/RadioGroup/RadioGroup.js +10 -1
  123. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  124. package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
  125. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  126. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  127. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
  128. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  129. package/cjs/components/Select/Select.js +6 -3
  130. package/cjs/components/Select/Select.js.map +1 -1
  131. package/cjs/components/SidePage/SidePage.js +1 -1
  132. package/cjs/components/SidePage/SidePage.js.map +1 -1
  133. package/cjs/components/SidePage/SidePageBody.js +1 -1
  134. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageContainer.js +1 -1
  136. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageFooter.js +1 -1
  138. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  139. package/cjs/components/SidePage/SidePageHeader.js +1 -1
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.js +1 -1
  142. package/cjs/components/Spinner/Spinner.js.map +1 -1
  143. package/cjs/components/Switcher/Switcher.js +1 -1
  144. package/cjs/components/Switcher/Switcher.js.map +1 -1
  145. package/cjs/components/Tabs/Indicator.js +1 -1
  146. package/cjs/components/Tabs/Indicator.js.map +1 -1
  147. package/cjs/components/Tabs/Tab.js +2 -2
  148. package/cjs/components/Tabs/Tab.js.map +1 -1
  149. package/cjs/components/Tabs/Tabs.js +1 -1
  150. package/cjs/components/Tabs/Tabs.js.map +1 -1
  151. package/cjs/components/Textarea/Textarea.js +1 -1
  152. package/cjs/components/Textarea/Textarea.js.map +1 -1
  153. package/cjs/components/Toast/Toast.js +1 -1
  154. package/cjs/components/Toast/Toast.js.map +1 -1
  155. package/cjs/components/Toast/ToastView.js +1 -1
  156. package/cjs/components/Toast/ToastView.js.map +1 -1
  157. package/cjs/components/Toggle/Toggle.js +1 -1
  158. package/cjs/components/Toggle/Toggle.js.map +1 -1
  159. package/cjs/components/Token/Token.js +2 -1
  160. package/cjs/components/Token/Token.js.map +1 -1
  161. package/cjs/components/TokenInput/TokenInput.js +1 -1
  162. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  163. package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
  164. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  165. package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
  166. package/cjs/components/Tooltip/Tooltip.js +59 -20
  167. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  168. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
  169. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  170. package/cjs/hooks/useDrop.d.ts +1 -1
  171. package/cjs/hooks/useDrop.js.map +1 -1
  172. package/cjs/index.d.ts +2 -0
  173. package/cjs/index.js +2 -0
  174. package/cjs/index.js.map +1 -1
  175. package/cjs/internal/CommonWrapper/CommonWrapper.js +2 -2
  176. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  177. package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  178. package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
  179. package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
  180. package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
  181. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  182. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
  183. package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
  184. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  185. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
  186. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
  187. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
  188. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  189. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  190. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  191. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  192. package/cjs/internal/DateSelect/DateSelect.js +51 -4
  193. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  194. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  195. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
  196. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  197. package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
  198. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
  199. package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
  200. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
  201. package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
  202. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  203. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
  204. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  205. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  206. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
  207. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  208. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  209. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
  210. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  211. package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
  212. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  213. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
  214. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  215. package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
  216. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  217. package/cjs/internal/Menu/Menu.js +2 -2
  218. package/cjs/internal/Menu/Menu.js.map +1 -1
  219. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
  221. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  222. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  223. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
  224. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  225. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  226. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
  227. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  228. package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  229. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
  230. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
  231. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  232. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  233. package/cjs/internal/NativeDateInput/utils.js +3 -2
  234. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  235. package/cjs/internal/Popup/Popup.d.ts +15 -4
  236. package/cjs/internal/Popup/Popup.js +67 -4
  237. package/cjs/internal/Popup/Popup.js.map +1 -1
  238. package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
  239. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  240. package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
  241. package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
  242. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  243. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
  244. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  245. package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
  246. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  247. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  248. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  249. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
  250. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  251. package/cjs/internal/ThemePlayground/constants.js +2 -1
  252. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  253. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
  254. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  255. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  256. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
  257. package/cjs/internal/ZIndex/ZIndex.js +41 -3
  258. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  259. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  260. package/cjs/internal/themes/DarkTheme.js +6 -1
  261. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  262. package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
  263. package/cjs/internal/themes/DefaultTheme.js +32 -4
  264. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  265. package/cjs/lib/date/InternalDate.d.ts +2 -0
  266. package/cjs/lib/date/InternalDate.js +8 -1
  267. package/cjs/lib/date/InternalDate.js.map +1 -1
  268. package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
  269. package/cjs/lib/date/InternalDateTransformer.js +23 -0
  270. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  271. package/cjs/lib/date/InternalDateValidator.js +2 -1
  272. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  273. package/cjs/lib/date/comparison.d.ts +6 -0
  274. package/cjs/lib/date/comparison.js +44 -0
  275. package/cjs/lib/date/comparison.js.map +1 -0
  276. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  277. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  278. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  279. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  280. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  281. package/cjs/lib/listenFocusOutside.js +4 -2
  282. package/cjs/lib/listenFocusOutside.js.map +1 -1
  283. package/cjs/lib/locale/constants.d.ts +3 -0
  284. package/cjs/lib/locale/constants.js +6 -2
  285. package/cjs/lib/locale/constants.js.map +1 -1
  286. package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
  287. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  288. package/cjs/lib/theming/Emotion.d.ts +7 -1
  289. package/cjs/lib/theming/Emotion.js +6 -3
  290. package/cjs/lib/theming/Emotion.js.map +1 -1
  291. package/cjs/lib/theming/ThemeContext.d.ts +0 -2
  292. package/cjs/lib/theming/ThemeContext.js +1 -3
  293. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  294. package/cjs/lib/theming/ThemeContext.md +3 -1
  295. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  296. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
  297. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
  298. package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  299. package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
  300. package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
  301. package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
  302. package/cjs/lib/widgets/StylesContainer.js +70 -0
  303. package/cjs/lib/widgets/StylesContainer.js.map +1 -0
  304. package/cjs/lib/widgets/index.d.ts +1 -0
  305. package/cjs/lib/widgets/index.js +1 -0
  306. package/cjs/lib/widgets/index.js.map +1 -0
  307. package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
  308. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  309. package/components/Autocomplete/Autocomplete.md +76 -3
  310. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
  311. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
  312. package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  313. package/components/Button/Button/Button.js +3 -3
  314. package/components/Button/Button/Button.js.map +1 -1
  315. package/components/Button/Button.md +38 -11
  316. package/components/Calendar/Calendar/Calendar.js +83 -66
  317. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  318. package/components/Calendar/Calendar.d.ts +28 -5
  319. package/components/Calendar/Calendar.md +82 -1
  320. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  321. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  322. package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
  323. package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
  324. package/components/Calendar/CalendarContext/package.json +6 -0
  325. package/components/Calendar/CalendarContext.d.ts +12 -0
  326. package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
  327. package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  328. package/components/Calendar/CalendarDateShape.d.ts +4 -2
  329. package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
  330. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
  331. package/components/Calendar/CalendarDay/package.json +6 -0
  332. package/components/Calendar/CalendarDay.d.ts +12 -0
  333. package/components/Calendar/CalendarDay.md +70 -0
  334. package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
  335. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  336. package/components/Calendar/CalendarUtils.d.ts +2 -1
  337. package/components/Calendar/DayCellView/DayCellView.js +33 -46
  338. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  339. package/components/Calendar/DayCellView.d.ts +4 -12
  340. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
  341. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  342. package/components/Calendar/DayCellView.styles.d.ts +2 -5
  343. package/components/Calendar/Month/Month.js +50 -84
  344. package/components/Calendar/Month/Month.js.map +1 -1
  345. package/components/Calendar/Month.d.ts +0 -10
  346. package/components/Calendar/MonthView/MonthView.js +50 -45
  347. package/components/Calendar/MonthView/MonthView.js.map +1 -1
  348. package/components/Calendar/MonthView.d.ts +3 -2
  349. package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
  350. package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  351. package/components/Calendar/MonthView.styles.d.ts +3 -0
  352. package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
  353. package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  354. package/components/Calendar/config/config.js +6 -4
  355. package/components/Calendar/config/config.js.map +1 -1
  356. package/components/Calendar/index/index.js +2 -1
  357. package/components/Calendar/index/index.js.map +1 -1
  358. package/components/Calendar/index.d.ts +1 -0
  359. package/components/Checkbox/Checkbox/Checkbox.js +2 -2
  360. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  361. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
  362. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  363. package/components/DateInput/DateInput/DateInput.js +2 -2
  364. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  365. package/components/DatePicker/DatePicker/DatePicker.js +62 -41
  366. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  367. package/components/DatePicker/DatePicker.d.ts +4 -1
  368. package/components/DatePicker/DatePicker.md +29 -1
  369. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
  370. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  371. package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
  372. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
  373. package/components/DatePicker/MobilePicker/package.json +6 -0
  374. package/components/DatePicker/MobilePicker.d.ts +10 -0
  375. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
  376. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
  377. package/components/DatePicker/MobilePicker.styles/package.json +6 -0
  378. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  379. package/components/DatePicker/Picker/Picker.js +3 -3
  380. package/components/DatePicker/Picker/Picker.js.map +1 -1
  381. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
  382. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
  383. package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
  384. package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  385. package/components/Dropdown/Dropdown/Dropdown.js +3 -3
  386. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  387. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
  388. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  389. package/components/DropdownMenu/DropdownMenu.md +39 -0
  390. package/components/FileUploader/FileUploader/FileUploader.js +30 -8
  391. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  392. package/components/FileUploader/FileUploader.d.ts +2 -0
  393. package/components/FileUploader/FileUploader.md +29 -0
  394. package/components/FxInput/FxInput/FxInput.js +2 -2
  395. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  396. package/components/Group/Group/Group.js +2 -2
  397. package/components/Group/Group/Group.js.map +1 -1
  398. package/components/Hint/Hint/Hint.js +53 -48
  399. package/components/Hint/Hint/Hint.js.map +1 -1
  400. package/components/Hint/Hint.d.ts +4 -3
  401. package/components/Input/Input/Input.js +3 -3
  402. package/components/Input/Input/Input.js.map +1 -1
  403. package/components/Input/Input.styles/Input.styles.js +2 -2
  404. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  405. package/components/Input/Input.styles.d.ts +1 -1
  406. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
  407. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  408. package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  409. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
  410. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  411. package/components/Kebab/Kebab/Kebab.js +7 -4
  412. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  413. package/components/Link/Link/Link.js +6 -3
  414. package/components/Link/Link/Link.js.map +1 -1
  415. package/components/Loader/Loader/Loader.js +2 -2
  416. package/components/Loader/Loader/Loader.js.map +1 -1
  417. package/components/MenuItem/MenuItem/MenuItem.js +3 -3
  418. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  419. package/components/MiniModal/MiniModal/MiniModal.js +2 -2
  420. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  421. package/components/Modal/Modal/Modal.js +3 -3
  422. package/components/Modal/Modal/Modal.js.map +1 -1
  423. package/components/Modal/ModalBody/ModalBody.js +3 -3
  424. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  425. package/components/Paging/Paging/Paging.js +10 -6
  426. package/components/Paging/Paging/Paging.js.map +1 -1
  427. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
  428. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  429. package/components/Radio/Radio/Radio.js +2 -2
  430. package/components/Radio/Radio/Radio.js.map +1 -1
  431. package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
  432. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  433. package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
  434. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  435. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
  436. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  437. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  438. package/components/Select/Select/Select.js +6 -5
  439. package/components/Select/Select/Select.js.map +1 -1
  440. package/components/SidePage/SidePage/SidePage.js +2 -2
  441. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  442. package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
  443. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  444. package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
  445. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  446. package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
  447. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  448. package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
  449. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  450. package/components/Spinner/Spinner/Spinner.js +2 -2
  451. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  452. package/components/Switcher/Switcher/Switcher.js +3 -3
  453. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  454. package/components/Tabs/Indicator/Indicator.js +2 -2
  455. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  456. package/components/Tabs/Tab/Tab.js +3 -3
  457. package/components/Tabs/Tab/Tab.js.map +1 -1
  458. package/components/Tabs/Tabs/Tabs.js +2 -2
  459. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  460. package/components/Textarea/Textarea/Textarea.js +2 -2
  461. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  462. package/components/Toast/Toast/Toast.js +3 -3
  463. package/components/Toast/Toast/Toast.js.map +1 -1
  464. package/components/Toast/ToastView/ToastView.js +2 -2
  465. package/components/Toast/ToastView/ToastView.js.map +1 -1
  466. package/components/Toggle/Toggle/Toggle.js +2 -2
  467. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  468. package/components/Token/Token/Token.js +6 -3
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/TokenInput/TokenInput/TokenInput.js +2 -2
  471. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  472. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
  473. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  474. package/components/Tooltip/Tooltip/Tooltip.js +67 -46
  475. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  476. package/components/Tooltip/Tooltip.d.ts +10 -5
  477. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
  478. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  479. package/hooks/useDrop/useDrop.js.map +1 -1
  480. package/hooks/useDrop.d.ts +1 -1
  481. package/index.d.ts +2 -0
  482. package/index.js +2 -0
  483. package/index.js.map +1 -1
  484. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
  485. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  486. package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
  487. package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
  488. package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  489. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
  490. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  491. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
  492. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
  493. package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  494. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
  495. package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  496. package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
  497. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
  498. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
  499. package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  500. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
  501. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  502. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
  503. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  504. package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
  505. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  506. package/internal/DateSelect/DateSelect.d.ts +2 -0
  507. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
  508. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  509. package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  510. package/internal/DateSelect/locale/locales/en/en.js +2 -1
  511. package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
  512. package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
  513. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
  514. package/internal/DateSelect/locale/types.d.ts +1 -0
  515. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
  516. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  517. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  518. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
  519. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  520. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  521. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  524. package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
  525. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  526. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
  527. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  528. package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
  529. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  530. package/internal/Menu/Menu/Menu.js +3 -3
  531. package/internal/Menu/Menu/Menu.js.map +1 -1
  532. package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
  533. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  534. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  535. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
  536. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  537. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
  538. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  539. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
  540. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
  541. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
  542. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  543. package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
  544. package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
  545. package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
  546. package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  547. package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
  548. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
  549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  550. package/internal/NativeDateInput/utils/utils.js +2 -1
  551. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  552. package/internal/Popup/Popup/Popup.js +53 -10
  553. package/internal/Popup/Popup/Popup.js.map +1 -1
  554. package/internal/Popup/Popup.d.ts +15 -4
  555. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  556. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  557. package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
  558. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  559. package/internal/RenderContainer/RenderContainer.d.ts +3 -0
  560. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
  561. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  562. package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
  563. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  564. package/internal/ThemePlayground/Playground/Playground.js +2 -2
  565. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  566. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
  567. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  568. package/internal/ThemePlayground/constants/constants.js +3 -0
  569. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  570. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
  571. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  572. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  573. package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
  574. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  575. package/internal/ZIndex/ZIndex.d.ts +7 -3
  576. package/internal/themes/DarkTheme/DarkTheme.js +2 -0
  577. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  578. package/internal/themes/DarkTheme.d.ts +2 -0
  579. package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
  580. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  581. package/internal/themes/DefaultTheme.d.ts +18 -0
  582. package/lib/date/InternalDate/InternalDate.js +7 -1
  583. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  584. package/lib/date/InternalDate.d.ts +2 -0
  585. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
  586. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  587. package/lib/date/InternalDateTransformer.d.ts +3 -0
  588. package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
  589. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  590. package/lib/date/comparison/comparison.js +45 -0
  591. package/lib/date/comparison/comparison.js.map +1 -0
  592. package/lib/date/comparison/package.json +6 -0
  593. package/lib/date/comparison.d.ts +6 -0
  594. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  595. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  596. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  597. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  598. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  599. package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
  600. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  601. package/lib/locale/constants/constants.js +4 -1
  602. package/lib/locale/constants/constants.js.map +1 -1
  603. package/lib/locale/constants.d.ts +3 -0
  604. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
  605. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  606. package/lib/theming/Emotion/Emotion.js +12 -3
  607. package/lib/theming/Emotion/Emotion.js.map +1 -1
  608. package/lib/theming/Emotion.d.ts +7 -1
  609. package/lib/theming/ThemeContext/ThemeContext.js +0 -2
  610. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  611. package/lib/theming/ThemeContext.d.ts +0 -2
  612. package/lib/theming/ThemeContext.md +3 -1
  613. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
  614. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
  615. package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
  616. package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  617. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
  618. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
  619. package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
  620. package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  621. package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
  622. package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
  623. package/lib/widgets/StylesContainer/package.json +6 -0
  624. package/lib/widgets/StylesContainer.d.ts +13 -0
  625. package/lib/widgets/index/index.js +1 -0
  626. package/lib/widgets/index/index.js.map +1 -0
  627. package/lib/widgets/index/package.json +6 -0
  628. package/lib/widgets/index.d.ts +1 -0
  629. package/lib/widgets/package.json +6 -0
  630. package/package.json +3 -2
  631. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
  632. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
  633. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
  634. package/cjs/lib/theming/StyleContainer.d.ts +0 -4
  635. package/cjs/lib/theming/StyleContainer.js +0 -21
  636. package/cjs/lib/theming/StyleContainer.js.map +0 -1
  637. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
  638. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
  639. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
  640. package/lib/theming/StyleContainer/StyleContainer.js +0 -21
  641. package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
  642. package/lib/theming/StyleContainer/package.json +0 -6
  643. package/lib/theming/StyleContainer.d.ts +0 -4
  644. /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
  645. /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
  646. /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
  647. /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","positions","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","featureFlags","hintAddDynamicPositioning","allowedPositions","pos","priorityPosition","index","indexOf","Error","join","slice","filter","x","startsWith","handleMouseEnter","e","timer","globalObject","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","posChanged","allowedChanged","componentWillUnmount","render","flags","emotion","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","hasPin","kebabHintRemovePin","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","styles","className","cx","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","displayName","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\nimport isEqual from 'lodash.isequal';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport {\n getFullReactUIFlagsContext,\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n} from '../../lib/featureFlagsContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeConsumer, ThemeProvider } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Список позиций, которые хинт будет занимать. Если положение хинт в определенной позиции будет выходить\n * за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`.\n * Для применения этого пропа необходимо включить фиче-флаг hintAddDynamicPositioning.\n */\n allowedPositions?: PopupPositionsType[];\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'allowedPositions' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n private emotion!: Emotion;\n private featureFlags!: ReactUIFeatureFlags;\n private setRootNode!: TSetRootNode;\n private positions: Nullable<PopupPositionsType[]> = null;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual, pos, allowedPositions } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n\n if (this.featureFlags.hintAddDynamicPositioning) {\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeProvider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeProvider>\n );\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n const hasPin = !getFullReactUIFlagsContext(flags).kebabHintRemovePin || !isTheme2022(this.theme);\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={hasPin}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const styles = getStyles(this.emotion);\n const className = this.emotion.cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n if (this.featureFlags.hintAddDynamicPositioning) {\n if (!this.positions) {\n const { allowedPositions, pos } = this.getProps();\n let priorityPosition: PopupPositionsType;\n switch (pos) {\n case 'top':\n priorityPosition = 'top center';\n break;\n case 'bottom':\n priorityPosition = 'bottom center';\n break;\n case 'left':\n priorityPosition = 'left middle';\n break;\n case 'right':\n priorityPosition = 'right middle';\n break;\n default:\n priorityPosition = pos;\n }\n const index = allowedPositions.indexOf(priorityPosition);\n if (index === -1) {\n throw new Error('Unexpected position passed to Hint. Expected one of: ' + allowedPositions.join(', '));\n }\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n return this.positions;\n }\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","OldPositions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","positions","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","featureFlags","popupUnifyPositioning","props","allowedPositions","pos","getAllowedPositions","hintAddDynamicPositioning","priorityPosition","index","indexOf","Error","join","slice","filter","x","startsWith","handleMouseEnter","e","timer","globalObject","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","posChanged","allowedChanged","componentWillUnmount","render","flags","emotion","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","hasPin","kebabHintRemovePin","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","styles","className","cx","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","displayName","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\nimport isEqual from 'lodash.isequal';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport {\n getFullReactUIFlagsContext,\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n} from '../../lib/featureFlagsContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { getStyles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: ShortPopupPositionsType | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Список позиций, которые хинт будет занимать. Если положение хинт в определенной позиции будет выходить\n * за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`.\n * Для применения этого пропа необходимо включить фиче-флаг hintAddDynamicPositioning.\n */\n allowedPositions?: PopupPositionsType[];\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst OldPositions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n private emotion!: Emotion;\n private featureFlags!: ReactUIFeatureFlags;\n private setRootNode!: TSetRootNode;\n private positions: Nullable<PopupPositionsType[]> = null;\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions() {\n return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n\n if (this.featureFlags.hintAddDynamicPositioning && !this.featureFlags.popupUnifyPositioning) {\n const pos = this.props.pos ? this.props.pos : 'top';\n const allowedPositions = this.props.allowedPositions ? this.props.allowedPositions : OldPositions;\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n const hasPin = !this.featureFlags.kebabHintRemovePin || !isTheme2022(this.theme);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={hasPin}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const styles = getStyles(this.emotion);\n const className = this.emotion.cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] | undefined => {\n if (this.featureFlags.popupUnifyPositioning) {\n return this.props.allowedPositions;\n }\n const pos = this.props.pos ? this.props.pos : 'top';\n const allowedPositions = this.getAllowedPositions();\n if (this.featureFlags.hintAddDynamicPositioning) {\n if (!this.positions) {\n let priorityPosition: PopupPositionsType;\n switch (pos) {\n case 'top':\n priorityPosition = 'top center';\n break;\n case 'bottom':\n priorityPosition = 'bottom center';\n break;\n case 'left':\n priorityPosition = 'left middle';\n break;\n case 'right':\n priorityPosition = 'right middle';\n break;\n default:\n priorityPosition = pos;\n }\n const index = allowedPositions.indexOf(priorityPosition);\n if (index === -1) {\n throw new Error('Unexpected position passed to Hint. Expected one of: ' + allowedPositions.join(', '));\n }\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n return this.positions;\n }\n return OldPositions.filter((x) => x.startsWith(pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = globalObject.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n globalObject.clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -730,7 +730,7 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
730
730
  * @param {number} end
731
731
  */;_proto.setSelectionRange = function setSelectionRange(start, end) {var _globalObject$documen,_this$props$value,_this3 = this; // https://github.com/facebook/react/issues/7769
732
732
  // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange
733
- if (!selectionAllowedTypes.includes(this.getProps().type)) {(0, _warning.default)(false, selectionErrorMessage(this.getProps().type));return;}if (!this.input) {throw new Error('Cannot call "setSelectionRange" on unmounted Input');}if (((_globalObject$documen = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen.activeElement) !== this.input) {this.focus();}if (this.props.mask && this.props.value && ((_this$props$value = this.props.value) == null ? void 0 : _this$props$value.length) < this.props.mask.length) {_globalObject.globalObject.setTimeout(function () {var _this3$input;(_this3$input = _this3.input) == null ? void 0 : _this3$input.setSelectionRange(start, end);}, 150);} else {var _this$input;(_this$input = this.input) == null ? void 0 : _this$input.setSelectionRange(start, end);}};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this4.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});});};_proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {return /*#__PURE__*/_react.default.createElement(_InternalMaskedInput.InternalMaskedInput, (0, _extends2.default)({}, inputProps, { mask: mask, maskChar: this.props.maskChar, alwaysShowMask: this.props.alwaysShowMask, formatChars: this.props.formatChars, onChange: this.props.onChange, onValueChange: this.handleMaskedValueChange, onUnexpectedInput: this.handleUnexpectedInput }));};_proto.getIconSizeClassname = function getIconSizeClassname(right) {if (right === void 0) {right = false;}var styles = (0, _Input.getStyles)(this.emotion);switch (this.getProps().size) {case 'large':return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);case 'medium':return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);case 'small':default:return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);}};_proto.renderLeftIcon = function renderLeftIcon() {return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());};_proto.renderRightIcon = function renderRightIcon() {return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));};_proto.renderIcon = function renderIcon(icon, sizeClassName) {var _this$emotion$cx5;if (!icon) {return null;}var disabled = this.props.disabled;var iconNode = (0, _utils.isFunction)(icon) ? icon() : icon;var styles = (0, _Input.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("span", { className: this.emotion.cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), (_this$emotion$cx5 = {}, _this$emotion$cx5[styles.iconFocus(this.theme)] = this.state.focused, _this$emotion$cx5[styles.iconDisabled()] = disabled, _this$emotion$cx5)) }, iconNode);};_proto.renderPlaceholder = function renderPlaceholder() {var disabled = this.props.disabled;var focused = this.state.focused;var placeholder = null;if (this.state.needsPolyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value && !this.props.defaultValue) {var _this$emotion$cx6;var styles = (0, _Input.getStyles)(this.emotion);placeholder = /*#__PURE__*/_react.default.createElement("div", { className: this.emotion.cx(styles.placeholder(this.theme), (_this$emotion$cx6 = {}, _this$emotion$cx6[styles.placeholderDisabled(this.theme)] = disabled, _this$emotion$cx6[styles.placeholderFocus(this.theme)] = focused, _this$emotion$cx6)), style: { textAlign: this.props.align || 'inherit' } }, this.props.placeholder);}return placeholder;};_proto.getSizeClassName = function getSizeClassName() {var _this$emotion$cx7, _this$emotion$cx8, _this$emotion$cx9;var styles = (0, _Input.getStyles)(this.emotion);switch (this.getProps().size) {case 'large':return this.emotion.cx((_this$emotion$cx7 = {}, _this$emotion$cx7[styles.sizeLarge(this.theme)] = true, _this$emotion$cx7[styles.sizeLargeFallback(this.theme)] = _client.isIE11 || _client.isEdge, _this$emotion$cx7));case 'medium':return this.emotion.cx((_this$emotion$cx8 = {}, _this$emotion$cx8[styles.sizeMedium(this.theme)] = true, _this$emotion$cx8[styles.sizeMediumFallback(this.theme)] = _client.isIE11 || _client.isEdge, _this$emotion$cx8));case 'small':default:return this.emotion.cx((_this$emotion$cx9 = {}, _this$emotion$cx9[styles.sizeSmall(this.theme)] = true, _this$emotion$cx9[styles.sizeSmallFallback(this.theme)] = _client.isIE11 || _client.isEdge, _this$emotion$cx9));}};(0, _createClass2.default)(Input, [{ key: "isMaskVisible", get: function get() {var _this$props3 = this.props,mask = _this$props3.mask,alwaysShowMask = _this$props3.alwaysShowMask;var focused = this.state.focused;return Boolean(mask && (focused || alwaysShowMask));} }, { key: "canBeUsedWithMask", get: function get() {return maskForbiddenTypes.includes(this.getProps().type);} /**
733
+ if (!selectionAllowedTypes.includes(this.getProps().type)) {(0, _warning.default)(false, selectionErrorMessage(this.getProps().type));return;}if (!this.input) {throw new Error('Cannot call "setSelectionRange" on unmounted Input');}if (((_globalObject$documen = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen.activeElement) !== this.input) {this.focus();}if (this.props.mask && this.props.value && ((_this$props$value = this.props.value) == null ? void 0 : _this$props$value.length) < this.props.mask.length) {_globalObject.globalObject.setTimeout(function () {var _this3$input;(_this3$input = _this3.input) == null ? void 0 : _this3$input.setSelectionRange(start, end);}, 150);} else {var _this$input;(_this$input = this.input) == null ? void 0 : _this$input.setSelectionRange(start, end);}};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_Emotion.EmotionConsumer, null, function (emotion) {_this4.emotion = emotion;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});});};_proto.renderMaskedInput = function renderMaskedInput(inputProps, mask) {return /*#__PURE__*/_react.default.createElement(_InternalMaskedInput.InternalMaskedInput, (0, _extends2.default)({}, inputProps, { mask: mask, maskChar: this.props.maskChar, alwaysShowMask: this.props.alwaysShowMask, formatChars: this.props.formatChars, onChange: this.props.onChange, onValueChange: this.handleMaskedValueChange, onUnexpectedInput: this.handleUnexpectedInput }));};_proto.getIconSizeClassname = function getIconSizeClassname(right) {if (right === void 0) {right = false;}var styles = (0, _Input.getStyles)(this.emotion);switch (this.getProps().size) {case 'large':return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);case 'medium':return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);case 'small':default:return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);}};_proto.renderLeftIcon = function renderLeftIcon() {return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());};_proto.renderRightIcon = function renderRightIcon() {return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));};_proto.renderIcon = function renderIcon(icon, sizeClassName) {var _this$emotion$cx5;if (!icon) {return null;}var disabled = this.props.disabled;var iconNode = (0, _utils.isFunction)(icon) ? icon() : icon;var styles = (0, _Input.getStyles)(this.emotion);return /*#__PURE__*/_react.default.createElement("span", { className: this.emotion.cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), (_this$emotion$cx5 = {}, _this$emotion$cx5[styles.iconFocus(this.theme)] = this.state.focused, _this$emotion$cx5[styles.iconDisabled(this.theme)] = disabled, _this$emotion$cx5)) }, iconNode);};_proto.renderPlaceholder = function renderPlaceholder() {var disabled = this.props.disabled;var focused = this.state.focused;var placeholder = null;if (this.state.needsPolyfillPlaceholder && this.props.placeholder && !this.isMaskVisible && !this.props.value && !this.props.defaultValue) {var _this$emotion$cx6;var styles = (0, _Input.getStyles)(this.emotion);placeholder = /*#__PURE__*/_react.default.createElement("div", { className: this.emotion.cx(styles.placeholder(this.theme), (_this$emotion$cx6 = {}, _this$emotion$cx6[styles.placeholderDisabled(this.theme)] = disabled, _this$emotion$cx6[styles.placeholderFocus(this.theme)] = focused, _this$emotion$cx6)), style: { textAlign: this.props.align || 'inherit' } }, this.props.placeholder);}return placeholder;};_proto.getSizeClassName = function getSizeClassName() {var _this$emotion$cx7, _this$emotion$cx8, _this$emotion$cx9;var styles = (0, _Input.getStyles)(this.emotion);switch (this.getProps().size) {case 'large':return this.emotion.cx((_this$emotion$cx7 = {}, _this$emotion$cx7[styles.sizeLarge(this.theme)] = true, _this$emotion$cx7[styles.sizeLargeFallback(this.theme)] = _client.isIE11 || _client.isEdge, _this$emotion$cx7));case 'medium':return this.emotion.cx((_this$emotion$cx8 = {}, _this$emotion$cx8[styles.sizeMedium(this.theme)] = true, _this$emotion$cx8[styles.sizeMediumFallback(this.theme)] = _client.isIE11 || _client.isEdge, _this$emotion$cx8));case 'small':default:return this.emotion.cx((_this$emotion$cx9 = {}, _this$emotion$cx9[styles.sizeSmall(this.theme)] = true, _this$emotion$cx9[styles.sizeSmallFallback(this.theme)] = _client.isIE11 || _client.isEdge, _this$emotion$cx9));}};(0, _createClass2.default)(Input, [{ key: "isMaskVisible", get: function get() {var _this$props3 = this.props,mask = _this$props3.mask,alwaysShowMask = _this$props3.alwaysShowMask;var focused = this.state.focused;return Boolean(mask && (focused || alwaysShowMask));} }, { key: "canBeUsedWithMask", get: function get() {return maskForbiddenTypes.includes(this.getProps().type);} /**
734
734
  * Работает с типами `text`, `password`, `tel`, `search`, `url`
735
735
  * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)
736
736
  * @public
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","input","selectAll","setSelectionRange","value","length","delaySelectAll","globalObject","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","cancelBlink","callback","blinkTimeout","clearTimeout","setState","getInput","inputProps","props","element","React","cloneElement","mask","canBeUsedWithMask","renderMaskedInput","createElement","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","styles","emotion","labelProps","className","cx","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","resetFocus","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","InternalMaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, ClassAttributes, HTMLAttributes, ReactElement } from 'react';\nimport warning from 'warning';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { InternalMaskedInput } from '../../internal/InternalMaskedInput';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isFunction } from '../../lib/utils';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\n\nimport { InputElement, InputElementProps } from './Input.typings';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\nimport { getStyles } from './Input.styles';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\n/**\n * @deprecated use SizeProp\n */\nexport type InputSize = SizeProp;\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /**\n * Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url`\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n mask?: Nullable<string>;\n /**\n * Символ маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /**\n * Показывать символы маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: SizeProp;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает акцентным цветом.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Элемент заменяет нативный input.\n * Должен иметь пропы `InputElementProps` и тип `InputElement`\n * */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private blinkTimeout: SafeTimer;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n globalObject.setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return this.props.mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, this.props.mask)\n : React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const styles = getStyles(this.emotion);\n const labelProps = {\n className: this.emotion.cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.emotion.cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={this.emotion.cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(inputProps: React.InputHTMLAttributes<HTMLInputElement>, mask: string) {\n return (\n <InternalMaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n const styles = getStyles(this.emotion);\n return (\n <span\n className={this.emotion.cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n const styles = getStyles(this.emotion);\n placeholder = (\n <div\n className={this.emotion.cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return this.emotion.cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return this.emotion.cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return this.emotion.cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InternalMaskedInput | InputElement | null) => {\n if (element instanceof InternalMaskedInput || (element && 'input' in element)) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","input","selectAll","setSelectionRange","value","length","delaySelectAll","globalObject","requestAnimationFrame","cancelDelayedSelectAll","cancelAnimationFrame","cancelBlink","callback","blinkTimeout","clearTimeout","setState","getInput","inputProps","props","element","React","cloneElement","mask","canBeUsedWithMask","renderMaskedInput","createElement","renderMain","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","styles","emotion","labelProps","className","cx","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","resetFocus","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","InternalMaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__","displayName"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, ClassAttributes, HTMLAttributes, ReactElement } from 'react';\nimport warning from 'warning';\nimport { globalObject, SafeTimer } from '@skbkontur/global-object';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { InternalMaskedInput } from '../../internal/InternalMaskedInput';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { isFunction } from '../../lib/utils';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { InputElement, InputElementProps } from './Input.typings';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\nimport { getStyles } from './Input.styles';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\n/**\n * @deprecated use SizeProp\n */\nexport type InputSize = SizeProp;\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /**\n * Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url`\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n mask?: Nullable<string>;\n /**\n * Символ маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /**\n * Показывать символы маски\n * @deprecated Со следующей мажорной версии Input перестанет поддерживать маску. Используйте MaskedInput\n */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: SizeProp;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает акцентным цветом.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Элемент заменяет нативный input.\n * Должен иметь пропы `InputElementProps` и тип `InputElement`\n * */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private emotion!: Emotion;\n private blinkTimeout: SafeTimer;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = globalObject.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n globalObject.setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number | null =>\n (this.selectAllId = globalObject.requestAnimationFrame?.(this.selectAll) ?? null);\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n globalObject.clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return this.props.mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, this.props.mask)\n : React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const styles = getStyles(this.emotion);\n const labelProps = {\n className: this.emotion.cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.emotion.cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={this.emotion.cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(inputProps: React.InputHTMLAttributes<HTMLInputElement>, mask: string) {\n return (\n <InternalMaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = isFunction(icon) ? icon() : icon;\n const styles = getStyles(this.emotion);\n return (\n <span\n className={this.emotion.cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled(this.theme)]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n const styles = getStyles(this.emotion);\n placeholder = (\n <div\n className={this.emotion.cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n const styles = getStyles(this.emotion);\n switch (this.getProps().size) {\n case 'large':\n return this.emotion.cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return this.emotion.cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return this.emotion.cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InternalMaskedInput | InputElement | null) => {\n if (element instanceof InternalMaskedInput || (element && 'input' in element)) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n const styles = getStyles(this.emotion);\n return (\n <span className={this.emotion.cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n}\n"]}
@@ -34,7 +34,7 @@ export declare const getStyles: (emotion: Emotion) => {
34
34
  rightContainer(): string;
35
35
  icon(): string;
36
36
  iconFocus(t: Theme): string;
37
- iconDisabled(): string;
37
+ iconDisabled(t: Theme): string;
38
38
  leftIconSmall(t: Theme): string;
39
39
  rightIconSmall(t: Theme): string;
40
40
  leftIconMedium(t: Theme): string;
@@ -398,9 +398,10 @@ var getStyles = function getStyles(emotion) {return (
398
398
 
399
399
  },
400
400
 
401
- iconDisabled: function iconDisabled() {
402
- return emotion.css(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteralLoose2.default)(["\n cursor: default;\n "])));
401
+ iconDisabled: function iconDisabled(t) {
402
+ return emotion.css(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteralLoose2.default)(["\n cursor: default;\n color: ", ";\n "])),
403
403
 
404
+ t.inputIconColorDisabled);
404
405
 
405
406
  },
406
407
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.styles.ts"],"names":["shouldCompensateFontFamily","fontFamilyCompensation","Boolean","parseInt","getStyles","emotion","wrapper","css","root","t","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","useDefaultColor","inputIconColor","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","fontFamilyCompensationBaseline","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconFocus","inputFocusedIconColor","iconDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nconst shouldCompensateFontFamily = (fontFamilyCompensation: string): boolean =>\n Boolean(parseInt(fontFamilyCompensation));\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n wrapper() {\n return emotion.css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return emotion.css`\n ${resetText(emotion)};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return emotion.css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return emotion.css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return emotion.css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return emotion.css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return emotion.css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = emotion.keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return emotion.css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-2' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '2' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return emotion.css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return emotion.css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return emotion.css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n\n iconDisabled() {\n return emotion.css`\n cursor: default;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return emotion.css`\n caret-color: transparent;\n `;\n },\n });\n"]}
1
+ {"version":3,"sources":["Input.styles.ts"],"names":["shouldCompensateFontFamily","fontFamilyCompensation","Boolean","parseInt","getStyles","emotion","wrapper","css","root","t","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","useDefaultColor","inputIconColor","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","fontFamilyCompensationBaseline","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconFocus","inputFocusedIconColor","iconDisabled","inputIconColorDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nconst shouldCompensateFontFamily = (fontFamilyCompensation: string): boolean =>\n Boolean(parseInt(fontFamilyCompensation));\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n wrapper() {\n return emotion.css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return emotion.css`\n ${resetText(emotion)};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return emotion.css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return emotion.css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return emotion.css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return emotion.css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return emotion.css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return emotion.css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return emotion.css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = emotion.keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return emotion.css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return emotion.css`\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-2' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '2' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return emotion.css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return emotion.css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return emotion.css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n\n iconDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n color: ${t.inputIconColorDisabled};\n `;\n },\n\n leftIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return emotion.css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return emotion.css`\n caret-color: transparent;\n `;\n },\n });\n"]}
@@ -6,7 +6,7 @@ export declare const getStylesLayout: (emotion: Emotion) => {
6
6
  aside(): string;
7
7
  icon(t: Theme): string;
8
8
  iconFocus(t: Theme): string;
9
- iconDisabled(): string;
9
+ iconDisabled(t: Theme): string;
10
10
  text(t: Theme): string;
11
11
  textDisabled(t: Theme): string;
12
12
  };
@@ -40,9 +40,10 @@ var getStylesLayout = function getStylesLayout(emotion) {return (
40
40
  t.inputFocusedIconColor);
41
41
 
42
42
  },
43
- iconDisabled: function iconDisabled() {
44
- return emotion.css(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n cursor: default;\n "])));
43
+ iconDisabled: function iconDisabled(t) {
44
+ return emotion.css(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n cursor: default;\n color: ", ";\n "])),
45
45
 
46
+ t.inputIconColorDisabled);
46
47
 
47
48
  },
48
49
  text: function text(t) {
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayout.styles.ts"],"names":["getStylesLayout","emotion","root","t","input","css","aside","ZERO_WIDTH_SPACE_CSS","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":";;AAEA;AACA;;AAEA,wC;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,OAAD;AAC7B,+BAAa;AACXC,MAAAA,IADW,gBACNC,CADM,EACI;AACb,eAAO,sBAAUF,OAAV,EAAmBC,IAAnB,CAAwBC,CAAxB,CAAP;AACD,OAHU;AAIXC,MAAAA,KAJW,mBAIH;AACN,eAAOH,OAAO,CAACI,GAAf;;;;;;;AAOD,OAZU;AAaXC,MAAAA,KAbW,mBAaH;AACN,eAAOL,OAAO,CAACI,GAAf;;;;;;AAMgBE,mCANhB;;;AASD,OAvBU;AAwBXC,MAAAA,IAxBW,gBAwBNL,CAxBM,EAwBI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACM,cADb;;AAGD,OA5BU;AA6BXC,MAAAA,SA7BW,qBA6BDP,CA7BC,EA6BS;AAClB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACQ,qBADb;;AAGD,OAjCU;AAkCXC,MAAAA,YAlCW,0BAkCI;AACb,eAAOX,OAAO,CAACI,GAAf;;;AAGD,OAtCU;AAuCXQ,MAAAA,IAvCW,gBAuCNV,CAvCM,EAuCI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACW,qBADb;;AAGD,OA3CU;AA4CXC,MAAAA,YA5CW,wBA4CEZ,CA5CF,EA4CY;AACrB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACa,6BADb;;AAGD,OAhDU,EAAb,CAD6B,GAAxB,C","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars';\nimport { memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { getStyles } from '../Input.styles';\n\nexport const getStylesLayout = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return getStyles(emotion).root(t);\n },\n input() {\n return emotion.css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return emotion.css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled() {\n return emotion.css`\n cursor: default;\n `;\n },\n text(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n });\n"]}
1
+ {"version":3,"sources":["InputLayout.styles.ts"],"names":["getStylesLayout","emotion","root","t","input","css","aside","ZERO_WIDTH_SPACE_CSS","icon","inputIconColor","iconFocus","inputFocusedIconColor","iconDisabled","inputIconColorDisabled","text","inputPlaceholderColor","textDisabled","inputPlaceholderColorDisabled"],"mappings":";;AAEA;AACA;;AAEA,wC;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,OAAD;AAC7B,+BAAa;AACXC,MAAAA,IADW,gBACNC,CADM,EACI;AACb,eAAO,sBAAUF,OAAV,EAAmBC,IAAnB,CAAwBC,CAAxB,CAAP;AACD,OAHU;AAIXC,MAAAA,KAJW,mBAIH;AACN,eAAOH,OAAO,CAACI,GAAf;;;;;;;AAOD,OAZU;AAaXC,MAAAA,KAbW,mBAaH;AACN,eAAOL,OAAO,CAACI,GAAf;;;;;;AAMgBE,mCANhB;;;AASD,OAvBU;AAwBXC,MAAAA,IAxBW,gBAwBNL,CAxBM,EAwBI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACM,cADb;;AAGD,OA5BU;AA6BXC,MAAAA,SA7BW,qBA6BDP,CA7BC,EA6BS;AAClB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACQ,qBADb;;AAGD,OAjCU;AAkCXC,MAAAA,YAlCW,wBAkCET,CAlCF,EAkCY;AACrB,eAAOF,OAAO,CAACI,GAAf;;AAEWF,QAAAA,CAAC,CAACU,sBAFb;;AAID,OAvCU;AAwCXC,MAAAA,IAxCW,gBAwCNX,CAxCM,EAwCI;AACb,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACY,qBADb;;AAGD,OA5CU;AA6CXC,MAAAA,YA7CW,wBA6CEb,CA7CF,EA6CY;AACrB,eAAOF,OAAO,CAACI,GAAf;AACWF,QAAAA,CAAC,CAACc,6BADb;;AAGD,OAjDU,EAAb,CAD6B,GAAxB,C","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars';\nimport { memoizeStyle } from '../../../lib/theming/Emotion';\nimport { Theme } from '../../../lib/theming/Theme';\nimport { getStyles } from '../Input.styles';\n\nexport const getStylesLayout = (emotion: Emotion) =>\n memoizeStyle({\n root(t: Theme) {\n return getStyles(emotion).root(t);\n },\n input() {\n return emotion.css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return emotion.css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n color: ${t.inputIconColorDisabled};\n `;\n },\n text(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n });\n"]}
@@ -55,7 +55,7 @@ var InputLayoutAsideIcon = function InputLayoutAsideIcon(_ref) {var _ref$icon =
55
55
  stylesLayout.aside(),
56
56
  stylesLayout.icon(theme),
57
57
  focused && stylesLayout.iconFocus(theme),
58
- disabled && stylesLayout.iconDisabled()) },
58
+ disabled && stylesLayout.iconDisabled(theme)) },
59
59
 
60
60
 
61
61
  _icon));
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["InputLayoutAsideIcon","icon","side","emotion","theme","React","useContext","InputLayoutContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","cx","aside","iconFocus","iconDisabled"],"mappings":"0KAAA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;;;;;;AAOO,IAAMA,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,OAAO,GAAG,0BAAhB;AACA,MAAMC,KAAK,GAAG,yBAAd;AACA,0BAAoCC,eAAMC,UAAN,CAAiBC,sCAAjB,CAApC,CAAQC,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACT,KAAK,CAACU,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACT,KAAK,CAACY,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACT,KAAK,CAACc,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACT,KAAK,CAACgB,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACT,KAAK,CAACiB,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACT,KAAK,CAACkB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGtB,IAAI,YAAYuB,QAAhB,GAA2BvB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAI,wBAAUA,IAAV,KAAmB,yBAAaA,IAAb,CAAvB,EAA2C;AACzCsB,IAAAA,KAAK,gBAAGlB,eAAMoB,YAAN,CAAmBxB,IAAnB,EAAyB,EAAES,IAAI,sBAAET,IAAI,CAACyB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIzB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpByB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED,MAAMoB,YAAY,GAAG,kCAAgB3B,OAAhB,CAArB;;AAEA;AACEoB,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAExB,OAAO,CAAC4B,EAAR;AACTD,MAAAA,YAAY,CAACE,KAAb,EADS;AAETF,MAAAA,YAAY,CAAC7B,IAAb,CAAkBG,KAAlB,CAFS;AAGTI,MAAAA,OAAO,IAAIsB,YAAY,CAACG,SAAb,CAAuB7B,KAAvB,CAHF;AAITK,MAAAA,QAAQ,IAAIqB,YAAY,CAACI,YAAb,EAJH,CAFb;;;AASGX,IAAAA,KATH,CAFJ;;;;AAeD,CA/CM,C","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { useEmotion } from '../../../lib/theming/Emotion';\nimport { SizeProp } from '../../../lib/types/props';\nimport { useTheme } from '../../../lib/theming/useTheme';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { getStylesLayout } from './InputLayout.styles';\n\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const emotion = useEmotion();\n const theme = useTheme();\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n const stylesLayout = getStylesLayout(emotion);\n\n return (\n _icon && (\n <span\n style={style}\n className={emotion.cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
1
+ {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["InputLayoutAsideIcon","icon","side","emotion","theme","React","useContext","InputLayoutContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","cx","aside","iconFocus","iconDisabled"],"mappings":"0KAAA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;;;;;;AAOO,IAAMA,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,OAAO,GAAG,0BAAhB;AACA,MAAMC,KAAK,GAAG,yBAAd;AACA,0BAAoCC,eAAMC,UAAN,CAAiBC,sCAAjB,CAApC,CAAQC,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACT,KAAK,CAACU,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACT,KAAK,CAACY,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACT,KAAK,CAACc,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACT,KAAK,CAACgB,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACT,KAAK,CAACiB,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACT,KAAK,CAACkB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGtB,IAAI,YAAYuB,QAAhB,GAA2BvB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAI,wBAAUA,IAAV,KAAmB,yBAAaA,IAAb,CAAvB,EAA2C;AACzCsB,IAAAA,KAAK,gBAAGlB,eAAMoB,YAAN,CAAmBxB,IAAnB,EAAyB,EAAES,IAAI,sBAAET,IAAI,CAACyB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIzB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpByB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED,MAAMoB,YAAY,GAAG,kCAAgB3B,OAAhB,CAArB;;AAEA;AACEoB,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAExB,OAAO,CAAC4B,EAAR;AACTD,MAAAA,YAAY,CAACE,KAAb,EADS;AAETF,MAAAA,YAAY,CAAC7B,IAAb,CAAkBG,KAAlB,CAFS;AAGTI,MAAAA,OAAO,IAAIsB,YAAY,CAACG,SAAb,CAAuB7B,KAAvB,CAHF;AAITK,MAAAA,QAAQ,IAAIqB,YAAY,CAACI,YAAb,CAA0B9B,KAA1B,CAJH,CAFb;;;AASGmB,IAAAA,KATH,CAFJ;;;;AAeD,CA/CM,C","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { useEmotion } from '../../../lib/theming/Emotion';\nimport { SizeProp } from '../../../lib/types/props';\nimport { useTheme } from '../../../lib/theming/useTheme';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { getStylesLayout } from './InputLayout.styles';\n\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const emotion = useEmotion();\n const theme = useTheme();\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n const stylesLayout = getStylesLayout(emotion);\n\n return (\n _icon && (\n <span\n style={style}\n className={emotion.cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(theme),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}