@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
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.8.4](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@3.8.3...@skbkontur/react-ui@3.8.4) (2021-11-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **DatePicker:** width for different sizes with empty value ([#2614](https://github.com/skbkontur/retail-ui/issues/2614)) ([cb5254f](https://github.com/skbkontur/retail-ui/commit/cb5254f10d92456018b1ead3790f8bbade0f34e0))
12
+ * **RadioGroup:** problem with value type inference ([#2607](https://github.com/skbkontur/retail-ui/issues/2607)) ([d6136e4](https://github.com/skbkontur/retail-ui/commit/d6136e45a311b00f39bc5c741cef07aacf8d2f4f))
13
+ * **Select:** add vars for disabled state ([#2610](https://github.com/skbkontur/retail-ui/issues/2610)) ([7300141](https://github.com/skbkontur/retail-ui/commit/73001417ba004754c8f52da377ceff1fff0b6027))
14
+
15
+
16
+
17
+
18
+
6
19
  ## [3.8.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@3.8.2...@skbkontur/react-ui@3.8.3) (2021-11-02)
7
20
 
8
21
 
@@ -1,112 +1,124 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { InputProps } from '../Input';
4
- import { Nullable, Override } from '../../typings/utility-types';
5
- import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
- declare function renderItem(item: any): any;
7
- export interface AutocompleteProps extends CommonProps, Override<InputProps, {
8
- /** Функция отрисовки элемента меню */
9
- renderItem: (item: string) => React.ReactNode;
10
- /** Промис, резолвящий элементы меню */
11
- source?: string[] | ((patter: string) => Promise<string[]>);
12
- /** Отключает использование портала */
13
- disablePortal: boolean;
14
- /** Отрисовка тени у выпадающего меню */
15
- hasShadow: boolean;
16
- /** Выравнивание выпадающего меню */
17
- menuAlign: 'left' | 'right';
18
- /** Максимальная высота меню */
19
- menuMaxHeight: number | string;
20
- /** Ширина меню */
21
- menuWidth?: number | string;
22
- /** Отключить скролл окна, когда меню открыто */
23
- preventWindowScroll: boolean;
24
- /** Вызывается при изменении `value` */
25
- onValueChange: (value: string) => void;
26
- /** onBlur */
27
- onBlur?: () => void;
28
- /** Размер инпута */
29
- size: InputProps['size'];
30
- /** value */
31
- value: string;
32
- }> {
33
- }
34
- export interface AutocompleteState {
35
- items: Nullable<string[]>;
36
- selected: number;
37
- focused: boolean;
38
- }
39
- /**
40
- * Стандартный инпут с подсказками.
41
- *
42
- * Все свойства передаются во внутренний *Input*.
43
- */
44
- export declare class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {
45
- static __KONTUR_REACT_UI__: string;
46
- static propTypes: {
47
- /**
48
- * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
49
- * *item*.
50
- */
51
- renderItem: PropTypes.Requireable<(...args: any[]) => any>;
52
- /**
53
- * Если передан массив, то совпадения ищутся по этому массиву.
54
- *
55
- * Если передается функция, то она должна возвращать thenable, который
56
- * резолвится уже отфильтрованным массивом. Возвращенный thenable может
57
- * иметь метод cancel, который будет вызван при отмене поиска (пользователь
58
- * изменил строку поиска, автокомплит потерял фокус).
59
- * ```
60
- * function(pattern) {
61
- * return service.findAll(pattern);
62
- * }
63
- * ```
64
- */
65
- source: PropTypes.Requireable<any[] | ((...args: any[]) => any)>;
66
- };
67
- static defaultProps: {
68
- renderItem: typeof renderItem;
69
- size: string;
70
- disablePortal: boolean;
71
- hasShadow: boolean;
72
- menuMaxHeight: number;
73
- menuAlign: string;
74
- preventWindowScroll: boolean;
75
- };
76
- state: AutocompleteState;
77
- private theme;
78
- private opened;
79
- private input;
80
- private menu;
81
- private rootSpan;
82
- private requestId;
83
- private getProps;
84
- /**
85
- * @public
86
- */
87
- focus(): void;
88
- /**
89
- * @public
90
- */
91
- blur(): void;
92
- componentDidUpdate(prevProps: AutocompleteProps): void;
93
- render(): JSX.Element;
94
- renderMain: (props: CommonWrapperRestProps<AutocompleteProps>) => JSX.Element;
95
- private renderMenu;
96
- private getInputWidth;
97
- private handleValueChange;
98
- private handleFocus;
99
- private handleBlur;
100
- private handleClickOutside;
101
- private handleKeyDown;
102
- private handleMenuItemClick;
103
- private getAnchor;
104
- private handleItemClick;
105
- private choose;
106
- private updateItems;
107
- private fireChange;
108
- private refInput;
109
- private refMenu;
110
- private refRootSpan;
111
- }
112
- export {};
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { InputProps } from '../Input';
4
+ import { Nullable, Override } from '../../typings/utility-types';
5
+ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ declare function renderItem(item: any): any;
7
+ export interface AutocompleteProps extends CommonProps, Override<InputProps, {
8
+ /** Функция отрисовки элемента меню */
9
+ renderItem: (item: string) => React.ReactNode;
10
+ /** Промис, резолвящий элементы меню */
11
+ source?: string[] | ((patter: string) => Promise<string[]>);
12
+ /** Отключает использование портала */
13
+ disablePortal: boolean;
14
+ /** Отрисовка тени у выпадающего меню */
15
+ hasShadow: boolean;
16
+ /** Выравнивание выпадающего меню */
17
+ menuAlign: 'left' | 'right';
18
+ /** Максимальная высота меню */
19
+ menuMaxHeight: number | string;
20
+ /** Ширина меню */
21
+ menuWidth?: number | string;
22
+ /** Отключить скролл окна, когда меню открыто */
23
+ preventWindowScroll: boolean;
24
+ /** Вызывается при изменении `value` */
25
+ onValueChange: (value: string) => void;
26
+ /** onBlur */
27
+ onBlur?: () => void;
28
+ /** Размер инпута */
29
+ size: InputProps['size'];
30
+ /** value */
31
+ value: string;
32
+ /**
33
+ * Текст заголовка выпадающего меню в мобильной версии
34
+ */
35
+ mobileMenuHeaderText?: string;
36
+ }> {
37
+ }
38
+ export interface AutocompleteState {
39
+ items: Nullable<string[]>;
40
+ selected: number;
41
+ focused: boolean;
42
+ isMobileOpened: boolean;
43
+ }
44
+ /**
45
+ * Стандартный инпут с подсказками.
46
+ *
47
+ * Все свойства передаются во внутренний *Input*.
48
+ */
49
+ export declare class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {
50
+ static __KONTUR_REACT_UI__: string;
51
+ static propTypes: {
52
+ /**
53
+ * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
54
+ * — *item*.
55
+ */
56
+ renderItem: PropTypes.Requireable<(...args: any[]) => any>;
57
+ /**
58
+ * Если передан массив, то совпадения ищутся по этому массиву.
59
+ *
60
+ * Если передается функция, то она должна возвращать thenable, который
61
+ * резолвится уже отфильтрованным массивом. Возвращенный thenable может
62
+ * иметь метод cancel, который будет вызван при отмене поиска (пользователь
63
+ * изменил строку поиска, автокомплит потерял фокус).
64
+ * ```
65
+ * function(pattern) {
66
+ * return service.findAll(pattern);
67
+ * }
68
+ * ```
69
+ */
70
+ source: PropTypes.Requireable<any[] | ((...args: any[]) => any)>;
71
+ };
72
+ static defaultProps: {
73
+ renderItem: typeof renderItem;
74
+ size: string;
75
+ disablePortal: boolean;
76
+ hasShadow: boolean;
77
+ menuMaxHeight: number;
78
+ menuAlign: string;
79
+ preventWindowScroll: boolean;
80
+ };
81
+ state: AutocompleteState;
82
+ private theme;
83
+ private isMobileLayout;
84
+ private opened;
85
+ private input;
86
+ private menu;
87
+ private rootSpan;
88
+ private mobilePopup;
89
+ private requestId;
90
+ private getProps;
91
+ /**
92
+ * @public
93
+ */
94
+ focus(): void;
95
+ /**
96
+ * @public
97
+ */
98
+ blur(): void;
99
+ componentDidUpdate(prevProps: AutocompleteProps): void;
100
+ render(): JSX.Element;
101
+ renderMain: (props: CommonWrapperRestProps<AutocompleteProps>) => JSX.Element;
102
+ private renderMenu;
103
+ private renderMobileMenu;
104
+ private getItems;
105
+ private getInputWidth;
106
+ private handleValueChange;
107
+ private handleCloseMobile;
108
+ private handleKeyPressMobile;
109
+ private handleFocus;
110
+ private handleBlur;
111
+ private handleClickOutside;
112
+ private handleKeyDown;
113
+ private handleMenuItemClick;
114
+ private getAnchor;
115
+ private handleItemClick;
116
+ private choose;
117
+ private updateItems;
118
+ private fireChange;
119
+ private refInput;
120
+ private refMenu;
121
+ private refRootSpan;
122
+ private refMobilePopup;
123
+ }
124
+ export {};
@@ -14,6 +14,10 @@ var _createPropsGetter = require("../../lib/createPropsGetter");
14
14
 
15
15
  var _fixClickFocusIE = require("../../lib/events/fixClickFocusIE");
16
16
  var _CommonWrapper = require("../../internal/CommonWrapper");
17
+ var _MobilePopup = require("../../internal/MobilePopup");
18
+ var _ResponsiveLayout = require("../ResponsiveLayout");
19
+
20
+ var _Autocomplete = require("./Autocomplete.styles");var _class, _class2, _temp;
17
21
 
18
22
  function match(pattern, items) {
19
23
  if (!pattern || !items) {
@@ -61,6 +65,11 @@ function renderItem(item) {
61
65
 
62
66
 
63
67
 
68
+
69
+
70
+
71
+
72
+
64
73
 
65
74
 
66
75
 
@@ -72,7 +81,8 @@ function renderItem(item) {
72
81
  *
73
82
  * Все свойства передаются во внутренний *Input*.
74
83
  */var
75
- Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Autocomplete, _React$Component);function Autocomplete() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
84
+
85
+ Autocomplete = (0, _ResponsiveLayout.responsiveLayout)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Autocomplete, _React$Component);function Autocomplete() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
76
86
 
77
87
 
78
88
 
@@ -111,14 +121,17 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
111
121
  state = {
112
122
  items: null,
113
123
  selected: -1,
114
- focused: false };_this.
124
+ focused: false,
125
+ isMobileOpened: false };_this.
115
126
 
116
127
 
117
128
  theme = void 0;_this.
129
+ isMobileLayout = void 0;_this.
118
130
  opened = false;_this.
119
131
  input = null;_this.
120
132
  menu = void 0;_this.
121
133
  rootSpan = void 0;_this.
134
+ mobilePopup = void 0;_this.
122
135
 
123
136
  requestId = 0;_this.
124
137
 
@@ -157,7 +170,9 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
157
170
 
158
171
 
159
172
  renderMain = function (props) {var
160
- focused = _this.state.focused;var
173
+ focused = _this.state.focused;
174
+
175
+ var isMobile = _this.isMobileLayout;var
161
176
 
162
177
 
163
178
  onValueChange =
@@ -173,7 +188,8 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
173
188
 
174
189
 
175
190
 
176
- props.onValueChange,onKeyDown = props.onKeyDown,onFocus = props.onFocus,onBlur = props.onBlur,_renderItem = props.renderItem,disablePortal = props.disablePortal,hasShadow = props.hasShadow,menuAlign = props.menuAlign,menuMaxHeight = props.menuMaxHeight,preventWindowScroll = props.preventWindowScroll,source = props.source,_props$width = props.width,width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "width"]);
191
+
192
+ props.onValueChange,onKeyDown = props.onKeyDown,onFocus = props.onFocus,onBlur = props.onBlur,_renderItem = props.renderItem,disablePortal = props.disablePortal,hasShadow = props.hasShadow,menuAlign = props.menuAlign,menuMaxHeight = props.menuMaxHeight,preventWindowScroll = props.preventWindowScroll,source = props.source,_props$width = props.width,width = _props$width === void 0 ? _this.theme.inputWidth : _props$width,mobileMenuHeaderText = props.mobileMenuHeaderText,rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["onValueChange", "onKeyDown", "onFocus", "onBlur", "renderItem", "disablePortal", "hasShadow", "menuAlign", "menuMaxHeight", "preventWindowScroll", "source", "width", "mobileMenuHeaderText"]);
177
193
 
178
194
  var inputProps = (0, _extends2.default)({},
179
195
  rest, {
@@ -186,9 +202,9 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
186
202
 
187
203
  return /*#__PURE__*/(
188
204
  _react.default.createElement(_RenderLayer.RenderLayer, { onFocusOutside: _this.handleBlur, onClickOutside: _this.handleClickOutside, active: focused }, /*#__PURE__*/
189
- _react.default.createElement("span", { style: { display: 'inline-block', width: width }, ref: _this.refRootSpan }, /*#__PURE__*/
205
+ _react.default.createElement("span", { className: _Autocomplete.styles.root(_this.theme), style: { width: width }, ref: _this.refRootSpan }, /*#__PURE__*/
190
206
  _react.default.createElement(_Input.Input, inputProps),
191
- _this.renderMenu())));
207
+ isMobile ? _this.renderMobileMenu() : _this.renderMenu())));
192
208
 
193
209
 
194
210
 
@@ -219,13 +235,51 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
219
235
 
220
236
 
221
237
 
238
+ renderMobileMenu = function () {var _this$mobilePopup;
239
+ if (!_this.state.isMobileOpened) {
240
+ return null;
241
+ }
242
+
243
+ var inputProps = {
244
+ autoFocus: true,
245
+ width: '100%',
246
+ onValueChange: _this.handleValueChange,
247
+ onKeyPress: _this.handleKeyPressMobile,
248
+ value: _this.props.value,
249
+ placeholder: 'Начните вводить' };
250
+
251
+
252
+ var items = _this.state.items;
253
+
254
+ return /*#__PURE__*/(
255
+ _react.default.createElement(_MobilePopup.MobilePopup, {
256
+ headerChildComponent: /*#__PURE__*/_react.default.createElement(_Input.Input, inputProps),
257
+ caption: _this.props.mobileMenuHeaderText,
258
+ useFullHeight: true,
259
+ onClose: _this.handleCloseMobile,
260
+ ref: _this.refMobilePopup }, /*#__PURE__*/
261
+
262
+ _react.default.createElement(_Menu.Menu, { ref: _this.refMenu, onItemClick: (_this$mobilePopup = _this.mobilePopup) == null ? void 0 : _this$mobilePopup.close, disableScrollContainer: true, maxHeight: 'auto' },
263
+ items && items.length > 0 && _this.getItems())));
222
264
 
223
265
 
224
266
 
267
+ };_this.
225
268
 
269
+ getItems = function () {
270
+ var items = _this.state.items;
271
+ var isMobile = _this.isMobileLayout;
226
272
 
273
+ return items ?
274
+ items.map(function (item, i) {
275
+ return /*#__PURE__*/(
276
+ _react.default.createElement(_MenuItem.MenuItem, { onClick: _this.handleMenuItemClick(i), key: i, isMobile: isMobile },
277
+ _this.getProps().renderItem(item)));
227
278
 
228
279
 
280
+ }) :
281
+ null;
282
+ };_this.
229
283
 
230
284
  getInputWidth = function (target) {
231
285
  if (target instanceof Element) {
@@ -241,7 +295,25 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
241
295
  _this.fireChange(value);
242
296
  };_this.
243
297
 
298
+ handleCloseMobile = function () {
299
+ _this.setState({
300
+ isMobileOpened: false });
301
+
302
+
303
+ _this.handleBlur();
304
+ };_this.
305
+
306
+ handleKeyPressMobile = function (e) {
307
+ if (e.key === 'Enter') {var _this$mobilePopup2;
308
+ (_this$mobilePopup2 = _this.mobilePopup) == null ? void 0 : _this$mobilePopup2.close();
309
+ }
310
+ };_this.
311
+
244
312
  handleFocus = function (event) {
313
+ if (_this.isMobileLayout) {
314
+ _this.setState({ isMobileOpened: true });
315
+ }
316
+
245
317
  if (_this.state.focused) {
246
318
  return;
247
319
  }
@@ -382,11 +454,15 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
382
454
 
383
455
  refRootSpan = function (span) {
384
456
  _this.rootSpan = span;
457
+ };_this.
458
+
459
+ refMobilePopup = function (mobilePopup) {
460
+ _this.mobilePopup = mobilePopup;
385
461
  };return _this;}var _proto = Autocomplete.prototype; /**
386
462
  * @public
387
463
  */_proto.focus = function focus() {if (this.input) {this.input.focus();}} /**
388
464
  * @public
389
- */;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this2.props, _this2.renderMain);});};_proto.renderMenu = function renderMenu() {var _this3 = this;var items = this.state.items;var menuProps = { ref: this.refMenu, maxHeight: this.props.menuMaxHeight, hasShadow: this.props.hasShadow, width: this.props.menuWidth || this.props.width && this.getInputWidth(this.rootSpan), preventWindowScroll: this.props.preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { offsetY: 1, getParent: this.getAnchor, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, items.map(function (item, i) {return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { onClick: _this3.handleMenuItemClick(i), key: i }, _this3.getProps().renderItem(item));})));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this4 = this;return function (event) {return _this4.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value);this.blur();};_proto.updateItems = function updateItems(value) {var _this5 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;var expectingId = this.requestId += 1;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this5.opened && expectingId === _this5.requestId) {_this5.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component);exports.Autocomplete = Autocomplete;Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete';Autocomplete.propTypes = { /**
465
+ */;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, _this2.props, _this2.renderMain);});};_proto.renderMenu = function renderMenu() {var items = this.state.items;var menuProps = { ref: this.refMenu, maxHeight: this.props.menuMaxHeight, hasShadow: this.props.hasShadow, width: this.props.menuWidth || this.props.width && this.getInputWidth(this.rootSpan), preventWindowScroll: this.props.preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { offsetY: 1, getParent: this.getAnchor, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, this.getItems()));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this3 = this;return function (event) {return _this3.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value);this.blur();};_proto.updateItems = function updateItems(value) {var _this4 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;var expectingId = this.requestId += 1;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this4.opened && expectingId === _this4.requestId) {_this4.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Autocomplete', _class2.propTypes = { /**
390
466
  * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
391
467
  * — *item*.
392
468
  */renderItem: _propTypes.default.func, /**
@@ -401,4 +477,4 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
401
477
  * return service.findAll(pattern);
402
478
  * }
403
479
  * ```
404
- */source: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func]) };Autocomplete.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, menuAlign: 'left', preventWindowScroll: true };
480
+ */source: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func]) }, _class2.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, menuAlign: 'left', preventWindowScroll: true }, _temp)) || _class;exports.Autocomplete = Autocomplete;
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["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","React","Component","__KONTUR_REACT_UI__","propTypes","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":["match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","responsiveLayout","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","styles","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","React","Component","__KONTUR_REACT_UI__","propTypes","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"]}
@@ -0,0 +1,4 @@
1
+ import { Theme } from '../../lib/theming/Theme';
2
+ export declare const styles: {
3
+ root(t: Theme): string;
4
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject;
2
+
3
+
4
+ var styles = (0, _Emotion.memoizeStyle)({
5
+ root: function root(t) {
6
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n width: ", ";\n "])),
7
+
8
+ t.inputWidth);
9
+
10
+ } });exports.styles = styles;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Autocomplete.styles.ts"],"names":["styles","root","t","css","inputWidth"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;;AAEWD,IAAAA,CAAC,CAACE,UAFb;;AAID,GANgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-block;\n width: ${t.inputWidth};\n `;\n },\n});\n"]}
@@ -1 +1 @@
1
- export * from './Autocomplete';
1
+ export * from './Autocomplete';