@megafon/ui-core 6.0.0-beta.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/CHANGELOG.md +4008 -0
  2. package/dist/es/colors/ColorItem/ColorItem.css +45 -1
  3. package/dist/es/colors/ColorItem/ColorItem.d.ts +2 -2
  4. package/dist/es/colors/ColorItem/ColorItem.js +7 -5
  5. package/dist/es/colors/Colors.css +233 -1
  6. package/dist/es/colors/Colors.d.ts +1 -1
  7. package/dist/es/colors/Colors.js +55 -33
  8. package/dist/es/colors/colorsData.d.ts +4 -4
  9. package/dist/es/components/Accordion/Accordion.css +89 -1
  10. package/dist/es/components/Accordion/Accordion.d.ts +1 -2
  11. package/dist/es/components/Accordion/Accordion.js +65 -22
  12. package/dist/es/components/Avatar/Avatar.css +52 -1
  13. package/dist/es/components/Avatar/Avatar.d.ts +1 -1
  14. package/dist/es/components/Avatar/Avatar.js +27 -9
  15. package/dist/es/components/Avatar/doc/i/img.png +0 -0
  16. package/dist/es/components/Badges/components/CounterBadge/CounterBadge.css +54 -0
  17. package/dist/es/components/Badges/{CounterBadge → components/CounterBadge}/CounterBadge.d.ts +2 -2
  18. package/dist/es/components/Badges/{CounterBadge → components/CounterBadge}/CounterBadge.js +28 -10
  19. package/dist/es/components/Badges/components/NotificationBadge/NotificationBadge.css +58 -0
  20. package/dist/es/components/Badges/{NotificationBadge → components/NotificationBadge}/NotificationBadge.d.ts +4 -3
  21. package/dist/es/components/Badges/components/NotificationBadge/NotificationBadge.js +49 -0
  22. package/dist/es/components/Badges/components/PriceBadge/PriceBadge.css +119 -0
  23. package/dist/es/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.d.ts +4 -4
  24. package/dist/es/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.js +54 -11
  25. package/dist/es/components/Badges/components/PromoBadge/PromoBadge.css +64 -0
  26. package/dist/{lib/components/Badges → es/components/Badges/components}/PromoBadge/PromoBadge.d.ts +3 -3
  27. package/dist/es/components/Badges/{PromoBadge → components/PromoBadge}/PromoBadge.js +21 -7
  28. package/dist/es/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.js +32 -5
  29. package/dist/es/components/Badges/components/TimerBadge/TimerBadge.css +60 -0
  30. package/dist/{lib/components/Badges → es/components/Badges/components}/TimerBadge/TimerBadge.d.ts +2 -2
  31. package/dist/es/components/Badges/{TimerBadge → components/TimerBadge}/TimerBadge.js +45 -22
  32. package/dist/es/components/Banner/Banner.css +195 -1
  33. package/dist/es/components/Banner/Banner.d.ts +4 -5
  34. package/dist/es/components/Banner/Banner.js +129 -64
  35. package/dist/es/components/Banner/BannerDot.css +69 -1
  36. package/dist/es/components/Banner/BannerDot.d.ts +1 -1
  37. package/dist/es/components/Banner/BannerDot.js +22 -6
  38. package/dist/es/components/Banner/slidesSettings.d.ts +2 -4
  39. package/dist/es/components/Banner/slidesSettings.js +6 -3
  40. package/dist/es/components/Button/Button.css +814 -1
  41. package/dist/es/components/Button/Button.d.ts +6 -7
  42. package/dist/es/components/Button/Button.js +104 -44
  43. package/dist/es/components/Calendar/Calendar.css +5 -1
  44. package/dist/es/components/Calendar/Calendar.d.ts +2 -2
  45. package/dist/es/components/Calendar/Calendar.js +114 -60
  46. package/dist/es/components/Calendar/components/Day/Day.css +128 -0
  47. package/dist/{lib/components/Calendar/components/_Day → es/components/Calendar/components/Day}/Day.d.ts +4 -4
  48. package/dist/es/components/Calendar/components/{_Day → Day}/Day.js +50 -19
  49. package/dist/es/components/Calendar/components/Month/Month.css +81 -0
  50. package/dist/es/components/Calendar/components/{_Month → Month}/Month.d.ts +2 -3
  51. package/dist/es/components/Calendar/components/{_Month → Month}/Month.js +33 -9
  52. package/dist/es/components/Caption/Caption.css +48 -1
  53. package/dist/es/components/Caption/Caption.d.ts +2 -4
  54. package/dist/es/components/Caption/Caption.js +25 -11
  55. package/dist/es/components/Carousel/Carousel.css +215 -1
  56. package/dist/es/components/Carousel/Carousel.d.ts +10 -11
  57. package/dist/es/components/Carousel/Carousel.js +161 -104
  58. package/dist/es/components/Carousel/checkBreakpointsPropTypes.d.ts +1 -1
  59. package/dist/es/components/Carousel/checkBreakpointsPropTypes.js +4 -1
  60. package/dist/es/components/Carousel/useGradient.d.ts +1 -1
  61. package/dist/es/components/Carousel/useGradient.js +13 -9
  62. package/dist/es/components/Checkbox/Checkbox.css +150 -1
  63. package/dist/es/components/Checkbox/Checkbox.d.ts +4 -4
  64. package/dist/es/components/Checkbox/Checkbox.js +50 -21
  65. package/dist/es/components/Chips/Chip.css +132 -1
  66. package/dist/es/components/Chips/Chip.d.ts +26 -6
  67. package/dist/es/components/Chips/Chip.js +42 -17
  68. package/dist/es/components/Chips/Chips.css +19 -1
  69. package/dist/es/components/Chips/Chips.d.ts +2 -2
  70. package/dist/es/components/Chips/Chips.js +56 -32
  71. package/dist/es/components/Chips/components/ChipsDropdown.css +106 -1
  72. package/dist/es/components/Chips/components/ChipsDropdown.d.ts +2 -2
  73. package/dist/es/components/Chips/components/ChipsDropdown.js +27 -12
  74. package/dist/es/components/Collapse/Collapse.css +3 -0
  75. package/dist/{lib/components/_Collapse → es/components/Collapse}/Collapse.d.ts +3 -3
  76. package/dist/es/components/{_Collapse → Collapse}/Collapse.js +62 -25
  77. package/dist/es/components/ContentArea/ContentArea.css +109 -1
  78. package/dist/es/components/ContentArea/ContentArea.d.ts +4 -5
  79. package/dist/es/components/ContentArea/ContentArea.js +28 -9
  80. package/dist/es/components/ContentView/ContentView.css +103 -1
  81. package/dist/es/components/ContentView/ContentView.d.ts +2 -3
  82. package/dist/es/components/ContentView/ContentView.js +46 -12
  83. package/dist/es/components/Counter/Counter.css +123 -1
  84. package/dist/es/components/Counter/Counter.d.ts +1 -1
  85. package/dist/es/components/Counter/Counter.js +55 -20
  86. package/dist/es/components/Grid/Grid.css +102 -1
  87. package/dist/es/components/Grid/Grid.d.ts +1 -1
  88. package/dist/es/components/Grid/Grid.js +24 -8
  89. package/dist/es/components/Grid/GridColumn.css +3102 -1
  90. package/dist/es/components/Grid/GridColumn.d.ts +2 -2
  91. package/dist/es/components/Grid/GridColumn.js +62 -33
  92. package/dist/es/components/Header/Header.css +122 -1
  93. package/dist/es/components/Header/Header.d.ts +1 -3
  94. package/dist/es/components/Header/Header.js +28 -13
  95. package/dist/es/components/Link/Link.d.ts +2 -2
  96. package/dist/es/components/Link/Link.js +25 -9
  97. package/dist/es/components/List/List.css +66 -1
  98. package/dist/es/components/List/List.d.ts +1 -2
  99. package/dist/es/components/List/List.js +18 -8
  100. package/dist/es/components/List/ListItem.css +6 -1
  101. package/dist/es/components/List/ListItem.d.ts +1 -2
  102. package/dist/es/components/List/ListItem.js +7 -1
  103. package/dist/es/components/ListData/ListData.css +162 -1
  104. package/dist/es/components/ListData/ListData.d.ts +34 -6
  105. package/dist/es/components/ListData/ListData.js +65 -22
  106. package/dist/es/components/ListData/ListDataGroup.css +15 -1
  107. package/dist/es/components/ListData/ListDataGroup.d.ts +4 -4
  108. package/dist/es/components/ListData/ListDataGroup.js +74 -29
  109. package/dist/es/components/ListData/components/ListDataSortable.css +79 -1
  110. package/dist/es/components/ListData/components/ListDataSortable.d.ts +4 -4
  111. package/dist/es/components/ListData/components/ListDataSortable.js +42 -21
  112. package/dist/es/components/ListData/doc/i/img.png +0 -0
  113. package/dist/es/components/ListData/helpers.js +8 -1
  114. package/dist/es/components/Logo/Logo.css +43 -1
  115. package/dist/es/components/Logo/Logo.d.ts +1 -1
  116. package/dist/es/components/Logo/Logo.js +25 -9
  117. package/dist/es/components/NavArrow/NavArrow.css +63 -1
  118. package/dist/es/components/NavArrow/NavArrow.d.ts +3 -3
  119. package/dist/es/components/NavArrow/NavArrow.js +28 -8
  120. package/dist/es/components/Notification/Notification.css +350 -1
  121. package/dist/es/components/Notification/Notification.d.ts +4 -5
  122. package/dist/es/components/Notification/Notification.js +131 -61
  123. package/dist/es/components/Pagination/Pagination.css +5 -1
  124. package/dist/es/components/Pagination/Pagination.d.ts +3 -4
  125. package/dist/es/components/Pagination/Pagination.js +22 -7
  126. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +62 -1
  127. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +4 -5
  128. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +26 -10
  129. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.css +10 -1
  130. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +2 -3
  131. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +22 -5
  132. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +17 -1
  133. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +2 -3
  134. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +23 -7
  135. package/dist/es/components/Pagination/helpers.js +3 -0
  136. package/dist/es/components/Pagination/usePagination.d.ts +1 -2
  137. package/dist/es/components/Pagination/usePagination.js +18 -6
  138. package/dist/es/components/Paragraph/Paragraph.css +43 -1
  139. package/dist/es/components/Paragraph/Paragraph.d.ts +2 -4
  140. package/dist/es/components/Paragraph/Paragraph.js +22 -9
  141. package/dist/es/components/Preloader/Preloader.css +224 -1
  142. package/dist/es/components/Preloader/Preloader.d.ts +3 -3
  143. package/dist/es/components/Preloader/Preloader.js +36 -16
  144. package/dist/es/components/RadioButton/RadioButton.css +120 -1
  145. package/dist/es/components/RadioButton/RadioButton.d.ts +1 -1
  146. package/dist/es/components/RadioButton/RadioButton.js +50 -18
  147. package/dist/es/components/Row/Row.css +238 -1
  148. package/dist/es/components/Row/Row.d.ts +2 -2
  149. package/dist/es/components/Row/Row.js +48 -23
  150. package/dist/es/components/Search/Search.css +453 -1
  151. package/dist/es/components/Search/Search.d.ts +8 -7
  152. package/dist/es/components/Search/Search.js +149 -54
  153. package/dist/es/components/Select/Select.css +389 -1
  154. package/dist/es/components/Select/Select.d.ts +84 -8
  155. package/dist/es/components/Select/Select.js +142 -52
  156. package/dist/es/components/Select/reducer/selectReducer.d.ts +1 -1
  157. package/dist/es/components/Select/reducer/selectReducer.js +32 -18
  158. package/dist/es/components/Selector/Selector.css +132 -1
  159. package/dist/es/components/Selector/Selector.d.ts +1 -1
  160. package/dist/es/components/Selector/Selector.js +50 -23
  161. package/dist/es/components/Selector/doc/Selector.example.css +17 -0
  162. package/dist/es/components/Sliders/Slider/Slider.css +128 -1
  163. package/dist/es/components/Sliders/Slider/Slider.d.ts +1 -1
  164. package/dist/es/components/Sliders/Slider/Slider.js +56 -25
  165. package/dist/es/components/Sliders/SliderRange/SliderRange.css +169 -1
  166. package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +1 -1
  167. package/dist/es/components/Sliders/SliderRange/SliderRange.js +80 -33
  168. package/dist/es/components/Sliders/SliderRange/helpers.js +2 -0
  169. package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +219 -1
  170. package/dist/es/components/Sliders/SliderRatio/SliderRatio.d.ts +1 -1
  171. package/dist/es/components/Sliders/SliderRatio/SliderRatio.js +85 -36
  172. package/dist/es/components/Sliders/SliderRatio/helpers.js +1 -1
  173. package/dist/es/components/Sliders/SliderRatio/types.d.ts +1 -1
  174. package/dist/es/components/Sliders/SliderRatio/types.js +1 -0
  175. package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +84 -1
  176. package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +2 -2
  177. package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +35 -11
  178. package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +15 -1
  179. package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +2 -2
  180. package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +20 -6
  181. package/dist/es/components/Sliders/components/SliderScale/helpers.js +16 -12
  182. package/dist/es/components/Sliders/helpers.js +5 -1
  183. package/dist/es/components/Snackbar/Snackbar.css +220 -1
  184. package/dist/es/components/Snackbar/Snackbar.d.ts +3 -3
  185. package/dist/es/components/Snackbar/Snackbar.js +82 -44
  186. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.css +66 -1
  187. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +3 -3
  188. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.js +17 -9
  189. package/dist/es/components/Switcher/Switcher.css +160 -1
  190. package/dist/es/components/Switcher/Switcher.d.ts +1 -2
  191. package/dist/es/components/Switcher/Switcher.js +39 -17
  192. package/dist/es/components/Tabs/Tab.d.ts +6 -0
  193. package/dist/es/components/Tabs/Tab.js +14 -0
  194. package/dist/es/components/Tabs/Tabs.css +306 -1
  195. package/dist/es/components/Tabs/Tabs.d.ts +5 -6
  196. package/dist/es/components/Tabs/Tabs.js +177 -87
  197. package/dist/es/components/TextField/TextField.css +343 -1
  198. package/dist/es/components/TextField/TextField.d.ts +3 -3
  199. package/dist/es/components/TextField/TextField.js +188 -80
  200. package/dist/es/components/TextField/utils/countGraphemes.js +18 -10
  201. package/dist/es/components/TextLink/TextLink.css +50 -1
  202. package/dist/es/components/TextLink/TextLink.d.ts +2 -2
  203. package/dist/es/components/TextLink/TextLink.js +27 -14
  204. package/dist/es/components/Tile/Tile.css +43 -1
  205. package/dist/es/components/Tile/Tile.d.ts +5 -7
  206. package/dist/es/components/Tile/Tile.js +36 -16
  207. package/dist/es/components/Tooltip/Tooltip.css +335 -1
  208. package/dist/es/components/Tooltip/Tooltip.d.ts +8 -9
  209. package/dist/es/components/Tooltip/Tooltip.js +139 -58
  210. package/dist/es/hooks/usePrevious.js +2 -0
  211. package/dist/es/hooks/useResolution.d.ts +1 -1
  212. package/dist/es/hooks/useResolution.js +11 -5
  213. package/dist/es/hooks/useSwipe.d.ts +1 -1
  214. package/dist/es/hooks/useSwipe.js +44 -17
  215. package/dist/es/index.d.ts +9 -16
  216. package/dist/es/index.js +10 -17
  217. package/dist/lib/colors/ColorItem/ColorItem.css +45 -1
  218. package/dist/lib/colors/ColorItem/ColorItem.d.ts +2 -2
  219. package/dist/lib/colors/ColorItem/ColorItem.js +18 -9
  220. package/dist/lib/colors/Colors.css +233 -1
  221. package/dist/lib/colors/Colors.d.ts +1 -1
  222. package/dist/lib/colors/Colors.js +79 -37
  223. package/dist/lib/colors/colorsData.d.ts +4 -4
  224. package/dist/lib/colors/colorsData.js +2 -1
  225. package/dist/lib/components/Accordion/Accordion.css +89 -1
  226. package/dist/lib/components/Accordion/Accordion.d.ts +1 -2
  227. package/dist/lib/components/Accordion/Accordion.js +81 -26
  228. package/dist/lib/components/Avatar/Avatar.css +52 -1
  229. package/dist/lib/components/Avatar/Avatar.d.ts +1 -1
  230. package/dist/lib/components/Avatar/Avatar.js +41 -13
  231. package/dist/lib/components/Avatar/doc/i/img.png +0 -0
  232. package/dist/lib/components/Badges/components/CounterBadge/CounterBadge.css +54 -0
  233. package/dist/lib/components/Badges/{CounterBadge → components/CounterBadge}/CounterBadge.d.ts +2 -2
  234. package/dist/lib/components/Badges/components/CounterBadge/CounterBadge.js +81 -0
  235. package/dist/lib/components/Badges/components/NotificationBadge/NotificationBadge.css +58 -0
  236. package/dist/lib/components/Badges/{NotificationBadge → components/NotificationBadge}/NotificationBadge.d.ts +4 -3
  237. package/dist/lib/components/Badges/components/NotificationBadge/NotificationBadge.js +71 -0
  238. package/dist/lib/components/Badges/components/PriceBadge/PriceBadge.css +119 -0
  239. package/dist/lib/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.d.ts +4 -4
  240. package/dist/lib/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.js +75 -19
  241. package/dist/lib/components/Badges/components/PromoBadge/PromoBadge.css +64 -0
  242. package/dist/{es/components/Badges → lib/components/Badges/components}/PromoBadge/PromoBadge.d.ts +3 -3
  243. package/dist/lib/components/Badges/components/PromoBadge/PromoBadge.js +76 -0
  244. package/dist/lib/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.js +55 -11
  245. package/dist/lib/components/Badges/components/TimerBadge/TimerBadge.css +60 -0
  246. package/dist/{es/components/Badges → lib/components/Badges/components}/TimerBadge/TimerBadge.d.ts +2 -2
  247. package/dist/lib/components/Badges/components/TimerBadge/TimerBadge.js +135 -0
  248. package/dist/lib/components/Banner/Banner.css +195 -1
  249. package/dist/lib/components/Banner/Banner.d.ts +4 -5
  250. package/dist/lib/components/Banner/Banner.js +160 -72
  251. package/dist/lib/components/Banner/BannerDot.css +69 -1
  252. package/dist/lib/components/Banner/BannerDot.d.ts +1 -1
  253. package/dist/lib/components/Banner/BannerDot.js +36 -10
  254. package/dist/lib/components/Banner/slidesSettings.d.ts +2 -4
  255. package/dist/lib/components/Banner/slidesSettings.js +11 -4
  256. package/dist/lib/components/Button/Button.css +814 -1
  257. package/dist/lib/components/Button/Button.d.ts +6 -7
  258. package/dist/lib/components/Button/Button.js +157 -70
  259. package/dist/lib/components/Calendar/Calendar.css +5 -1
  260. package/dist/lib/components/Calendar/Calendar.d.ts +2 -2
  261. package/dist/lib/components/Calendar/Calendar.js +148 -70
  262. package/dist/lib/components/Calendar/components/Day/Day.css +128 -0
  263. package/dist/{es/components/Calendar/components/_Day → lib/components/Calendar/components/Day}/Day.d.ts +4 -4
  264. package/dist/lib/components/Calendar/components/Day/Day.js +117 -0
  265. package/dist/lib/components/Calendar/components/Month/Month.css +81 -0
  266. package/dist/lib/components/Calendar/components/{_Month → Month}/Month.d.ts +2 -3
  267. package/dist/lib/components/Calendar/components/Month/Month.js +122 -0
  268. package/dist/lib/components/Caption/Caption.css +48 -1
  269. package/dist/lib/components/Caption/Caption.d.ts +2 -4
  270. package/dist/lib/components/Caption/Caption.js +40 -15
  271. package/dist/lib/components/Carousel/Carousel.css +215 -1
  272. package/dist/lib/components/Carousel/Carousel.d.ts +10 -11
  273. package/dist/lib/components/Carousel/Carousel.js +226 -195
  274. package/dist/lib/components/Carousel/checkBreakpointsPropTypes.d.ts +1 -1
  275. package/dist/lib/components/Carousel/checkBreakpointsPropTypes.js +17 -5
  276. package/dist/lib/components/Carousel/useGradient.d.ts +1 -1
  277. package/dist/lib/components/Carousel/useGradient.js +24 -11
  278. package/dist/lib/components/Checkbox/Checkbox.css +150 -1
  279. package/dist/lib/components/Checkbox/Checkbox.d.ts +4 -4
  280. package/dist/lib/components/Checkbox/Checkbox.js +74 -34
  281. package/dist/lib/components/Chips/Chip.css +132 -1
  282. package/dist/lib/components/Chips/Chip.d.ts +26 -6
  283. package/dist/lib/components/Chips/Chip.js +75 -35
  284. package/dist/lib/components/Chips/Chips.css +19 -1
  285. package/dist/lib/components/Chips/Chips.d.ts +2 -2
  286. package/dist/lib/components/Chips/Chips.js +91 -46
  287. package/dist/lib/components/Chips/components/ChipsDropdown.css +106 -1
  288. package/dist/lib/components/Chips/components/ChipsDropdown.d.ts +2 -2
  289. package/dist/lib/components/Chips/components/ChipsDropdown.js +66 -30
  290. package/dist/lib/components/Collapse/Collapse.css +3 -0
  291. package/dist/{es/components/_Collapse → lib/components/Collapse}/Collapse.d.ts +3 -3
  292. package/dist/lib/components/Collapse/Collapse.js +141 -0
  293. package/dist/lib/components/ContentArea/ContentArea.css +109 -1
  294. package/dist/lib/components/ContentArea/ContentArea.d.ts +4 -5
  295. package/dist/lib/components/ContentArea/ContentArea.js +43 -13
  296. package/dist/lib/components/ContentView/ContentView.css +103 -1
  297. package/dist/lib/components/ContentView/ContentView.d.ts +2 -3
  298. package/dist/lib/components/ContentView/ContentView.js +62 -16
  299. package/dist/lib/components/Counter/Counter.css +123 -1
  300. package/dist/lib/components/Counter/Counter.d.ts +1 -1
  301. package/dist/lib/components/Counter/Counter.js +70 -24
  302. package/dist/lib/components/Grid/Grid.css +102 -1
  303. package/dist/lib/components/Grid/Grid.d.ts +1 -1
  304. package/dist/lib/components/Grid/Grid.js +39 -12
  305. package/dist/lib/components/Grid/GridColumn.css +3102 -1
  306. package/dist/lib/components/Grid/GridColumn.d.ts +2 -2
  307. package/dist/lib/components/Grid/GridColumn.js +76 -37
  308. package/dist/lib/components/Header/Header.css +122 -1
  309. package/dist/lib/components/Header/Header.d.ts +1 -3
  310. package/dist/lib/components/Header/Header.js +42 -17
  311. package/dist/lib/components/Link/Link.d.ts +2 -2
  312. package/dist/lib/components/Link/Link.js +33 -14
  313. package/dist/lib/components/List/List.css +66 -1
  314. package/dist/lib/components/List/List.d.ts +1 -2
  315. package/dist/lib/components/List/List.js +30 -12
  316. package/dist/lib/components/List/ListItem.css +6 -1
  317. package/dist/lib/components/List/ListItem.d.ts +1 -2
  318. package/dist/lib/components/List/ListItem.js +19 -5
  319. package/dist/lib/components/ListData/ListData.css +162 -1
  320. package/dist/lib/components/ListData/ListData.d.ts +34 -6
  321. package/dist/lib/components/ListData/ListData.js +110 -50
  322. package/dist/lib/components/ListData/ListDataGroup.css +15 -1
  323. package/dist/lib/components/ListData/ListDataGroup.d.ts +4 -4
  324. package/dist/lib/components/ListData/ListDataGroup.js +117 -47
  325. package/dist/lib/components/ListData/components/ListDataSortable.css +79 -1
  326. package/dist/lib/components/ListData/components/ListDataSortable.d.ts +4 -4
  327. package/dist/lib/components/ListData/components/ListDataSortable.js +73 -34
  328. package/dist/lib/components/ListData/doc/i/img.png +0 -0
  329. package/dist/lib/components/ListData/helpers.js +24 -6
  330. package/dist/lib/components/Logo/Logo.css +43 -1
  331. package/dist/lib/components/Logo/Logo.d.ts +1 -1
  332. package/dist/lib/components/Logo/Logo.js +40 -13
  333. package/dist/lib/components/NavArrow/NavArrow.css +63 -1
  334. package/dist/lib/components/NavArrow/NavArrow.d.ts +3 -3
  335. package/dist/lib/components/NavArrow/NavArrow.js +46 -14
  336. package/dist/lib/components/Notification/Notification.css +350 -1
  337. package/dist/lib/components/Notification/Notification.d.ts +4 -5
  338. package/dist/lib/components/Notification/Notification.js +200 -113
  339. package/dist/lib/components/Pagination/Pagination.css +5 -1
  340. package/dist/lib/components/Pagination/Pagination.d.ts +3 -4
  341. package/dist/lib/components/Pagination/Pagination.js +50 -18
  342. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +62 -1
  343. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +4 -5
  344. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +34 -11
  345. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.css +10 -1
  346. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +2 -3
  347. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +31 -6
  348. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +17 -1
  349. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +2 -3
  350. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +31 -8
  351. package/dist/lib/components/Pagination/helpers.js +6 -1
  352. package/dist/lib/components/Pagination/usePagination.d.ts +1 -2
  353. package/dist/lib/components/Pagination/usePagination.js +35 -9
  354. package/dist/lib/components/Paragraph/Paragraph.css +43 -1
  355. package/dist/lib/components/Paragraph/Paragraph.d.ts +2 -4
  356. package/dist/lib/components/Paragraph/Paragraph.js +37 -13
  357. package/dist/lib/components/Preloader/Preloader.css +224 -1
  358. package/dist/lib/components/Preloader/Preloader.d.ts +3 -3
  359. package/dist/lib/components/Preloader/Preloader.js +57 -22
  360. package/dist/lib/components/RadioButton/RadioButton.css +120 -1
  361. package/dist/lib/components/RadioButton/RadioButton.d.ts +1 -1
  362. package/dist/lib/components/RadioButton/RadioButton.js +69 -22
  363. package/dist/lib/components/Row/Row.css +238 -1
  364. package/dist/lib/components/Row/Row.d.ts +2 -2
  365. package/dist/lib/components/Row/Row.js +75 -39
  366. package/dist/lib/components/Search/Search.css +453 -1
  367. package/dist/lib/components/Search/Search.d.ts +8 -7
  368. package/dist/lib/components/Search/Search.js +261 -121
  369. package/dist/lib/components/Select/Select.css +389 -1
  370. package/dist/lib/components/Select/Select.d.ts +84 -8
  371. package/dist/lib/components/Select/Select.js +186 -69
  372. package/dist/lib/components/Select/reducer/selectReducer.d.ts +1 -1
  373. package/dist/lib/components/Select/reducer/selectReducer.js +41 -21
  374. package/dist/lib/components/Selector/Selector.css +132 -1
  375. package/dist/lib/components/Selector/Selector.d.ts +1 -1
  376. package/dist/lib/components/Selector/Selector.js +70 -27
  377. package/dist/lib/components/Selector/doc/Selector.example.css +17 -0
  378. package/dist/lib/components/Sliders/Slider/Slider.css +128 -1
  379. package/dist/lib/components/Sliders/Slider/Slider.d.ts +1 -1
  380. package/dist/lib/components/Sliders/Slider/Slider.js +75 -29
  381. package/dist/lib/components/Sliders/SliderRange/SliderRange.css +169 -1
  382. package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +1 -1
  383. package/dist/lib/components/Sliders/SliderRange/SliderRange.js +100 -37
  384. package/dist/lib/components/Sliders/SliderRange/helpers.js +18 -5
  385. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +219 -1
  386. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.d.ts +1 -1
  387. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.js +111 -40
  388. package/dist/lib/components/Sliders/SliderRatio/helpers.js +27 -8
  389. package/dist/lib/components/Sliders/SliderRatio/types.d.ts +1 -1
  390. package/dist/lib/components/Sliders/SliderRatio/types.js +2 -0
  391. package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +84 -1
  392. package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +2 -2
  393. package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +56 -17
  394. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +15 -1
  395. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +2 -2
  396. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +39 -11
  397. package/dist/lib/components/Sliders/components/SliderScale/helpers.js +33 -15
  398. package/dist/lib/components/Sliders/helpers.js +22 -5
  399. package/dist/lib/components/Snackbar/Snackbar.css +220 -1
  400. package/dist/lib/components/Snackbar/Snackbar.d.ts +3 -3
  401. package/dist/lib/components/Snackbar/Snackbar.js +138 -81
  402. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.css +66 -1
  403. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +3 -3
  404. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.js +36 -17
  405. package/dist/lib/components/Switcher/Switcher.css +160 -1
  406. package/dist/lib/components/Switcher/Switcher.d.ts +1 -2
  407. package/dist/lib/components/Switcher/Switcher.js +52 -21
  408. package/dist/lib/components/Tabs/Tab.d.ts +6 -0
  409. package/dist/lib/components/Tabs/Tab.js +26 -5
  410. package/dist/lib/components/Tabs/Tabs.css +306 -1
  411. package/dist/lib/components/Tabs/Tabs.d.ts +5 -6
  412. package/dist/lib/components/Tabs/Tabs.js +209 -95
  413. package/dist/lib/components/TextField/TextField.css +343 -1
  414. package/dist/lib/components/TextField/TextField.d.ts +3 -3
  415. package/dist/lib/components/TextField/TextField.js +238 -113
  416. package/dist/lib/components/TextField/utils/countGraphemes.js +28 -11
  417. package/dist/lib/components/TextLink/TextLink.css +50 -1
  418. package/dist/lib/components/TextLink/TextLink.d.ts +2 -2
  419. package/dist/lib/components/TextLink/TextLink.js +41 -18
  420. package/dist/lib/components/Tile/Tile.css +43 -1
  421. package/dist/lib/components/Tile/Tile.d.ts +5 -7
  422. package/dist/lib/components/Tile/Tile.js +54 -26
  423. package/dist/lib/components/Tooltip/Tooltip.css +335 -1
  424. package/dist/lib/components/Tooltip/Tooltip.d.ts +8 -9
  425. package/dist/lib/components/Tooltip/Tooltip.js +218 -110
  426. package/dist/lib/constants/throttleTime.js +3 -2
  427. package/dist/lib/hooks/usePrevious.js +11 -4
  428. package/dist/lib/hooks/useResolution.d.ts +1 -1
  429. package/dist/lib/hooks/useResolution.js +23 -9
  430. package/dist/lib/hooks/useSwipe.d.ts +1 -1
  431. package/dist/lib/hooks/useSwipe.js +63 -21
  432. package/dist/lib/index.d.ts +9 -16
  433. package/dist/lib/index.js +101 -82
  434. package/package.json +101 -106
  435. package/styles/base.less +171 -0
  436. package/styles/colors.css +0 -53
  437. package/dist/es/components/Badges/CounterBadge/CounterBadge.css +0 -1
  438. package/dist/es/components/Badges/NotificationBadge/NotificationBadge.css +0 -1
  439. package/dist/es/components/Badges/NotificationBadge/NotificationBadge.js +0 -34
  440. package/dist/es/components/Badges/PriceBadge/PriceBadge.css +0 -1
  441. package/dist/es/components/Badges/PromoBadge/PromoBadge.css +0 -1
  442. package/dist/es/components/Badges/TimerBadge/TimerBadge.css +0 -1
  443. package/dist/es/components/Calendar/components/_Day/Day.css +0 -1
  444. package/dist/es/components/Calendar/components/_Month/Month.css +0 -1
  445. package/dist/es/components/Modal/Modal.css +0 -1
  446. package/dist/es/components/Modal/Modal.d.ts +0 -106
  447. package/dist/es/components/Modal/Modal.js +0 -277
  448. package/dist/es/components/Modal/_ModalContent/ModalContent.css +0 -1
  449. package/dist/es/components/Modal/_ModalContent/ModalContent.d.ts +0 -8
  450. package/dist/es/components/Modal/_ModalContent/ModalContent.js +0 -167
  451. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.css +0 -1
  452. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.d.ts +0 -8
  453. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.js +0 -32
  454. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +0 -1
  455. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +0 -12
  456. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +0 -114
  457. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +0 -1
  458. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +0 -8
  459. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +0 -55
  460. package/dist/es/components/Modal/mocks.d.ts +0 -3
  461. package/dist/es/components/Modal/mocks.js +0 -79
  462. package/dist/es/components/Modal/types.d.ts +0 -28
  463. package/dist/es/components/Modal/types.js +0 -1
  464. package/dist/es/components/Modal/utils/utils.d.ts +0 -18
  465. package/dist/es/components/Modal/utils/utils.js +0 -66
  466. package/dist/es/components/ScrollBar/ScrollBar.css +0 -1
  467. package/dist/es/components/ScrollBar/ScrollBar.d.ts +0 -34
  468. package/dist/es/components/ScrollBar/ScrollBar.js +0 -86
  469. package/dist/es/components/_Collapse/Collapse.css +0 -1
  470. package/dist/es/styles/base.css +0 -1
  471. package/dist/lib/components/Badges/CounterBadge/CounterBadge.css +0 -1
  472. package/dist/lib/components/Badges/CounterBadge/CounterBadge.js +0 -52
  473. package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.css +0 -1
  474. package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.js +0 -43
  475. package/dist/lib/components/Badges/PriceBadge/PriceBadge.css +0 -1
  476. package/dist/lib/components/Badges/PromoBadge/PromoBadge.css +0 -1
  477. package/dist/lib/components/Badges/PromoBadge/PromoBadge.js +0 -49
  478. package/dist/lib/components/Badges/TimerBadge/TimerBadge.css +0 -1
  479. package/dist/lib/components/Badges/TimerBadge/TimerBadge.js +0 -97
  480. package/dist/lib/components/Calendar/components/_Day/Day.css +0 -1
  481. package/dist/lib/components/Calendar/components/_Day/Day.js +0 -75
  482. package/dist/lib/components/Calendar/components/_Month/Month.css +0 -1
  483. package/dist/lib/components/Calendar/components/_Month/Month.js +0 -93
  484. package/dist/lib/components/Modal/Modal.css +0 -1
  485. package/dist/lib/components/Modal/Modal.d.ts +0 -106
  486. package/dist/lib/components/Modal/Modal.js +0 -286
  487. package/dist/lib/components/Modal/_ModalContent/ModalContent.css +0 -1
  488. package/dist/lib/components/Modal/_ModalContent/ModalContent.d.ts +0 -8
  489. package/dist/lib/components/Modal/_ModalContent/ModalContent.js +0 -176
  490. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.css +0 -1
  491. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.d.ts +0 -8
  492. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.js +0 -41
  493. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +0 -1
  494. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +0 -12
  495. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +0 -123
  496. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +0 -1
  497. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +0 -8
  498. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +0 -64
  499. package/dist/lib/components/Modal/mocks.d.ts +0 -3
  500. package/dist/lib/components/Modal/mocks.js +0 -85
  501. package/dist/lib/components/Modal/types.d.ts +0 -28
  502. package/dist/lib/components/Modal/types.js +0 -5
  503. package/dist/lib/components/Modal/utils/utils.d.ts +0 -18
  504. package/dist/lib/components/Modal/utils/utils.js +0 -72
  505. package/dist/lib/components/ScrollBar/ScrollBar.css +0 -1
  506. package/dist/lib/components/ScrollBar/ScrollBar.d.ts +0 -34
  507. package/dist/lib/components/ScrollBar/ScrollBar.js +0 -94
  508. package/dist/lib/components/_Collapse/Collapse.css +0 -1
  509. package/dist/lib/components/_Collapse/Collapse.js +0 -95
  510. package/dist/lib/styles/base.css +0 -1
  511. package/styles/base.scss +0 -150
  512. /package/dist/es/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.d.ts +0 -0
  513. /package/dist/lib/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.d.ts +0 -0
@@ -1,20 +1,22 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
- import "core-js/modules/es.array.map.js";
4
3
  import "core-js/modules/es.array.slice.js";
5
- import "core-js/modules/es.regexp.constructor.js";
6
4
  import "core-js/modules/es.regexp.exec.js";
7
- import "core-js/modules/es.regexp.sticky.js";
8
- import "core-js/modules/es.regexp.to-string.js";
9
5
  import "core-js/modules/es.string.replace.js";
10
6
  import "core-js/modules/es.string.split.js";
11
- import * as React from 'react';
7
+ import "core-js/modules/es.regexp.constructor.js";
8
+ import "core-js/modules/es.regexp.to-string.js";
9
+ import "core-js/modules/es.array.map.js";
10
+ import "core-js/modules/es.object.values.js";
11
+ import React from 'react';
12
12
  import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
13
13
  import debounce from 'lodash.debounce';
14
+ import * as PropTypes from 'prop-types';
14
15
  import Caption from "../Caption/Caption";
15
16
  import Header from "../Header/Header";
16
17
  import Preloader from "../Preloader/Preloader";
17
18
  import "./Search.css";
19
+
18
20
  var SearchIcon16 = function SearchIcon16(props) {
19
21
  return /*#__PURE__*/React.createElement("svg", _extends({
20
22
  viewBox: "0 0 20 20"
@@ -22,6 +24,7 @@ var SearchIcon16 = function SearchIcon16(props) {
22
24
  d: "M17 9a7 7 0 10-3.32 6l2.49 3 .77-.64-2.47-3A7 7 0 0017 9zM4 9a6 6 0 116 6 6 6 0 01-6-6z"
23
25
  }));
24
26
  };
27
+
25
28
  var SearchIcon = function SearchIcon(props) {
26
29
  return /*#__PURE__*/React.createElement("svg", _extends({
27
30
  viewBox: "0 0 32 32"
@@ -29,6 +32,7 @@ var SearchIcon = function SearchIcon(props) {
29
32
  d: "M16 24a9.94 9.94 0 005.7-1.8l4.83 5.8L28 26.72l-4.78-5.82A10 10 0 1016 24zm0-18a8 8 0 11-8 8 8 8 0 018-8z"
30
33
  }));
31
34
  };
35
+
32
36
  var ClearIcon = function ClearIcon(props) {
33
37
  return /*#__PURE__*/React.createElement("svg", _extends({
34
38
  viewBox: "0 0 20 20"
@@ -37,6 +41,7 @@ var ClearIcon = function ClearIcon(props) {
37
41
  d: "M10 8.8L6.2 5 5 6.2 8.8 10 5 13.8 6.2 15l3.8-3.8 3.8 3.8 1.2-1.2-3.8-3.8L15 6.2 13.8 5 10 8.8z"
38
42
  }));
39
43
  };
44
+
40
45
  var SEARCH_QUERY_REGEX = /[^A-Z-a-zА-ЯЁа-яё0-9]/g;
41
46
  var MAX_POPULAR_ITEMS_LENGTH = 5;
42
47
  export var Verification = {
@@ -48,54 +53,60 @@ export var SearchItemsPaddings = {
48
53
  LARGE: 'large'
49
54
  };
50
55
  var cn = cnCreate('mfui-search');
56
+
51
57
  var Search = function Search(_ref) {
52
58
  var dataAttrs = _ref.dataAttrs,
53
- _ref$value = _ref.value,
54
- value = _ref$value === void 0 ? '' : _ref$value,
55
- label = _ref.label,
56
- _ref$searchId = _ref.searchId,
57
- searchId = _ref$searchId === void 0 ? 'mfuiSearchId' : _ref$searchId,
58
- placeholder = _ref.placeholder,
59
- hideIcon = _ref.hideIcon,
60
- _ref$items = _ref.items,
61
- items = _ref$items === void 0 ? [] : _ref$items,
62
- _ref$changeDelay = _ref.changeDelay,
63
- changeDelay = _ref$changeDelay === void 0 ? 250 : _ref$changeDelay,
64
- verification = _ref.verification,
65
- disabled = _ref.disabled,
66
- required = _ref.required,
67
- noticeText = _ref.noticeText,
68
- className = _ref.className,
69
- classes = _ref.classes,
70
- _ref$type = _ref.type,
71
- type = _ref$type === void 0 ? 'textfield' : _ref$type,
72
- showLoader = _ref.showLoader,
73
- showNotFound = _ref.showNotFound,
74
- textNotFound = _ref.textNotFound,
75
- _ref$popularItems = _ref.popularItems,
76
- popularItems = _ref$popularItems === void 0 ? [] : _ref$popularItems,
77
- popularTitle = _ref.popularTitle,
78
- onChange = _ref.onChange,
79
- onSubmit = _ref.onSubmit,
80
- onBlur = _ref.onBlur,
81
- onFocus = _ref.onFocus,
82
- onPopularItemClick = _ref.onPopularItemClick;
59
+ _ref$value = _ref.value,
60
+ value = _ref$value === void 0 ? '' : _ref$value,
61
+ label = _ref.label,
62
+ _ref$searchId = _ref.searchId,
63
+ searchId = _ref$searchId === void 0 ? 'mfuiSearchId' : _ref$searchId,
64
+ placeholder = _ref.placeholder,
65
+ hideIcon = _ref.hideIcon,
66
+ _ref$items = _ref.items,
67
+ items = _ref$items === void 0 ? [] : _ref$items,
68
+ _ref$changeDelay = _ref.changeDelay,
69
+ changeDelay = _ref$changeDelay === void 0 ? 250 : _ref$changeDelay,
70
+ verification = _ref.verification,
71
+ disabled = _ref.disabled,
72
+ required = _ref.required,
73
+ noticeText = _ref.noticeText,
74
+ className = _ref.className,
75
+ classes = _ref.classes,
76
+ _ref$type = _ref.type,
77
+ type = _ref$type === void 0 ? 'textfield' : _ref$type,
78
+ showLoader = _ref.showLoader,
79
+ showNotFound = _ref.showNotFound,
80
+ textNotFound = _ref.textNotFound,
81
+ _ref$popularItems = _ref.popularItems,
82
+ popularItems = _ref$popularItems === void 0 ? [] : _ref$popularItems,
83
+ popularTitle = _ref.popularTitle,
84
+ onChange = _ref.onChange,
85
+ onSubmit = _ref.onSubmit,
86
+ onBlur = _ref.onBlur,
87
+ onFocus = _ref.onFocus,
88
+ onPopularItemClick = _ref.onPopularItemClick;
89
+
83
90
  var _React$useState = React.useState(value),
84
- _React$useState2 = _slicedToArray(_React$useState, 2),
85
- searchQuery = _React$useState2[0],
86
- setSearchQuery = _React$useState2[1];
91
+ _React$useState2 = _slicedToArray(_React$useState, 2),
92
+ searchQuery = _React$useState2[0],
93
+ setSearchQuery = _React$useState2[1];
94
+
87
95
  var _React$useState3 = React.useState(-1),
88
- _React$useState4 = _slicedToArray(_React$useState3, 2),
89
- activeIndex = _React$useState4[0],
90
- setActiveIndex = _React$useState4[1];
96
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
97
+ activeIndex = _React$useState4[0],
98
+ setActiveIndex = _React$useState4[1];
99
+
91
100
  var _React$useState5 = React.useState(false),
92
- _React$useState6 = _slicedToArray(_React$useState5, 2),
93
- isFocused = _React$useState6[0],
94
- setFocus = _React$useState6[1];
101
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
102
+ isFocused = _React$useState6[0],
103
+ setFocus = _React$useState6[1];
104
+
95
105
  var _React$useState7 = React.useState(-1),
96
- _React$useState8 = _slicedToArray(_React$useState7, 2),
97
- popularActiveIndex = _React$useState8[0],
98
- setPopularActiveIndex = _React$useState8[1];
106
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
107
+ popularActiveIndex = _React$useState8[0],
108
+ setPopularActiveIndex = _React$useState8[1];
109
+
99
110
  var debouncedOnChange = React.useRef(debounce(function (inputValue) {
100
111
  return onChange && onChange(inputValue);
101
112
  }, changeDelay));
@@ -111,9 +122,10 @@ var Search = function Search(_ref) {
111
122
  var showPopularItems = !!correctPopularItems.length;
112
123
  var handleChange = React.useCallback(function (e) {
113
124
  var _e$target$value = e.target.value,
114
- inputValue = _e$target$value === void 0 ? '' : _e$target$value;
125
+ inputValue = _e$target$value === void 0 ? '' : _e$target$value;
115
126
  setSearchQuery(inputValue);
116
127
  setActiveIndex(-1);
128
+
117
129
  if (changeDelay === 0) {
118
130
  onChange === null || onChange === void 0 ? void 0 : onChange(inputValue);
119
131
  } else {
@@ -139,8 +151,10 @@ var Search = function Search(_ref) {
139
151
  if (disabled) {
140
152
  return;
141
153
  }
154
+
142
155
  var chosenItem = items[index];
143
156
  onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(chosenItem.value);
157
+
144
158
  if (chosenItem.href) {
145
159
  window.location.href = chosenItem.href;
146
160
  }
@@ -168,12 +182,14 @@ var Search = function Search(_ref) {
168
182
  }, []);
169
183
  var handlePopularItemMouseUp = React.useCallback(function () {
170
184
  var _a;
185
+
171
186
  var chosenValue = popularItems[popularActiveIndex].title;
172
187
  (_a = fieldNode === null || fieldNode === void 0 ? void 0 : fieldNode.current) === null || _a === void 0 ? void 0 : _a.blur();
173
188
  onPopularItemClick === null || onPopularItemClick === void 0 ? void 0 : onPopularItemClick(chosenValue);
174
189
  }, [onPopularItemClick, popularActiveIndex, popularItems]);
175
190
  var handleKeyDownPopularItems = React.useCallback(function (e) {
176
191
  var _a;
192
+
177
193
  switch (true) {
178
194
  case e.key === 'ArrowDown' && popularActiveIndex < popularItems.length - 1:
179
195
  setPopularActiveIndex(function (index) {
@@ -181,24 +197,30 @@ var Search = function Search(_ref) {
181
197
  });
182
198
  e.preventDefault();
183
199
  break;
200
+
184
201
  case e.key === 'ArrowUp' && popularActiveIndex > -1:
185
202
  setPopularActiveIndex(function (index) {
186
203
  return index - 1;
187
204
  });
188
205
  e.preventDefault();
189
206
  break;
207
+
190
208
  case e.key === 'Enter' && popularActiveIndex > -1:
191
209
  {
192
210
  var currentHref = (_a = popularItems[popularActiveIndex]) === null || _a === void 0 ? void 0 : _a.href;
193
211
  handlePopularItemMouseUp();
212
+
194
213
  if (currentHref) {
195
214
  window.location.href = currentHref;
196
215
  }
216
+
197
217
  break;
198
218
  }
219
+
199
220
  default:
200
221
  break;
201
222
  }
223
+
202
224
  return false;
203
225
  }, [popularActiveIndex, popularItems, handlePopularItemMouseUp]);
204
226
  var handleKeyDownItems = React.useCallback(function (e) {
@@ -209,37 +231,49 @@ var Search = function Search(_ref) {
209
231
  });
210
232
  e.preventDefault();
211
233
  break;
234
+
212
235
  case e.key === 'ArrowUp' && activeIndex > -1:
213
236
  setActiveIndex(function (index) {
214
237
  return index - 1;
215
238
  });
216
239
  e.preventDefault();
217
240
  break;
241
+
218
242
  case e.key === 'Enter' && activeIndex > -1:
219
243
  handleItemSubmit(activeIndex);
220
244
  e.preventDefault();
221
245
  break;
246
+
222
247
  case e.key === 'Enter' && activeIndex === -1:
223
248
  handleSearchSubmit();
224
249
  break;
250
+
225
251
  default:
226
252
  break;
227
253
  }
254
+
228
255
  return false;
229
256
  }, [activeIndex, handleItemSubmit, handleSearchSubmit, items.length]);
230
257
  var handleKeyDown = React.useCallback(function (e) {
231
258
  if (showNotFound && showPopularItems) {
232
259
  return handleKeyDownPopularItems(e);
233
260
  }
261
+
234
262
  return handleKeyDownItems(e);
235
263
  }, [handleKeyDownItems, handleKeyDownPopularItems, showNotFound, showPopularItems]);
264
+
236
265
  var handleClearClick = function handleClearClick() {
237
- var _a;
266
+ var _a; // TODO: После обновления TS до 4 версии, установить @types/lodash.debounce и убрать disable
267
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
268
+ // @ts-ignore
269
+
270
+
238
271
  !!debouncedOnChange.current && debouncedOnChange.current.cancel();
239
272
  onChange === null || onChange === void 0 ? void 0 : onChange('');
240
273
  setSearchQuery('');
241
274
  (_a = fieldNode === null || fieldNode === void 0 ? void 0 : fieldNode.current) === null || _a === void 0 ? void 0 : _a.focus();
242
275
  };
276
+
243
277
  React.useEffect(function () {
244
278
  return setSearchQuery(value);
245
279
  }, [value]);
@@ -255,6 +289,7 @@ var Search = function Search(_ref) {
255
289
  }, [disabled, isFocused]);
256
290
  React.useEffect(function () {
257
291
  var _a, _b;
292
+
258
293
  if (activeIndex !== -1) {
259
294
  (_b = (_a = highlightedItem.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView) === null || _b === void 0 ? void 0 : _b.call(_a, {
260
295
  behavior: 'smooth',
@@ -262,6 +297,7 @@ var Search = function Search(_ref) {
262
297
  });
263
298
  }
264
299
  }, [activeIndex, items]);
300
+
265
301
  var highlightString = function highlightString(title) {
266
302
  var query = searchQuery.replace(SEARCH_QUERY_REGEX, function (w) {
267
303
  return "\\".concat(w);
@@ -275,6 +311,7 @@ var Search = function Search(_ref) {
275
311
  }, fragment) : fragment);
276
312
  }));
277
313
  };
314
+
278
315
  var renderSubmitButton = function renderSubmitButton() {
279
316
  var Icon = isCompact ? SearchIcon16 : SearchIcon;
280
317
  return /*#__PURE__*/React.createElement("button", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.submit), {
@@ -285,6 +322,7 @@ var Search = function Search(_ref) {
285
322
  className: cn('submit-icon', [classes === null || classes === void 0 ? void 0 : classes.icon])
286
323
  }));
287
324
  };
325
+
288
326
  var renderClearButton = function renderClearButton() {
289
327
  return /*#__PURE__*/React.createElement("button", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.clearButton), {
290
328
  onClick: handleClearClick,
@@ -294,6 +332,7 @@ var Search = function Search(_ref) {
294
332
  className: cn('clear-icon')
295
333
  }));
296
334
  };
335
+
297
336
  var renderList = function renderList() {
298
337
  return /*#__PURE__*/React.createElement("div", {
299
338
  className: cn('list')
@@ -301,9 +340,9 @@ var Search = function Search(_ref) {
301
340
  className: cn('list-inner')
302
341
  }, items.map(function (_ref2, i) {
303
342
  var itemValue = _ref2.value,
304
- searchView = _ref2.searchView,
305
- _ref2$paddings = _ref2.paddings,
306
- paddings = _ref2$paddings === void 0 ? SearchItemsPaddings.LARGE : _ref2$paddings;
343
+ searchView = _ref2.searchView,
344
+ _ref2$paddings = _ref2.paddings,
345
+ paddings = _ref2$paddings === void 0 ? SearchItemsPaddings.LARGE : _ref2$paddings;
307
346
  return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item, i + 1), {
308
347
  ref: activeIndex === i ? highlightedItem : null,
309
348
  className: cn('list-item', {
@@ -318,13 +357,14 @@ var Search = function Search(_ref) {
318
357
  }), searchView || highlightString(itemValue)));
319
358
  })));
320
359
  };
360
+
321
361
  var renderPopularItems = function renderPopularItems() {
322
362
  return /*#__PURE__*/React.createElement("div", {
323
363
  className: cn('popular-list')
324
364
  }, correctPopularItems.map(function (_ref3, i) {
325
365
  var title = _ref3.title,
326
- href = _ref3.href,
327
- icon = _ref3.icon;
366
+ href = _ref3.href,
367
+ icon = _ref3.icon;
328
368
  var Elem = href ? 'a' : 'div';
329
369
  return /*#__PURE__*/React.createElement(Elem, _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.popularItem, i + 1), {
330
370
  className: cn('popular-item', {
@@ -343,6 +383,7 @@ var Search = function Search(_ref) {
343
383
  }, title));
344
384
  }));
345
385
  };
386
+
346
387
  var renderNotFound = function renderNotFound() {
347
388
  return /*#__PURE__*/React.createElement("div", {
348
389
  className: cn('list', {
@@ -363,6 +404,7 @@ var Search = function Search(_ref) {
363
404
  hasMargin: false
364
405
  }, popularTitle || 'Популярные действия'), renderPopularItems())));
365
406
  };
407
+
366
408
  return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
367
409
  className: cn({
368
410
  open: isFocused,
@@ -408,4 +450,57 @@ var Search = function Search(_ref) {
408
450
  })
409
451
  }), noticeText));
410
452
  };
453
+
454
+ Search.propTypes = {
455
+ dataAttrs: PropTypes.shape({
456
+ root: PropTypes.objectOf(PropTypes.string.isRequired),
457
+ control: PropTypes.objectOf(PropTypes.string.isRequired),
458
+ searchField: PropTypes.objectOf(PropTypes.string.isRequired),
459
+ submit: PropTypes.objectOf(PropTypes.string.isRequired),
460
+ item: PropTypes.objectOf(PropTypes.string.isRequired),
461
+ itemTitle: PropTypes.objectOf(PropTypes.string.isRequired),
462
+ notice: PropTypes.objectOf(PropTypes.string.isRequired),
463
+ popularItem: PropTypes.objectOf(PropTypes.string.isRequired)
464
+ }),
465
+ value: PropTypes.string,
466
+ label: PropTypes.string,
467
+ searchId: PropTypes.string,
468
+ placeholder: PropTypes.string,
469
+ hideIcon: PropTypes.bool,
470
+ items: PropTypes.arrayOf(PropTypes.shape({
471
+ value: PropTypes.string.isRequired,
472
+ href: PropTypes.string,
473
+ searchView: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.arrayOf(PropTypes.element)]),
474
+ paddings: PropTypes.oneOf(Object.values(SearchItemsPaddings))
475
+ }).isRequired),
476
+ changeDelay: PropTypes.number,
477
+ verification: PropTypes.oneOf(['valid', 'error']),
478
+ noticeText: PropTypes.string,
479
+ disabled: PropTypes.bool,
480
+ required: PropTypes.bool,
481
+ className: PropTypes.string,
482
+ classes: PropTypes.shape({
483
+ label: PropTypes.string,
484
+ input: PropTypes.string,
485
+ listItemTitle: PropTypes.string,
486
+ control: PropTypes.string,
487
+ icon: PropTypes.string,
488
+ textNotFound: PropTypes.string,
489
+ popularTitle: PropTypes.string,
490
+ popularItem: PropTypes.string
491
+ }),
492
+ showNotFound: PropTypes.bool,
493
+ textNotFound: PropTypes.string,
494
+ popularItems: PropTypes.arrayOf(PropTypes.shape({
495
+ title: PropTypes.string.isRequired,
496
+ href: PropTypes.string,
497
+ icon: PropTypes.element
498
+ }).isRequired),
499
+ popularTitle: PropTypes.string,
500
+ onChange: PropTypes.func,
501
+ onSubmit: PropTypes.func,
502
+ onBlur: PropTypes.func,
503
+ onFocus: PropTypes.func,
504
+ onPopularItemClick: PropTypes.func
505
+ };
411
506
  export default Search;