@skbkontur/react-ui 3.8.3 → 3.8.4-adaptive.1

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 (899) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +124 -112
  3. package/cjs/components/Autocomplete/Autocomplete.js +84 -8
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  6. package/cjs/components/Autocomplete/Autocomplete.styles.js +10 -0
  7. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  8. package/cjs/components/Autocomplete/index.d.ts +1 -1
  9. package/cjs/components/Button/Button.d.ts +101 -101
  10. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  11. package/cjs/components/Button/Button.styles.d.ts +67 -67
  12. package/cjs/components/Button/Corners.d.ts +6 -6
  13. package/cjs/components/Button/index.d.ts +1 -1
  14. package/cjs/components/Center/Center.d.ts +24 -28
  15. package/cjs/components/Center/Center.js +1 -6
  16. package/cjs/components/Center/Center.js.map +1 -1
  17. package/cjs/components/Center/Center.md +24 -3
  18. package/cjs/components/Center/Center.styles.d.ts +7 -7
  19. package/cjs/components/Center/index.d.ts +1 -1
  20. package/cjs/components/Checkbox/Checkbox.d.ts +79 -79
  21. package/cjs/components/Checkbox/Checkbox.styles.d.ts +22 -22
  22. package/cjs/components/Checkbox/index.d.ts +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +176 -176
  24. package/cjs/components/ComboBox/index.d.ts +1 -1
  25. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  26. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +105 -105
  27. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  28. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  29. package/cjs/components/CurrencyInput/CursorHelper.d.ts +10 -10
  30. package/cjs/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  31. package/cjs/components/CurrencyInput/constants.d.ts +2 -2
  32. package/cjs/components/CurrencyInput/index.d.ts +1 -1
  33. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  34. package/cjs/components/CurrencyLabel/index.d.ts +1 -1
  35. package/cjs/components/DateInput/DateFragmentsView.d.ts +20 -20
  36. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  37. package/cjs/components/DateInput/DateInput.d.ts +100 -100
  38. package/cjs/components/DateInput/DateInput.js +3 -1
  39. package/cjs/components/DateInput/DateInput.js.map +1 -1
  40. package/cjs/components/DateInput/DateInput.styles.d.ts +10 -8
  41. package/cjs/components/DateInput/DateInput.styles.js +13 -1
  42. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  43. package/cjs/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  44. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  45. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  46. package/cjs/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  47. package/cjs/components/DateInput/helpers/inputNumber.d.ts +5 -5
  48. package/cjs/components/DateInput/index.d.ts +1 -1
  49. package/cjs/components/DatePicker/DatePicker.d.ts +126 -126
  50. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -3
  51. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  52. package/cjs/components/DatePicker/Picker.d.ts +33 -33
  53. package/cjs/components/DatePicker/Picker.styles.d.ts +5 -5
  54. package/cjs/components/DatePicker/index.d.ts +1 -1
  55. package/cjs/components/DatePicker/locale/index.d.ts +4 -4
  56. package/cjs/components/DatePicker/locale/locales/en.d.ts +2 -2
  57. package/cjs/components/DatePicker/locale/locales/ru.d.ts +2 -2
  58. package/cjs/components/DatePicker/locale/types.d.ts +5 -5
  59. package/cjs/components/Dropdown/Dropdown.d.ts +123 -123
  60. package/cjs/components/Dropdown/index.d.ts +1 -1
  61. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +64 -64
  62. package/cjs/components/DropdownMenu/index.d.ts +1 -1
  63. package/cjs/components/FxInput/FxInput.d.ts +49 -49
  64. package/cjs/components/FxInput/index.d.ts +1 -1
  65. package/cjs/components/Gapped/Gapped.d.ts +56 -56
  66. package/cjs/components/Gapped/index.d.ts +1 -1
  67. package/cjs/components/Group/Group.d.ts +13 -13
  68. package/cjs/components/Group/Group.styles.d.ts +8 -8
  69. package/cjs/components/Group/index.d.ts +1 -1
  70. package/cjs/components/Hint/Hint.d.ts +41 -41
  71. package/cjs/components/Hint/Hint.styles.d.ts +5 -5
  72. package/cjs/components/Hint/index.d.ts +1 -1
  73. package/cjs/components/Input/Input.d.ts +146 -146
  74. package/cjs/components/Input/Input.styles.d.ts +42 -42
  75. package/cjs/components/Input/index.d.ts +1 -1
  76. package/cjs/components/Kebab/Kebab.d.ts +70 -70
  77. package/cjs/components/Kebab/Kebab.styles.d.ts +12 -12
  78. package/cjs/components/Kebab/index.d.ts +1 -1
  79. package/cjs/components/Link/Link.d.ts +53 -53
  80. package/cjs/components/Link/Link.mixins.d.ts +3 -3
  81. package/cjs/components/Link/Link.styles.d.ts +15 -15
  82. package/cjs/components/Link/index.d.ts +1 -1
  83. package/cjs/components/Loader/Loader.d.ts +99 -99
  84. package/cjs/components/Loader/Loader.styles.d.ts +8 -8
  85. package/cjs/components/Loader/index.d.ts +1 -1
  86. package/cjs/components/MenuHeader/MenuHeader.d.ts +20 -20
  87. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  88. package/cjs/components/MenuHeader/index.d.ts +1 -1
  89. package/cjs/components/MenuItem/MenuItem.d.ts +59 -58
  90. package/cjs/components/MenuItem/MenuItem.js +15 -1
  91. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  92. package/cjs/components/MenuItem/MenuItem.styles.d.ts +14 -13
  93. package/cjs/components/MenuItem/MenuItem.styles.js +18 -10
  94. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  95. package/cjs/components/MenuItem/index.d.ts +1 -1
  96. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  97. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  98. package/cjs/components/MenuSeparator/index.d.ts +1 -1
  99. package/cjs/components/Modal/Modal.d.ts +87 -87
  100. package/cjs/components/Modal/Modal.styles.d.ts +26 -26
  101. package/cjs/components/Modal/ModalBody.d.ts +20 -20
  102. package/cjs/components/Modal/ModalClose.d.ts +2 -2
  103. package/cjs/components/Modal/ModalContext.d.ts +15 -15
  104. package/cjs/components/Modal/ModalFooter.d.ts +21 -21
  105. package/cjs/components/Modal/ModalHeader.d.ts +17 -17
  106. package/cjs/components/Modal/index.d.ts +4 -4
  107. package/cjs/components/Paging/NavigationHelper.d.ts +7 -7
  108. package/cjs/components/Paging/Paging.d.ts +90 -90
  109. package/cjs/components/Paging/Paging.styles.d.ts +16 -16
  110. package/cjs/components/Paging/PagingHelper.d.ts +2 -2
  111. package/cjs/components/Paging/index.d.ts +1 -1
  112. package/cjs/components/Paging/locale/index.d.ts +4 -4
  113. package/cjs/components/Paging/locale/locales/en.d.ts +2 -2
  114. package/cjs/components/Paging/locale/locales/ru.d.ts +2 -2
  115. package/cjs/components/Paging/locale/types.d.ts +3 -3
  116. package/cjs/components/PasswordInput/PasswordInput.d.ts +48 -48
  117. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  118. package/cjs/components/PasswordInput/index.d.ts +1 -1
  119. package/cjs/components/Radio/Radio.d.ts +66 -66
  120. package/cjs/components/Radio/Radio.styles.d.ts +19 -19
  121. package/cjs/components/Radio/index.d.ts +1 -1
  122. package/cjs/components/RadioGroup/Prevent.d.ts +8 -8
  123. package/cjs/components/RadioGroup/RadioGroup.d.ts +132 -142
  124. package/cjs/components/RadioGroup/RadioGroup.js +25 -71
  125. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  126. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  127. package/cjs/components/RadioGroup/index.d.ts +1 -1
  128. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +41 -0
  129. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +120 -0
  130. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  131. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  132. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +93 -0
  133. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -0
  134. package/cjs/components/ResponsiveLayout/index.d.ts +1 -0
  135. package/cjs/components/ResponsiveLayout/index.js +1 -0
  136. package/cjs/components/ResponsiveLayout/index.js.map +1 -0
  137. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -37
  138. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  139. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +87 -83
  140. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  141. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -0
  142. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  143. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  144. package/cjs/components/ScrollContainer/index.d.ts +1 -1
  145. package/cjs/components/Select/Item.d.ts +7 -7
  146. package/cjs/components/Select/Select.d.ts +185 -175
  147. package/cjs/components/Select/Select.js +69 -2
  148. package/cjs/components/Select/Select.js.map +1 -1
  149. package/cjs/components/Select/Select.md +12 -0
  150. package/cjs/components/Select/Select.styles.d.ts +18 -16
  151. package/cjs/components/Select/Select.styles.js +25 -13
  152. package/cjs/components/Select/Select.styles.js.map +1 -1
  153. package/cjs/components/Select/index.d.ts +1 -1
  154. package/cjs/components/Select/locale/index.d.ts +4 -4
  155. package/cjs/components/Select/locale/locales/en.d.ts +2 -2
  156. package/cjs/components/Select/locale/locales/ru.d.ts +2 -2
  157. package/cjs/components/Select/locale/types.d.ts +4 -4
  158. package/cjs/components/Select/selectTheme.d.ts +3 -3
  159. package/cjs/components/Select/selectTheme.js +5 -1
  160. package/cjs/components/Select/selectTheme.js.map +1 -1
  161. package/cjs/components/SidePage/SidePage.d.ts +99 -99
  162. package/cjs/components/SidePage/SidePage.styles.d.ts +34 -34
  163. package/cjs/components/SidePage/SidePageBody.d.ts +18 -18
  164. package/cjs/components/SidePage/SidePageContainer.d.ts +14 -14
  165. package/cjs/components/SidePage/SidePageContext.d.ts +15 -15
  166. package/cjs/components/SidePage/SidePageFooter.d.ts +37 -37
  167. package/cjs/components/SidePage/SidePageHeader.d.ts +40 -40
  168. package/cjs/components/SidePage/index.d.ts +5 -5
  169. package/cjs/components/Spinner/Spinner.d.ts +47 -47
  170. package/cjs/components/Spinner/Spinner.styles.d.ts +11 -11
  171. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  172. package/cjs/components/Spinner/index.d.ts +1 -1
  173. package/cjs/components/Spinner/locale/index.d.ts +4 -4
  174. package/cjs/components/Spinner/locale/locales/en.d.ts +2 -2
  175. package/cjs/components/Spinner/locale/locales/ru.d.ts +2 -2
  176. package/cjs/components/Spinner/locale/types.d.ts +4 -4
  177. package/cjs/components/Sticky/Sticky.d.ts +53 -53
  178. package/cjs/components/Sticky/Sticky.styles.d.ts +7 -7
  179. package/cjs/components/Sticky/index.d.ts +1 -1
  180. package/cjs/components/Switcher/Switcher.d.ts +55 -55
  181. package/cjs/components/Switcher/Switcher.styles.d.ts +10 -10
  182. package/cjs/components/Switcher/index.d.ts +1 -1
  183. package/cjs/components/Switcher/switcherTheme.d.ts +2 -2
  184. package/cjs/components/Tabs/Indicator.d.ts +27 -27
  185. package/cjs/components/Tabs/Indicator.styles.d.ts +8 -8
  186. package/cjs/components/Tabs/Tab.d.ts +120 -120
  187. package/cjs/components/Tabs/Tab.styles.d.ts +27 -27
  188. package/cjs/components/Tabs/Tabs.d.ts +61 -61
  189. package/cjs/components/Tabs/Tabs.styles.d.ts +5 -5
  190. package/cjs/components/Tabs/TabsContext.d.ts +14 -14
  191. package/cjs/components/Tabs/index.d.ts +2 -2
  192. package/cjs/components/Textarea/Textarea.d.ts +180 -180
  193. package/cjs/components/Textarea/Textarea.styles.d.ts +14 -14
  194. package/cjs/components/Textarea/TextareaCounter.d.ts +13 -13
  195. package/cjs/components/Textarea/TextareaHelpers.d.ts +11 -11
  196. package/cjs/components/Textarea/index.d.ts +1 -1
  197. package/cjs/components/Toast/Toast.d.ts +55 -55
  198. package/cjs/components/Toast/Toast.styles.d.ts +6 -6
  199. package/cjs/components/Toast/ToastStatic.d.ts +8 -8
  200. package/cjs/components/Toast/ToastView.d.ts +37 -37
  201. package/cjs/components/Toast/ToastView.styles.d.ts +8 -8
  202. package/cjs/components/Toast/index.d.ts +1 -1
  203. package/cjs/components/Toggle/Toggle.d.ts +106 -106
  204. package/cjs/components/Toggle/Toggle.styles.d.ts +30 -30
  205. package/cjs/components/Toggle/index.d.ts +1 -1
  206. package/cjs/components/Token/Token.d.ts +29 -29
  207. package/cjs/components/Token/Token.styles.d.ts +29 -29
  208. package/cjs/components/Token/index.d.ts +1 -1
  209. package/cjs/components/TokenInput/TextWidthHelper.d.ts +18 -18
  210. package/cjs/components/TokenInput/TokenInput.d.ts +187 -187
  211. package/cjs/components/TokenInput/TokenInput.styles.d.ts +15 -15
  212. package/cjs/components/TokenInput/TokenInputMenu.d.ts +18 -18
  213. package/cjs/components/TokenInput/TokenInputReducer.d.ts +25 -25
  214. package/cjs/components/TokenInput/index.d.ts +1 -1
  215. package/cjs/components/TokenInput/locale/index.d.ts +4 -4
  216. package/cjs/components/TokenInput/locale/locales/en.d.ts +2 -2
  217. package/cjs/components/TokenInput/locale/locales/ru.d.ts +2 -2
  218. package/cjs/components/TokenInput/locale/types.d.ts +4 -4
  219. package/cjs/components/Tooltip/Tooltip.d.ts +170 -170
  220. package/cjs/components/Tooltip/Tooltip.styles.d.ts +5 -5
  221. package/cjs/components/Tooltip/index.d.ts +1 -1
  222. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +64 -64
  223. package/cjs/components/TooltipMenu/index.d.ts +1 -1
  224. package/cjs/index.d.ts +48 -48
  225. package/cjs/internal/BGRuler.d.ts +30 -30
  226. package/cjs/internal/Calendar/Calendar.d.ts +66 -66
  227. package/cjs/internal/Calendar/Calendar.styles.d.ts +5 -5
  228. package/cjs/internal/Calendar/CalendarDateShape.d.ts +14 -14
  229. package/cjs/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  230. package/cjs/internal/Calendar/CalendarUtils.d.ts +19 -19
  231. package/cjs/internal/Calendar/DayCellView.d.ts +13 -13
  232. package/cjs/internal/Calendar/DayCellView.styles.d.ts +7 -7
  233. package/cjs/internal/Calendar/DayCellViewModel.d.ts +8 -8
  234. package/cjs/internal/Calendar/Month.d.ts +33 -33
  235. package/cjs/internal/Calendar/MonthView.d.ts +21 -21
  236. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -9
  237. package/cjs/internal/Calendar/MonthViewModel.d.ts +14 -14
  238. package/cjs/internal/Calendar/config.d.ts +9 -9
  239. package/cjs/internal/Calendar/index.d.ts +2 -2
  240. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +23 -23
  241. package/cjs/internal/CommonWrapper/index.d.ts +1 -1
  242. package/cjs/internal/ComponentCombinator.d.ts +25 -25
  243. package/cjs/internal/ComponentTable.d.ts +21 -21
  244. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +32 -31
  245. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +16 -2
  246. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  247. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +94 -81
  248. package/cjs/internal/CustomComboBox/ComboBoxView.js +94 -10
  249. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  250. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +129 -129
  251. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -0
  252. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  253. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  254. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  255. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  256. package/cjs/internal/CustomComboBox/index.d.ts +2 -2
  257. package/cjs/internal/CustomComboBox/locale/index.d.ts +4 -4
  258. package/cjs/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  259. package/cjs/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  260. package/cjs/internal/CustomComboBox/locale/types.d.ts +5 -5
  261. package/cjs/internal/DateSelect/DateSelect.d.ts +93 -93
  262. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  263. package/cjs/internal/DateSelect/index.d.ts +1 -1
  264. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +46 -46
  265. package/cjs/internal/DropdownContainer/index.d.ts +1 -1
  266. package/cjs/internal/FocusTrap/FocusTrap.d.ts +16 -16
  267. package/cjs/internal/FocusTrap/index.d.ts +1 -1
  268. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  269. package/cjs/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  270. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  271. package/cjs/internal/IgnoreLayerClick/index.d.ts +1 -1
  272. package/cjs/internal/InputLikeText/HiddenInput.d.ts +13 -13
  273. package/cjs/internal/InputLikeText/InputLikeText.d.ts +72 -72
  274. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  275. package/cjs/internal/InputLikeText/index.d.ts +1 -1
  276. package/cjs/internal/InternalMenu/InternalMenu.d.ts +69 -64
  277. package/cjs/internal/InternalMenu/InternalMenu.js +6 -1
  278. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  279. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  280. package/cjs/internal/InternalMenu/index.d.ts +1 -1
  281. package/cjs/internal/InternalMenu/isActiveElement.d.ts +3 -3
  282. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  283. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  284. package/cjs/internal/MaskCharLowLine/index.d.ts +1 -1
  285. package/cjs/internal/MaskedInput/MaskedInput.d.ts +40 -40
  286. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  287. package/cjs/internal/MaskedInput/index.d.ts +1 -1
  288. package/cjs/internal/Menu/Menu.d.ts +67 -62
  289. package/cjs/internal/Menu/Menu.js +40 -33
  290. package/cjs/internal/Menu/Menu.js.map +1 -1
  291. package/cjs/internal/Menu/Menu.styles.d.ts +6 -6
  292. package/cjs/internal/Menu/index.d.ts +1 -1
  293. package/cjs/internal/Menu/isActiveElement.d.ts +3 -3
  294. package/cjs/internal/MobilePopup/MobilePopup.d.ts +27 -0
  295. package/cjs/internal/MobilePopup/MobilePopup.js +106 -0
  296. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -0
  297. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +9 -0
  298. package/cjs/internal/MobilePopup/MobilePopup.styles.js +67 -0
  299. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  300. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  301. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +69 -0
  302. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  303. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  304. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +65 -0
  305. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  306. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  307. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js +1 -0
  308. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -0
  309. package/cjs/internal/MobilePopup/index.d.ts +1 -0
  310. package/cjs/internal/MobilePopup/index.js +1 -0
  311. package/cjs/internal/MobilePopup/index.js.map +1 -0
  312. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  313. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  314. package/cjs/internal/NativeDateInput/index.d.ts +1 -1
  315. package/cjs/internal/NativeDateInput/utils.d.ts +7 -7
  316. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  317. package/cjs/internal/Popup/Popup.d.ts +148 -148
  318. package/cjs/internal/Popup/Popup.styles.d.ts +16 -16
  319. package/cjs/internal/Popup/PopupHelper.d.ts +26 -26
  320. package/cjs/internal/Popup/PopupPin.d.ts +56 -56
  321. package/cjs/internal/Popup/PopupPin.styles.d.ts +3 -3
  322. package/cjs/internal/Popup/index.d.ts +1 -1
  323. package/cjs/internal/PopupMenu/PopupMenu.d.ts +85 -85
  324. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  325. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  326. package/cjs/internal/PopupMenu/index.d.ts +1 -1
  327. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  328. package/cjs/internal/RenderContainer/RenderContainer.d.ts +16 -16
  329. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  330. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  331. package/cjs/internal/RenderContainer/index.d.ts +1 -1
  332. package/cjs/internal/RenderLayer/RenderLayer.d.ts +27 -27
  333. package/cjs/internal/RenderLayer/index.d.ts +1 -1
  334. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  335. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  336. package/cjs/internal/ResizeDetector/index.d.ts +1 -1
  337. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  338. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  339. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  340. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  341. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  342. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  343. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  344. package/cjs/internal/ThemePlayground/Playground.d.ts +31 -31
  345. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  346. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  347. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  348. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  349. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  350. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  351. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  352. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  353. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  354. package/cjs/internal/ThemePlayground/VariableValue.d.ts +45 -45
  355. package/cjs/internal/ThemePlayground/constants.d.ts +18 -18
  356. package/cjs/internal/ThemePlayground/darkTheme.d.ts +255 -255
  357. package/cjs/internal/ThemePlayground/helpers.d.ts +2 -2
  358. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  359. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  360. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  361. package/cjs/internal/ZIndex/ZIndex.d.ts +34 -34
  362. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  363. package/cjs/internal/ZIndex/index.d.ts +1 -1
  364. package/cjs/internal/icons/16px/icon.styles.d.ts +4 -4
  365. package/cjs/internal/icons/16px/index.d.ts +21 -21
  366. package/cjs/internal/icons/20px/Icon.d.ts +30 -30
  367. package/cjs/internal/icons/20px/icon.styles.d.ts +4 -4
  368. package/cjs/internal/icons/20px/index.d.ts +2 -2
  369. package/cjs/internal/icons/20px/svg.d.ts +14 -14
  370. package/cjs/internal/icons/CloudIcon.d.ts +1 -1
  371. package/cjs/internal/icons/CrossIcon.d.ts +1 -1
  372. package/cjs/internal/icons/SpinnerIcon.d.ts +23 -23
  373. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  374. package/cjs/internal/themes/DefaultTheme.d.ts +779 -762
  375. package/cjs/internal/themes/DefaultTheme.js +39 -6
  376. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  377. package/cjs/internal/themes/FlatTheme.d.ts +132 -132
  378. package/cjs/internal/themes/Theme8px.d.ts +271 -271
  379. package/cjs/lib/ConditionalHandler.d.ts +11 -11
  380. package/cjs/lib/LayoutEvents.d.ts +4 -4
  381. package/cjs/lib/ModalStack.d.ts +14 -14
  382. package/cjs/lib/SSRSafe.d.ts +4 -4
  383. package/cjs/lib/Supports.d.ts +1 -1
  384. package/cjs/lib/Upgrades.d.ts +6 -6
  385. package/cjs/lib/animation/index.d.ts +6 -6
  386. package/cjs/lib/animation/presets.d.ts +18 -18
  387. package/cjs/lib/animation/stepper.d.ts +1 -1
  388. package/cjs/lib/client.d.ts +16 -16
  389. package/cjs/lib/createPropsGetter.d.ts +2 -2
  390. package/cjs/lib/currentEnvironment.d.ts +3 -3
  391. package/cjs/lib/date/InternalDate.d.ts +58 -58
  392. package/cjs/lib/date/InternalDateCalculator.d.ts +6 -6
  393. package/cjs/lib/date/InternalDateGetter.d.ts +15 -15
  394. package/cjs/lib/date/InternalDateSetter.d.ts +6 -6
  395. package/cjs/lib/date/InternalDateTransformer.d.ts +12 -12
  396. package/cjs/lib/date/InternalDateValidator.d.ts +12 -12
  397. package/cjs/lib/date/constants.d.ts +28 -28
  398. package/cjs/lib/date/localeSets.d.ts +5 -5
  399. package/cjs/lib/date/types.d.ts +90 -90
  400. package/cjs/lib/dom/getScrollWidth.d.ts +1 -1
  401. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -16
  402. package/cjs/lib/events/MouseDrag.d.ts +58 -58
  403. package/cjs/lib/events/fixClickFocusIE.d.ts +1 -1
  404. package/cjs/lib/events/keyListener.d.ts +7 -7
  405. package/cjs/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  406. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  407. package/cjs/lib/events/keyboard/extractCode.d.ts +3 -3
  408. package/cjs/lib/events/keyboard/identifiers.d.ts +48 -48
  409. package/cjs/lib/events/stopPropagation.d.ts +1 -1
  410. package/cjs/lib/events/tabListener.d.ts +1 -1
  411. package/cjs/lib/extractKeyboardAction.d.ts +13 -13
  412. package/cjs/lib/filterProps.d.ts +12 -12
  413. package/cjs/lib/listenFocusOutside.d.ts +8 -8
  414. package/cjs/lib/locale/LocaleContext.d.ts +7 -7
  415. package/cjs/lib/locale/LocaleHelper.d.ts +9 -9
  416. package/cjs/lib/locale/constants.d.ts +2 -2
  417. package/cjs/lib/locale/decorators.d.ts +36 -36
  418. package/cjs/lib/locale/index.d.ts +3 -3
  419. package/cjs/lib/locale/types.d.ts +19 -19
  420. package/cjs/lib/memo.d.ts +1 -1
  421. package/cjs/lib/net/fetch.d.ts +13 -13
  422. package/cjs/lib/polyfillPlaceholder.d.ts +1 -1
  423. package/cjs/lib/reactGetTextContent.d.ts +2 -2
  424. package/cjs/lib/styles/ColorFactory.d.ts +11 -11
  425. package/cjs/lib/styles/ColorFunctions.d.ts +11 -11
  426. package/cjs/lib/styles/ColorHelpers.d.ts +20 -20
  427. package/cjs/lib/styles/ColorKeywords.d.ts +150 -150
  428. package/cjs/lib/styles/ColorObject.d.ts +52 -52
  429. package/cjs/lib/styles/DimensionFunctions.d.ts +1 -1
  430. package/cjs/lib/styles/HoldSelectionColor.d.ts +1 -1
  431. package/cjs/lib/styles/Mixins.d.ts +2 -2
  432. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  433. package/cjs/lib/theming/AnimationKeyframes.d.ts +9 -9
  434. package/cjs/lib/theming/Emotion.d.ts +15 -15
  435. package/cjs/lib/theming/Theme.d.ts +3 -3
  436. package/cjs/lib/theming/ThemeContext.d.ts +2 -2
  437. package/cjs/lib/theming/ThemeFactory.d.ts +8 -8
  438. package/cjs/lib/theming/ThemeHelpers.d.ts +11 -11
  439. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  440. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  441. package/cjs/lib/theming/themes/FlatTheme.d.ts +1 -1
  442. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  443. package/cjs/lib/utils.d.ts +28 -28
  444. package/components/Autocomplete/Autocomplete/Autocomplete.js +99 -30
  445. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  446. package/components/Autocomplete/Autocomplete.d.ts +124 -112
  447. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +10 -0
  448. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -0
  449. package/components/Autocomplete/Autocomplete.styles/package.json +6 -0
  450. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  451. package/components/Autocomplete/index.d.ts +1 -1
  452. package/components/Button/Button.d.ts +101 -101
  453. package/components/Button/Button.mixins.d.ts +6 -6
  454. package/components/Button/Button.styles.d.ts +67 -67
  455. package/components/Button/Corners.d.ts +6 -6
  456. package/components/Button/index.d.ts +1 -1
  457. package/components/Center/Center/Center.js +1 -2
  458. package/components/Center/Center/Center.js.map +1 -1
  459. package/components/Center/Center.d.ts +24 -28
  460. package/components/Center/Center.md +24 -3
  461. package/components/Center/Center.styles.d.ts +7 -7
  462. package/components/Center/index.d.ts +1 -1
  463. package/components/Checkbox/Checkbox.d.ts +79 -79
  464. package/components/Checkbox/Checkbox.styles.d.ts +22 -22
  465. package/components/Checkbox/index.d.ts +1 -1
  466. package/components/ComboBox/ComboBox.d.ts +176 -176
  467. package/components/ComboBox/index.d.ts +1 -1
  468. package/components/CurrencyInput/CurrencyHelper.d.ts +35 -35
  469. package/components/CurrencyInput/CurrencyInput.d.ts +105 -105
  470. package/components/CurrencyInput/CurrencyInputHelper.d.ts +20 -20
  471. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +18 -18
  472. package/components/CurrencyInput/CursorHelper.d.ts +10 -10
  473. package/components/CurrencyInput/SelectionHelper.d.ts +11 -11
  474. package/components/CurrencyInput/constants.d.ts +2 -2
  475. package/components/CurrencyInput/index.d.ts +1 -1
  476. package/components/CurrencyLabel/CurrencyLabel.d.ts +24 -24
  477. package/components/CurrencyLabel/index.d.ts +1 -1
  478. package/components/DateInput/DateFragmentsView.d.ts +20 -20
  479. package/components/DateInput/DateFragmentsView.styles.d.ts +7 -7
  480. package/components/DateInput/DateInput/DateInput.js +7 -3
  481. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  482. package/components/DateInput/DateInput.d.ts +100 -100
  483. package/components/DateInput/DateInput.styles/DateInput.styles.js +7 -1
  484. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  485. package/components/DateInput/DateInput.styles.d.ts +10 -8
  486. package/components/DateInput/ViewDateInputValidateChecks.d.ts +10 -10
  487. package/components/DateInput/helpers/DateInputKeyboardActions.d.ts +21 -21
  488. package/components/DateInput/helpers/InternalDateMediator.d.ts +26 -26
  489. package/components/DateInput/helpers/SelectionHelpers.d.ts +2 -2
  490. package/components/DateInput/helpers/inputNumber.d.ts +5 -5
  491. package/components/DateInput/index.d.ts +1 -1
  492. package/components/DatePicker/DatePicker.d.ts +126 -126
  493. package/components/DatePicker/DatePicker.styles.d.ts +3 -3
  494. package/components/DatePicker/DatePickerHelpers.d.ts +2 -2
  495. package/components/DatePicker/Picker.d.ts +33 -33
  496. package/components/DatePicker/Picker.styles.d.ts +5 -5
  497. package/components/DatePicker/index.d.ts +1 -1
  498. package/components/DatePicker/locale/index.d.ts +4 -4
  499. package/components/DatePicker/locale/locales/en.d.ts +2 -2
  500. package/components/DatePicker/locale/locales/ru.d.ts +2 -2
  501. package/components/DatePicker/locale/types.d.ts +5 -5
  502. package/components/Dropdown/Dropdown.d.ts +123 -123
  503. package/components/Dropdown/index.d.ts +1 -1
  504. package/components/DropdownMenu/DropdownMenu.d.ts +64 -64
  505. package/components/DropdownMenu/index.d.ts +1 -1
  506. package/components/FxInput/FxInput.d.ts +49 -49
  507. package/components/FxInput/index.d.ts +1 -1
  508. package/components/Gapped/Gapped.d.ts +56 -56
  509. package/components/Gapped/index.d.ts +1 -1
  510. package/components/Group/Group.d.ts +13 -13
  511. package/components/Group/Group.styles.d.ts +8 -8
  512. package/components/Group/index.d.ts +1 -1
  513. package/components/Hint/Hint.d.ts +41 -41
  514. package/components/Hint/Hint.styles.d.ts +5 -5
  515. package/components/Hint/index.d.ts +1 -1
  516. package/components/Input/Input.d.ts +146 -146
  517. package/components/Input/Input.styles.d.ts +42 -42
  518. package/components/Input/index.d.ts +1 -1
  519. package/components/Kebab/Kebab.d.ts +70 -70
  520. package/components/Kebab/Kebab.styles.d.ts +12 -12
  521. package/components/Kebab/index.d.ts +1 -1
  522. package/components/Link/Link.d.ts +53 -53
  523. package/components/Link/Link.mixins.d.ts +3 -3
  524. package/components/Link/Link.styles.d.ts +15 -15
  525. package/components/Link/index.d.ts +1 -1
  526. package/components/Loader/Loader.d.ts +99 -99
  527. package/components/Loader/Loader.styles.d.ts +8 -8
  528. package/components/Loader/index.d.ts +1 -1
  529. package/components/MenuHeader/MenuHeader.d.ts +20 -20
  530. package/components/MenuHeader/MenuHeader.styles.d.ts +5 -5
  531. package/components/MenuHeader/index.d.ts +1 -1
  532. package/components/MenuItem/MenuItem/MenuItem.js +3 -2
  533. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  534. package/components/MenuItem/MenuItem.d.ts +59 -58
  535. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +13 -10
  536. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  537. package/components/MenuItem/MenuItem.styles.d.ts +14 -13
  538. package/components/MenuItem/index.d.ts +1 -1
  539. package/components/MenuSeparator/MenuSeparator.d.ts +12 -12
  540. package/components/MenuSeparator/MenuSeparator.styles.d.ts +4 -4
  541. package/components/MenuSeparator/index.d.ts +1 -1
  542. package/components/Modal/Modal.d.ts +87 -87
  543. package/components/Modal/Modal.styles.d.ts +26 -26
  544. package/components/Modal/ModalBody.d.ts +20 -20
  545. package/components/Modal/ModalClose.d.ts +2 -2
  546. package/components/Modal/ModalContext.d.ts +15 -15
  547. package/components/Modal/ModalFooter.d.ts +21 -21
  548. package/components/Modal/ModalHeader.d.ts +17 -17
  549. package/components/Modal/index.d.ts +4 -4
  550. package/components/Paging/NavigationHelper.d.ts +7 -7
  551. package/components/Paging/Paging.d.ts +90 -90
  552. package/components/Paging/Paging.styles.d.ts +16 -16
  553. package/components/Paging/PagingHelper.d.ts +2 -2
  554. package/components/Paging/index.d.ts +1 -1
  555. package/components/Paging/locale/index.d.ts +4 -4
  556. package/components/Paging/locale/locales/en.d.ts +2 -2
  557. package/components/Paging/locale/locales/ru.d.ts +2 -2
  558. package/components/Paging/locale/types.d.ts +3 -3
  559. package/components/PasswordInput/PasswordInput.d.ts +48 -48
  560. package/components/PasswordInput/PasswordInput.styles.d.ts +10 -10
  561. package/components/PasswordInput/index.d.ts +1 -1
  562. package/components/Radio/Radio.d.ts +66 -66
  563. package/components/Radio/Radio.styles.d.ts +19 -19
  564. package/components/Radio/index.d.ts +1 -1
  565. package/components/RadioGroup/Prevent.d.ts +8 -8
  566. package/components/RadioGroup/RadioGroup/RadioGroup.js +0 -72
  567. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  568. package/components/RadioGroup/RadioGroup.d.ts +132 -142
  569. package/components/RadioGroup/RadioGroup.styles.d.ts +7 -7
  570. package/components/RadioGroup/index.d.ts +1 -1
  571. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +131 -0
  572. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  573. package/components/ResponsiveLayout/ResponsiveLayout/package.json +6 -0
  574. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +41 -0
  575. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +83 -0
  576. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -0
  577. package/components/ResponsiveLayout/ResponsiveLayoutEvents/package.json +6 -0
  578. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  579. package/components/ResponsiveLayout/index/index.js +1 -0
  580. package/components/ResponsiveLayout/index/index.js.map +1 -0
  581. package/components/ResponsiveLayout/index/package.json +6 -0
  582. package/components/ResponsiveLayout/index.d.ts +1 -0
  583. package/components/ResponsiveLayout/package.json +6 -0
  584. package/components/ScrollContainer/ScrollBar.d.ts +37 -37
  585. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
  586. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  587. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -23
  588. package/components/ScrollContainer/ScrollContainer.d.ts +87 -83
  589. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -10
  590. package/components/ScrollContainer/ScrollContainer.styles.d.ts +16 -16
  591. package/components/ScrollContainer/index.d.ts +1 -1
  592. package/components/Select/Item.d.ts +7 -7
  593. package/components/Select/Select/Select.js +106 -57
  594. package/components/Select/Select/Select.js.map +1 -1
  595. package/components/Select/Select.d.ts +185 -175
  596. package/components/Select/Select.md +12 -0
  597. package/components/Select/Select.styles/Select.styles.js +19 -13
  598. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  599. package/components/Select/Select.styles.d.ts +18 -16
  600. package/components/Select/index.d.ts +1 -1
  601. package/components/Select/locale/index.d.ts +4 -4
  602. package/components/Select/locale/locales/en.d.ts +2 -2
  603. package/components/Select/locale/locales/ru.d.ts +2 -2
  604. package/components/Select/locale/types.d.ts +4 -4
  605. package/components/Select/selectTheme/selectTheme.js +4 -1
  606. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  607. package/components/Select/selectTheme.d.ts +3 -3
  608. package/components/SidePage/SidePage.d.ts +99 -99
  609. package/components/SidePage/SidePage.styles.d.ts +34 -34
  610. package/components/SidePage/SidePageBody.d.ts +18 -18
  611. package/components/SidePage/SidePageContainer.d.ts +14 -14
  612. package/components/SidePage/SidePageContext.d.ts +15 -15
  613. package/components/SidePage/SidePageFooter.d.ts +37 -37
  614. package/components/SidePage/SidePageHeader.d.ts +40 -40
  615. package/components/SidePage/index.d.ts +5 -5
  616. package/components/Spinner/Spinner.d.ts +47 -47
  617. package/components/Spinner/Spinner.styles.d.ts +11 -11
  618. package/components/Spinner/SpinnerFallbackAnimation.d.ts +25 -25
  619. package/components/Spinner/index.d.ts +1 -1
  620. package/components/Spinner/locale/index.d.ts +4 -4
  621. package/components/Spinner/locale/locales/en.d.ts +2 -2
  622. package/components/Spinner/locale/locales/ru.d.ts +2 -2
  623. package/components/Spinner/locale/types.d.ts +4 -4
  624. package/components/Sticky/Sticky.d.ts +53 -53
  625. package/components/Sticky/Sticky.styles.d.ts +7 -7
  626. package/components/Sticky/index.d.ts +1 -1
  627. package/components/Switcher/Switcher.d.ts +55 -55
  628. package/components/Switcher/Switcher.styles.d.ts +10 -10
  629. package/components/Switcher/index.d.ts +1 -1
  630. package/components/Switcher/switcherTheme.d.ts +2 -2
  631. package/components/Tabs/Indicator.d.ts +27 -27
  632. package/components/Tabs/Indicator.styles.d.ts +8 -8
  633. package/components/Tabs/Tab.d.ts +120 -120
  634. package/components/Tabs/Tab.styles.d.ts +27 -27
  635. package/components/Tabs/Tabs.d.ts +61 -61
  636. package/components/Tabs/Tabs.styles.d.ts +5 -5
  637. package/components/Tabs/TabsContext.d.ts +14 -14
  638. package/components/Tabs/index.d.ts +2 -2
  639. package/components/Textarea/Textarea.d.ts +180 -180
  640. package/components/Textarea/Textarea.styles.d.ts +14 -14
  641. package/components/Textarea/TextareaCounter.d.ts +13 -13
  642. package/components/Textarea/TextareaHelpers.d.ts +11 -11
  643. package/components/Textarea/index.d.ts +1 -1
  644. package/components/Toast/Toast.d.ts +55 -55
  645. package/components/Toast/Toast.styles.d.ts +6 -6
  646. package/components/Toast/ToastStatic.d.ts +8 -8
  647. package/components/Toast/ToastView.d.ts +37 -37
  648. package/components/Toast/ToastView.styles.d.ts +8 -8
  649. package/components/Toast/index.d.ts +1 -1
  650. package/components/Toggle/Toggle.d.ts +106 -106
  651. package/components/Toggle/Toggle.styles.d.ts +30 -30
  652. package/components/Toggle/index.d.ts +1 -1
  653. package/components/Token/Token.d.ts +29 -29
  654. package/components/Token/Token.styles.d.ts +29 -29
  655. package/components/Token/index.d.ts +1 -1
  656. package/components/TokenInput/TextWidthHelper.d.ts +18 -18
  657. package/components/TokenInput/TokenInput.d.ts +187 -187
  658. package/components/TokenInput/TokenInput.styles.d.ts +15 -15
  659. package/components/TokenInput/TokenInputMenu.d.ts +18 -18
  660. package/components/TokenInput/TokenInputReducer.d.ts +25 -25
  661. package/components/TokenInput/index.d.ts +1 -1
  662. package/components/TokenInput/locale/index.d.ts +4 -4
  663. package/components/TokenInput/locale/locales/en.d.ts +2 -2
  664. package/components/TokenInput/locale/locales/ru.d.ts +2 -2
  665. package/components/TokenInput/locale/types.d.ts +4 -4
  666. package/components/Tooltip/Tooltip.d.ts +170 -170
  667. package/components/Tooltip/Tooltip.styles.d.ts +5 -5
  668. package/components/Tooltip/index.d.ts +1 -1
  669. package/components/TooltipMenu/TooltipMenu.d.ts +64 -64
  670. package/components/TooltipMenu/index.d.ts +1 -1
  671. package/index.d.ts +48 -48
  672. package/internal/BGRuler.d.ts +30 -30
  673. package/internal/Calendar/Calendar.d.ts +66 -66
  674. package/internal/Calendar/Calendar.styles.d.ts +5 -5
  675. package/internal/Calendar/CalendarDateShape.d.ts +14 -14
  676. package/internal/Calendar/CalendarScrollEvents.d.ts +4 -4
  677. package/internal/Calendar/CalendarUtils.d.ts +19 -19
  678. package/internal/Calendar/DayCellView.d.ts +13 -13
  679. package/internal/Calendar/DayCellView.styles.d.ts +7 -7
  680. package/internal/Calendar/DayCellViewModel.d.ts +8 -8
  681. package/internal/Calendar/Month.d.ts +33 -33
  682. package/internal/Calendar/MonthView.d.ts +21 -21
  683. package/internal/Calendar/MonthView.styles.d.ts +9 -9
  684. package/internal/Calendar/MonthViewModel.d.ts +14 -14
  685. package/internal/Calendar/config.d.ts +9 -9
  686. package/internal/Calendar/index.d.ts +2 -2
  687. package/internal/CommonWrapper/CommonWrapper.d.ts +23 -23
  688. package/internal/CommonWrapper/index.d.ts +1 -1
  689. package/internal/ComponentCombinator.d.ts +25 -25
  690. package/internal/ComponentTable.d.ts +21 -21
  691. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +29 -12
  692. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  693. package/internal/CustomComboBox/ComboBoxMenu.d.ts +32 -31
  694. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +173 -103
  695. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  696. package/internal/CustomComboBox/ComboBoxView.d.ts +94 -81
  697. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -0
  698. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  699. package/internal/CustomComboBox/CustomComboBox.d.ts +129 -129
  700. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +5 -5
  701. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +71 -71
  702. package/internal/CustomComboBox/CustomComboBoxTypes.d.ts +6 -6
  703. package/internal/CustomComboBox/index.d.ts +2 -2
  704. package/internal/CustomComboBox/locale/index.d.ts +4 -4
  705. package/internal/CustomComboBox/locale/locales/en.d.ts +2 -2
  706. package/internal/CustomComboBox/locale/locales/ru.d.ts +2 -2
  707. package/internal/CustomComboBox/locale/types.d.ts +5 -5
  708. package/internal/DateSelect/DateSelect.d.ts +93 -93
  709. package/internal/DateSelect/DateSelect.styles.d.ts +19 -19
  710. package/internal/DateSelect/index.d.ts +1 -1
  711. package/internal/DropdownContainer/DropdownContainer.d.ts +46 -46
  712. package/internal/DropdownContainer/index.d.ts +1 -1
  713. package/internal/FocusTrap/FocusTrap.d.ts +16 -16
  714. package/internal/FocusTrap/index.d.ts +1 -1
  715. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +14 -14
  716. package/internal/HideBodyVerticalScroll/index.d.ts +1 -1
  717. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +8 -8
  718. package/internal/IgnoreLayerClick/index.d.ts +1 -1
  719. package/internal/InputLikeText/HiddenInput.d.ts +13 -13
  720. package/internal/InputLikeText/InputLikeText.d.ts +72 -72
  721. package/internal/InputLikeText/InputLikeText.styles.d.ts +7 -7
  722. package/internal/InputLikeText/index.d.ts +1 -1
  723. package/internal/InternalMenu/InternalMenu/InternalMenu.js +1 -1
  724. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  725. package/internal/InternalMenu/InternalMenu.d.ts +69 -64
  726. package/internal/InternalMenu/InternalMenu.styles.d.ts +9 -9
  727. package/internal/InternalMenu/index.d.ts +1 -1
  728. package/internal/InternalMenu/isActiveElement.d.ts +3 -3
  729. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +9 -9
  730. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -3
  731. package/internal/MaskCharLowLine/index.d.ts +1 -1
  732. package/internal/MaskedInput/MaskedInput.d.ts +40 -40
  733. package/internal/MaskedInput/MaskedInput.styles.d.ts +6 -6
  734. package/internal/MaskedInput/index.d.ts +1 -1
  735. package/internal/Menu/Menu/Menu.js +50 -46
  736. package/internal/Menu/Menu/Menu.js.map +1 -1
  737. package/internal/Menu/Menu.d.ts +67 -62
  738. package/internal/Menu/Menu.styles.d.ts +6 -6
  739. package/internal/Menu/index.d.ts +1 -1
  740. package/internal/Menu/isActiveElement.d.ts +3 -3
  741. package/internal/MobilePopup/MobilePopup/MobilePopup.js +97 -0
  742. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -0
  743. package/internal/MobilePopup/MobilePopup/package.json +6 -0
  744. package/internal/MobilePopup/MobilePopup.d.ts +27 -0
  745. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +26 -0
  746. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -0
  747. package/internal/MobilePopup/MobilePopup.styles/package.json +6 -0
  748. package/internal/MobilePopup/MobilePopup.styles.d.ts +9 -0
  749. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +67 -0
  750. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  751. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/package.json +6 -0
  752. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  753. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +29 -0
  754. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -0
  755. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/package.json +6 -0
  756. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  757. package/internal/MobilePopup/MobilePopupHeader/index/index.js +1 -0
  758. package/internal/MobilePopup/MobilePopupHeader/index/index.js.map +1 -0
  759. package/internal/MobilePopup/MobilePopupHeader/index/package.json +6 -0
  760. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  761. package/internal/MobilePopup/MobilePopupHeader/package.json +6 -0
  762. package/internal/MobilePopup/index/index.js +1 -0
  763. package/internal/MobilePopup/index/index.js.map +1 -0
  764. package/internal/MobilePopup/index/package.json +6 -0
  765. package/internal/MobilePopup/index.d.ts +1 -0
  766. package/internal/MobilePopup/package.json +6 -0
  767. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -23
  768. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -3
  769. package/internal/NativeDateInput/index.d.ts +1 -1
  770. package/internal/NativeDateInput/utils.d.ts +7 -7
  771. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +7 -7
  772. package/internal/Popup/Popup.d.ts +148 -148
  773. package/internal/Popup/Popup.styles.d.ts +16 -16
  774. package/internal/Popup/PopupHelper.d.ts +26 -26
  775. package/internal/Popup/PopupPin.d.ts +56 -56
  776. package/internal/Popup/PopupPin.styles.d.ts +3 -3
  777. package/internal/Popup/index.d.ts +1 -1
  778. package/internal/PopupMenu/PopupMenu.d.ts +85 -85
  779. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -4
  780. package/internal/PopupMenu/PopupMenuPositions.d.ts +2 -2
  781. package/internal/PopupMenu/index.d.ts +1 -1
  782. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  783. package/internal/RenderContainer/RenderContainer.d.ts +16 -16
  784. package/internal/RenderContainer/RenderContainerTypes.d.ts +11 -11
  785. package/internal/RenderContainer/RenderInnerContainer.d.ts +13 -13
  786. package/internal/RenderContainer/index.d.ts +1 -1
  787. package/internal/RenderLayer/RenderLayer.d.ts +27 -27
  788. package/internal/RenderLayer/index.d.ts +1 -1
  789. package/internal/ResizeDetector/ResizeDetector.d.ts +12 -12
  790. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +5 -5
  791. package/internal/ResizeDetector/index.d.ts +1 -1
  792. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +13 -13
  793. package/internal/ThemePlayground/CheckboxPlayground.d.ts +1 -1
  794. package/internal/ThemePlayground/ComponentsGroup.d.ts +10 -10
  795. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +11 -11
  796. package/internal/ThemePlayground/FxInputPlayground.d.ts +10 -10
  797. package/internal/ThemePlayground/HintPlayground.d.ts +6 -6
  798. package/internal/ThemePlayground/PagingPlayground.d.ts +10 -10
  799. package/internal/ThemePlayground/Playground.d.ts +31 -31
  800. package/internal/ThemePlayground/Playground.styles.d.ts +23 -23
  801. package/internal/ThemePlayground/RadioPlayground.d.ts +1 -1
  802. package/internal/ThemePlayground/SelectPlayground.d.ts +12 -12
  803. package/internal/ThemePlayground/ShowcaseGroup.d.ts +5 -5
  804. package/internal/ThemePlayground/SwitcherPlayground.d.ts +15 -15
  805. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +51 -51
  806. package/internal/ThemePlayground/ThemeEditor.d.ts +39 -39
  807. package/internal/ThemePlayground/TogglePlayground.d.ts +9 -9
  808. package/internal/ThemePlayground/TokenInputPlayground.d.ts +7 -7
  809. package/internal/ThemePlayground/VariableValue.d.ts +45 -45
  810. package/internal/ThemePlayground/constants.d.ts +18 -18
  811. package/internal/ThemePlayground/darkTheme.d.ts +255 -255
  812. package/internal/ThemePlayground/helpers.d.ts +2 -2
  813. package/internal/ThemeShowcase/ThemeShowcase.d.ts +22 -22
  814. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +24 -24
  815. package/internal/ThemeShowcase/VariablesCollector.d.ts +22 -22
  816. package/internal/ZIndex/ZIndex.d.ts +34 -34
  817. package/internal/ZIndex/ZIndexStorage.d.ts +18 -18
  818. package/internal/ZIndex/index.d.ts +1 -1
  819. package/internal/icons/16px/icon.styles.d.ts +4 -4
  820. package/internal/icons/16px/index.d.ts +21 -21
  821. package/internal/icons/20px/Icon.d.ts +30 -30
  822. package/internal/icons/20px/icon.styles.d.ts +4 -4
  823. package/internal/icons/20px/index.d.ts +2 -2
  824. package/internal/icons/20px/svg.d.ts +14 -14
  825. package/internal/icons/CloudIcon.d.ts +1 -1
  826. package/internal/icons/CrossIcon.d.ts +1 -1
  827. package/internal/icons/SpinnerIcon.d.ts +23 -23
  828. package/internal/icons/SpinnerIcon.styles.d.ts +4 -4
  829. package/internal/themes/DefaultTheme/DefaultTheme.js +44 -5
  830. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  831. package/internal/themes/DefaultTheme.d.ts +779 -762
  832. package/internal/themes/FlatTheme.d.ts +132 -132
  833. package/internal/themes/Theme8px.d.ts +271 -271
  834. package/lib/ConditionalHandler.d.ts +11 -11
  835. package/lib/LayoutEvents.d.ts +4 -4
  836. package/lib/ModalStack.d.ts +14 -14
  837. package/lib/SSRSafe.d.ts +4 -4
  838. package/lib/Supports.d.ts +1 -1
  839. package/lib/Upgrades.d.ts +6 -6
  840. package/lib/animation/index.d.ts +6 -6
  841. package/lib/animation/presets.d.ts +18 -18
  842. package/lib/animation/stepper.d.ts +1 -1
  843. package/lib/client.d.ts +16 -16
  844. package/lib/createPropsGetter.d.ts +2 -2
  845. package/lib/currentEnvironment.d.ts +3 -3
  846. package/lib/date/InternalDate.d.ts +58 -58
  847. package/lib/date/InternalDateCalculator.d.ts +6 -6
  848. package/lib/date/InternalDateGetter.d.ts +15 -15
  849. package/lib/date/InternalDateSetter.d.ts +6 -6
  850. package/lib/date/InternalDateTransformer.d.ts +12 -12
  851. package/lib/date/InternalDateValidator.d.ts +12 -12
  852. package/lib/date/constants.d.ts +28 -28
  853. package/lib/date/localeSets.d.ts +5 -5
  854. package/lib/date/types.d.ts +90 -90
  855. package/lib/dom/getScrollWidth.d.ts +1 -1
  856. package/lib/dom/tabbableHelpers.d.ts +16 -16
  857. package/lib/events/MouseDrag.d.ts +58 -58
  858. package/lib/events/fixClickFocusIE.d.ts +1 -1
  859. package/lib/events/keyListener.d.ts +7 -7
  860. package/lib/events/keyboard/KeyboardEventCodes.d.ts +30 -30
  861. package/lib/events/keyboard/KeyboardMapKeys.d.ts +6 -6
  862. package/lib/events/keyboard/extractCode.d.ts +3 -3
  863. package/lib/events/keyboard/identifiers.d.ts +48 -48
  864. package/lib/events/stopPropagation.d.ts +1 -1
  865. package/lib/events/tabListener.d.ts +1 -1
  866. package/lib/extractKeyboardAction.d.ts +13 -13
  867. package/lib/filterProps.d.ts +12 -12
  868. package/lib/listenFocusOutside.d.ts +8 -8
  869. package/lib/locale/LocaleContext.d.ts +7 -7
  870. package/lib/locale/LocaleHelper.d.ts +9 -9
  871. package/lib/locale/constants.d.ts +2 -2
  872. package/lib/locale/decorators.d.ts +36 -36
  873. package/lib/locale/index.d.ts +3 -3
  874. package/lib/locale/types.d.ts +19 -19
  875. package/lib/memo.d.ts +1 -1
  876. package/lib/net/fetch.d.ts +13 -13
  877. package/lib/polyfillPlaceholder.d.ts +1 -1
  878. package/lib/reactGetTextContent.d.ts +2 -2
  879. package/lib/styles/ColorFactory.d.ts +11 -11
  880. package/lib/styles/ColorFunctions.d.ts +11 -11
  881. package/lib/styles/ColorHelpers.d.ts +20 -20
  882. package/lib/styles/ColorKeywords.d.ts +150 -150
  883. package/lib/styles/ColorObject.d.ts +52 -52
  884. package/lib/styles/DimensionFunctions.d.ts +1 -1
  885. package/lib/styles/HoldSelectionColor.d.ts +1 -1
  886. package/lib/styles/Mixins.d.ts +2 -2
  887. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -21
  888. package/lib/theming/AnimationKeyframes.d.ts +9 -9
  889. package/lib/theming/Emotion.d.ts +15 -15
  890. package/lib/theming/Theme.d.ts +3 -3
  891. package/lib/theming/ThemeContext.d.ts +2 -2
  892. package/lib/theming/ThemeFactory.d.ts +8 -8
  893. package/lib/theming/ThemeHelpers.d.ts +11 -11
  894. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  895. package/lib/theming/themes/DefaultThemeOld.d.ts +1 -1
  896. package/lib/theming/themes/FlatTheme.d.ts +1 -1
  897. package/lib/theming/themes/FlatThemeOld.d.ts +1 -1
  898. package/lib/utils.d.ts +28 -28
  899. package/package.json +2 -5
@@ -1,28 +1,28 @@
1
- import { ReactComponentLike } from 'prop-types';
2
- import React from 'react';
3
- export declare type Defaultize<P, D> = P extends any ? string extends keyof P ? P : Pick<P, Exclude<keyof P, keyof D>> & Partial<Pick<P, Extract<keyof P, keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof P>>> : never;
4
- export declare type DefaultizeProps<C, P> = C extends {
5
- defaultProps: infer D;
6
- } ? Defaultize<P, D> : P;
7
- export declare const delay: (ms: number) => Promise<unknown>;
8
- export declare const emptyHandler: () => void;
9
- export declare class CancelationError extends Error {
10
- code: string;
11
- }
12
- export declare function taskWithDelay(task: () => void, ms: number): () => void;
13
- export declare function isFunction<T>(x: T | Function): x is Function;
14
- export declare function isFunctionalComponent(Component: ReactComponentLike): boolean;
15
- export declare function escapeRegExpSpecChars(s: string): string;
16
- export declare const getRandomID: () => string;
17
- export declare const isExternalLink: (link: string) => boolean;
18
- /**
19
- * Check if the given ReactNode is an element of the specified ReactUI component
20
- */
21
- export declare const isReactUINode: (componentName: string, node: React.ReactNode) => boolean;
22
- /**
23
- * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента
24
- *
25
- * @param value Значение, которое нужно проверить и исключить из него типы
26
- * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
27
- */
28
- export declare const isNonNullable: <T>(value: T) => value is NonNullable<T>;
1
+ import { ReactComponentLike } from 'prop-types';
2
+ import React from 'react';
3
+ export declare type Defaultize<P, D> = P extends any ? string extends keyof P ? P : Pick<P, Exclude<keyof P, keyof D>> & Partial<Pick<P, Extract<keyof P, keyof D>>> & Partial<Pick<D, Exclude<keyof D, keyof P>>> : never;
4
+ export declare type DefaultizeProps<C, P> = C extends {
5
+ defaultProps: infer D;
6
+ } ? Defaultize<P, D> : P;
7
+ export declare const delay: (ms: number) => Promise<unknown>;
8
+ export declare const emptyHandler: () => void;
9
+ export declare class CancelationError extends Error {
10
+ code: string;
11
+ }
12
+ export declare function taskWithDelay(task: () => void, ms: number): () => void;
13
+ export declare function isFunction<T>(x: T | Function): x is Function;
14
+ export declare function isFunctionalComponent(Component: ReactComponentLike): boolean;
15
+ export declare function escapeRegExpSpecChars(s: string): string;
16
+ export declare const getRandomID: () => string;
17
+ export declare const isExternalLink: (link: string) => boolean;
18
+ /**
19
+ * Check if the given ReactNode is an element of the specified ReactUI component
20
+ */
21
+ export declare const isReactUINode: (componentName: string, node: React.ReactNode) => boolean;
22
+ /**
23
+ * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента
24
+ *
25
+ * @param value Значение, которое нужно проверить и исключить из него типы
26
+ * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
27
+ */
28
+ export declare const isNonNullable: <T>(value: T) => value is NonNullable<T>;
@@ -2,6 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
4
4
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
5
+
6
+ var _class, _class2, _temp;
7
+
5
8
  import React from 'react';
6
9
  import PropTypes from 'prop-types';
7
10
  import { findDOMNode } from 'react-dom';
@@ -15,6 +18,9 @@ import { RenderLayer } from "../../../internal/RenderLayer";
15
18
  import { createPropsGetter } from "../../../lib/createPropsGetter";
16
19
  import { fixClickFocusIE } from "../../../lib/events/fixClickFocusIE";
17
20
  import { CommonWrapper } from "../../../internal/CommonWrapper";
21
+ import { MobilePopup } from "../../../internal/MobilePopup";
22
+ import { responsiveLayout } from "../../ResponsiveLayout";
23
+ import { styles } from "../Autocomplete.styles";
18
24
 
19
25
  function match(pattern, items) {
20
26
  if (!pattern || !items) {
@@ -31,14 +37,14 @@ function match(pattern, items) {
31
37
  function renderItem(item) {
32
38
  return item;
33
39
  }
34
- /**
35
- * Стандартный инпут с подсказками.
36
- *
37
- * Все свойства передаются во внутренний *Input*.
38
- */
39
40
 
40
-
41
- export var Autocomplete = /*#__PURE__*/function (_React$Component) {
41
+ export
42
+ /**
43
+ * Стандартный инпут с подсказками.
44
+ *
45
+ * Все свойства передаются во внутренний *Input*.
46
+ */
47
+ var Autocomplete = responsiveLayout(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
42
48
  _inheritsLoose(Autocomplete, _React$Component);
43
49
 
44
50
  function Autocomplete() {
@@ -52,18 +58,22 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
52
58
  _this.state = {
53
59
  items: null,
54
60
  selected: -1,
55
- focused: false
61
+ focused: false,
62
+ isMobileOpened: false
56
63
  };
57
64
  _this.theme = void 0;
65
+ _this.isMobileLayout = void 0;
58
66
  _this.opened = false;
59
67
  _this.input = null;
60
68
  _this.menu = void 0;
61
69
  _this.rootSpan = void 0;
70
+ _this.mobilePopup = void 0;
62
71
  _this.requestId = 0;
63
72
  _this.getProps = createPropsGetter(Autocomplete.defaultProps);
64
73
 
65
74
  _this.renderMain = function (props) {
66
75
  var focused = _this.state.focused;
76
+ var isMobile = _this.isMobileLayout;
67
77
 
68
78
  var onValueChange = props.onValueChange,
69
79
  onKeyDown = props.onKeyDown,
@@ -78,7 +88,8 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
78
88
  source = props.source,
79
89
  _props$width = props.width,
80
90
  width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,
81
- rest = _objectWithoutPropertiesLoose(props, ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "width"]);
91
+ mobileMenuHeaderText = props.mobileMenuHeaderText,
92
+ rest = _objectWithoutPropertiesLoose(props, ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "width", "mobileMenuHeaderText"]);
82
93
 
83
94
  var inputProps = _extends({}, rest, {
84
95
  width: '100%',
@@ -93,12 +104,54 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
93
104
  onClickOutside: _this.handleClickOutside,
94
105
  active: focused
95
106
  }, /*#__PURE__*/React.createElement("span", {
107
+ className: styles.root(_this.theme),
96
108
  style: {
97
- display: 'inline-block',
98
109
  width: width
99
110
  },
100
111
  ref: _this.refRootSpan
101
- }, /*#__PURE__*/React.createElement(Input, inputProps), _this.renderMenu()));
112
+ }, /*#__PURE__*/React.createElement(Input, inputProps), isMobile ? _this.renderMobileMenu() : _this.renderMenu()));
113
+ };
114
+
115
+ _this.renderMobileMenu = function () {
116
+ var _this$mobilePopup;
117
+
118
+ if (!_this.state.isMobileOpened) {
119
+ return null;
120
+ }
121
+
122
+ var inputProps = {
123
+ autoFocus: true,
124
+ width: '100%',
125
+ onValueChange: _this.handleValueChange,
126
+ onKeyPress: _this.handleKeyPressMobile,
127
+ value: _this.props.value,
128
+ placeholder: 'Начните вводить'
129
+ };
130
+ var items = _this.state.items;
131
+ return /*#__PURE__*/React.createElement(MobilePopup, {
132
+ headerChildComponent: /*#__PURE__*/React.createElement(Input, inputProps),
133
+ caption: _this.props.mobileMenuHeaderText,
134
+ useFullHeight: true,
135
+ onClose: _this.handleCloseMobile,
136
+ ref: _this.refMobilePopup
137
+ }, /*#__PURE__*/React.createElement(Menu, {
138
+ ref: _this.refMenu,
139
+ onItemClick: (_this$mobilePopup = _this.mobilePopup) == null ? void 0 : _this$mobilePopup.close,
140
+ disableScrollContainer: true,
141
+ maxHeight: 'auto'
142
+ }, items && items.length > 0 && _this.getItems()));
143
+ };
144
+
145
+ _this.getItems = function () {
146
+ var items = _this.state.items;
147
+ var isMobile = _this.isMobileLayout;
148
+ return items ? items.map(function (item, i) {
149
+ return /*#__PURE__*/React.createElement(MenuItem, {
150
+ onClick: _this.handleMenuItemClick(i),
151
+ key: i,
152
+ isMobile: isMobile
153
+ }, _this.getProps().renderItem(item));
154
+ }) : null;
102
155
  };
103
156
 
104
157
  _this.getInputWidth = function (target) {
@@ -115,7 +168,29 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
115
168
  _this.fireChange(value);
116
169
  };
117
170
 
171
+ _this.handleCloseMobile = function () {
172
+ _this.setState({
173
+ isMobileOpened: false
174
+ });
175
+
176
+ _this.handleBlur();
177
+ };
178
+
179
+ _this.handleKeyPressMobile = function (e) {
180
+ if (e.key === 'Enter') {
181
+ var _this$mobilePopup2;
182
+
183
+ (_this$mobilePopup2 = _this.mobilePopup) == null ? void 0 : _this$mobilePopup2.close();
184
+ }
185
+ };
186
+
118
187
  _this.handleFocus = function (event) {
188
+ if (_this.isMobileLayout) {
189
+ _this.setState({
190
+ isMobileOpened: true
191
+ });
192
+ }
193
+
119
194
  if (_this.state.focused) {
120
195
  return;
121
196
  }
@@ -216,6 +291,10 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
216
291
  _this.rootSpan = span;
217
292
  };
218
293
 
294
+ _this.refMobilePopup = function (mobilePopup) {
295
+ _this.mobilePopup = mobilePopup;
296
+ };
297
+
219
298
  return _this;
220
299
  }
221
300
 
@@ -254,8 +333,6 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
254
333
  };
255
334
 
256
335
  _proto.renderMenu = function renderMenu() {
257
- var _this3 = this;
258
-
259
336
  var items = this.state.items;
260
337
  var menuProps = {
261
338
  ref: this.refMenu,
@@ -274,19 +351,14 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
274
351
  getParent: this.getAnchor,
275
352
  align: this.props.menuAlign,
276
353
  disablePortal: this.props.disablePortal
277
- }, /*#__PURE__*/React.createElement(Menu, menuProps, items.map(function (item, i) {
278
- return /*#__PURE__*/React.createElement(MenuItem, {
279
- onClick: _this3.handleMenuItemClick(i),
280
- key: i
281
- }, _this3.getProps().renderItem(item));
282
- })));
354
+ }, /*#__PURE__*/React.createElement(Menu, menuProps, this.getItems()));
283
355
  };
284
356
 
285
357
  _proto.handleMenuItemClick = function handleMenuItemClick(i) {
286
- var _this4 = this;
358
+ var _this3 = this;
287
359
 
288
360
  return function (event) {
289
- return _this4.handleItemClick(event, i);
361
+ return _this3.handleItemClick(event, i);
290
362
  };
291
363
  };
292
364
 
@@ -315,7 +387,7 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
315
387
  };
316
388
 
317
389
  _proto.updateItems = function updateItems(value) {
318
- var _this5 = this;
390
+ var _this4 = this;
319
391
 
320
392
  if (!this.opened) {
321
393
  return;
@@ -338,8 +410,8 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
338
410
  }
339
411
 
340
412
  promise.then(function (items) {
341
- if (_this5.opened && expectingId === _this5.requestId) {
342
- _this5.setState({
413
+ if (_this4.opened && expectingId === _this4.requestId) {
414
+ _this4.setState({
343
415
  items: items,
344
416
  selected: -1
345
417
  });
@@ -354,9 +426,7 @@ export var Autocomplete = /*#__PURE__*/function (_React$Component) {
354
426
  };
355
427
 
356
428
  return Autocomplete;
357
- }(React.Component);
358
- Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete';
359
- Autocomplete.propTypes = {
429
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Autocomplete', _class2.propTypes = {
360
430
  /**
361
431
  * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
362
432
  * — *item*.
@@ -377,8 +447,7 @@ Autocomplete.propTypes = {
377
447
  * ```
378
448
  */
379
449
  source: PropTypes.oneOfType([PropTypes.array, PropTypes.func])
380
- };
381
- Autocomplete.defaultProps = {
450
+ }, _class2.defaultProps = {
382
451
  renderItem: renderItem,
383
452
  size: 'small',
384
453
  disablePortal: false,
@@ -386,4 +455,4 @@ Autocomplete.defaultProps = {
386
455
  menuMaxHeight: 300,
387
456
  menuAlign: 'left',
388
457
  preventWindowScroll: true
389
- };
458
+ }, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","findDOMNode","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","theme","opened","input","menu","rootSpan","requestId","getProps","defaultProps","renderMain","props","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","inputWidth","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","display","refRootSpan","renderMenu","getInputWidth","target","Element","getBoundingClientRect","value","fireChange","event","setState","blur","e","preventDefault","up","down","enter","getAnchor","el","refMenu","span","focus","componentDidUpdate","prevProps","updateItems","render","menuProps","maxHeight","menuWidth","length","map","i","handleMenuItemClick","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { findDOMNode } from 'react-dom';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n pattern = pattern.toLowerCase();\n const filteredItems = items.filter((item) => item.toLowerCase().includes(pattern));\n return Promise.resolve(filteredItems);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n };\n\n private theme!: Theme;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span style={{ display: 'inline-block', width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && this.getInputWidth(this.rootSpan)),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>\n {items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })}\n </Menu>\n </DropdownContainer>\n );\n }\n\n private getInputWidth = (target: Nullable<HTMLSpanElement>) => {\n if (target instanceof Element) {\n return target.getBoundingClientRect().width;\n }\n\n return 0;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return findDOMNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n const expectingId = (this.requestId += 1);\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n}\n"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","findDOMNode","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","styles","match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","isMobileOpened","theme","isMobileLayout","opened","input","menu","rootSpan","mobilePopup","requestId","getProps","defaultProps","renderMain","props","isMobile","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","close","length","getItems","map","i","handleMenuItemClick","getInputWidth","target","Element","getBoundingClientRect","fireChange","setState","e","key","event","blur","preventDefault","up","down","enter","getAnchor","el","span","focus","componentDidUpdate","prevProps","updateItems","render","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\nimport { findDOMNode } from 'react-dom';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n pattern = pattern.toLowerCase();\n const filteredItems = items.filter((item) => item.toLowerCase().includes(pattern));\n return Promise.resolve(filteredItems);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && this.getInputWidth(this.rootSpan)),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n if (!this.state.isMobileOpened) {\n return null;\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n onClose={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private getInputWidth = (target: Nullable<HTMLSpanElement>) => {\n if (target instanceof Element) {\n return target.getBoundingClientRect().width;\n }\n\n return 0;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return findDOMNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n const expectingId = (this.requestId += 1);\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}