@megafon/ui-core 8.17.1 → 8.17.3

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 (574) hide show
  1. package/dist/es/components/Accordion/Accordion.css +1 -0
  2. package/dist/es/components/Accordion/Accordion.d.ts +46 -0
  3. package/dist/es/components/Accordion/Accordion.js +99 -0
  4. package/dist/es/components/Avatar/Avatar.css +1 -0
  5. package/dist/es/components/Avatar/Avatar.d.ts +22 -0
  6. package/dist/es/components/Avatar/Avatar.js +51 -0
  7. package/dist/es/components/Badges/CounterBadge/CounterBadge.css +1 -0
  8. package/dist/es/components/Badges/CounterBadge/CounterBadge.d.ts +29 -0
  9. package/dist/es/components/Badges/CounterBadge/CounterBadge.js +43 -0
  10. package/dist/es/components/Badges/NotificationBadge/NotificationBadge.css +1 -0
  11. package/dist/es/components/Badges/NotificationBadge/NotificationBadge.d.ts +30 -0
  12. package/dist/es/components/Badges/NotificationBadge/NotificationBadge.js +35 -0
  13. package/dist/es/components/Badges/PriceBadge/PriceBadge.css +1 -0
  14. package/dist/es/components/Badges/PriceBadge/PriceBadge.d.ts +48 -0
  15. package/dist/es/components/Badges/PriceBadge/PriceBadge.js +210 -0
  16. package/dist/es/components/Badges/PromoBadge/PromoBadge.css +1 -0
  17. package/dist/es/components/Badges/PromoBadge/PromoBadge.d.ts +43 -0
  18. package/dist/es/components/Badges/PromoBadge/PromoBadge.js +47 -0
  19. package/dist/es/components/Badges/StatusBadge/StatusBadge.css +1 -0
  20. package/dist/es/components/Badges/StatusBadge/StatusBadge.d.ts +39 -0
  21. package/dist/es/components/Badges/StatusBadge/StatusBadge.js +156 -0
  22. package/dist/es/components/Badges/TimerBadge/TimerBadge.css +1 -0
  23. package/dist/es/components/Badges/TimerBadge/TimerBadge.d.ts +26 -0
  24. package/dist/es/components/Badges/TimerBadge/TimerBadge.js +87 -0
  25. package/dist/es/components/Badges/TimerBadge/components/Timer/Timer.d.ts +13 -0
  26. package/dist/es/components/Badges/TimerBadge/components/Timer/Timer.js +69 -0
  27. package/dist/es/components/Banner/Banner.css +1 -0
  28. package/dist/es/components/Banner/Banner.d.ts +118 -0
  29. package/dist/es/components/Banner/Banner.js +333 -0
  30. package/dist/es/components/Banner/BannerDot.css +1 -0
  31. package/dist/es/components/Banner/BannerDot.d.ts +20 -0
  32. package/dist/es/components/Banner/BannerDot.js +51 -0
  33. package/dist/es/components/Banner/slidesSettings.d.ts +7 -0
  34. package/dist/es/components/Banner/slidesSettings.js +10 -0
  35. package/dist/es/components/Button/Button.css +1 -0
  36. package/dist/es/components/Button/Button.d.ts +93 -0
  37. package/dist/es/components/Button/Button.js +216 -0
  38. package/dist/es/components/Calendar/Calendar.css +1 -0
  39. package/dist/es/components/Calendar/Calendar.d.ts +47 -0
  40. package/dist/es/components/Calendar/Calendar.js +327 -0
  41. package/dist/es/components/Calendar/components/_Day/Day.css +1 -0
  42. package/dist/es/components/Calendar/components/_Day/Day.d.ts +26 -0
  43. package/dist/es/components/Calendar/components/_Day/Day.js +81 -0
  44. package/dist/es/components/Calendar/components/_Month/Month.css +1 -0
  45. package/dist/es/components/Calendar/components/_Month/Month.d.ts +27 -0
  46. package/dist/es/components/Calendar/components/_Month/Month.js +117 -0
  47. package/dist/es/components/Caption/Caption.css +1 -0
  48. package/dist/es/components/Caption/Caption.d.ts +33 -0
  49. package/dist/es/components/Caption/Caption.js +37 -0
  50. package/dist/es/components/Carousel/Carousel.css +1 -0
  51. package/dist/es/components/Carousel/Carousel.d.ts +108 -0
  52. package/dist/es/components/Carousel/Carousel.js +387 -0
  53. package/dist/es/components/Carousel/checkBreakpointsPropTypes.d.ts +5 -0
  54. package/dist/es/components/Carousel/checkBreakpointsPropTypes.js +14 -0
  55. package/dist/es/components/Carousel/useGradient.d.ts +10 -0
  56. package/dist/es/components/Carousel/useGradient.js +36 -0
  57. package/dist/es/components/Checkbox/Checkbox.css +1 -0
  58. package/dist/es/components/Checkbox/Checkbox.d.ts +42 -0
  59. package/dist/es/components/Checkbox/Checkbox.js +86 -0
  60. package/dist/es/components/Chips/Chip.css +1 -0
  61. package/dist/es/components/Chips/Chip.d.ts +57 -0
  62. package/dist/es/components/Chips/Chip.js +77 -0
  63. package/dist/es/components/Chips/Chips.css +1 -0
  64. package/dist/es/components/Chips/Chips.d.ts +49 -0
  65. package/dist/es/components/Chips/Chips.js +163 -0
  66. package/dist/es/components/Chips/components/ChipsDropdown/ChipsDropdown.css +1 -0
  67. package/dist/es/components/Chips/components/ChipsDropdown/ChipsDropdown.d.ts +20 -0
  68. package/dist/es/components/Chips/components/ChipsDropdown/ChipsDropdown.js +92 -0
  69. package/dist/es/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.css +1 -0
  70. package/dist/es/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.d.ts +19 -0
  71. package/dist/es/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.js +86 -0
  72. package/dist/es/components/ContentArea/ContentArea.css +1 -0
  73. package/dist/es/components/ContentArea/ContentArea.d.ts +49 -0
  74. package/dist/es/components/ContentArea/ContentArea.js +48 -0
  75. package/dist/es/components/ContentView/ContentView.css +1 -0
  76. package/dist/es/components/ContentView/ContentView.d.ts +51 -0
  77. package/dist/es/components/ContentView/ContentView.js +66 -0
  78. package/dist/es/components/ContentView/img/alarm.png +0 -0
  79. package/dist/es/components/ContentView/img/empty.png +0 -0
  80. package/dist/es/components/ContentView/img/error.png +0 -0
  81. package/dist/es/components/ContentView/img/fail.png +0 -0
  82. package/dist/es/components/ContentView/img/searchNoResult.png +0 -0
  83. package/dist/es/components/ContentView/img/submit.png +0 -0
  84. package/dist/es/components/ContentView/img/success.png +0 -0
  85. package/dist/es/components/ContentView/img/update.png +0 -0
  86. package/dist/es/components/ContentView/img/waiting.png +0 -0
  87. package/dist/es/components/Counter/Counter.css +1 -0
  88. package/dist/es/components/Counter/Counter.d.ts +36 -0
  89. package/dist/es/components/Counter/Counter.js +121 -0
  90. package/dist/es/components/ErrorLoad/ErrorLoad.css +1 -0
  91. package/dist/es/components/ErrorLoad/ErrorLoad.d.ts +23 -0
  92. package/dist/es/components/ErrorLoad/ErrorLoad.js +59 -0
  93. package/dist/es/components/Grid/Grid.css +1 -0
  94. package/dist/es/components/Grid/Grid.d.ts +25 -0
  95. package/dist/es/components/Grid/Grid.js +36 -0
  96. package/dist/es/components/Grid/GridColumn.css +1 -0
  97. package/dist/es/components/Grid/GridColumn.d.ts +60 -0
  98. package/dist/es/components/Grid/GridColumn.js +69 -0
  99. package/dist/es/components/Header/Header.css +1 -0
  100. package/dist/es/components/Header/Header.d.ts +30 -0
  101. package/dist/es/components/Header/Header.js +38 -0
  102. package/dist/es/components/Link/Link.d.ts +24 -0
  103. package/dist/es/components/Link/Link.js +24 -0
  104. package/dist/es/components/List/List.css +1 -0
  105. package/dist/es/components/List/List.d.ts +17 -0
  106. package/dist/es/components/List/List.js +28 -0
  107. package/dist/es/components/List/ListItem.css +1 -0
  108. package/dist/es/components/List/ListItem.d.ts +9 -0
  109. package/dist/es/components/List/ListItem.js +12 -0
  110. package/dist/es/components/ListData/ListData.css +1 -0
  111. package/dist/es/components/ListData/ListData.d.ts +66 -0
  112. package/dist/es/components/ListData/ListData.js +160 -0
  113. package/dist/es/components/ListData/ListDataGroup.css +1 -0
  114. package/dist/es/components/ListData/ListDataGroup.d.ts +46 -0
  115. package/dist/es/components/ListData/ListDataGroup.js +150 -0
  116. package/dist/es/components/ListData/components/ListDataSortable.css +1 -0
  117. package/dist/es/components/ListData/components/ListDataSortable.d.ts +34 -0
  118. package/dist/es/components/ListData/components/ListDataSortable.js +81 -0
  119. package/dist/es/components/ListData/helpers.d.ts +6 -0
  120. package/dist/es/components/ListData/helpers.js +33 -0
  121. package/dist/es/components/Logo/Logo.css +1 -0
  122. package/dist/es/components/Logo/Logo.d.ts +20 -0
  123. package/dist/es/components/Logo/Logo.js +78 -0
  124. package/dist/es/components/Modal/Modal.css +1 -0
  125. package/dist/es/components/Modal/Modal.d.ts +109 -0
  126. package/dist/es/components/Modal/Modal.js +304 -0
  127. package/dist/es/components/Modal/_ModalContent/ModalContent.css +1 -0
  128. package/dist/es/components/Modal/_ModalContent/ModalContent.d.ts +8 -0
  129. package/dist/es/components/Modal/_ModalContent/ModalContent.js +183 -0
  130. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.css +1 -0
  131. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.d.ts +8 -0
  132. package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.js +32 -0
  133. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +1 -0
  134. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +12 -0
  135. package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +119 -0
  136. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +1 -0
  137. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +8 -0
  138. package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +56 -0
  139. package/dist/es/components/Modal/mocks.d.ts +3 -0
  140. package/dist/es/components/Modal/mocks.js +83 -0
  141. package/dist/es/components/Modal/types.d.ts +28 -0
  142. package/dist/es/components/Modal/types.js +1 -0
  143. package/dist/es/components/Modal/utils/utils.d.ts +18 -0
  144. package/dist/es/components/Modal/utils/utils.js +66 -0
  145. package/dist/es/components/NavArrow/NavArrow.css +1 -0
  146. package/dist/es/components/NavArrow/NavArrow.d.ts +33 -0
  147. package/dist/es/components/NavArrow/NavArrow.js +98 -0
  148. package/dist/es/components/Notification/Notification.css +1 -0
  149. package/dist/es/components/Notification/Notification.d.ts +85 -0
  150. package/dist/es/components/Notification/Notification.js +298 -0
  151. package/dist/es/components/Pagination/Pagination.css +1 -0
  152. package/dist/es/components/Pagination/Pagination.d.ts +31 -0
  153. package/dist/es/components/Pagination/Pagination.js +128 -0
  154. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +1 -0
  155. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +22 -0
  156. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +41 -0
  157. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.css +1 -0
  158. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +21 -0
  159. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +71 -0
  160. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +1 -0
  161. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +25 -0
  162. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +130 -0
  163. package/dist/es/components/Pagination/helpers.d.ts +8 -0
  164. package/dist/es/components/Pagination/helpers.js +37 -0
  165. package/dist/es/components/Pagination/types.d.ts +25 -0
  166. package/dist/es/components/Pagination/types.js +4 -0
  167. package/dist/es/components/Pagination/usePagination.d.ts +13 -0
  168. package/dist/es/components/Pagination/usePagination.js +107 -0
  169. package/dist/es/components/Paragraph/Paragraph.css +1 -0
  170. package/dist/es/components/Paragraph/Paragraph.d.ts +31 -0
  171. package/dist/es/components/Paragraph/Paragraph.js +34 -0
  172. package/dist/es/components/Parameter/Parameter.css +1 -0
  173. package/dist/es/components/Parameter/Parameter.d.ts +59 -0
  174. package/dist/es/components/Parameter/Parameter.js +139 -0
  175. package/dist/es/components/Parameter/components/ParameterDescription.css +1 -0
  176. package/dist/es/components/Parameter/components/ParameterDescription.d.ts +16 -0
  177. package/dist/es/components/Parameter/components/ParameterDescription.js +39 -0
  178. package/dist/es/components/Parameter/helpers.d.ts +6 -0
  179. package/dist/es/components/Parameter/helpers.js +10 -0
  180. package/dist/es/components/Preloader/Preloader.css +1 -0
  181. package/dist/es/components/Preloader/Preloader.d.ts +39 -0
  182. package/dist/es/components/Preloader/Preloader.js +71 -0
  183. package/dist/es/components/RadioButton/RadioButton.css +1 -0
  184. package/dist/es/components/RadioButton/RadioButton.d.ts +38 -0
  185. package/dist/es/components/RadioButton/RadioButton.js +55 -0
  186. package/dist/es/components/Row/Row.css +1 -0
  187. package/dist/es/components/Row/Row.d.ts +48 -0
  188. package/dist/es/components/Row/Row.js +86 -0
  189. package/dist/es/components/ScrollBar/ScrollBar.css +1 -0
  190. package/dist/es/components/ScrollBar/ScrollBar.d.ts +38 -0
  191. package/dist/es/components/ScrollBar/ScrollBar.js +97 -0
  192. package/dist/es/components/Search/Search.css +1 -0
  193. package/dist/es/components/Search/Search.d.ts +126 -0
  194. package/dist/es/components/Search/Search.js +576 -0
  195. package/dist/es/components/Select/Select.css +1 -0
  196. package/dist/es/components/Select/Select.d.ts +97 -0
  197. package/dist/es/components/Select/Select.js +414 -0
  198. package/dist/es/components/Select/reducer/selectReducer.d.ts +34 -0
  199. package/dist/es/components/Select/reducer/selectReducer.js +109 -0
  200. package/dist/es/components/Selector/Selector.css +1 -0
  201. package/dist/es/components/Selector/Selector.d.ts +41 -0
  202. package/dist/es/components/Selector/Selector.js +70 -0
  203. package/dist/es/components/Sliders/Slider/Slider.css +1 -0
  204. package/dist/es/components/Sliders/Slider/Slider.d.ts +39 -0
  205. package/dist/es/components/Sliders/Slider/Slider.js +95 -0
  206. package/dist/es/components/Sliders/SliderRange/SliderRange.css +1 -0
  207. package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +47 -0
  208. package/dist/es/components/Sliders/SliderRange/SliderRange.js +207 -0
  209. package/dist/es/components/Sliders/SliderRange/helpers.d.ts +6 -0
  210. package/dist/es/components/Sliders/SliderRange/helpers.js +29 -0
  211. package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +1 -0
  212. package/dist/es/components/Sliders/SliderRatio/SliderRatio.d.ts +41 -0
  213. package/dist/es/components/Sliders/SliderRatio/SliderRatio.js +200 -0
  214. package/dist/es/components/Sliders/SliderRatio/helpers.d.ts +15 -0
  215. package/dist/es/components/Sliders/SliderRatio/helpers.js +32 -0
  216. package/dist/es/components/Sliders/SliderRatio/img/thumb.png +0 -0
  217. package/dist/es/components/Sliders/SliderRatio/types.d.ts +8 -0
  218. package/dist/es/components/Sliders/SliderRatio/types.js +5 -0
  219. package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +1 -0
  220. package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +19 -0
  221. package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +37 -0
  222. package/dist/es/components/Sliders/components/SliderScale/helpers.d.ts +2 -0
  223. package/dist/es/components/Sliders/components/SliderScale/helpers.js +35 -0
  224. package/dist/es/components/Sliders/helpers.d.ts +3 -0
  225. package/dist/es/components/Sliders/helpers.js +35 -0
  226. package/dist/es/components/Snackbar/Snackbar.css +1 -0
  227. package/dist/es/components/Snackbar/Snackbar.d.ts +51 -0
  228. package/dist/es/components/Snackbar/Snackbar.js +233 -0
  229. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.css +1 -0
  230. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +9 -0
  231. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.js +71 -0
  232. package/dist/es/components/Switcher/Switcher.css +1 -0
  233. package/dist/es/components/Switcher/Switcher.d.ts +34 -0
  234. package/dist/es/components/Switcher/Switcher.js +80 -0
  235. package/dist/es/components/Tabs/Tab.d.ts +28 -0
  236. package/dist/es/components/Tabs/Tab.js +7 -0
  237. package/dist/es/components/Tabs/Tabs.css +1 -0
  238. package/dist/es/components/Tabs/Tabs.d.ts +67 -0
  239. package/dist/es/components/Tabs/Tabs.js +450 -0
  240. package/dist/es/components/TextField/TextField.css +1 -0
  241. package/dist/es/components/TextField/TextField.d.ts +118 -0
  242. package/dist/es/components/TextField/TextField.js +464 -0
  243. package/dist/es/components/TextField/utils/countGraphemes.d.ts +2 -0
  244. package/dist/es/components/TextField/utils/countGraphemes.js +44 -0
  245. package/dist/es/components/TextLink/TextLink.css +1 -0
  246. package/dist/es/components/TextLink/TextLink.d.ts +16 -0
  247. package/dist/es/components/TextLink/TextLink.js +37 -0
  248. package/dist/es/components/Tile/Tile.css +1 -0
  249. package/dist/es/components/Tile/Tile.d.ts +47 -0
  250. package/dist/es/components/Tile/Tile.js +58 -0
  251. package/dist/es/components/Tooltip/Tooltip.css +1 -0
  252. package/dist/es/components/Tooltip/Tooltip.d.ts +123 -0
  253. package/dist/es/components/Tooltip/Tooltip.js +402 -0
  254. package/dist/es/components/UploadForm/UploadField/UploadField.css +1 -0
  255. package/dist/es/components/UploadForm/UploadField/UploadField.d.ts +24 -0
  256. package/dist/es/components/UploadForm/UploadField/UploadField.js +58 -0
  257. package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +1 -0
  258. package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +21 -0
  259. package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +68 -0
  260. package/dist/es/components/UploadForm/UploadField/components/useDragAndDrop.d.ts +3 -0
  261. package/dist/es/components/UploadForm/UploadField/components/useDragAndDrop.js +50 -0
  262. package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.css +1 -0
  263. package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +38 -0
  264. package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.js +125 -0
  265. package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.d.ts +7 -0
  266. package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +279 -0
  267. package/dist/es/components/UploadForm/UploadFileItem/helpers.d.ts +5 -0
  268. package/dist/es/components/UploadForm/UploadFileItem/helpers.js +27 -0
  269. package/dist/es/components/ValueField/ValueField.css +1 -0
  270. package/dist/es/components/ValueField/ValueField.d.ts +43 -0
  271. package/dist/es/components/ValueField/ValueField.js +109 -0
  272. package/dist/es/components/_Collapse/Collapse.css +1 -0
  273. package/dist/es/components/_Collapse/Collapse.d.ts +19 -0
  274. package/dist/es/components/_Collapse/Collapse.js +86 -0
  275. package/dist/es/constants/throttleTime.d.ts +5 -0
  276. package/dist/es/constants/throttleTime.js +4 -0
  277. package/dist/es/hooks/usePrevious.d.ts +2 -0
  278. package/dist/es/hooks/usePrevious.js +9 -0
  279. package/dist/es/hooks/useResolution.d.ts +6 -0
  280. package/dist/es/hooks/useResolution.js +51 -0
  281. package/dist/es/hooks/useSwipe.d.ts +13 -0
  282. package/dist/es/hooks/useSwipe.js +127 -0
  283. package/dist/es/index.d.ts +84 -0
  284. package/dist/es/index.js +84 -0
  285. package/dist/es/styles/base.css +1 -0
  286. package/dist/lib/components/Accordion/Accordion.css +1 -0
  287. package/dist/lib/components/Accordion/Accordion.d.ts +46 -0
  288. package/dist/lib/components/Accordion/Accordion.js +108 -0
  289. package/dist/lib/components/Avatar/Avatar.css +1 -0
  290. package/dist/lib/components/Avatar/Avatar.d.ts +22 -0
  291. package/dist/lib/components/Avatar/Avatar.js +60 -0
  292. package/dist/lib/components/Badges/CounterBadge/CounterBadge.css +1 -0
  293. package/dist/lib/components/Badges/CounterBadge/CounterBadge.d.ts +29 -0
  294. package/dist/lib/components/Badges/CounterBadge/CounterBadge.js +52 -0
  295. package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.css +1 -0
  296. package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.d.ts +30 -0
  297. package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.js +44 -0
  298. package/dist/lib/components/Badges/PriceBadge/PriceBadge.css +1 -0
  299. package/dist/lib/components/Badges/PriceBadge/PriceBadge.d.ts +48 -0
  300. package/dist/lib/components/Badges/PriceBadge/PriceBadge.js +219 -0
  301. package/dist/lib/components/Badges/PromoBadge/PromoBadge.css +1 -0
  302. package/dist/lib/components/Badges/PromoBadge/PromoBadge.d.ts +43 -0
  303. package/dist/lib/components/Badges/PromoBadge/PromoBadge.js +56 -0
  304. package/dist/lib/components/Badges/StatusBadge/StatusBadge.css +1 -0
  305. package/dist/lib/components/Badges/StatusBadge/StatusBadge.d.ts +39 -0
  306. package/dist/lib/components/Badges/StatusBadge/StatusBadge.js +165 -0
  307. package/dist/lib/components/Badges/TimerBadge/TimerBadge.css +1 -0
  308. package/dist/lib/components/Badges/TimerBadge/TimerBadge.d.ts +26 -0
  309. package/dist/lib/components/Badges/TimerBadge/TimerBadge.js +96 -0
  310. package/dist/lib/components/Badges/TimerBadge/components/Timer/Timer.d.ts +13 -0
  311. package/dist/lib/components/Badges/TimerBadge/components/Timer/Timer.js +79 -0
  312. package/dist/lib/components/Banner/Banner.css +1 -0
  313. package/dist/lib/components/Banner/Banner.d.ts +118 -0
  314. package/dist/lib/components/Banner/Banner.js +343 -0
  315. package/dist/lib/components/Banner/BannerDot.css +1 -0
  316. package/dist/lib/components/Banner/BannerDot.d.ts +20 -0
  317. package/dist/lib/components/Banner/BannerDot.js +60 -0
  318. package/dist/lib/components/Banner/slidesSettings.d.ts +7 -0
  319. package/dist/lib/components/Banner/slidesSettings.js +17 -0
  320. package/dist/lib/components/Button/Button.css +1 -0
  321. package/dist/lib/components/Button/Button.d.ts +93 -0
  322. package/dist/lib/components/Button/Button.js +225 -0
  323. package/dist/lib/components/Calendar/Calendar.css +1 -0
  324. package/dist/lib/components/Calendar/Calendar.d.ts +47 -0
  325. package/dist/lib/components/Calendar/Calendar.js +336 -0
  326. package/dist/lib/components/Calendar/components/_Day/Day.css +1 -0
  327. package/dist/lib/components/Calendar/components/_Day/Day.d.ts +26 -0
  328. package/dist/lib/components/Calendar/components/_Day/Day.js +90 -0
  329. package/dist/lib/components/Calendar/components/_Month/Month.css +1 -0
  330. package/dist/lib/components/Calendar/components/_Month/Month.d.ts +27 -0
  331. package/dist/lib/components/Calendar/components/_Month/Month.js +126 -0
  332. package/dist/lib/components/Caption/Caption.css +1 -0
  333. package/dist/lib/components/Caption/Caption.d.ts +33 -0
  334. package/dist/lib/components/Caption/Caption.js +46 -0
  335. package/dist/lib/components/Carousel/Carousel.css +1 -0
  336. package/dist/lib/components/Carousel/Carousel.d.ts +108 -0
  337. package/dist/lib/components/Carousel/Carousel.js +453 -0
  338. package/dist/lib/components/Carousel/checkBreakpointsPropTypes.d.ts +5 -0
  339. package/dist/lib/components/Carousel/checkBreakpointsPropTypes.js +24 -0
  340. package/dist/lib/components/Carousel/useGradient.d.ts +10 -0
  341. package/dist/lib/components/Carousel/useGradient.js +43 -0
  342. package/dist/lib/components/Checkbox/Checkbox.css +1 -0
  343. package/dist/lib/components/Checkbox/Checkbox.d.ts +42 -0
  344. package/dist/lib/components/Checkbox/Checkbox.js +95 -0
  345. package/dist/lib/components/Chips/Chip.css +1 -0
  346. package/dist/lib/components/Chips/Chip.d.ts +57 -0
  347. package/dist/lib/components/Chips/Chip.js +86 -0
  348. package/dist/lib/components/Chips/Chips.css +1 -0
  349. package/dist/lib/components/Chips/Chips.d.ts +49 -0
  350. package/dist/lib/components/Chips/Chips.js +172 -0
  351. package/dist/lib/components/Chips/components/ChipsDropdown/ChipsDropdown.css +1 -0
  352. package/dist/lib/components/Chips/components/ChipsDropdown/ChipsDropdown.d.ts +20 -0
  353. package/dist/lib/components/Chips/components/ChipsDropdown/ChipsDropdown.js +101 -0
  354. package/dist/lib/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.css +1 -0
  355. package/dist/lib/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.d.ts +19 -0
  356. package/dist/lib/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.js +95 -0
  357. package/dist/lib/components/ContentArea/ContentArea.css +1 -0
  358. package/dist/lib/components/ContentArea/ContentArea.d.ts +49 -0
  359. package/dist/lib/components/ContentArea/ContentArea.js +57 -0
  360. package/dist/lib/components/ContentView/ContentView.css +1 -0
  361. package/dist/lib/components/ContentView/ContentView.d.ts +51 -0
  362. package/dist/lib/components/ContentView/ContentView.js +75 -0
  363. package/dist/lib/components/ContentView/img/alarm.png +0 -0
  364. package/dist/lib/components/ContentView/img/empty.png +0 -0
  365. package/dist/lib/components/ContentView/img/error.png +0 -0
  366. package/dist/lib/components/ContentView/img/fail.png +0 -0
  367. package/dist/lib/components/ContentView/img/searchNoResult.png +0 -0
  368. package/dist/lib/components/ContentView/img/submit.png +0 -0
  369. package/dist/lib/components/ContentView/img/success.png +0 -0
  370. package/dist/lib/components/ContentView/img/update.png +0 -0
  371. package/dist/lib/components/ContentView/img/waiting.png +0 -0
  372. package/dist/lib/components/Counter/Counter.css +1 -0
  373. package/dist/lib/components/Counter/Counter.d.ts +36 -0
  374. package/dist/lib/components/Counter/Counter.js +130 -0
  375. package/dist/lib/components/ErrorLoad/ErrorLoad.css +1 -0
  376. package/dist/lib/components/ErrorLoad/ErrorLoad.d.ts +23 -0
  377. package/dist/lib/components/ErrorLoad/ErrorLoad.js +68 -0
  378. package/dist/lib/components/Grid/Grid.css +1 -0
  379. package/dist/lib/components/Grid/Grid.d.ts +25 -0
  380. package/dist/lib/components/Grid/Grid.js +45 -0
  381. package/dist/lib/components/Grid/GridColumn.css +1 -0
  382. package/dist/lib/components/Grid/GridColumn.d.ts +60 -0
  383. package/dist/lib/components/Grid/GridColumn.js +78 -0
  384. package/dist/lib/components/Header/Header.css +1 -0
  385. package/dist/lib/components/Header/Header.d.ts +30 -0
  386. package/dist/lib/components/Header/Header.js +47 -0
  387. package/dist/lib/components/Link/Link.d.ts +24 -0
  388. package/dist/lib/components/Link/Link.js +34 -0
  389. package/dist/lib/components/List/List.css +1 -0
  390. package/dist/lib/components/List/List.d.ts +17 -0
  391. package/dist/lib/components/List/List.js +36 -0
  392. package/dist/lib/components/List/ListItem.css +1 -0
  393. package/dist/lib/components/List/ListItem.d.ts +9 -0
  394. package/dist/lib/components/List/ListItem.js +20 -0
  395. package/dist/lib/components/ListData/ListData.css +1 -0
  396. package/dist/lib/components/ListData/ListData.d.ts +66 -0
  397. package/dist/lib/components/ListData/ListData.js +169 -0
  398. package/dist/lib/components/ListData/ListDataGroup.css +1 -0
  399. package/dist/lib/components/ListData/ListDataGroup.d.ts +46 -0
  400. package/dist/lib/components/ListData/ListDataGroup.js +159 -0
  401. package/dist/lib/components/ListData/components/ListDataSortable.css +1 -0
  402. package/dist/lib/components/ListData/components/ListDataSortable.d.ts +34 -0
  403. package/dist/lib/components/ListData/components/ListDataSortable.js +90 -0
  404. package/dist/lib/components/ListData/helpers.d.ts +6 -0
  405. package/dist/lib/components/ListData/helpers.js +40 -0
  406. package/dist/lib/components/Logo/Logo.css +1 -0
  407. package/dist/lib/components/Logo/Logo.d.ts +20 -0
  408. package/dist/lib/components/Logo/Logo.js +87 -0
  409. package/dist/lib/components/Modal/Modal.css +1 -0
  410. package/dist/lib/components/Modal/Modal.d.ts +109 -0
  411. package/dist/lib/components/Modal/Modal.js +313 -0
  412. package/dist/lib/components/Modal/_ModalContent/ModalContent.css +1 -0
  413. package/dist/lib/components/Modal/_ModalContent/ModalContent.d.ts +8 -0
  414. package/dist/lib/components/Modal/_ModalContent/ModalContent.js +192 -0
  415. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.css +1 -0
  416. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.d.ts +8 -0
  417. package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.js +41 -0
  418. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +1 -0
  419. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +12 -0
  420. package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +128 -0
  421. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +1 -0
  422. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +8 -0
  423. package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +65 -0
  424. package/dist/lib/components/Modal/mocks.d.ts +3 -0
  425. package/dist/lib/components/Modal/mocks.js +89 -0
  426. package/dist/lib/components/Modal/types.d.ts +28 -0
  427. package/dist/lib/components/Modal/types.js +5 -0
  428. package/dist/lib/components/Modal/utils/utils.d.ts +18 -0
  429. package/dist/lib/components/Modal/utils/utils.js +72 -0
  430. package/dist/lib/components/NavArrow/NavArrow.css +1 -0
  431. package/dist/lib/components/NavArrow/NavArrow.d.ts +33 -0
  432. package/dist/lib/components/NavArrow/NavArrow.js +107 -0
  433. package/dist/lib/components/Notification/Notification.css +1 -0
  434. package/dist/lib/components/Notification/Notification.d.ts +85 -0
  435. package/dist/lib/components/Notification/Notification.js +307 -0
  436. package/dist/lib/components/Pagination/Pagination.css +1 -0
  437. package/dist/lib/components/Pagination/Pagination.d.ts +31 -0
  438. package/dist/lib/components/Pagination/Pagination.js +137 -0
  439. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +1 -0
  440. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +22 -0
  441. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +47 -0
  442. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.css +1 -0
  443. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +21 -0
  444. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +80 -0
  445. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +1 -0
  446. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +25 -0
  447. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +136 -0
  448. package/dist/lib/components/Pagination/helpers.d.ts +8 -0
  449. package/dist/lib/components/Pagination/helpers.js +43 -0
  450. package/dist/lib/components/Pagination/types.d.ts +25 -0
  451. package/dist/lib/components/Pagination/types.js +10 -0
  452. package/dist/lib/components/Pagination/usePagination.d.ts +13 -0
  453. package/dist/lib/components/Pagination/usePagination.js +114 -0
  454. package/dist/lib/components/Paragraph/Paragraph.css +1 -0
  455. package/dist/lib/components/Paragraph/Paragraph.d.ts +31 -0
  456. package/dist/lib/components/Paragraph/Paragraph.js +43 -0
  457. package/dist/lib/components/Parameter/Parameter.css +1 -0
  458. package/dist/lib/components/Parameter/Parameter.d.ts +59 -0
  459. package/dist/lib/components/Parameter/Parameter.js +148 -0
  460. package/dist/lib/components/Parameter/components/ParameterDescription.css +1 -0
  461. package/dist/lib/components/Parameter/components/ParameterDescription.d.ts +16 -0
  462. package/dist/lib/components/Parameter/components/ParameterDescription.js +48 -0
  463. package/dist/lib/components/Parameter/helpers.d.ts +6 -0
  464. package/dist/lib/components/Parameter/helpers.js +16 -0
  465. package/dist/lib/components/Preloader/Preloader.css +1 -0
  466. package/dist/lib/components/Preloader/Preloader.d.ts +39 -0
  467. package/dist/lib/components/Preloader/Preloader.js +80 -0
  468. package/dist/lib/components/RadioButton/RadioButton.css +1 -0
  469. package/dist/lib/components/RadioButton/RadioButton.d.ts +38 -0
  470. package/dist/lib/components/RadioButton/RadioButton.js +64 -0
  471. package/dist/lib/components/Row/Row.css +1 -0
  472. package/dist/lib/components/Row/Row.d.ts +48 -0
  473. package/dist/lib/components/Row/Row.js +95 -0
  474. package/dist/lib/components/ScrollBar/ScrollBar.css +1 -0
  475. package/dist/lib/components/ScrollBar/ScrollBar.d.ts +38 -0
  476. package/dist/lib/components/ScrollBar/ScrollBar.js +105 -0
  477. package/dist/lib/components/Search/Search.css +1 -0
  478. package/dist/lib/components/Search/Search.d.ts +126 -0
  479. package/dist/lib/components/Search/Search.js +585 -0
  480. package/dist/lib/components/Select/Select.css +1 -0
  481. package/dist/lib/components/Select/Select.d.ts +97 -0
  482. package/dist/lib/components/Select/Select.js +423 -0
  483. package/dist/lib/components/Select/reducer/selectReducer.d.ts +34 -0
  484. package/dist/lib/components/Select/reducer/selectReducer.js +116 -0
  485. package/dist/lib/components/Selector/Selector.css +1 -0
  486. package/dist/lib/components/Selector/Selector.d.ts +41 -0
  487. package/dist/lib/components/Selector/Selector.js +79 -0
  488. package/dist/lib/components/Sliders/Slider/Slider.css +1 -0
  489. package/dist/lib/components/Sliders/Slider/Slider.d.ts +39 -0
  490. package/dist/lib/components/Sliders/Slider/Slider.js +104 -0
  491. package/dist/lib/components/Sliders/SliderRange/SliderRange.css +1 -0
  492. package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +47 -0
  493. package/dist/lib/components/Sliders/SliderRange/SliderRange.js +216 -0
  494. package/dist/lib/components/Sliders/SliderRange/helpers.d.ts +6 -0
  495. package/dist/lib/components/Sliders/SliderRange/helpers.js +35 -0
  496. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +1 -0
  497. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.d.ts +41 -0
  498. package/dist/lib/components/Sliders/SliderRatio/SliderRatio.js +209 -0
  499. package/dist/lib/components/Sliders/SliderRatio/helpers.d.ts +15 -0
  500. package/dist/lib/components/Sliders/SliderRatio/helpers.js +39 -0
  501. package/dist/lib/components/Sliders/SliderRatio/img/thumb.png +0 -0
  502. package/dist/lib/components/Sliders/SliderRatio/types.d.ts +8 -0
  503. package/dist/lib/components/Sliders/SliderRatio/types.js +11 -0
  504. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +1 -0
  505. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +19 -0
  506. package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +46 -0
  507. package/dist/lib/components/Sliders/components/SliderScale/helpers.d.ts +2 -0
  508. package/dist/lib/components/Sliders/components/SliderScale/helpers.js +42 -0
  509. package/dist/lib/components/Sliders/helpers.d.ts +3 -0
  510. package/dist/lib/components/Sliders/helpers.js +41 -0
  511. package/dist/lib/components/Snackbar/Snackbar.css +1 -0
  512. package/dist/lib/components/Snackbar/Snackbar.d.ts +51 -0
  513. package/dist/lib/components/Snackbar/Snackbar.js +242 -0
  514. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.css +1 -0
  515. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +9 -0
  516. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.js +80 -0
  517. package/dist/lib/components/Switcher/Switcher.css +1 -0
  518. package/dist/lib/components/Switcher/Switcher.d.ts +34 -0
  519. package/dist/lib/components/Switcher/Switcher.js +89 -0
  520. package/dist/lib/components/Tabs/Tab.d.ts +28 -0
  521. package/dist/lib/components/Tabs/Tab.js +17 -0
  522. package/dist/lib/components/Tabs/Tabs.css +1 -0
  523. package/dist/lib/components/Tabs/Tabs.d.ts +67 -0
  524. package/dist/lib/components/Tabs/Tabs.js +460 -0
  525. package/dist/lib/components/TextField/TextField.css +1 -0
  526. package/dist/lib/components/TextField/TextField.d.ts +118 -0
  527. package/dist/lib/components/TextField/TextField.js +474 -0
  528. package/dist/lib/components/TextField/utils/countGraphemes.d.ts +2 -0
  529. package/dist/lib/components/TextField/utils/countGraphemes.js +50 -0
  530. package/dist/lib/components/TextLink/TextLink.css +1 -0
  531. package/dist/lib/components/TextLink/TextLink.d.ts +16 -0
  532. package/dist/lib/components/TextLink/TextLink.js +46 -0
  533. package/dist/lib/components/Tile/Tile.css +1 -0
  534. package/dist/lib/components/Tile/Tile.d.ts +47 -0
  535. package/dist/lib/components/Tile/Tile.js +67 -0
  536. package/dist/lib/components/Tooltip/Tooltip.css +1 -0
  537. package/dist/lib/components/Tooltip/Tooltip.d.ts +123 -0
  538. package/dist/lib/components/Tooltip/Tooltip.js +411 -0
  539. package/dist/lib/components/UploadForm/UploadField/UploadField.css +1 -0
  540. package/dist/lib/components/UploadForm/UploadField/UploadField.d.ts +24 -0
  541. package/dist/lib/components/UploadForm/UploadField/UploadField.js +67 -0
  542. package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +1 -0
  543. package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +21 -0
  544. package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +77 -0
  545. package/dist/lib/components/UploadForm/UploadField/components/useDragAndDrop.d.ts +3 -0
  546. package/dist/lib/components/UploadForm/UploadField/components/useDragAndDrop.js +57 -0
  547. package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.css +1 -0
  548. package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +38 -0
  549. package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.js +134 -0
  550. package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.d.ts +7 -0
  551. package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +289 -0
  552. package/dist/lib/components/UploadForm/UploadFileItem/helpers.d.ts +5 -0
  553. package/dist/lib/components/UploadForm/UploadFileItem/helpers.js +33 -0
  554. package/dist/lib/components/ValueField/ValueField.css +1 -0
  555. package/dist/lib/components/ValueField/ValueField.d.ts +43 -0
  556. package/dist/lib/components/ValueField/ValueField.js +118 -0
  557. package/dist/lib/components/_Collapse/Collapse.css +1 -0
  558. package/dist/lib/components/_Collapse/Collapse.d.ts +19 -0
  559. package/dist/lib/components/_Collapse/Collapse.js +95 -0
  560. package/dist/lib/constants/throttleTime.d.ts +5 -0
  561. package/dist/lib/constants/throttleTime.js +10 -0
  562. package/dist/lib/hooks/usePrevious.d.ts +2 -0
  563. package/dist/lib/hooks/usePrevious.js +18 -0
  564. package/dist/lib/hooks/useResolution.d.ts +6 -0
  565. package/dist/lib/hooks/useResolution.js +61 -0
  566. package/dist/lib/hooks/useSwipe.d.ts +13 -0
  567. package/dist/lib/hooks/useSwipe.js +137 -0
  568. package/dist/lib/index.d.ts +84 -0
  569. package/dist/lib/index.js +594 -0
  570. package/dist/lib/styles/base.css +1 -0
  571. package/package.json +4 -4
  572. package/styles/base.scss +150 -0
  573. package/styles/colors.css +165 -0
  574. package/styles/colorsDark.css +86 -0
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import './PromoBadge.scss';
3
+ export declare const PromoBadgeColors: {
4
+ readonly BERRY: "berry";
5
+ readonly BRAND_PURPLE_20: "brand-purple-20";
6
+ readonly BRAND_PURPLE: "brand-purple";
7
+ readonly NIGHT: "night";
8
+ readonly SKY: "sky";
9
+ readonly FLAMINGO: "flamingo";
10
+ readonly GRADIENT_PURPLE: "gradient-purple";
11
+ };
12
+ type PromoBadgeColorsType = (typeof PromoBadgeColors)[keyof typeof PromoBadgeColors];
13
+ export declare const PromoBadgeSize: {
14
+ readonly SMALL: "small";
15
+ readonly MEDIUM: "medium";
16
+ };
17
+ type PromoBadgeSizeType = (typeof PromoBadgeSize)[keyof typeof PromoBadgeSize];
18
+ export declare const PromoBadgeTypes: {
19
+ readonly HIT: "hit";
20
+ readonly NEW: "new";
21
+ readonly VIP: "vip";
22
+ readonly POPULAR: "popular";
23
+ readonly USER_CHOICE: "user-choice";
24
+ readonly INTERESTS: "interests";
25
+ };
26
+ type PromoBadgeTypesType = (typeof PromoBadgeTypes)[keyof typeof PromoBadgeTypes];
27
+ export interface IPromoBadgeProps {
28
+ /** Цвет промо-бэйджа */
29
+ color?: PromoBadgeColorsType;
30
+ /** Размер промо-бэйджа */
31
+ size?: PromoBadgeSizeType;
32
+ /** DEPRECATED Тип промо-бэйджа (Используйте проп `color`) */
33
+ type?: PromoBadgeTypesType;
34
+ /** Дополнительный класс корневого элемента */
35
+ className?: string;
36
+ /** Дополнительные data-атрибуты к внутренним элементам */
37
+ dataAttrs?: {
38
+ root?: Record<string, string>;
39
+ };
40
+ children: JSX.Element[] | Element[] | JSX.Element | Element | string;
41
+ }
42
+ declare const PromoBadge: React.FC<IPromoBadgeProps>;
43
+ export default PromoBadge;
@@ -0,0 +1,47 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import * as React from 'react';
3
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
4
+ import "./PromoBadge.css";
5
+ export var PromoBadgeColors = {
6
+ BERRY: 'berry',
7
+ BRAND_PURPLE_20: 'brand-purple-20',
8
+ BRAND_PURPLE: 'brand-purple',
9
+ NIGHT: 'night',
10
+ SKY: 'sky',
11
+ FLAMINGO: 'flamingo',
12
+ GRADIENT_PURPLE: 'gradient-purple'
13
+ };
14
+ export var PromoBadgeSize = {
15
+ SMALL: 'small',
16
+ MEDIUM: 'medium'
17
+ };
18
+ // DEPRECATED
19
+ export var PromoBadgeTypes = {
20
+ HIT: 'hit',
21
+ NEW: 'new',
22
+ VIP: 'vip',
23
+ POPULAR: 'popular',
24
+ USER_CHOICE: 'user-choice',
25
+ INTERESTS: 'interests'
26
+ };
27
+ var cn = cnCreate('mfui-promo-badge');
28
+ var PromoBadge = function PromoBadge(_ref) {
29
+ var color = _ref.color,
30
+ _ref$size = _ref.size,
31
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
32
+ _ref$type = _ref.type,
33
+ type = _ref$type === void 0 ? PromoBadgeTypes.HIT : _ref$type,
34
+ className = _ref.className,
35
+ children = _ref.children,
36
+ dataAttrs = _ref.dataAttrs;
37
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
38
+ className: cn({
39
+ color: color,
40
+ size: size,
41
+ type: color ? undefined : type
42
+ }, className)
43
+ }), /*#__PURE__*/React.createElement("span", {
44
+ className: cn('text')
45
+ }, children));
46
+ };
47
+ export default PromoBadge;
@@ -0,0 +1 @@
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-status-badge__container{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;line-height:18px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--content);font-weight:400;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.mfui-status-badge__text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfui-status-badge__arrow,.mfui-status-badge__icon{height:20px;width:20px}.mfui-status-badge__icon{margin-right:2px}@media screen and (min-width:1024px){.mfui-status-badge_adaptive .mfui-status-badge__container{font-size:15px;line-height:24px}}.mfui-status-badge_tooltip .mfui-status-badge__container{cursor:pointer}.mfui-status-badge__tooltip{width:288px}.mfui-status-badge_view_dot .mfui-status-badge__container{gap:8px}.mfui-status-badge_view_dot .mfui-status-badge__container:before{border-radius:50%;content:"";height:8px;width:8px}.mfui-status-badge_view_dot.mfui-status-badge_tooltip .mfui-status-badge__text{-webkit-text-decoration:underline dashed var(--spbSky3);text-decoration:underline dashed var(--spbSky3);text-decoration-thickness:1px;text-underline-offset:3px;-webkit-transition:-webkit-text-decoration .3s ease-out;transition:-webkit-text-decoration .3s ease-out;transition:text-decoration .3s ease-out;transition:text-decoration .3s ease-out,-webkit-text-decoration .3s ease-out}@media (pointer:fine){.mfui-status-badge_view_dot.mfui-status-badge_tooltip .mfui-status-badge__container:hover .mfui-status-badge__text{-webkit-text-decoration:underline dashed var(--content);text-decoration:underline dashed var(--content);text-decoration-thickness:1px}.mfui-status-badge_view_dot.mfui-status-badge_tooltip .mfui-status-badge__container:hover:before{-webkit-animation:pulse .8s ease-out;animation:pulse .8s ease-out}}@media screen and (min-width:1024px){.mfui-status-badge_view_dot.mfui-status-badge_adaptive.mfui-status-badge_tooltip .mfui-status-badge__text{text-underline-offset:5px}}.mfui-status-badge_view_dot.mfui-status-badge_theme_green .mfui-status-badge__container:before{background-color:var(--brandGreen)}.mfui-status-badge_view_dot.mfui-status-badge_theme_blue .mfui-status-badge__container:before{background-color:var(--sky)}.mfui-status-badge_view_dot.mfui-status-badge_theme_gray .mfui-status-badge__container:before{background-color:var(--spbSky3)}.mfui-status-badge_view_dot.mfui-status-badge_theme_orange .mfui-status-badge__container:before{background-color:var(--137C)}.mfui-status-badge_view_dot.mfui-status-badge_theme_red .mfui-status-badge__container:before{background-color:var(--fury)}.mfui-status-badge_view_icon .mfui-status-badge__container{border:1px solid var(--spbSky1);border-radius:8px;padding:1px 7px 1px 1px}.mfui-status-badge_view_icon .mfui-status-badge__arrow{rotate:180deg;-webkit-transition:rotate .3s ease-out,fill .3s ease-out;transition:rotate .3s ease-out,fill .3s ease-out;fill:var(--spbSky3)}.mfui-status-badge_view_icon.mfui-status-badge_opened .mfui-status-badge__arrow{rotate:1turn}@media (pointer:fine){.mfui-status-badge_view_icon .mfui-status-badge__container:hover .mfui-status-badge__arrow{fill:var(--content)}}.mfui-status-badge_view_icon.mfui-status-badge_tooltip .mfui-status-badge__container{padding-right:1px}@media screen and (min-width:1024px){.mfui-status-badge_view_icon.mfui-status-badge_adaptive .mfui-status-badge__container{padding:3px 10px 3px 5px}.mfui-status-badge_view_icon.mfui-status-badge_adaptive .mfui-status-badge__icon{margin-right:4px}.mfui-status-badge_view_icon.mfui-status-badge_adaptive .mfui-status-badge__text{margin-top:-1px}.mfui-status-badge_view_icon.mfui-status-badge_adaptive.mfui-status-badge_tooltip .mfui-status-badge__container{padding-right:5px}}.mfui-status-badge_view_icon.mfui-status-badge_theme_green .mfui-status-badge__icon{fill:var(--brandGreen)}.mfui-status-badge_view_icon.mfui-status-badge_theme_blue .mfui-status-badge__icon{fill:var(--sky)}.mfui-status-badge_view_icon.mfui-status-badge_theme_gray .mfui-status-badge__icon{fill:var(--spbSky3)}.mfui-status-badge_view_icon.mfui-status-badge_theme_orange .mfui-status-badge__icon{fill:var(--137C)}.mfui-status-badge_view_icon.mfui-status-badge_theme_red .mfui-status-badge__icon{fill:var(--fury)}@-webkit-keyframes pulse{0%{opacity:1;scale:1}30%{opacity:.7}50%{opacity:1;scale:1.3}70%{opacity:.7}to{opacity:1;scale:1}}@keyframes pulse{0%{opacity:1;scale:1}30%{opacity:.7}50%{opacity:1;scale:1.3}70%{opacity:.7}to{opacity:1;scale:1}}
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ import Tooltip from '../../Tooltip/Tooltip';
3
+ import './StatusBadge.scss';
4
+ type TooltipPropsType = Pick<React.ComponentProps<typeof Tooltip>, 'title' | 'text' | 'buttonText' | 'placement' | 'isPortal' | 'portalSelector' | 'isHiddenResize' | 'onClick' | 'onOpen' | 'onClose' | 'onCloseButtonClick'>;
5
+ export interface IStatusBadgeProps {
6
+ /** Вид компонента */
7
+ view?: 'icon' | 'dot';
8
+ /** Тема компонента */
9
+ theme?: 'green' | 'blue' | 'gray' | 'orange' | 'red';
10
+ /** Тип иконки (для view = icon) */
11
+ iconType?: 'timer' | 'price' | 'checkInvert' | 'attention' | 'info' | 'profileFull';
12
+ /** Адаптивный режим */
13
+ isAdaptive?: boolean;
14
+ /** Тултип */
15
+ tooltip?: TooltipPropsType;
16
+ /** Дополнительный класс корневого элемента */
17
+ className?: string;
18
+ /** Дополнительные классы для внутренних элементов */
19
+ classes?: {
20
+ root?: string;
21
+ container?: string;
22
+ tooltip?: string;
23
+ tooltipButton?: string;
24
+ tooltipCloseButton?: string;
25
+ };
26
+ /** Дополнительные data-атрибуты к внутренним элементам */
27
+ dataAttrs?: {
28
+ root?: Record<string, string>;
29
+ container?: Record<string, string>;
30
+ icon?: Record<string, string>;
31
+ arrow?: Record<string, string>;
32
+ tooltip?: Record<string, string>;
33
+ tooltipButton?: Record<string, string>;
34
+ tooltipCloseButton?: Record<string, string>;
35
+ };
36
+ children: React.ReactNode;
37
+ }
38
+ declare const StatusBadge: React.FC<IStatusBadgeProps>;
39
+ export default StatusBadge;
@@ -0,0 +1,156 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import * as React from 'react';
4
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
5
+ import Tooltip from "../../Tooltip/Tooltip";
6
+ import "./StatusBadge.css";
7
+ var ProfileFullIcon = function ProfileFullIcon(props) {
8
+ return /*#__PURE__*/React.createElement("svg", _extends({
9
+ viewBox: "0 0 20 20"
10
+ }, props), /*#__PURE__*/React.createElement("path", {
11
+ d: "M5.22 18h9.55L16 13.47A8.28 8.28 0 0010 11a8.302 8.302 0 00-6 2.5L5.22 18zM14 6a4 4 0 10-8 0 4 4 0 008 0z"
12
+ }));
13
+ };
14
+ var ArrowIcon = function ArrowIcon(props) {
15
+ return /*#__PURE__*/React.createElement("svg", _extends({
16
+ viewBox: "0 0 20 20"
17
+ }, props), /*#__PURE__*/React.createElement("path", {
18
+ d: "M13 12l-3-3-3 3-1-1 4-4 4 4z"
19
+ }));
20
+ };
21
+ var AttentionIcon = function AttentionIcon(props) {
22
+ return /*#__PURE__*/React.createElement("svg", _extends({
23
+ viewBox: "0 0 20 20"
24
+ }, props), /*#__PURE__*/React.createElement("path", {
25
+ d: "M10 2c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 13c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7s-.1-.5-.3-.7c-.2-.2-.5-.3-.7-.3s-.5.1-.7.3c-.2.2-.3.4-.3.7s.1.5.3.7.5.3.7.3zM9 5v6h2V5H9z"
26
+ }));
27
+ };
28
+ var CheckInvertIcon = function CheckInvertIcon(props) {
29
+ return /*#__PURE__*/React.createElement("svg", _extends({
30
+ viewBox: "0 0 20 20"
31
+ }, props), /*#__PURE__*/React.createElement("path", {
32
+ fillRule: "evenodd",
33
+ clipRule: "evenodd",
34
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zM7.295 9.467l1.77 1.77 3.66-5.22 1.31.918-4.745 6.79-3.126-3.127 1.131-1.13z"
35
+ }));
36
+ };
37
+ var InfoIcon = function InfoIcon(props) {
38
+ return /*#__PURE__*/React.createElement("svg", _extends({
39
+ viewBox: "0 0 20 20"
40
+ }, props), /*#__PURE__*/React.createElement("path", {
41
+ d: "M10 2c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 5c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1zm1 8V9H9v6h2z"
42
+ }));
43
+ };
44
+ var PriceIcon = function PriceIcon(props) {
45
+ return /*#__PURE__*/React.createElement("svg", _extends({
46
+ viewBox: "0 0 20 20"
47
+ }, props), /*#__PURE__*/React.createElement("path", {
48
+ fillRule: "evenodd",
49
+ clipRule: "evenodd",
50
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zM7.75 5.75H11a2.75 2.75 0 010 5.5H9.25V12h3v1.5h-3v1.75h-1.5V13.5h-1V12h1v-.75h-1v-1.5h1v-4zM11 7.25H9.25v2.5H11a1.25 1.25 0 000-2.5z"
51
+ }));
52
+ };
53
+ var TimerIcon = function TimerIcon(props) {
54
+ return /*#__PURE__*/React.createElement("svg", _extends({
55
+ viewBox: "0 0 20 20"
56
+ }, props), /*#__PURE__*/React.createElement("path", {
57
+ fillRule: "evenodd",
58
+ clipRule: "evenodd",
59
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zm1-8.414V5H9v5.414l3 3L13.414 12 11 9.586z"
60
+ }));
61
+ };
62
+ var statusIconsMap = {
63
+ attention: AttentionIcon,
64
+ checkInvert: CheckInvertIcon,
65
+ info: InfoIcon,
66
+ price: PriceIcon,
67
+ profileFull: ProfileFullIcon,
68
+ timer: TimerIcon
69
+ };
70
+ var cn = cnCreate('mfui-status-badge');
71
+ var StatusBadge = function StatusBadge(_ref) {
72
+ var _ref$view = _ref.view,
73
+ view = _ref$view === void 0 ? 'dot' : _ref$view,
74
+ _ref$theme = _ref.theme,
75
+ theme = _ref$theme === void 0 ? 'green' : _ref$theme,
76
+ _ref$isAdaptive = _ref.isAdaptive,
77
+ isAdaptive = _ref$isAdaptive === void 0 ? false : _ref$isAdaptive,
78
+ _ref$iconType = _ref.iconType,
79
+ iconType = _ref$iconType === void 0 ? 'timer' : _ref$iconType,
80
+ tooltip = _ref.tooltip,
81
+ children = _ref.children,
82
+ className = _ref.className,
83
+ classes = _ref.classes,
84
+ dataAttrs = _ref.dataAttrs;
85
+ var triggerRef = React.useRef(null);
86
+ var _React$useState = React.useState(false),
87
+ _React$useState2 = _slicedToArray(_React$useState, 2),
88
+ isOpened = _React$useState2[0],
89
+ setIsOpened = _React$useState2[1];
90
+ var showIcon = view === 'icon';
91
+ var showArrow = showIcon && !!tooltip;
92
+ var StatusIconElement = statusIconsMap[iconType];
93
+ var handleOpen = React.useCallback(function (e) {
94
+ var _a;
95
+ setIsOpened(true);
96
+ (_a = tooltip === null || tooltip === void 0 ? void 0 : tooltip.onOpen) === null || _a === void 0 ? void 0 : _a.call(tooltip, e);
97
+ }, [tooltip]);
98
+ var handleClose = React.useCallback(function (e) {
99
+ var _a;
100
+ setIsOpened(false);
101
+ (_a = tooltip === null || tooltip === void 0 ? void 0 : tooltip.onClose) === null || _a === void 0 ? void 0 : _a.call(tooltip, e);
102
+ }, [tooltip]);
103
+ var handleCloseButtonClick = React.useCallback(function (e) {
104
+ var _a;
105
+ setIsOpened(false);
106
+ (_a = tooltip === null || tooltip === void 0 ? void 0 : tooltip.onCloseButtonClick) === null || _a === void 0 ? void 0 : _a.call(tooltip, e);
107
+ }, [tooltip]);
108
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
109
+ className: cn({
110
+ view: view,
111
+ theme: theme,
112
+ adaptive: isAdaptive,
113
+ tooltip: !!tooltip,
114
+ opened: isOpened
115
+ }, [className, classes === null || classes === void 0 ? void 0 : classes.root])
116
+ }), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.container), {
117
+ className: cn('container', [classes === null || classes === void 0 ? void 0 : classes.container]),
118
+ ref: triggerRef
119
+ }), showIcon && /*#__PURE__*/React.createElement(StatusIconElement, _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.icon), {
120
+ className: cn('icon')
121
+ })), /*#__PURE__*/React.createElement("div", {
122
+ className: cn('text')
123
+ }, children), showArrow && /*#__PURE__*/React.createElement(ArrowIcon, _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.arrow), {
124
+ className: cn('arrow')
125
+ }))), !!tooltip && /*#__PURE__*/React.createElement(Tooltip, {
126
+ className: cn('tooltip'),
127
+ title: tooltip.title,
128
+ text: tooltip.text,
129
+ buttonText: tooltip.buttonText,
130
+ isHiddenResize: tooltip.isHiddenResize,
131
+ isPortal: tooltip.isPortal,
132
+ portalSelector: tooltip.portalSelector,
133
+ triggerElement: triggerRef,
134
+ hasCloseButton: true,
135
+ placement: tooltip.placement || 'bottom',
136
+ fallbackPlacements: ['top', 'left', 'right'],
137
+ offset: "small",
138
+ triggerEvent: "click",
139
+ colorTheme: "blue",
140
+ onClick: tooltip.onClick,
141
+ onCloseButtonClick: handleCloseButtonClick,
142
+ onClose: handleClose,
143
+ onOpen: handleOpen,
144
+ dataAttrs: {
145
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.tooltip,
146
+ button: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.tooltipButton,
147
+ close: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.tooltipCloseButton
148
+ },
149
+ classes: {
150
+ root: classes === null || classes === void 0 ? void 0 : classes.tooltip,
151
+ button: classes === null || classes === void 0 ? void 0 : classes.tooltipButton,
152
+ close: classes === null || classes === void 0 ? void 0 : classes.tooltipCloseButton
153
+ }
154
+ }));
155
+ };
156
+ export default StatusBadge;
@@ -0,0 +1 @@
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-timer-badge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--base);border:1px solid var(--spbSky1);border-radius:12px;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;overflow:hidden;padding:1px 8px 1px 2px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.mfui-timer-badge_theme_grey .mfui-timer-badge__text{color:var(--spbSky3)}.mfui-timer-badge_theme_grey .mfui-timer-badge__icon{fill:var(--spbSky3)}.mfui-timer-badge_theme_red .mfui-timer-badge__text{color:var(--fury)}.mfui-timer-badge_theme_red .mfui-timer-badge__icon{fill:var(--fury)}.mfui-timer-badge__text{font-family:inherit;font-size:12px;font-weight:500;line-height:18px;margin-left:2px}.mfui-timer-badge__icon{height:20px;width:20px}.mfui-timer-badge__icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.mfui-timer-badge__icon-container_shadow:before{border-radius:50%;-webkit-box-shadow:0 0 6px var(--fury);box-shadow:0 0 6px var(--fury);content:"";height:16px;left:2px;position:absolute;top:2px;width:16px}
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import './TimerBadge.scss';
3
+ export declare const TIMEOUT = 1000;
4
+ export interface ITimerBadgeProps {
5
+ /** Дата окончания таймера */
6
+ expirationDate: Date;
7
+ /** Граница переключения в режим обратного отсчёта, в секундах */
8
+ countdownStart?: number;
9
+ /** Отображение дополнительного текста */
10
+ hasPrefix?: boolean;
11
+ /** Текст перед таймером в режиме обратного отсчета. Появляется при hasPrefix=true. */
12
+ countdownText?: string;
13
+ /** Текст перед таймером в режиме даты. Появляется при hasPrefix=true. */
14
+ expirationDateText?: string;
15
+ /** Дополнительный класс корневого элемента */
16
+ className?: string;
17
+ /** Дополнительные data-атрибуты к внутренним элементам */
18
+ dataAttrs?: {
19
+ root?: Record<string, string>;
20
+ text?: Record<string, string>;
21
+ timer?: Record<string, string>;
22
+ iconContainer?: Record<string, string>;
23
+ };
24
+ }
25
+ declare const TimerBadge: React.FC<ITimerBadgeProps>;
26
+ export default TimerBadge;
@@ -0,0 +1,87 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import "core-js/modules/es.date.now.js";
4
+ import "core-js/modules/web.timers.js";
5
+ import * as React from 'react';
6
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
7
+ import Timer from "./components/Timer/Timer";
8
+ import "./TimerBadge.css";
9
+ var TimerIcon = function TimerIcon(props) {
10
+ return /*#__PURE__*/React.createElement("svg", _extends({
11
+ viewBox: "0 0 20 20"
12
+ }, props), /*#__PURE__*/React.createElement("path", {
13
+ fillRule: "evenodd",
14
+ clipRule: "evenodd",
15
+ d: "M10 18a8 8 0 100-16 8 8 0 000 16zm1-8.414V5H9v5.414l3 3L13.414 12 11 9.586z"
16
+ }));
17
+ };
18
+ var SECONDS_IN_HOUR = 3600;
19
+ var MS_IN_SECOND = 1000;
20
+ export var TIMEOUT = 1000;
21
+ var TimerBadgeTheme = {
22
+ RED: 'red',
23
+ GREY: 'grey'
24
+ };
25
+ var cn = cnCreate('mfui-timer-badge');
26
+ var TimerBadge = function TimerBadge(_ref) {
27
+ var expirationDate = _ref.expirationDate,
28
+ _ref$countdownStart = _ref.countdownStart,
29
+ countdownStart = _ref$countdownStart === void 0 ? 86400 : _ref$countdownStart,
30
+ _ref$hasPrefix = _ref.hasPrefix,
31
+ hasPrefix = _ref$hasPrefix === void 0 ? false : _ref$hasPrefix,
32
+ _ref$countdownText = _ref.countdownText,
33
+ countdownText = _ref$countdownText === void 0 ? 'Закончится через' : _ref$countdownText,
34
+ _ref$expirationDateTe = _ref.expirationDateText,
35
+ expirationDateText = _ref$expirationDateTe === void 0 ? 'Воспользуйтесь до' : _ref$expirationDateTe,
36
+ className = _ref.className,
37
+ dataAttrs = _ref.dataAttrs;
38
+ var remainingTime = (expirationDate.getTime() - Date.now()) / MS_IN_SECOND;
39
+ var _React$useState = React.useState(remainingTime),
40
+ _React$useState2 = _slicedToArray(_React$useState, 2),
41
+ actualRemainingTime = _React$useState2[0],
42
+ setActualRemainingTime = _React$useState2[1];
43
+ var _React$useState3 = React.useState(false),
44
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
45
+ showCountdown = _React$useState4[0],
46
+ setShowCountdown = _React$useState4[1];
47
+ var isLastHour = actualRemainingTime < SECONDS_IN_HOUR;
48
+ var isTimeExpired = actualRemainingTime < 1;
49
+ var theme = showCountdown ? TimerBadgeTheme.RED : TimerBadgeTheme.GREY;
50
+ var additionalText = showCountdown ? countdownText : expirationDateText;
51
+ React.useEffect(function () {
52
+ setShowCountdown(actualRemainingTime < countdownStart);
53
+ }, [actualRemainingTime, countdownStart]);
54
+ React.useEffect(function () {
55
+ if (isTimeExpired) {
56
+ return undefined;
57
+ }
58
+ var timeoutId = window.setTimeout(function () {
59
+ return setActualRemainingTime(actualRemainingTime - 1);
60
+ }, TIMEOUT);
61
+ return function () {
62
+ return clearTimeout(timeoutId);
63
+ };
64
+ }, [isTimeExpired, showCountdown, actualRemainingTime]);
65
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
66
+ className: cn({
67
+ theme: theme
68
+ }, className)
69
+ }), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.iconContainer), {
70
+ className: cn('icon-container', {
71
+ shadow: isLastHour && showCountdown
72
+ })
73
+ }), /*#__PURE__*/React.createElement(TimerIcon, {
74
+ className: cn('icon')
75
+ })), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.text), {
76
+ className: cn('text')
77
+ }), isTimeExpired ? 'Время действия истекло' : /*#__PURE__*/React.createElement(Timer, {
78
+ additionalText: hasPrefix ? additionalText : undefined,
79
+ showCountdown: showCountdown,
80
+ expirationDate: expirationDate,
81
+ actualRemainingTime: actualRemainingTime,
82
+ dataAttrs: {
83
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.timer
84
+ }
85
+ })));
86
+ };
87
+ export default TimerBadge;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export declare const getCountdownText: (remainingTime?: number) => string;
3
+ interface ITimerProps {
4
+ actualRemainingTime: number;
5
+ expirationDate: Date;
6
+ showCountdown: boolean;
7
+ additionalText?: string;
8
+ dataAttrs?: {
9
+ root?: Record<string, string>;
10
+ };
11
+ }
12
+ declare const Timer: React.FC<ITimerProps>;
13
+ export default Timer;
@@ -0,0 +1,69 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import "core-js/modules/es.array.concat.js";
3
+ import "core-js/modules/es.math.trunc.js";
4
+ import * as React from 'react';
5
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
6
+ import format from 'date-fns/format';
7
+ import ruLocale from 'date-fns/locale/ru';
8
+ var SECONDS_IN_DAY = 86400;
9
+ var SECONDS_IN_HOUR = 3600;
10
+ var SECONDS_IN_MINUTE = 60;
11
+ var formatDate = function formatDate(date, pattern) {
12
+ return format(date, pattern, {
13
+ locale: ruLocale
14
+ });
15
+ };
16
+ export var getCountdownText = function getCountdownText() {
17
+ var remainingTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
18
+ var isMoreHourAndLessDay = remainingTime >= SECONDS_IN_HOUR && remainingTime < SECONDS_IN_DAY;
19
+ var truncTime = function truncTime() {
20
+ var divider = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
21
+ return Math.trunc(remainingTime / divider);
22
+ };
23
+ switch (true) {
24
+ case remainingTime <= 0:
25
+ {
26
+ return '';
27
+ }
28
+ case remainingTime < SECONDS_IN_MINUTE:
29
+ {
30
+ var seconds = truncTime();
31
+ return "".concat(seconds, " \u0441\u0435\u043A");
32
+ }
33
+ case remainingTime < SECONDS_IN_HOUR:
34
+ {
35
+ var minutes = truncTime(SECONDS_IN_MINUTE);
36
+ return "".concat(minutes, " \u043C\u0438\u043D");
37
+ }
38
+ case isMoreHourAndLessDay:
39
+ {
40
+ var hours = truncTime(SECONDS_IN_HOUR);
41
+ var secondsLeft = remainingTime - hours * SECONDS_IN_HOUR;
42
+ var _minutes = Math.trunc(secondsLeft / SECONDS_IN_MINUTE);
43
+ return _minutes ? "".concat(hours, " \u0447 ").concat(_minutes, " \u043C\u0438\u043D") : "".concat(hours, " \u0447");
44
+ }
45
+ case remainingTime >= SECONDS_IN_DAY:
46
+ {
47
+ var days = truncTime(SECONDS_IN_DAY);
48
+ var _secondsLeft = remainingTime - days * SECONDS_IN_DAY;
49
+ var _hours = Math.trunc(_secondsLeft / SECONDS_IN_HOUR);
50
+ return _hours ? "".concat(days, " \u0434\u043D ").concat(_hours, " \u0447") : "".concat(days, " \u0434\u043D");
51
+ }
52
+ default:
53
+ {
54
+ return '';
55
+ }
56
+ }
57
+ };
58
+ var cn = cnCreate('mfui-timer');
59
+ var Timer = function Timer(_ref) {
60
+ var actualRemainingTime = _ref.actualRemainingTime,
61
+ expirationDate = _ref.expirationDate,
62
+ showCountdown = _ref.showCountdown,
63
+ additionalText = _ref.additionalText,
64
+ dataAttrs = _ref.dataAttrs;
65
+ return /*#__PURE__*/React.createElement("div", _extends({
66
+ className: cn()
67
+ }, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), additionalText && /*#__PURE__*/React.createElement("span", null, additionalText, " "), /*#__PURE__*/React.createElement("span", null, showCountdown ? getCountdownText(actualRemainingTime) : formatDate(expirationDate, 'dd MMMM yyyy')));
68
+ };
69
+ export default Timer;
@@ -0,0 +1 @@
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-banner{position:relative}.mfui-banner .swiper-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.mfui-banner .mfui-banner__swiper-container{position:relative}.mfui-banner__swiper{overflow:hidden}.mfui-banner__slide{-ms-flex-negative:0;flex-shrink:0;height:500px}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-banner__slide{height:420px}}@media screen and (min-width:1280px){.mfui-banner__slide{height:400px}}.mfui-banner__slide-content{border-right:1px solid transparent;margin-right:-1px}@media screen and (max-width:1023px){.mfui-banner__slide-content{height:100%}}.mfui-banner_auto-height .mfui-banner__slide{height:auto}.mfui-banner .mfui-banner__arrow{position:absolute;top:50%;-webkit-transition:scale .2s linear;transition:scale .2s linear;translate:0 -50%;z-index:10}@media screen and (max-width:767px){.mfui-banner .mfui-banner__arrow{display:none}}@media screen and (max-width:1023px){.mfui-banner .mfui-banner__arrow_theme_white{display:none}}.mfui-banner .mfui-banner__arrow_prev{left:12px}@media screen and (max-width:767px){.mfui-banner .mfui-banner__arrow_prev{left:8px}}@media screen and (min-width:768px) and (max-width:1023px){.mfui-banner .mfui-banner__arrow_prev{left:16px}}@media screen and (min-width:1280px){.mfui-banner .mfui-banner__arrow_prev{left:20px}}.mfui-banner .mfui-banner__arrow_next{right:12px}@media screen and (max-width:767px){.mfui-banner .mfui-banner__arrow_next{right:8px}}@media screen and (min-width:768px) and (max-width:1023px){.mfui-banner .mfui-banner__arrow_next{right:16px}}@media screen and (min-width:1280px){.mfui-banner .mfui-banner__arrow_next{right:20px}}.mfui-banner .mfui-banner__arrow_prev.mfui-banner__arrow_theme_white{left:0;translate:-50% -50%}.mfui-banner .mfui-banner__arrow_next.mfui-banner__arrow_theme_white{right:0;translate:50% -50%}.mfui-banner_no-touch .mfui-banner__arrow_theme_white:hover{scale:1.25}.mfui-banner_no-touch .mfui-banner__arrow_theme_white:active{scale:1.125}.mfui-banner__pagination{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;left:50%;z-index:10;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-sizing:border-box;box-sizing:border-box;justify-content:center;margin-top:32px}.mfui-banner__pagination_position_top-in{left:0;margin-top:0;padding:0 24px;position:absolute;top:16px;width:100%}@media screen and (min-width:1280px){.mfui-banner__pagination_position_top-in{padding:0 80px}}.mfui-banner__pagination_type_flat{gap:4px}@media screen and (min-width:1280px){.mfui-banner__pagination_type_flat{gap:10px}}.mfui-banner__pagination_align_left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.mfui-banner__pagination_bottom-offset{bottom:60px;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10}@media screen and (min-width:768px) and (max-width:1023px){.mfui-banner__pagination_bottom-offset{bottom:89px}}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-banner__pagination_bottom-offset{bottom:90px}}@media screen and (min-width:1280px) and (max-width:1439px){.mfui-banner__pagination_bottom-offset{bottom:65px}}@media screen and (min-width:1440px){.mfui-banner__pagination_bottom-offset{bottom:72px}}.mfui-banner_margin-top{margin-top:24px}.mfui-banner_radius_rounded .mfui-banner__swiper{border-radius:24px}@media screen and (max-width:767px){.mfui-banner_show-next-slide .mfui-banner__swiper{border-radius:0;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:32px}.mfui-banner_show-next-slide .mfui-banner__slide-content{border-right:none;margin-right:0}.mfui-banner_show-next-slide.mfui-banner_radius_rounded .mfui-banner__slide-content{border-radius:24px}}.mfui-banner_background-color_green .mfui-banner__swiper{background-color:var(--brandGreen)}.mfui-banner_background-color_purple .mfui-banner__swiper{background-color:var(--brandPurple)}.mfui-banner_background-color_gradient .mfui-banner__swiper{background:-webkit-gradient(linear,right top,left top,from(#ada6ba),to(#f6f2f9));background:linear-gradient(270deg,#ada6ba,#f6f2f9)}.mfui-banner_background-color_light .mfui-banner__swiper{background-color:#f6f2f9}.mfui-banner_background-color_spbSky0 .mfui-banner__swiper{background-color:var(--spbSky0)}
@@ -0,0 +1,118 @@
1
+ import * as React from 'react';
2
+ import SwiperCore from 'swiper';
3
+ import { ThemeType as ArrowThemeType } from '../NavArrow/NavArrow';
4
+ import './Banner.scss';
5
+ export declare const BackgroundColor: {
6
+ readonly TRANSPARENT: "transparent";
7
+ readonly GREEN: "green";
8
+ readonly PURPLE: "purple";
9
+ readonly SPB_SKY_0: "spbSky0";
10
+ readonly GRADIENT: "gradient";
11
+ readonly LIGHT: "light";
12
+ };
13
+ type BackgroundColorType = (typeof BackgroundColor)[keyof typeof BackgroundColor];
14
+ export declare const Radius: {
15
+ readonly CORNERS: "corners";
16
+ readonly ROUNDED: "rounded";
17
+ };
18
+ export type RadiusType = (typeof Radius)[keyof typeof Radius];
19
+ export declare const NavTheme: {
20
+ readonly LIGHT: "light";
21
+ readonly DARK: "dark";
22
+ };
23
+ type NavThemeType = (typeof NavTheme)[keyof typeof NavTheme];
24
+ export declare const PaginationAlign: {
25
+ readonly CENTER: "center";
26
+ readonly LEFT: "left";
27
+ };
28
+ export type PaginationAlignType = (typeof PaginationAlign)[keyof typeof PaginationAlign];
29
+ export declare const PaginationTheme: {
30
+ readonly DEFAULT: "default";
31
+ readonly LIGHT: "light";
32
+ readonly DARK: "dark";
33
+ };
34
+ export type PaginationThemeType = (typeof PaginationTheme)[keyof typeof PaginationTheme];
35
+ export declare const PaginationButtonType: {
36
+ readonly DOT: "dot";
37
+ readonly FLAT: "flat";
38
+ };
39
+ export type PaginationType = (typeof PaginationButtonType)[keyof typeof PaginationButtonType];
40
+ export declare const PaginationPositionType: {
41
+ readonly BOTTOM_OUT: "bottom-out";
42
+ readonly TOP_IN: "top-in";
43
+ };
44
+ type PaginationPositionType = (typeof PaginationPositionType)[keyof typeof PaginationPositionType];
45
+ export interface IBannerProps {
46
+ /** Сss класс для внешнего контейнера */
47
+ className?: string;
48
+ /** Дополнительные классы для корневого и внутренних элементов */
49
+ classes?: {
50
+ swiper?: string;
51
+ slide?: string;
52
+ arrow?: string;
53
+ arrowPrev?: string;
54
+ arrowNext?: string;
55
+ pagination?: string;
56
+ dot?: string;
57
+ noSwiping?: string;
58
+ };
59
+ /** Дополнительные data атрибуты к внутренним элементам */
60
+ dataAttrs?: {
61
+ root?: Record<string, string>;
62
+ swiper?: Record<string, string>;
63
+ slide?: Record<string, string>;
64
+ arrowPrev?: Record<string, string>;
65
+ arrowNext?: Record<string, string>;
66
+ pagination?: Record<string, string>;
67
+ dot?: Record<string, string>;
68
+ dotSvg?: Record<string, string>;
69
+ dotInner?: Record<string, string>;
70
+ };
71
+ /** Выравнивание блока пагинации. DEPRECATED: 'left' */
72
+ paginationAlign?: PaginationAlignType;
73
+ /** Цветовая тема пагинации */
74
+ paginationTheme?: PaginationThemeType;
75
+ /** Тип кнопок пагинации */
76
+ paginationType?: PaginationType;
77
+ /** Расположение пагинации */
78
+ paginationPosition?: PaginationPositionType;
79
+ /** Предполагается использование с наезжанием на баннер следующего за баннером элемента */
80
+ withPaginationBottomOffset?: boolean;
81
+ /** Автоматическая прокрутка */
82
+ autoPlay?: boolean;
83
+ /** Задержка автоматической прокрутки */
84
+ autoPlayDelay?: number;
85
+ /** Прокрутка с зацикливанием */
86
+ loop?: boolean;
87
+ /** Пауза автоматической прокрутки при наведении курсора на компонент */
88
+ pauseOnHover?: boolean;
89
+ /** Фоновый цвет */
90
+ backgroundColor?: BackgroundColorType;
91
+ /** Радиус границы */
92
+ radius?: RadiusType;
93
+ /** Цветовая тема навигации (не используется) */
94
+ navTheme?: NavThemeType;
95
+ /** Цветовая тема стрелок */
96
+ arrowTheme?: ArrowThemeType;
97
+ /** Автоматическая высота слайдов */
98
+ autoHeight?: boolean;
99
+ /** Не увеличивать время прокрутки при взаимодействии с баннером */
100
+ noIncreaseAutoplayDelay?: boolean;
101
+ /** Показать часть следующего слайда */
102
+ showNextSlide?: boolean;
103
+ /** Отступ сверху */
104
+ hasMarginTop?: boolean;
105
+ children?: React.ReactNode;
106
+ /** Ref на swiper */
107
+ getSwiper?: (instance: SwiperCore) => void;
108
+ /** Обработчик клика по стрелке "вперед" (должен быть обернут в useCallback) */
109
+ onNextClick?: (index: number) => void;
110
+ /** Обработчик клика по стрелке "назад" (должен быть обернут в useCallback) */
111
+ onPrevClick?: (index: number) => void;
112
+ /** Обработчик клика по точке навигации (должен быть обернут в useCallback) */
113
+ onDotClick?: (index: number) => void;
114
+ /** Обработчик смены слайда (должен быть обернут в useCallback) */
115
+ onChange?: (index: number) => void;
116
+ }
117
+ declare const Banner: React.FC<IBannerProps>;
118
+ export default Banner;