@megafon/ui-core 9.0.0-alpha.2 → 9.0.0-alpha.21

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 (337) hide show
  1. package/dist/es/components/Accordion/Accordion.css +1 -1
  2. package/dist/es/components/Accordion/Accordion.d.ts +3 -1
  3. package/dist/es/components/Accordion/Accordion.js +3 -3
  4. package/dist/es/components/Avatar/Avatar.css +1 -1
  5. package/dist/es/components/Avatar/Avatar.d.ts +1 -1
  6. package/dist/es/components/Badges/CounterBadge/CounterBadge.js +1 -2
  7. package/dist/es/components/Badges/InfoBadge/InfoBadge.css +1 -0
  8. package/dist/es/components/Badges/InfoBadge/InfoBadge.d.ts +52 -0
  9. package/dist/es/components/Badges/InfoBadge/InfoBadge.js +226 -0
  10. package/dist/es/components/Badges/PriceBadge/PriceBadge.d.ts +1 -0
  11. package/dist/es/components/Badges/PriceBadge/PriceBadge.js +53 -13
  12. package/dist/es/components/Badges/PromoBadge/PromoBadge.css +1 -1
  13. package/dist/es/components/Badges/PromoBadge/PromoBadge.d.ts +1 -11
  14. package/dist/es/components/Badges/PromoBadge/PromoBadge.js +6 -16
  15. package/dist/es/components/Badges/StatusBadge/StatusBadge.css +1 -1
  16. package/dist/es/components/Badges/StatusBadge/StatusBadge.js +16 -7
  17. package/dist/es/components/Badges/TimerBadge/TimerBadge.d.ts +2 -0
  18. package/dist/es/components/Badges/TimerBadge/TimerBadge.js +6 -2
  19. package/dist/es/components/Buttons/Button/Button.css +1 -0
  20. package/dist/es/components/{Button → Buttons/Button}/Button.d.ts +5 -0
  21. package/dist/es/components/{Button → Buttons/Button}/Button.js +38 -12
  22. package/dist/es/components/Buttons/ButtonClose/ButtonClose.css +1 -0
  23. package/dist/es/components/Buttons/ButtonClose/ButtonClose.d.ts +34 -0
  24. package/dist/es/components/Buttons/ButtonClose/ButtonClose.js +69 -0
  25. package/dist/es/components/Calendar/components/_Month/Month.js +2 -6
  26. package/dist/es/components/Carousel/Carousel.css +1 -1
  27. package/dist/es/components/Carousel/Carousel.d.ts +9 -0
  28. package/dist/es/components/Carousel/Carousel.js +14 -2
  29. package/dist/es/components/Checkbox/Checkbox.css +1 -1
  30. package/dist/es/components/Checkbox/Checkbox.js +3 -2
  31. package/dist/es/components/Chips/Chips/Chip.css +1 -1
  32. package/dist/es/components/Chips/Chips/Chip.d.ts +9 -1
  33. package/dist/es/components/Chips/Chips/Chip.js +12 -7
  34. package/dist/es/components/Chips/Chips/Chips.d.ts +16 -1
  35. package/dist/es/components/Chips/Chips/Chips.js +28 -6
  36. package/dist/es/components/Chips/Chips/components/ChipsDropdown/ChipsDropdown.css +1 -1
  37. package/dist/es/components/Chips/Chips/components/ChipsDropdown/ChipsDropdown.d.ts +12 -4
  38. package/dist/es/components/Chips/Chips/components/ChipsDropdown/ChipsDropdown.js +55 -47
  39. package/dist/es/components/Chips/Chips/components/ChipsScrollPanel/ChipsScrollPanel.d.ts +10 -1
  40. package/dist/es/components/Chips/Chips/components/ChipsScrollPanel/ChipsScrollPanel.js +12 -7
  41. package/dist/es/components/Chips/ChipsSuggest/ChipSuggest.css +1 -1
  42. package/dist/es/components/Chips/ChipsSuggest/ChipSuggest.d.ts +7 -0
  43. package/dist/es/components/Chips/ChipsSuggest/ChipSuggest.js +7 -0
  44. package/dist/es/components/Chips/ChipsSuggest/ChipsSuggest.d.ts +4 -2
  45. package/dist/es/components/Chips/ChipsSuggest/ChipsSuggest.js +3 -0
  46. package/dist/es/components/ContentArea/ContentArea.css +1 -1
  47. package/dist/es/components/ContentArea/ContentArea.d.ts +3 -2
  48. package/dist/es/components/ContentArea/ContentArea.js +5 -0
  49. package/dist/es/components/ContentView/ContentView.css +1 -1
  50. package/dist/es/components/ContentView/ContentView.d.ts +15 -4
  51. package/dist/es/components/ContentView/ContentView.js +17 -4
  52. package/dist/es/components/Counter/Counter.css +1 -1
  53. package/dist/es/components/Counter/Counter.d.ts +2 -0
  54. package/dist/es/components/Counter/Counter.js +6 -3
  55. package/dist/es/components/Dropdown/Dropdown.css +1 -1
  56. package/dist/es/components/Dropdown/Dropdown.d.ts +6 -2
  57. package/dist/es/components/Dropdown/Dropdown.js +31 -22
  58. package/dist/es/components/ErrorLoad/ErrorLoad.css +1 -1
  59. package/dist/es/components/ErrorLoad/ErrorLoad.d.ts +1 -1
  60. package/dist/es/components/ErrorLoad/ErrorLoad.js +2 -4
  61. package/dist/es/components/Link/Link.css +1 -0
  62. package/dist/es/components/Link/Link.d.ts +1 -0
  63. package/dist/es/components/Link/Link.js +4 -2
  64. package/dist/es/components/ListData/ListData.css +1 -1
  65. package/dist/es/components/ListData/ListData.d.ts +9 -1
  66. package/dist/es/components/ListData/ListData.js +20 -14
  67. package/dist/es/components/ListData/components/ListDataSortable.css +1 -1
  68. package/dist/es/components/ListData/components/ListDataSortable.js +1 -3
  69. package/dist/es/components/Modal/Modal.css +1 -1
  70. package/dist/es/components/Modal/Modal.d.ts +23 -9
  71. package/dist/es/components/Modal/Modal.js +34 -23
  72. package/dist/es/components/Modal/_ModalContent/ModalContent.css +1 -1
  73. package/dist/es/components/Modal/_ModalContent/ModalContent.js +37 -39
  74. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.css +1 -1
  75. package/dist/es/components/Modal/_ModalMobile/ModalMobile.css +1 -0
  76. package/dist/es/components/Modal/{_ModalMobileBottom/ModalMobileBottom.d.ts → _ModalMobile/ModalMobile.d.ts} +6 -5
  77. package/dist/es/components/Modal/{_ModalMobileBottom/ModalMobileBottom.js → _ModalMobile/ModalMobile.js} +35 -26
  78. package/dist/es/components/Modal/mocks.js +0 -1
  79. package/dist/es/components/Modal/types.d.ts +1 -2
  80. package/dist/es/components/NavArrow/NavArrow.css +1 -1
  81. package/dist/es/components/NavArrow/NavArrow.js +4 -4
  82. package/dist/es/components/Notification/Notification.css +1 -1
  83. package/dist/es/components/Notification/Notification.d.ts +0 -11
  84. package/dist/es/components/Notification/Notification.js +19 -38
  85. package/dist/es/components/Pagination/Pagination.css +1 -1
  86. package/dist/es/components/Pagination/Pagination.d.ts +1 -3
  87. package/dist/es/components/Pagination/Pagination.js +4 -13
  88. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +1 -1
  89. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +1 -2
  90. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +0 -2
  91. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.css +1 -1
  92. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +1 -3
  93. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +5 -16
  94. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +1 -2
  95. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +4 -4
  96. package/dist/es/components/Pagination/types.d.ts +1 -11
  97. package/dist/es/components/Pagination/types.js +1 -4
  98. package/dist/es/components/Pagination/usePagination.d.ts +2 -2
  99. package/dist/es/components/Pagination/usePagination.js +11 -29
  100. package/dist/es/components/Parameter/Parameter.d.ts +0 -3
  101. package/dist/es/components/Parameter/Parameter.js +3 -4
  102. package/dist/es/components/RadioButton/RadioButton.css +1 -1
  103. package/dist/es/components/Row/Row.css +1 -1
  104. package/dist/es/components/Row/Row.js +6 -4
  105. package/dist/es/components/ScrollBar/ScrollBar.d.ts +2 -0
  106. package/dist/es/components/ScrollBar/ScrollBar.js +6 -1
  107. package/dist/es/components/Search/Search.css +1 -1
  108. package/dist/es/components/Search/Search.d.ts +2 -2
  109. package/dist/es/components/Search/Search.js +72 -68
  110. package/dist/es/components/Select/Select.css +1 -1
  111. package/dist/es/components/Select/Select.d.ts +11 -20
  112. package/dist/es/components/Select/Select.js +40 -88
  113. package/dist/es/components/Select/reducer/selectReducer.js +1 -1
  114. package/dist/es/components/Selector/Selector.css +1 -1
  115. package/dist/es/components/Sliders/Slider/Slider.css +1 -1
  116. package/dist/es/components/Sliders/Slider/Slider.d.ts +12 -0
  117. package/dist/es/components/Sliders/Slider/Slider.js +26 -7
  118. package/dist/es/components/Sliders/SliderRange/SliderRange.css +1 -1
  119. package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +3 -0
  120. package/dist/es/components/Sliders/SliderRange/SliderRange.js +4 -1
  121. package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +1 -1
  122. package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +1 -1
  123. package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +6 -0
  124. package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +8 -1
  125. package/dist/es/components/Sliders/helpers.d.ts +1 -0
  126. package/dist/es/components/Sliders/helpers.js +7 -0
  127. package/dist/es/components/Snackbar/Snackbar.css +1 -1
  128. package/dist/es/components/Snackbar/Snackbar.js +20 -21
  129. package/dist/es/components/Stepper/Stepper.css +1 -0
  130. package/dist/es/components/Stepper/Stepper.d.ts +52 -0
  131. package/dist/es/components/Stepper/Stepper.js +159 -0
  132. package/dist/es/components/Stepper/StepperItem.css +1 -0
  133. package/dist/es/components/Stepper/StepperItem.d.ts +57 -0
  134. package/dist/es/components/Stepper/StepperItem.js +101 -0
  135. package/dist/es/components/Stepper/img/separator-mobile.png +0 -0
  136. package/dist/es/components/Stepper/img/separator-vertical.png +0 -0
  137. package/dist/es/components/Stepper/img/separator.png +0 -0
  138. package/dist/es/components/Switcher/Switcher.css +1 -1
  139. package/dist/es/components/Switcher/Switcher.d.ts +5 -0
  140. package/dist/es/components/Switcher/Switcher.js +22 -10
  141. package/dist/es/components/Tabs/Tabs.css +1 -1
  142. package/dist/es/components/Tabs/Tabs.d.ts +2 -0
  143. package/dist/es/components/Tabs/Tabs.js +64 -55
  144. package/dist/es/components/TextField/TextField.css +1 -1
  145. package/dist/es/components/TextField/TextField.d.ts +2 -2
  146. package/dist/es/components/TextField/TextField.js +16 -9
  147. package/dist/es/components/Tooltip/Tooltip.css +1 -1
  148. package/dist/es/components/Tooltip/Tooltip.d.ts +9 -0
  149. package/dist/es/components/Tooltip/Tooltip.js +22 -17
  150. package/dist/es/components/UploadForm/UploadField/UploadField.css +1 -1
  151. package/dist/es/components/UploadForm/UploadField/UploadField.d.ts +4 -1
  152. package/dist/es/components/UploadForm/UploadField/UploadField.js +8 -2
  153. package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +1 -1
  154. package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +3 -1
  155. package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +30 -5
  156. package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.css +1 -1
  157. package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +3 -1
  158. package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.js +9 -6
  159. package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +6 -0
  160. package/dist/es/hooks/useResolution.js +15 -23
  161. package/dist/es/index.d.ts +6 -3
  162. package/dist/es/index.js +6 -3
  163. package/dist/lib/components/Accordion/Accordion.css +1 -1
  164. package/dist/lib/components/Accordion/Accordion.d.ts +3 -1
  165. package/dist/lib/components/Accordion/Accordion.js +3 -3
  166. package/dist/lib/components/Avatar/Avatar.css +1 -1
  167. package/dist/lib/components/Avatar/Avatar.d.ts +1 -1
  168. package/dist/lib/components/Badges/CounterBadge/CounterBadge.js +1 -2
  169. package/dist/lib/components/Badges/InfoBadge/InfoBadge.css +1 -0
  170. package/dist/lib/components/Badges/InfoBadge/InfoBadge.d.ts +52 -0
  171. package/dist/lib/components/Badges/InfoBadge/InfoBadge.js +235 -0
  172. package/dist/lib/components/Badges/PriceBadge/PriceBadge.d.ts +1 -0
  173. package/dist/lib/components/Badges/PriceBadge/PriceBadge.js +54 -13
  174. package/dist/lib/components/Badges/PromoBadge/PromoBadge.css +1 -1
  175. package/dist/lib/components/Badges/PromoBadge/PromoBadge.d.ts +1 -11
  176. package/dist/lib/components/Badges/PromoBadge/PromoBadge.js +7 -17
  177. package/dist/lib/components/Badges/StatusBadge/StatusBadge.css +1 -1
  178. package/dist/lib/components/Badges/StatusBadge/StatusBadge.js +16 -7
  179. package/dist/lib/components/Badges/TimerBadge/TimerBadge.d.ts +2 -0
  180. package/dist/lib/components/Badges/TimerBadge/TimerBadge.js +6 -2
  181. package/dist/lib/components/Buttons/Button/Button.css +1 -0
  182. package/dist/lib/components/{Button → Buttons/Button}/Button.d.ts +5 -0
  183. package/dist/lib/components/{Button → Buttons/Button}/Button.js +38 -12
  184. package/dist/lib/components/Buttons/ButtonClose/ButtonClose.css +1 -0
  185. package/dist/lib/components/Buttons/ButtonClose/ButtonClose.d.ts +34 -0
  186. package/dist/lib/components/Buttons/ButtonClose/ButtonClose.js +78 -0
  187. package/dist/lib/components/Calendar/components/_Month/Month.js +2 -6
  188. package/dist/lib/components/Carousel/Carousel.css +1 -1
  189. package/dist/lib/components/Carousel/Carousel.d.ts +9 -0
  190. package/dist/lib/components/Carousel/Carousel.js +15 -3
  191. package/dist/lib/components/Checkbox/Checkbox.css +1 -1
  192. package/dist/lib/components/Checkbox/Checkbox.js +3 -2
  193. package/dist/lib/components/Chips/Chips/Chip.css +1 -1
  194. package/dist/lib/components/Chips/Chips/Chip.d.ts +9 -1
  195. package/dist/lib/components/Chips/Chips/Chip.js +13 -8
  196. package/dist/lib/components/Chips/Chips/Chips.d.ts +16 -1
  197. package/dist/lib/components/Chips/Chips/Chips.js +28 -6
  198. package/dist/lib/components/Chips/Chips/components/ChipsDropdown/ChipsDropdown.css +1 -1
  199. package/dist/lib/components/Chips/Chips/components/ChipsDropdown/ChipsDropdown.d.ts +12 -4
  200. package/dist/lib/components/Chips/Chips/components/ChipsDropdown/ChipsDropdown.js +55 -47
  201. package/dist/lib/components/Chips/Chips/components/ChipsScrollPanel/ChipsScrollPanel.d.ts +10 -1
  202. package/dist/lib/components/Chips/Chips/components/ChipsScrollPanel/ChipsScrollPanel.js +11 -6
  203. package/dist/lib/components/Chips/ChipsSuggest/ChipSuggest.css +1 -1
  204. package/dist/lib/components/Chips/ChipsSuggest/ChipSuggest.d.ts +7 -0
  205. package/dist/lib/components/Chips/ChipsSuggest/ChipSuggest.js +8 -1
  206. package/dist/lib/components/Chips/ChipsSuggest/ChipsSuggest.d.ts +4 -2
  207. package/dist/lib/components/Chips/ChipsSuggest/ChipsSuggest.js +3 -0
  208. package/dist/lib/components/ContentArea/ContentArea.css +1 -1
  209. package/dist/lib/components/ContentArea/ContentArea.d.ts +3 -2
  210. package/dist/lib/components/ContentArea/ContentArea.js +5 -0
  211. package/dist/lib/components/ContentView/ContentView.css +1 -1
  212. package/dist/lib/components/ContentView/ContentView.d.ts +15 -4
  213. package/dist/lib/components/ContentView/ContentView.js +17 -4
  214. package/dist/lib/components/Counter/Counter.css +1 -1
  215. package/dist/lib/components/Counter/Counter.d.ts +2 -0
  216. package/dist/lib/components/Counter/Counter.js +6 -3
  217. package/dist/lib/components/Dropdown/Dropdown.css +1 -1
  218. package/dist/lib/components/Dropdown/Dropdown.d.ts +6 -2
  219. package/dist/lib/components/Dropdown/Dropdown.js +31 -22
  220. package/dist/lib/components/ErrorLoad/ErrorLoad.css +1 -1
  221. package/dist/lib/components/ErrorLoad/ErrorLoad.d.ts +1 -1
  222. package/dist/lib/components/ErrorLoad/ErrorLoad.js +2 -4
  223. package/dist/lib/components/Link/Link.css +1 -0
  224. package/dist/lib/components/Link/Link.d.ts +1 -0
  225. package/dist/lib/components/Link/Link.js +2 -1
  226. package/dist/lib/components/ListData/ListData.css +1 -1
  227. package/dist/lib/components/ListData/ListData.d.ts +9 -1
  228. package/dist/lib/components/ListData/ListData.js +20 -14
  229. package/dist/lib/components/ListData/components/ListDataSortable.css +1 -1
  230. package/dist/lib/components/ListData/components/ListDataSortable.js +1 -3
  231. package/dist/lib/components/Modal/Modal.css +1 -1
  232. package/dist/lib/components/Modal/Modal.d.ts +23 -9
  233. package/dist/lib/components/Modal/Modal.js +35 -24
  234. package/dist/lib/components/Modal/_ModalContent/ModalContent.css +1 -1
  235. package/dist/lib/components/Modal/_ModalContent/ModalContent.js +37 -39
  236. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.css +1 -1
  237. package/dist/lib/components/Modal/_ModalMobile/ModalMobile.css +1 -0
  238. package/dist/lib/components/Modal/{_ModalMobileBottom/ModalMobileBottom.d.ts → _ModalMobile/ModalMobile.d.ts} +6 -5
  239. package/dist/lib/components/Modal/{_ModalMobileBottom/ModalMobileBottom.js → _ModalMobile/ModalMobile.js} +34 -25
  240. package/dist/lib/components/Modal/mocks.js +0 -1
  241. package/dist/lib/components/Modal/types.d.ts +1 -2
  242. package/dist/lib/components/NavArrow/NavArrow.css +1 -1
  243. package/dist/lib/components/NavArrow/NavArrow.js +4 -4
  244. package/dist/lib/components/Notification/Notification.css +1 -1
  245. package/dist/lib/components/Notification/Notification.d.ts +0 -11
  246. package/dist/lib/components/Notification/Notification.js +18 -37
  247. package/dist/lib/components/Pagination/Pagination.css +1 -1
  248. package/dist/lib/components/Pagination/Pagination.d.ts +1 -3
  249. package/dist/lib/components/Pagination/Pagination.js +4 -13
  250. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +1 -1
  251. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +1 -2
  252. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +0 -2
  253. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.css +1 -1
  254. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +1 -3
  255. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +5 -16
  256. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +1 -2
  257. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +4 -4
  258. package/dist/lib/components/Pagination/types.d.ts +1 -11
  259. package/dist/lib/components/Pagination/types.js +1 -6
  260. package/dist/lib/components/Pagination/usePagination.d.ts +2 -2
  261. package/dist/lib/components/Pagination/usePagination.js +11 -29
  262. package/dist/lib/components/Parameter/Parameter.d.ts +0 -3
  263. package/dist/lib/components/Parameter/Parameter.js +3 -4
  264. package/dist/lib/components/RadioButton/RadioButton.css +1 -1
  265. package/dist/lib/components/Row/Row.css +1 -1
  266. package/dist/lib/components/Row/Row.js +5 -3
  267. package/dist/lib/components/ScrollBar/ScrollBar.d.ts +2 -0
  268. package/dist/lib/components/ScrollBar/ScrollBar.js +6 -1
  269. package/dist/lib/components/Search/Search.css +1 -1
  270. package/dist/lib/components/Search/Search.d.ts +2 -2
  271. package/dist/lib/components/Search/Search.js +72 -68
  272. package/dist/lib/components/Select/Select.css +1 -1
  273. package/dist/lib/components/Select/Select.d.ts +11 -20
  274. package/dist/lib/components/Select/Select.js +40 -88
  275. package/dist/lib/components/Select/reducer/selectReducer.js +1 -1
  276. package/dist/lib/components/Selector/Selector.css +1 -1
  277. package/dist/lib/components/Sliders/Slider/Slider.css +1 -1
  278. package/dist/lib/components/Sliders/Slider/Slider.d.ts +12 -0
  279. package/dist/lib/components/Sliders/Slider/Slider.js +25 -6
  280. package/dist/lib/components/Sliders/SliderRange/SliderRange.css +1 -1
  281. package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +3 -0
  282. package/dist/lib/components/Sliders/SliderRange/SliderRange.js +4 -1
  283. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +1 -1
  284. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +1 -1
  285. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +6 -0
  286. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +9 -2
  287. package/dist/lib/components/Sliders/helpers.d.ts +1 -0
  288. package/dist/lib/components/Sliders/helpers.js +8 -1
  289. package/dist/lib/components/Snackbar/Snackbar.css +1 -1
  290. package/dist/lib/components/Snackbar/Snackbar.js +20 -21
  291. package/dist/lib/components/Stepper/Stepper.css +1 -0
  292. package/dist/lib/components/Stepper/Stepper.d.ts +52 -0
  293. package/dist/lib/components/Stepper/Stepper.js +168 -0
  294. package/dist/lib/components/Stepper/StepperItem.css +1 -0
  295. package/dist/lib/components/Stepper/StepperItem.d.ts +57 -0
  296. package/dist/lib/components/Stepper/StepperItem.js +110 -0
  297. package/dist/lib/components/Stepper/img/separator-mobile.png +0 -0
  298. package/dist/lib/components/Stepper/img/separator-vertical.png +0 -0
  299. package/dist/lib/components/Stepper/img/separator.png +0 -0
  300. package/dist/lib/components/Switcher/Switcher.css +1 -1
  301. package/dist/lib/components/Switcher/Switcher.d.ts +5 -0
  302. package/dist/lib/components/Switcher/Switcher.js +21 -9
  303. package/dist/lib/components/Tabs/Tabs.css +1 -1
  304. package/dist/lib/components/Tabs/Tabs.d.ts +2 -0
  305. package/dist/lib/components/Tabs/Tabs.js +64 -55
  306. package/dist/lib/components/TextField/TextField.css +1 -1
  307. package/dist/lib/components/TextField/TextField.d.ts +2 -2
  308. package/dist/lib/components/TextField/TextField.js +16 -9
  309. package/dist/lib/components/Tooltip/Tooltip.css +1 -1
  310. package/dist/lib/components/Tooltip/Tooltip.d.ts +9 -0
  311. package/dist/lib/components/Tooltip/Tooltip.js +23 -18
  312. package/dist/lib/components/UploadForm/UploadField/UploadField.css +1 -1
  313. package/dist/lib/components/UploadForm/UploadField/UploadField.d.ts +4 -1
  314. package/dist/lib/components/UploadForm/UploadField/UploadField.js +8 -2
  315. package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +1 -1
  316. package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +3 -1
  317. package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +30 -5
  318. package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.css +1 -1
  319. package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +3 -1
  320. package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.js +9 -6
  321. package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +6 -0
  322. package/dist/lib/hooks/useResolution.js +15 -23
  323. package/dist/lib/index.d.ts +6 -3
  324. package/dist/lib/index.js +32 -11
  325. package/package.json +5 -5
  326. package/styles/base.scss +54 -0
  327. package/styles/colors.css +14 -0
  328. package/dist/es/components/Button/Button.css +0 -1
  329. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +0 -1
  330. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +0 -1
  331. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +0 -8
  332. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +0 -56
  333. package/dist/lib/components/Button/Button.css +0 -1
  334. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +0 -1
  335. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +0 -1
  336. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +0 -8
  337. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +0 -65
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import './ContentView.scss';
3
- type ElementType = {
3
+ type ButtonParamsType = {
4
4
  /** Текст */
5
5
  text?: string;
6
6
  /** Атрибут href */
@@ -14,12 +14,19 @@ type ElementType = {
14
14
  /** Обработчик клика */
15
15
  onClick?: (e: React.SyntheticEvent<EventTarget>) => void;
16
16
  };
17
+ type LinkParamsType = ButtonParamsType & {
18
+ /** Тема */
19
+ theme?: 'green' | 'gray';
20
+ /** Тип */
21
+ type?: 'primary' | 'text';
22
+ };
17
23
  export interface IContentViewProps {
18
24
  /** Дополнительный класс корневого элемента */
19
25
  className?: string;
20
26
  /** Дополнительные классы для внутренних элементов */
21
27
  classes?: {
22
28
  title?: string;
29
+ buttons?: string;
23
30
  button?: string;
24
31
  link?: string;
25
32
  bgImage?: string;
@@ -33,9 +40,13 @@ export interface IContentViewProps {
33
40
  /** Ссылка на изображение */
34
41
  src?: string;
35
42
  /** Параметры кнопки */
36
- buttonParams?: ElementType;
37
- /** Параметры ссылки */
38
- linkParams?: ElementType;
43
+ buttonParams?: ButtonParamsType;
44
+ /** Параметры дополнительной кнопки (ссылки) */
45
+ linkParams?: LinkParamsType;
46
+ /** Растянуть кнопки на всю ширину контейнера */
47
+ isFullwidthButtons?: boolean;
48
+ /** Ограничить ширину кнопок на разрешении экрана 0-767 */
49
+ limitButtonsWidthOnMobile?: boolean;
39
50
  /** Полноэкранный режим */
40
51
  isFullscreen?: boolean;
41
52
  /** Дополнительные data атрибуты к внутренним элементам */
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  require("core-js/modules/es.string.link.js");
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _uiHelpers = require("@megafon/ui-helpers");
12
- var _Button = _interopRequireDefault(require("../Button/Button"));
12
+ var _Button = _interopRequireDefault(require("../Buttons/Button/Button"));
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
@@ -25,6 +25,10 @@ var ContentView = function ContentView(_ref) {
25
25
  src = _ref.src,
26
26
  buttonParams = _ref.buttonParams,
27
27
  linkParams = _ref.linkParams,
28
+ _ref$isFullwidthButto = _ref.isFullwidthButtons,
29
+ isFullwidthButtons = _ref$isFullwidthButto === void 0 ? false : _ref$isFullwidthButto,
30
+ _ref$limitButtonsWidt = _ref.limitButtonsWidthOnMobile,
31
+ limitButtonsWidthOnMobile = _ref$limitButtonsWidt === void 0 ? false : _ref$limitButtonsWidt,
28
32
  isFullscreen = _ref.isFullscreen,
29
33
  dataAttrs = _ref.dataAttrs,
30
34
  children = _ref.children;
@@ -48,24 +52,33 @@ var ContentView = function ContentView(_ref) {
48
52
  }, (0, _uiHelpers.convert)(title, _uiHelpers.titleConvertConfig)), !!children && /*#__PURE__*/React.createElement("div", {
49
53
  className: cn('text')
50
54
  }, children)), showButtons && /*#__PURE__*/React.createElement("div", {
51
- className: cn('buttons')
55
+ className: cn('buttons', {
56
+ fullwidth: isFullwidthButtons
57
+ }, [classes.buttons])
52
58
  }, !!(buttonParams === null || buttonParams === void 0 ? void 0 : buttonParams.text) && /*#__PURE__*/React.createElement(_Button["default"], {
53
59
  className: cn('button', [classes.button]),
54
60
  href: buttonParams.href,
55
61
  target: buttonParams.target,
56
62
  disabled: buttonParams.disabled,
57
63
  showLoader: buttonParams.showLoader,
64
+ fullWidth: isFullwidthButtons,
65
+ fullWidthMobile: !limitButtonsWidthOnMobile,
58
66
  onClick: buttonParams.onClick,
59
67
  dataAttrs: {
60
68
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
61
69
  }
62
70
  }, buttonParams.text), !!(linkParams === null || linkParams === void 0 ? void 0 : linkParams.text) && /*#__PURE__*/React.createElement(_Button["default"], {
63
- className: cn('link', [classes.link]),
64
- type: "text",
71
+ className: cn('link', {
72
+ indent: linkParams.type === 'text'
73
+ }, [classes.link]),
74
+ type: linkParams.type || 'primary',
75
+ theme: linkParams.theme || 'gray',
65
76
  href: linkParams.href,
66
77
  target: linkParams.target,
67
78
  disabled: linkParams.disabled,
68
79
  showLoader: linkParams.showLoader,
80
+ fullWidth: isFullwidthButtons,
81
+ fullWidthMobile: !limitButtonsWidthOnMobile,
69
82
  onClick: linkParams.onClick,
70
83
  dataAttrs: {
71
84
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-9-counter{-webkit-box-pack:justify;-ms-flex-pack:justify;height:32px;justify-content:space-between;width:120px}.mfui-9-counter,.mfui-9-counter__btn{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex}.mfui-9-counter__btn{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--base);border:1px solid var(--spbSky2);cursor:pointer;font-size:20px;height:100%;justify-content:center;margin:0;max-width:32px;outline:none;padding:0;text-decoration:none;width:100%;fill:var(--content);-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfui-9-counter__btn:hover{background-color:var(--spbSky0)}.mfui-9-counter__btn:disabled{background-color:var(--spbSky1);cursor:default}.mfui-9-counter__btn:disabled .mfui-9-counter__icon{fill:var(--spbSky2)}.mfui-9-counter__btn_left{border-bottom-left-radius:50px;border-top-left-radius:50px}.mfui-9-counter__btn_right{border-bottom-right-radius:50px;border-top-right-radius:50px}.mfui-9-counter__icon{display:block;height:20px;width:20px}.mfui-9-counter__input-box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid var(--spbSky2);border-top:1px solid var(--spbSky2);overflow:hidden}.mfui-9-counter__input,.mfui-9-counter__input-box{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.mfui-9-counter__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--base);border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:var(--content);cursor:text;margin:0;outline:none;overflow:auto;padding:0;text-align:center;width:100%}.mfui-9-counter_disabled .mfui-9-counter__btn{background-color:var(--spbSky1);cursor:default}.mfui-9-counter_disabled .mfui-9-counter__input{background-color:var(--spbSky1);color:var(--spbSky3);cursor:default}.mfui-9-counter_disabled .mfui-9-counter__icon{fill:var(--spbSky2)}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-counter{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-sizing:border-box;box-sizing:border-box;justify-content:space-between;width:120px}.mfui-9-counter_size_small{height:32px}.mfui-9-counter_size_medium{height:40px}.mfui-9-counter_size_large{height:52px}.mfui-9-counter__btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--spbSky0);-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;font-size:20px;height:100%;justify-content:center;margin:0;max-width:32px;outline:none;padding:0;text-decoration:none;-webkit-transition:background-color .3s,color .3s;transition:background-color .3s,color .3s;width:100%;fill:var(--content);-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfui-9-counter__btn:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:2px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-counter__btn:focus{outline:none}@media screen and (min-width:768px){.mfui-9-counter__btn:hover{background-color:var(--spbSky1)}}.mfui-9-counter__btn:disabled{cursor:default}.mfui-9-counter__btn:disabled .mfui-9-counter__icon{fill:var(--spbSky2)}.mfui-9-counter__btn:disabled:hover{background-color:var(--spbSky0)}.mfui-9-counter__btn_left{border-bottom-left-radius:16px;border-top-left-radius:16px}.mfui-9-counter__btn_left:focus-visible{z-index:1}.mfui-9-counter__btn_right{border-bottom-right-radius:16px;border-top-right-radius:16px}.mfui-9-counter__icon{display:block;height:20px;width:20px}.mfui-9-counter__input-box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.mfui-9-counter__input,.mfui-9-counter__input-box{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.mfui-9-counter__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--spbSky0);border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:var(--content);cursor:text;margin:0;outline:none;overflow:auto;padding:0;text-align:center;width:100%}.mfui-9-counter_disabled .mfui-9-counter__btn{cursor:default}.mfui-9-counter_disabled .mfui-9-counter__input{color:var(--spbSky3);cursor:default}.mfui-9-counter_disabled .mfui-9-counter__icon{fill:var(--spbSky2)}
@@ -8,6 +8,8 @@ export interface ICounterProps {
8
8
  plus?: Record<string, string>;
9
9
  input?: Record<string, string>;
10
10
  };
11
+ /** Размер компонента */
12
+ size?: 'small' | 'medium' | 'large';
11
13
  /** Переводит компонент в контролируемое состояние */
12
14
  isControlled?: boolean;
13
15
  /** Внешнее значение для контролируемого компонента */
@@ -19,19 +19,21 @@ var IconMinus = function IconMinus(props) {
19
19
  return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
20
20
  viewBox: "0 0 20 20"
21
21
  }, props), /*#__PURE__*/React.createElement("path", {
22
- d: "M5 9h10v2H5z"
22
+ d: "M14 9a1 1 0 110 2H6a1 1 0 110-2h8z"
23
23
  }));
24
24
  };
25
25
  var IconPlus = function IconPlus(props) {
26
26
  return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
27
27
  viewBox: "0 0 20 20"
28
28
  }, props), /*#__PURE__*/React.createElement("path", {
29
- d: "M11 5H9v4H5v2h4v4h2v-4h4V9h-4V5z"
29
+ d: "M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z"
30
30
  }));
31
31
  };
32
32
  var cn = (0, _uiHelpers.cnCreate)('mfui-9-counter');
33
33
  var Counter = function Counter(_ref) {
34
34
  var dataAttrs = _ref.dataAttrs,
35
+ _ref$size = _ref.size,
36
+ size = _ref$size === void 0 ? 'small' : _ref$size,
35
37
  _ref$isControlled = _ref.isControlled,
36
38
  isControlled = _ref$isControlled === void 0 ? false : _ref$isControlled,
37
39
  _ref$value = _ref.value,
@@ -97,7 +99,8 @@ var Counter = function Counter(_ref) {
97
99
  }, [handleValueChange, min, max]);
98
100
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
99
101
  className: cn({
100
- disabled: disabled
102
+ disabled: disabled,
103
+ size: size
101
104
  }, [className, classes.root])
102
105
  }), /*#__PURE__*/React.createElement("button", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.minus), {
103
106
  className: cn('btn', {
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}@-webkit-keyframes dropdownAppear{0%{opacity:0;-webkit-transform:translateY(-25px);transform:translateY(-25px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes dropdownAppear{0%{opacity:0;-webkit-transform:translateY(-25px);transform:translateY(-25px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.mfui-9-dropdown{background-color:var(--base);border-radius:16px;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08);left:0;opacity:0;padding:16px;pointer-events:none;position:absolute;right:0;top:calc(100% + 8px);-webkit-transform:translateY(-25px);transform:translateY(-25px);-webkit-transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:opacity .3s ease-in-out,transform .3s ease-in-out;transition:opacity .3s ease-in-out,transform .3s ease-in-out,-webkit-transform .3s ease-in-out;z-index:1000}.mfui-9-dropdown_visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.mfui-9-dropdown_short .mfui-9-dropdown__list{max-height:200px}.mfui-9-dropdown__list{max-height:300px;overflow-y:auto;scrollbar-color:var(--spbSky2) transparent;scrollbar-width:thin}.mfui-9-dropdown__list::-webkit-scrollbar{width:8px}.mfui-9-dropdown__item{border-radius:8px;color:var(--content);cursor:pointer;padding:12px 32px;-webkit-transition:background-color .2s;transition:background-color .2s}.mfui-9-dropdown__item:hover,.mfui-9-dropdown__item_hovered{background-color:var(--spbSky0)}.mfui-9-dropdown__item_active{color:var(--brandGreen);font-weight:500}.mfui-9-dropdown__item_paddings_small{padding:8px 12px}.mfui-9-dropdown__item_paddings_large{padding:16px 20px}.mfui-9-dropdown__empty{color:var(--spbSky3);padding:12px 16px;text-align:center}.mfui-9-dropdown_disabled{opacity:.5;pointer-events:none}
1
+ h1,h2,h3,h4,h5{margin:0}@-webkit-keyframes dropdownAppear{0%{opacity:0;-webkit-transform:translateY(-25px);transform:translateY(-25px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes dropdownAppear{0%{opacity:0;-webkit-transform:translateY(-25px);transform:translateY(-25px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.mfui-9-dropdown{background-color:var(--base);border-radius:16px;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.08);box-shadow:0 4px 16px rgba(0,0,0,.08);left:0;opacity:0;padding:16px;pointer-events:none;position:absolute;right:0;top:calc(100% + 1px);-webkit-transform:translateY(-25px);transform:translateY(-25px);-webkit-transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:opacity .3s ease-in-out,-webkit-transform .3s ease-in-out;transition:opacity .3s ease-in-out,transform .3s ease-in-out;transition:opacity .3s ease-in-out,transform .3s ease-in-out,-webkit-transform .3s ease-in-out;z-index:1000}.mfui-9-dropdown_visible{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.mfui-9-dropdown_short .mfui-9-dropdown__list{max-height:200px}.mfui-9-dropdown__list{max-height:300px;overflow-y:auto;scrollbar-color:var(--spbSky2) transparent;scrollbar-width:thin}.mfui-9-dropdown__list::-webkit-scrollbar{width:8px}.mfui-9-dropdown__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:8px;color:var(--content);cursor:pointer;padding:12px 32px;-webkit-transition:background-color .2s;transition:background-color .2s}.mfui-9-dropdown__item:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:-4px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-dropdown__item:focus{outline:none}.mfui-9-dropdown__item:hover,.mfui-9-dropdown__item_hovered{background-color:var(--spbSky0)}.mfui-9-dropdown__item_active{font-weight:500}.mfui-9-dropdown__item_paddings_small{padding:8px 12px}.mfui-9-dropdown__item_paddings_large{padding:16px 20px}.mfui-9-dropdown__empty{color:var(--spbSky3);padding:12px 16px;text-align:center}.mfui-9-dropdown__header{overflow:hidden;width:100%}.mfui-9-dropdown_disabled{opacity:.5;pointer-events:none}
@@ -9,7 +9,7 @@ type ViewCallbackArguments = {
9
9
  isItemActive: boolean;
10
10
  filterValue?: string;
11
11
  };
12
- type DropdownItemsPaddingType = (typeof DropdownItemsPaddings)[keyof typeof DropdownItemsPaddings];
12
+ export type DropdownItemsPaddingType = (typeof DropdownItemsPaddings)[keyof typeof DropdownItemsPaddings];
13
13
  export type DropdownItemType<T extends DropdownItemValueType> = {
14
14
  /** Заголовок элемента */
15
15
  title: string;
@@ -33,8 +33,12 @@ export interface IDropdownProps<T extends DropdownItemValueType> {
33
33
  isOpen?: boolean;
34
34
  /** Реф элемента, к которому привязывается дропдаун */
35
35
  targetRef: React.RefObject<HTMLElement>;
36
+ /** Индекс выделенного элемента */
37
+ hoveredIndex?: number;
36
38
  /** Текст при отсутствии элементов */
37
39
  emptyText?: string;
40
+ /** Контент, отображаемый в шапке дропдауна */
41
+ headerContent?: React.ReactNode;
38
42
  /** Отключение компонента */
39
43
  disabled?: boolean;
40
44
  /** Отображать короткий выпадающий список */
@@ -58,5 +62,5 @@ export interface IDropdownProps<T extends DropdownItemValueType> {
58
62
  /** Обработчик закрытия списка */
59
63
  onClose?: () => void;
60
64
  }
61
- declare const Dropdown: <T extends DropdownItemValueType>({ items, value, filterValue, isOpen, targetRef, emptyText, disabled, short, className, classes, dataAttrs, onItemClick, onClose, }: IDropdownProps<T>) => JSX.Element | null;
65
+ declare const Dropdown: <T extends DropdownItemValueType>({ items, value, filterValue, isOpen, hoveredIndex, targetRef, emptyText, headerContent, disabled, short, className, classes, dataAttrs, onItemClick, onClose, }: IDropdownProps<T>) => JSX.Element | null;
62
66
  export default Dropdown;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = exports.DropdownItemsPaddings = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- require("core-js/modules/es.array.find-index.js");
11
10
  require("core-js/modules/es.array.map.js");
12
11
  var React = _interopRequireWildcard(require("react"));
13
12
  var _uiHelpers = require("@megafon/ui-helpers");
@@ -26,9 +25,11 @@ var Dropdown = function Dropdown(_ref) {
26
25
  filterValue = _ref.filterValue,
27
26
  _ref$isOpen = _ref.isOpen,
28
27
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
28
+ hoveredIndex = _ref.hoveredIndex,
29
29
  targetRef = _ref.targetRef,
30
30
  _ref$emptyText = _ref.emptyText,
31
31
  emptyText = _ref$emptyText === void 0 ? 'Нет элементов' : _ref$emptyText,
32
+ headerContent = _ref.headerContent,
32
33
  _ref$disabled = _ref.disabled,
33
34
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
34
35
  _ref$short = _ref["short"],
@@ -39,14 +40,14 @@ var Dropdown = function Dropdown(_ref) {
39
40
  dataAttrs = _ref.dataAttrs,
40
41
  onItemClick = _ref.onItemClick,
41
42
  onClose = _ref.onClose;
42
- var _React$useState = React.useState(-1),
43
+ var _React$useState = React.useState(false),
43
44
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
44
- hoveredIndex = _React$useState2[0],
45
- setHoveredIndex = _React$useState2[1];
46
- var _React$useState3 = React.useState(false),
45
+ isVisible = _React$useState2[0],
46
+ setIsVisible = _React$useState2[1];
47
+ var _React$useState3 = React.useState(null),
47
48
  _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
48
- isVisible = _React$useState4[0],
49
- setIsVisible = _React$useState4[1];
49
+ mouseOverIndex = _React$useState4[0],
50
+ setMouseOverIndex = _React$useState4[1];
50
51
  var dropdownRef = React.useRef(null);
51
52
  var handleOutsideClick = React.useCallback(function (event) {
52
53
  var target = event.target;
@@ -54,17 +55,9 @@ var Dropdown = function Dropdown(_ref) {
54
55
  onClose === null || onClose === void 0 ? void 0 : onClose();
55
56
  }
56
57
  }, [onClose, targetRef]);
57
- var handleItemHover = function handleItemHover(index) {
58
- return function () {
59
- setHoveredIndex(index);
60
- };
61
- };
62
58
  React.useEffect(function () {
63
59
  if (isOpen) {
64
60
  document.addEventListener('mousedown', handleOutsideClick);
65
- setHoveredIndex(items.findIndex(function (item) {
66
- return item.value === value;
67
- }));
68
61
  // Добавляем небольшую задержку перед показом для корректной анимации
69
62
  requestAnimationFrame(function () {
70
63
  setIsVisible(true);
@@ -72,6 +65,7 @@ var Dropdown = function Dropdown(_ref) {
72
65
  } else {
73
66
  document.removeEventListener('mousedown', handleOutsideClick);
74
67
  setIsVisible(false);
68
+ setMouseOverIndex(null);
75
69
  }
76
70
  return function () {
77
71
  document.removeEventListener('mousedown', handleOutsideClick);
@@ -89,9 +83,19 @@ var Dropdown = function Dropdown(_ref) {
89
83
  }
90
84
  return item.view;
91
85
  };
86
+ var handleKeyDown = React.useCallback(function (e, index) {
87
+ if (e.code === 'Enter') {
88
+ onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(index)(e);
89
+ }
90
+ }, [onItemClick]);
91
+ var handleItemMouseEnter = React.useCallback(function (index) {
92
+ return function () {
93
+ setMouseOverIndex(index);
94
+ };
95
+ }, []);
92
96
  var renderItem = function renderItem(item, index) {
93
97
  var isActive = item.value === value;
94
- var isHovered = index === hoveredIndex;
98
+ var isHovered = index === (mouseOverIndex !== null && mouseOverIndex !== void 0 ? mouseOverIndex : hoveredIndex);
95
99
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
96
100
  key: item.value
97
101
  }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item, index + 1), {
@@ -101,25 +105,30 @@ var Dropdown = function Dropdown(_ref) {
101
105
  paddings: item.paddings
102
106
  }, [classes.item]),
103
107
  onClick: onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(index),
104
- onMouseEnter: handleItemHover(index),
105
108
  role: "option",
106
109
  "aria-selected": isActive,
107
- tabIndex: -1
110
+ tabIndex: 0,
111
+ onKeyDown: function onKeyDown(e) {
112
+ return handleKeyDown(e, index);
113
+ },
114
+ onMouseEnter: handleItemMouseEnter(index)
108
115
  }), getItemContent(item, isActive));
109
116
  };
110
117
  if (!isOpen) {
111
118
  return null;
112
119
  }
113
- return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
120
+ return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
121
+ ref: dropdownRef,
114
122
  className: cn({
115
123
  visible: isVisible,
116
124
  disabled: disabled,
117
125
  "short": _short
118
126
  }, [className, classes.root]),
119
127
  role: "listbox",
120
- tabIndex: 0,
121
- ref: dropdownRef
122
- }), /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.list), {
128
+ tabIndex: -1
129
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), !!headerContent && /*#__PURE__*/React.createElement("div", {
130
+ className: cn('header')
131
+ }, headerContent), /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.list), {
123
132
  className: cn('list', [classes.list])
124
133
  }), items.length > 0 ? items.map(renderItem) : /*#__PURE__*/React.createElement("div", {
125
134
  className: cn('empty')
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-9-error-load{background:inherit}.mfui-9-error-load_cardinal_vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;-ms-flex-align:center;-ms-flex-item-align:stretch;align-self:stretch}.mfui-9-error-load_cardinal_horizontal,.mfui-9-error-load_cardinal_vertical{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.mfui-9-error-load_cardinal_horizontal{gap:8px;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mfui-9-error-load__header{text-align:center}.mfui-9-error-load__text .mfui-9-error-load__caption_background_on-color,.mfui-9-error-load__text .mfui-9-error-load__header_background_on-color{color:var(--stcWhite)}.mfui-9-error-load__text .mfui-9-error-load__caption_background_on-base{color:var(--spbSky3)}.mfui-9-error-load__text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.mfui-9-error-load__text_cardinal_vertical{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-error-load{background:inherit}.mfui-9-error-load_cardinal_vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;-ms-flex-align:center;-ms-flex-item-align:stretch;align-self:stretch}.mfui-9-error-load_cardinal_horizontal,.mfui-9-error-load_cardinal_vertical{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.mfui-9-error-load_cardinal_horizontal{gap:8px;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mfui-9-error-load_cardinal_horizontal .mfui-9-error-load__header{text-align:left}.mfui-9-error-load__header{text-align:center}.mfui-9-error-load__text .mfui-9-error-load__caption_background_on-color,.mfui-9-error-load__text .mfui-9-error-load__header_background_on-color{color:var(--stcWhite)}.mfui-9-error-load__text .mfui-9-error-load__caption_background_on-base{color:var(--spbSky3)}.mfui-9-error-load__text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px}.mfui-9-error-load__text_cardinal_vertical{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { IButtonProps } from '../Button/Button';
2
+ import { IButtonProps } from '../Buttons/Button/Button';
3
3
  import './ErrorLoad.scss';
4
4
  type ButtonProps = Pick<IButtonProps, 'disabled' | 'showLoader' | 'onClick'>;
5
5
  export interface IErrorLoadProps {
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  require("core-js/modules/es.string.big.js");
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _uiHelpers = require("@megafon/ui-helpers");
12
- var _Button = _interopRequireDefault(require("../Button/Button"));
12
+ var _Button = _interopRequireDefault(require("../Buttons/Button/Button"));
13
13
  var _Caption = _interopRequireDefault(require("../Caption/Caption"));
14
14
  var _Header = _interopRequireDefault(require("../Header/Header"));
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -19,9 +19,7 @@ var RefreshIcon24 = function RefreshIcon24(props) {
19
19
  return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
20
20
  viewBox: "0 0 32 32"
21
21
  }, props), /*#__PURE__*/React.createElement("path", {
22
- fillRule: "evenodd",
23
- clipRule: "evenodd",
24
- d: "M16.064 8C11.604 8 8 11.588 8 16s3.604 8 8.064 8c4.1 0 7.478-3.033 7.995-6.948l1.983.262C25.393 22.223 21.17 26 16.064 26 10.513 26 6 21.53 6 16S10.513 6 16.064 6c3.456 0 6.507 1.731 8.32 4.371l.704-2.345 1.915.575-1.419 4.726a1 1 0 01-1.228.675l-4.855-1.364.541-1.925 2.664.748A8.074 8.074 0 0016.064 8z"
22
+ d: "M15.698 5.172a11.6 11.6 0 019.24 4.562l.079-.83a1.547 1.547 0 013.083.285l-.353 3.797a2.323 2.323 0 01-2.526 2.098l-3.796-.352a1.549 1.549 0 01.286-3.083l.854.079a8.508 8.508 0 00-6.867-3.46c-4.703 0-8.493 3.776-8.493 8.406 0 4.63 3.79 8.405 8.493 8.405 3.787 0 6.989-2.452 8.086-5.828a1.549 1.549 0 012.946.957c-1.505 4.628-5.879 7.968-11.032 7.968-6.387 0-11.588-5.137-11.589-11.502 0-6.365 5.202-11.502 11.59-11.502z"
25
23
  }));
26
24
  };
27
25
  var cn = (0, _uiHelpers.cnCreate)('mfui-9-error-load');
@@ -0,0 +1 @@
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-link{border-radius:8px}.mfui-9-link:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:2px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-link:focus{outline:none}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import './Link.scss';
2
3
  export interface ILinkProps {
3
4
  /** Дополнительный класс корневого элемента */
4
5
  className?: string;
@@ -11,6 +11,7 @@ var _uiHelpers = require("@megafon/ui-helpers");
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
+ var cn = (0, _uiHelpers.cnCreate)('mfui-9-link');
14
15
  var Link = function Link(_ref) {
15
16
  var target = _ref.target,
16
17
  href = _ref.href,
@@ -22,7 +23,7 @@ var Link = function Link(_ref) {
22
23
  children = _ref.children,
23
24
  dataAttrs = _ref.dataAttrs;
24
25
  return /*#__PURE__*/React.createElement("a", (0, _extends2["default"])({
25
- className: className,
26
+ className: cn([className]),
26
27
  href: href,
27
28
  target: target,
28
29
  rel: rel,
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-9-list-data{background-color:transparent;border:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--content);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:8px 16px 8px 12px;position:relative;text-decoration:none;-webkit-transition:background-color,opacity;transition:background-color,opacity;-webkit-transition-duration:.3s;transition-duration:.3s;width:100%}.mfui-9-list-data,.mfui-9-list-data__icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfui-9-list-data__icon-container{-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;height:40px;justify-content:center;margin-right:8px;width:40px}.mfui-9-list-data__icon-container svg{fill:var(--content)}.mfui-9-list-data__icon-container_colored{background-color:var(--brandGreen20);border-radius:50%}.mfui-9-list-data__icon-container_colored svg{fill:var(--brandGreen)}.mfui-9-list-data__icon{height:32px;min-width:32px;width:32px}.mfui-9-list-data__icon_small{height:20px;min-width:20px;width:20px}.mfui-9-list-data__header{display:grid;grid-template-columns:100%;margin-right:auto;padding-left:4px}.mfui-9-list-data__header_gap{padding-right:8px}.mfui-9-list-data__header_align{-ms-flex-item-align:end;align-self:flex-end}.mfui-9-list-data__title{display:-webkit-box;font-size:15px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-weight:500;line-height:18px}.mfui-9-list-data__title-link{color:var(--content)}.mfui-9-list-data__sub-title{color:var(--spbSky3);font-size:12px;font-weight:400;line-height:18px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfui-9-list-data__value-container{align-self:flex-start;display:grid;grid-template-columns:-webkit-min-content;grid-template-columns:min-content;padding-left:12px}.mfui-9-list-data__value{display:-webkit-box;font-size:15px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:18px;max-width:110px}.mfui-9-list-data__value_color_green{color:var(--brandGreen)}.mfui-9-list-data__sub-value{color:var(--spbSky3);font-size:12px;font-weight:400;line-height:18px;margin-top:4px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfui-9-list-data__action-icon{fill:var(--spbSky3)}.mfui-9-list-data__action-icon_active{cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-transition:fill .3s;transition:fill .3s}.mfui-9-list-data__action-icon_active:hover{fill:var(--content)}.mfui-9-list-data__children_event-none{pointer-events:none}.mfui-9-list-data_active:not(.mfui-9-list-data_disabled){border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfui-9-list-data_active:not(.mfui-9-list-data_disabled):hover{background-color:var(--spbSky0)}.mfui-9-list-data_disabled{opacity:.5}.mfui-9-list-data_disabled .mfui-9-list-data__title-link{pointer-events:none}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-list-data{border:none;border-radius:16px;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--content);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:12px 16px 12px 12px;position:relative;text-decoration:none;-webkit-transition:background-color,opacity,-webkit-box-shadow;transition:background-color,opacity,-webkit-box-shadow;transition:background-color,opacity,box-shadow;transition:background-color,opacity,box-shadow,-webkit-box-shadow;-webkit-transition-duration:.3s;transition-duration:.3s;width:100%}.mfui-9-list-data,.mfui-9-list-data__icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfui-9-list-data__icon-container{-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;border-radius:12px;height:40px;justify-content:center;margin-right:8px;width:40px}.mfui-9-list-data__icon-container svg{fill:var(--content)}.mfui-9-list-data__icon-container_colored{background-color:var(--brandGreen20)}.mfui-9-list-data__icon-container_colored svg{fill:var(--brandGreen)}.mfui-9-list-data__icon{border-radius:8px;height:32px;min-width:32px;width:32px}.mfui-9-list-data__icon:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:2px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-list-data__icon:focus{outline:none}.mfui-9-list-data__icon_small{border-radius:8px;height:20px;min-width:20px;width:20px}.mfui-9-list-data__header{display:grid;grid-template-columns:100%;margin-right:auto;padding-left:4px}.mfui-9-list-data__header_gap{padding-right:8px}.mfui-9-list-data__header_align{-ms-flex-item-align:end;align-self:flex-end}.mfui-9-list-data__title{display:-webkit-box;font-size:15px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-weight:500;line-height:18px}.mfui-9-list-data__title-link{color:var(--content)}.mfui-9-list-data__sub-title{color:var(--spbSky3);font-size:12px;font-weight:400;line-height:18px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfui-9-list-data__value-container{align-self:flex-start;display:grid;grid-template-columns:-webkit-min-content;grid-template-columns:min-content;padding-left:12px}.mfui-9-list-data__value{display:-webkit-box;font-size:15px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:18px;max-width:110px}.mfui-9-list-data__value_color_green{color:var(--brandGreen)}.mfui-9-list-data__sub-value{color:var(--spbSky3);font-size:12px;font-weight:400;line-height:18px;margin-top:4px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfui-9-list-data__action-icon{fill:var(--spbSky3)}.mfui-9-list-data__action-icon_active{cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-transition:fill .3s;transition:fill .3s}.mfui-9-list-data__action-icon_active:hover{fill:var(--content)}.mfui-9-list-data__children{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px}.mfui-9-list-data__children_event-none{pointer-events:none}.mfui-9-list-data_active:not(.mfui-9-list-data_disabled){cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mfui-9-list-data_active:not(.mfui-9-list-data_disabled):hover{background-color:var(--spbSky0)}.mfui-9-list-data_active:not(.mfui-9-list-data_disabled).mfui-9-list-data_view_gray:hover{background-color:var(--spbSky1)}.mfui-9-list-data_active:not(.mfui-9-list-data_disabled).mfui-9-list-data_view_white:hover{background-color:var(--base);-webkit-box-shadow:0 8px 28px 0 rgba(0,0,0,.1);box-shadow:0 8px 28px 0 rgba(0,0,0,.1)}.mfui-9-list-data_disabled{opacity:.5}.mfui-9-list-data_disabled .mfui-9-list-data__title-link{pointer-events:none}.mfui-9-list-data_view_default{background-color:transparent}.mfui-9-list-data_view_gray{background-color:var(--spbSky0)}.mfui-9-list-data_view_gray .mfui-9-list-data__icon-container,.mfui-9-list-data_view_white{background-color:var(--base)}
@@ -16,6 +16,12 @@ declare const ValueColors: {
16
16
  readonly GREEN: "green";
17
17
  };
18
18
  export type ValueColorsType = (typeof ValueColors)[keyof typeof ValueColors];
19
+ declare const BackgroundViewColors: {
20
+ readonly DEFAULT: "default";
21
+ readonly GRAY: "gray";
22
+ readonly WHITE: "white";
23
+ };
24
+ export type BackgroundViewColorsType = (typeof BackgroundViewColors)[keyof typeof BackgroundViewColors];
19
25
  declare const Actions: {
20
26
  readonly DELETE: "delete";
21
27
  readonly CONTROL: "control";
@@ -28,6 +34,8 @@ export interface IListDataProps {
28
34
  subTitle?: string;
29
35
  /** Значение */
30
36
  value?: string;
37
+ /** Визуальный эффект фона */
38
+ backgroundView?: BackgroundViewColorsType;
31
39
  /** Цвет */
32
40
  valueColor?: ValueColorsType;
33
41
  /** Дополнительное значение */
@@ -59,7 +67,7 @@ export interface IListDataProps {
59
67
  root?: Record<string, string>;
60
68
  actionIcon?: Record<string, string>;
61
69
  };
62
- /** Дочерние элементы: Button, Selector */
70
+ /** Дочерние элементы: Button, Selector, Badge */
63
71
  children?: React.ReactNode;
64
72
  }
65
73
  declare const ListData: React.FC<IListDataProps>;
@@ -18,24 +18,20 @@ var DeleteIcon = function DeleteIcon(props) {
18
18
  return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
19
19
  viewBox: "0 0 20 20"
20
20
  }, props), /*#__PURE__*/React.createElement("path", {
21
- d: "M16 4h-3.2c-.4-1.2-1.5-2-2.8-2s-2.4.8-2.8 2H4v4h1l1 10h8l1-10h1V4zM5 5h3v-.4C8.2 3.7 9.1 3 10 3s1.8.7 2 1.6V5h3v2H5V5zm8 12H7l-.9-9H14l-1 9z"
21
+ fillRule: "evenodd",
22
+ clipRule: "evenodd",
23
+ d: "M15.009 14.31c-.137 1.75-.205 2.626-.78 3.158-.574.532-1.452.532-3.207.532H8.98c-1.755 0-2.633 0-3.208-.532-.574-.532-.642-1.407-.779-3.158l-.571-7.326H15.58l-.571 7.326zm-2.846-4.97a.499.499 0 00-.706 0l-1.388 1.391-1.386-1.39a.498.498 0 00-.706 0 .502.502 0 000 .709l1.386 1.39-1.396 1.4a.502.502 0 000 .709.498.498 0 00.706 0l1.396-1.401 1.398 1.4a.498.498 0 00.706 0 .502.502 0 000-.707l-1.398-1.401 1.388-1.391a.502.502 0 000-.708z"
24
+ }), /*#__PURE__*/React.createElement("path", {
25
+ d: "M16.006 4a1 1 0 010 2h-12a1 1 0 110-2h12zm-3.979-2c.551 0 .997.446.997.997H6.977c0-.55.446-.997.997-.997h4.053z"
22
26
  }));
23
27
  };
24
28
  var NothingIcon = function NothingIcon(props) {
25
29
  return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
26
30
  viewBox: "0 0 32 32"
27
- }, props), /*#__PURE__*/React.createElement("circle", {
28
- cx: 21,
29
- cy: 16,
30
- r: 1.5
31
- }), /*#__PURE__*/React.createElement("circle", {
32
- cx: 16,
33
- cy: 16,
34
- r: 1.5
35
- }), /*#__PURE__*/React.createElement("circle", {
36
- cx: 11,
37
- cy: 16,
38
- r: 1.5
31
+ }, props), /*#__PURE__*/React.createElement("path", {
32
+ fillRule: "evenodd",
33
+ clipRule: "evenodd",
34
+ d: "M28 16c0 6.627-5.373 12-12 12S4 22.627 4 16 9.373 4 16 4s12 5.373 12 12zM9.6 17.6a1.6 1.6 0 100-3.2 1.6 1.6 0 000 3.2zm6.4 0a1.6 1.6 0 100-3.2 1.6 1.6 0 000 3.2zm6.4 0a1.6 1.6 0 100-3.2 1.6 1.6 0 000 3.2z"
39
35
  }));
40
36
  };
41
37
  var LINE_COUNT = 2;
@@ -43,6 +39,11 @@ var ValueColors = {
43
39
  DEFAULT: 'default',
44
40
  GREEN: 'green'
45
41
  };
42
+ var BackgroundViewColors = {
43
+ DEFAULT: 'default',
44
+ GRAY: 'gray',
45
+ WHITE: 'white'
46
+ };
46
47
  var Actions = {
47
48
  DELETE: 'delete',
48
49
  CONTROL: 'control'
@@ -52,6 +53,8 @@ var ListData = function ListData(_ref) {
52
53
  var title = _ref.title,
53
54
  subTitle = _ref.subTitle,
54
55
  value = _ref.value,
56
+ _ref$backgroundView = _ref.backgroundView,
57
+ backgroundView = _ref$backgroundView === void 0 ? 'default' : _ref$backgroundView,
55
58
  valueColor = _ref.valueColor,
56
59
  subValue = _ref.subValue,
57
60
  icon = _ref.icon,
@@ -142,7 +145,9 @@ var ListData = function ListData(_ref) {
142
145
  small: isDelete
143
146
  })
144
147
  }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.actionIcon), {
145
- onClick: handleAction
148
+ onClick: handleAction,
149
+ tabIndex: disabled ? -1 : 0,
150
+ role: "button"
146
151
  }), /*#__PURE__*/React.createElement(ActionIcon, {
147
152
  className: cn('action-icon', {
148
153
  active: !disabled
@@ -154,6 +159,7 @@ var ListData = function ListData(_ref) {
154
159
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
155
160
  className: cn({
156
161
  active: isActive,
162
+ view: backgroundView,
157
163
  disabled: disabled
158
164
  }, [className, classes.root]),
159
165
  onClick: handleClick
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-9-list-data-sortable{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfui-9-list-data-sortable__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-radius:12px;justify-content:space-between}.mfui-9-list-data-sortable__item{padding-right:0}.mfui-9-list-data-sortable__control{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:12px 16px 12px 8px}.mfui-9-list-data-sortable__icon{height:32px;width:32px;fill:var(--spbSky2)}.mfui-9-list-data-sortable_gap_small{padding:2px 0}.mfui-9-list-data-sortable_gap_medium{padding:4px 0}.mfui-9-list-data-sortable_gap_large{padding:6px 0}.mfui-9-list-data-sortable_dragging{opacity:0}.mfui-9-list-data-sortable_drag-overlay .mfui-9-list-data-sortable__wrapper{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;background-color:var(--spbSky0)}.mfui-9-list-data-sortable_activator_cell:not(.mfui-9-list-data-sortable_disabled){cursor:-webkit-grab;cursor:grab}.mfui-9-list-data-sortable_activator_cell:not(.mfui-9-list-data-sortable_disabled).mfui-9-list-data-sortable_drag-overlay{cursor:-webkit-grabbing;cursor:grabbing}.mfui-9-list-data-sortable_activator_control:not(.mfui-9-list-data-sortable_disabled) .mfui-9-list-data-sortable__control{cursor:-webkit-grab;cursor:grab}.mfui-9-list-data-sortable_activator_control:not(.mfui-9-list-data-sortable_disabled).mfui-9-list-data-sortable_drag-overlay .mfui-9-list-data-sortable__control{cursor:-webkit-grabbing;cursor:grabbing}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-list-data-sortable{border-radius:16px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfui-9-list-data-sortable:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:-6px}@-webkit-keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-list-data-sortable:focus{outline:none}.mfui-9-list-data-sortable__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-radius:12px;justify-content:space-between}.mfui-9-list-data-sortable__item{padding-right:0}.mfui-9-list-data-sortable__control{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;border-radius:8px;justify-content:center;margin:12px 16px 12px 8px}.mfui-9-list-data-sortable__control:focus-visible{-webkit-animation:focus-outline-shrink .3s linear forwards;animation:focus-outline-shrink .3s linear forwards;outline-offset:2px}@keyframes focus-outline-shrink{0%{outline:0 solid var(--137C)}to{outline:4px solid var(--137C)}}.mfui-9-list-data-sortable__control:focus{outline:none}.mfui-9-list-data-sortable__icon{height:32px;width:32px;fill:var(--spbSky2)}.mfui-9-list-data-sortable_gap_small{padding:2px 0}.mfui-9-list-data-sortable_gap_medium{padding:4px 0}.mfui-9-list-data-sortable_gap_large{padding:6px 0}.mfui-9-list-data-sortable_dragging{opacity:0}.mfui-9-list-data-sortable_drag-overlay .mfui-9-list-data-sortable__wrapper{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;background-color:var(--spbSky0)}.mfui-9-list-data-sortable_activator_cell:not(.mfui-9-list-data-sortable_disabled){cursor:-webkit-grab;cursor:grab}.mfui-9-list-data-sortable_activator_cell:not(.mfui-9-list-data-sortable_disabled).mfui-9-list-data-sortable_drag-overlay{cursor:-webkit-grabbing;cursor:grabbing}.mfui-9-list-data-sortable_activator_control:not(.mfui-9-list-data-sortable_disabled) .mfui-9-list-data-sortable__control{cursor:-webkit-grab;cursor:grab}.mfui-9-list-data-sortable_activator_control:not(.mfui-9-list-data-sortable_disabled).mfui-9-list-data-sortable_drag-overlay .mfui-9-list-data-sortable__control{cursor:-webkit-grabbing;cursor:grabbing}
@@ -21,9 +21,7 @@ var DragIcon = function DragIcon(props) {
21
21
  return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
22
22
  viewBox: "0 0 32 32"
23
23
  }, props), /*#__PURE__*/React.createElement("path", {
24
- fillRule: "evenodd",
25
- clipRule: "evenodd",
26
- d: "M24 14H8v-2h16v2zm0 6H8v-2h16v2z"
24
+ d: "M22.4 17.799a1.6 1.6 0 110 3.199H9.6a1.6 1.6 0 110-3.2h12.8zm0-6.797a1.6 1.6 0 110 3.2H9.6a1.6 1.6 0 110-3.2h12.8z"
27
25
  }));
28
26
  };
29
27
  var ActivatorNodes = exports.ActivatorNodes = {
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-9-modal-open-body{height:100%;overflow:hidden}.mfui-9-modal__overlay{display:-webkit-box;display:-ms-flexbox;display:flex;left:0;position:fixed;top:0;z-index:1000;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-animation:show-popup-overlay .3s ease-out forwards;animation:show-popup-overlay .3s ease-out forwards;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;justify-content:flex-start;opacity:0;padding:72px 0;width:100%}.mfui-9-modal__modal-content{margin:auto;position:relative}.mfui-9-modal_full-view .mfui-9-modal__overlay{display:block;padding:0}.mfui-9-modal_full-view .mfui-9-modal__modal-content{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:100%;width:100%}.mfui-9-modal_bottom-view .mfui-9-modal__overlay{bottom:0;display:block;height:auto;overflow:hidden;padding-bottom:0;-ms-touch-action:none;touch-action:none}.mfui-9-modal_bottom-view .mfui-9-modal__modal-content{height:100%;margin:0;outline:none;overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.mfui-9-modal_native-scroll .mfui-9-modal__overlay{overflow-x:hidden;overflow-y:scroll}@media screen and (hover:hover){.mfui-9-modal_native-scroll .mfui-9-modal__overlay{width:calc(100% + 15px)}}.mfui-9-modal_transition-end .mfui-9-modal__overlay{-webkit-animation:hide-popup-overlay .2s ease-in;animation:hide-popup-overlay .2s ease-in}@-webkit-keyframes show-popup-overlay{0%{opacity:0}to{opacity:1}}@keyframes show-popup-overlay{0%{opacity:0}to{opacity:1}}@-webkit-keyframes hide-popup-overlay{0%{opacity:1}to{opacity:0}}@keyframes hide-popup-overlay{0%{opacity:1}to{opacity:0}}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-9-modal-open-body{height:100%;overflow:hidden}.mfui-9-modal__overlay{display:-webkit-box;display:-ms-flexbox;display:flex;left:0;position:fixed;top:0;z-index:1000;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-animation:show-popup-overlay .3s ease-out forwards;animation:show-popup-overlay .3s ease-out forwards;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;justify-content:flex-start;opacity:0;padding:72px 0;width:100%}.mfui-9-modal__modal-content{margin:auto;position:relative}.mfui-9-modal_full-view .mfui-9-modal__overlay{display:block;padding:32px 0 0;top:32px}.mfui-9-modal_full-view .mfui-9-modal__modal-content{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:100%;width:100%}.mfui-9-modal_bottom-view .mfui-9-modal__overlay{bottom:0;display:block;height:auto;overflow:hidden;padding-bottom:0}.mfui-9-modal_bottom-view .mfui-9-modal__modal-content{height:100%;margin:0;outline:none;overflow:hidden}.mfui-9-modal_native-scroll .mfui-9-modal__overlay{overflow-x:hidden;overflow-y:scroll}@media screen and (hover:hover){.mfui-9-modal_native-scroll .mfui-9-modal__overlay{width:calc(100% + 15px)}}.mfui-9-modal_transition-end .mfui-9-modal__overlay{-webkit-animation:hide-popup-overlay .2s ease-in;animation:hide-popup-overlay .2s ease-in}@-webkit-keyframes show-popup-overlay{0%{opacity:0}to{opacity:1}}@keyframes show-popup-overlay{0%{opacity:0}to{opacity:1}}@-webkit-keyframes hide-popup-overlay{0%{opacity:1}to{opacity:0}}@keyframes hide-popup-overlay{0%{opacity:1}to{opacity:0}}
@@ -1,10 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import type { IScrollBarProps } from '../ScrollBar/ScrollBar';
3
3
  import './Modal.scss';
4
- export declare enum MODAL_MOBILE_VIEWS_ENUM {
5
- FULL_SCREEN = "fullScreen",// use camelCase for simple using in props from backend
6
- BOTTOM = "bottom"
7
- }
4
+ declare const ModalMobileViews: {
5
+ readonly FULL_SCREEN: "fullScreen";
6
+ readonly BOTTOM: "bottom";
7
+ };
8
+ type ModalMobileViewsType = (typeof ModalMobileViews)[keyof typeof ModalMobileViews];
9
+ export declare const HeaderButtonsTheme: {
10
+ readonly DEFAULT: "default";
11
+ readonly WHITE: "white";
12
+ };
13
+ export type HeaderButtonsThemeType = (typeof HeaderButtonsTheme)[keyof typeof HeaderButtonsTheme];
8
14
  export declare enum MODAL_TRANSITIONS_STEPS_ENUM {
9
15
  INITIAL_STEP = "initial-step",
10
16
  MOVE_STEP = "move-step",
@@ -43,16 +49,20 @@ export type ModalHeaderPropsType = {
43
49
  showBackButton?: boolean;
44
50
  /** Скрыть крестик */
45
51
  hideCloseButton?: boolean;
46
- /** Отобразить дополнительный контент в шапке */
52
+ /** Дополнительный контент в шапке */
47
53
  headerAdditionalContent?: JSX.Element | JSX.Element[] | string | null;
54
+ /** Кастомный контент в шапке */
55
+ headerCustomContent?: JSX.Element | JSX.Element[] | string | null;
56
+ /** Цветовая тема кнопок */
57
+ buttonsTheme?: HeaderButtonsThemeType;
48
58
  /** Отобразить тень у шапки */
49
59
  hasHeaderShadow?: boolean;
50
- /** Отобразить кнопки с подложкой */
51
- hasHeaderButtonsShadow?: boolean;
52
60
  /** Закрепленная шапка */
53
61
  isStickyHeader?: boolean;
54
- /** Кнопки находятся вне основной шапке */
62
+ /** Кнопки находятся вне основной шапки */
55
63
  isOutSideHeaderButtons?: boolean;
64
+ /** Использовать серый фон в шапке */
65
+ isGrayColorHeader?: boolean;
56
66
  /** Обработчик для стрелки назад */
57
67
  onBackButtonClick?: () => void;
58
68
  };
@@ -63,6 +73,8 @@ export type ModalFooterPropsType = {
63
73
  isStickyFooter?: boolean;
64
74
  /** Отобразить тень у футера */
65
75
  hasFooterShadow?: boolean;
76
+ /** Использовать серый фон в футере */
77
+ isGrayColorFooter?: boolean;
66
78
  };
67
79
  export interface IModalProps {
68
80
  /** Дополнительные классы для корневого элемента */
@@ -80,11 +92,13 @@ export interface IModalProps {
80
92
  /** Настройки для футера модального окна */
81
93
  footerProps?: ModalFooterPropsType;
82
94
  /** Вид модального окна на разрешении 767- */
83
- mobileView?: MODAL_MOBILE_VIEWS_ENUM;
95
+ mobileView?: ModalMobileViewsType;
84
96
  /** Включить дефолтный скролл (отключает кастомный компонент скролла) */
85
97
  isEnabledNativeScroll?: boolean;
86
98
  /** Отключить закрытие шторки свайпом */
87
99
  isSwipeDisabled?: boolean;
100
+ /** Использовать серый фон для основного контента модального окна */
101
+ isGrayColorModal?: boolean;
88
102
  /** Отключить закрытие модального окна при клике на фон */
89
103
  isDisabledBackgroundClick?: boolean;
90
104
  /** Восстанавливает фокус на элементе, который был сфокусирован до открытия модального окна */