@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.
- package/dist/es/components/Accordion/Accordion.css +1 -0
- package/dist/es/components/Accordion/Accordion.d.ts +46 -0
- package/dist/es/components/Accordion/Accordion.js +99 -0
- package/dist/es/components/Avatar/Avatar.css +1 -0
- package/dist/es/components/Avatar/Avatar.d.ts +22 -0
- package/dist/es/components/Avatar/Avatar.js +51 -0
- package/dist/es/components/Badges/CounterBadge/CounterBadge.css +1 -0
- package/dist/es/components/Badges/CounterBadge/CounterBadge.d.ts +29 -0
- package/dist/es/components/Badges/CounterBadge/CounterBadge.js +43 -0
- package/dist/es/components/Badges/NotificationBadge/NotificationBadge.css +1 -0
- package/dist/es/components/Badges/NotificationBadge/NotificationBadge.d.ts +30 -0
- package/dist/es/components/Badges/NotificationBadge/NotificationBadge.js +35 -0
- package/dist/es/components/Badges/PriceBadge/PriceBadge.css +1 -0
- package/dist/es/components/Badges/PriceBadge/PriceBadge.d.ts +48 -0
- package/dist/es/components/Badges/PriceBadge/PriceBadge.js +210 -0
- package/dist/es/components/Badges/PromoBadge/PromoBadge.css +1 -0
- package/dist/es/components/Badges/PromoBadge/PromoBadge.d.ts +43 -0
- package/dist/es/components/Badges/PromoBadge/PromoBadge.js +47 -0
- package/dist/es/components/Badges/StatusBadge/StatusBadge.css +1 -0
- package/dist/es/components/Badges/StatusBadge/StatusBadge.d.ts +39 -0
- package/dist/es/components/Badges/StatusBadge/StatusBadge.js +156 -0
- package/dist/es/components/Badges/TimerBadge/TimerBadge.css +1 -0
- package/dist/es/components/Badges/TimerBadge/TimerBadge.d.ts +26 -0
- package/dist/es/components/Badges/TimerBadge/TimerBadge.js +87 -0
- package/dist/es/components/Badges/TimerBadge/components/Timer/Timer.d.ts +13 -0
- package/dist/es/components/Badges/TimerBadge/components/Timer/Timer.js +69 -0
- package/dist/es/components/Banner/Banner.css +1 -0
- package/dist/es/components/Banner/Banner.d.ts +118 -0
- package/dist/es/components/Banner/Banner.js +333 -0
- package/dist/es/components/Banner/BannerDot.css +1 -0
- package/dist/es/components/Banner/BannerDot.d.ts +20 -0
- package/dist/es/components/Banner/BannerDot.js +51 -0
- package/dist/es/components/Banner/slidesSettings.d.ts +7 -0
- package/dist/es/components/Banner/slidesSettings.js +10 -0
- package/dist/es/components/Button/Button.css +1 -0
- package/dist/es/components/Button/Button.d.ts +93 -0
- package/dist/es/components/Button/Button.js +216 -0
- package/dist/es/components/Calendar/Calendar.css +1 -0
- package/dist/es/components/Calendar/Calendar.d.ts +47 -0
- package/dist/es/components/Calendar/Calendar.js +327 -0
- package/dist/es/components/Calendar/components/_Day/Day.css +1 -0
- package/dist/es/components/Calendar/components/_Day/Day.d.ts +26 -0
- package/dist/es/components/Calendar/components/_Day/Day.js +81 -0
- package/dist/es/components/Calendar/components/_Month/Month.css +1 -0
- package/dist/es/components/Calendar/components/_Month/Month.d.ts +27 -0
- package/dist/es/components/Calendar/components/_Month/Month.js +117 -0
- package/dist/es/components/Caption/Caption.css +1 -0
- package/dist/es/components/Caption/Caption.d.ts +33 -0
- package/dist/es/components/Caption/Caption.js +37 -0
- package/dist/es/components/Carousel/Carousel.css +1 -0
- package/dist/es/components/Carousel/Carousel.d.ts +108 -0
- package/dist/es/components/Carousel/Carousel.js +387 -0
- package/dist/es/components/Carousel/checkBreakpointsPropTypes.d.ts +5 -0
- package/dist/es/components/Carousel/checkBreakpointsPropTypes.js +14 -0
- package/dist/es/components/Carousel/useGradient.d.ts +10 -0
- package/dist/es/components/Carousel/useGradient.js +36 -0
- package/dist/es/components/Checkbox/Checkbox.css +1 -0
- package/dist/es/components/Checkbox/Checkbox.d.ts +42 -0
- package/dist/es/components/Checkbox/Checkbox.js +86 -0
- package/dist/es/components/Chips/Chip.css +1 -0
- package/dist/es/components/Chips/Chip.d.ts +57 -0
- package/dist/es/components/Chips/Chip.js +77 -0
- package/dist/es/components/Chips/Chips.css +1 -0
- package/dist/es/components/Chips/Chips.d.ts +49 -0
- package/dist/es/components/Chips/Chips.js +163 -0
- package/dist/es/components/Chips/components/ChipsDropdown/ChipsDropdown.css +1 -0
- package/dist/es/components/Chips/components/ChipsDropdown/ChipsDropdown.d.ts +20 -0
- package/dist/es/components/Chips/components/ChipsDropdown/ChipsDropdown.js +92 -0
- package/dist/es/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.css +1 -0
- package/dist/es/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.d.ts +19 -0
- package/dist/es/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.js +86 -0
- package/dist/es/components/ContentArea/ContentArea.css +1 -0
- package/dist/es/components/ContentArea/ContentArea.d.ts +49 -0
- package/dist/es/components/ContentArea/ContentArea.js +48 -0
- package/dist/es/components/ContentView/ContentView.css +1 -0
- package/dist/es/components/ContentView/ContentView.d.ts +51 -0
- package/dist/es/components/ContentView/ContentView.js +66 -0
- package/dist/es/components/ContentView/img/alarm.png +0 -0
- package/dist/es/components/ContentView/img/empty.png +0 -0
- package/dist/es/components/ContentView/img/error.png +0 -0
- package/dist/es/components/ContentView/img/fail.png +0 -0
- package/dist/es/components/ContentView/img/searchNoResult.png +0 -0
- package/dist/es/components/ContentView/img/submit.png +0 -0
- package/dist/es/components/ContentView/img/success.png +0 -0
- package/dist/es/components/ContentView/img/update.png +0 -0
- package/dist/es/components/ContentView/img/waiting.png +0 -0
- package/dist/es/components/Counter/Counter.css +1 -0
- package/dist/es/components/Counter/Counter.d.ts +36 -0
- package/dist/es/components/Counter/Counter.js +121 -0
- package/dist/es/components/ErrorLoad/ErrorLoad.css +1 -0
- package/dist/es/components/ErrorLoad/ErrorLoad.d.ts +23 -0
- package/dist/es/components/ErrorLoad/ErrorLoad.js +59 -0
- package/dist/es/components/Grid/Grid.css +1 -0
- package/dist/es/components/Grid/Grid.d.ts +25 -0
- package/dist/es/components/Grid/Grid.js +36 -0
- package/dist/es/components/Grid/GridColumn.css +1 -0
- package/dist/es/components/Grid/GridColumn.d.ts +60 -0
- package/dist/es/components/Grid/GridColumn.js +69 -0
- package/dist/es/components/Header/Header.css +1 -0
- package/dist/es/components/Header/Header.d.ts +30 -0
- package/dist/es/components/Header/Header.js +38 -0
- package/dist/es/components/Link/Link.d.ts +24 -0
- package/dist/es/components/Link/Link.js +24 -0
- package/dist/es/components/List/List.css +1 -0
- package/dist/es/components/List/List.d.ts +17 -0
- package/dist/es/components/List/List.js +28 -0
- package/dist/es/components/List/ListItem.css +1 -0
- package/dist/es/components/List/ListItem.d.ts +9 -0
- package/dist/es/components/List/ListItem.js +12 -0
- package/dist/es/components/ListData/ListData.css +1 -0
- package/dist/es/components/ListData/ListData.d.ts +66 -0
- package/dist/es/components/ListData/ListData.js +160 -0
- package/dist/es/components/ListData/ListDataGroup.css +1 -0
- package/dist/es/components/ListData/ListDataGroup.d.ts +46 -0
- package/dist/es/components/ListData/ListDataGroup.js +150 -0
- package/dist/es/components/ListData/components/ListDataSortable.css +1 -0
- package/dist/es/components/ListData/components/ListDataSortable.d.ts +34 -0
- package/dist/es/components/ListData/components/ListDataSortable.js +81 -0
- package/dist/es/components/ListData/helpers.d.ts +6 -0
- package/dist/es/components/ListData/helpers.js +33 -0
- package/dist/es/components/Logo/Logo.css +1 -0
- package/dist/es/components/Logo/Logo.d.ts +20 -0
- package/dist/es/components/Logo/Logo.js +78 -0
- package/dist/es/components/Modal/Modal.css +1 -0
- package/dist/es/components/Modal/Modal.d.ts +109 -0
- package/dist/es/components/Modal/Modal.js +304 -0
- package/dist/es/components/Modal/_ModalContent/ModalContent.css +1 -0
- package/dist/es/components/Modal/_ModalContent/ModalContent.d.ts +8 -0
- package/dist/es/components/Modal/_ModalContent/ModalContent.js +183 -0
- package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.css +1 -0
- package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.d.ts +8 -0
- package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.js +32 -0
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +1 -0
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +12 -0
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +119 -0
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +1 -0
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +8 -0
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +56 -0
- package/dist/es/components/Modal/mocks.d.ts +3 -0
- package/dist/es/components/Modal/mocks.js +83 -0
- package/dist/es/components/Modal/types.d.ts +28 -0
- package/dist/es/components/Modal/types.js +1 -0
- package/dist/es/components/Modal/utils/utils.d.ts +18 -0
- package/dist/es/components/Modal/utils/utils.js +66 -0
- package/dist/es/components/NavArrow/NavArrow.css +1 -0
- package/dist/es/components/NavArrow/NavArrow.d.ts +33 -0
- package/dist/es/components/NavArrow/NavArrow.js +98 -0
- package/dist/es/components/Notification/Notification.css +1 -0
- package/dist/es/components/Notification/Notification.d.ts +85 -0
- package/dist/es/components/Notification/Notification.js +298 -0
- package/dist/es/components/Pagination/Pagination.css +1 -0
- package/dist/es/components/Pagination/Pagination.d.ts +31 -0
- package/dist/es/components/Pagination/Pagination.js +128 -0
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +1 -0
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +22 -0
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +41 -0
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.css +1 -0
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +21 -0
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +71 -0
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +1 -0
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +25 -0
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +130 -0
- package/dist/es/components/Pagination/helpers.d.ts +8 -0
- package/dist/es/components/Pagination/helpers.js +37 -0
- package/dist/es/components/Pagination/types.d.ts +25 -0
- package/dist/es/components/Pagination/types.js +4 -0
- package/dist/es/components/Pagination/usePagination.d.ts +13 -0
- package/dist/es/components/Pagination/usePagination.js +107 -0
- package/dist/es/components/Paragraph/Paragraph.css +1 -0
- package/dist/es/components/Paragraph/Paragraph.d.ts +31 -0
- package/dist/es/components/Paragraph/Paragraph.js +34 -0
- package/dist/es/components/Parameter/Parameter.css +1 -0
- package/dist/es/components/Parameter/Parameter.d.ts +59 -0
- package/dist/es/components/Parameter/Parameter.js +139 -0
- package/dist/es/components/Parameter/components/ParameterDescription.css +1 -0
- package/dist/es/components/Parameter/components/ParameterDescription.d.ts +16 -0
- package/dist/es/components/Parameter/components/ParameterDescription.js +39 -0
- package/dist/es/components/Parameter/helpers.d.ts +6 -0
- package/dist/es/components/Parameter/helpers.js +10 -0
- package/dist/es/components/Preloader/Preloader.css +1 -0
- package/dist/es/components/Preloader/Preloader.d.ts +39 -0
- package/dist/es/components/Preloader/Preloader.js +71 -0
- package/dist/es/components/RadioButton/RadioButton.css +1 -0
- package/dist/es/components/RadioButton/RadioButton.d.ts +38 -0
- package/dist/es/components/RadioButton/RadioButton.js +55 -0
- package/dist/es/components/Row/Row.css +1 -0
- package/dist/es/components/Row/Row.d.ts +48 -0
- package/dist/es/components/Row/Row.js +86 -0
- package/dist/es/components/ScrollBar/ScrollBar.css +1 -0
- package/dist/es/components/ScrollBar/ScrollBar.d.ts +38 -0
- package/dist/es/components/ScrollBar/ScrollBar.js +97 -0
- package/dist/es/components/Search/Search.css +1 -0
- package/dist/es/components/Search/Search.d.ts +126 -0
- package/dist/es/components/Search/Search.js +576 -0
- package/dist/es/components/Select/Select.css +1 -0
- package/dist/es/components/Select/Select.d.ts +97 -0
- package/dist/es/components/Select/Select.js +414 -0
- package/dist/es/components/Select/reducer/selectReducer.d.ts +34 -0
- package/dist/es/components/Select/reducer/selectReducer.js +109 -0
- package/dist/es/components/Selector/Selector.css +1 -0
- package/dist/es/components/Selector/Selector.d.ts +41 -0
- package/dist/es/components/Selector/Selector.js +70 -0
- package/dist/es/components/Sliders/Slider/Slider.css +1 -0
- package/dist/es/components/Sliders/Slider/Slider.d.ts +39 -0
- package/dist/es/components/Sliders/Slider/Slider.js +95 -0
- package/dist/es/components/Sliders/SliderRange/SliderRange.css +1 -0
- package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +47 -0
- package/dist/es/components/Sliders/SliderRange/SliderRange.js +207 -0
- package/dist/es/components/Sliders/SliderRange/helpers.d.ts +6 -0
- package/dist/es/components/Sliders/SliderRange/helpers.js +29 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +1 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.d.ts +41 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.js +200 -0
- package/dist/es/components/Sliders/SliderRatio/helpers.d.ts +15 -0
- package/dist/es/components/Sliders/SliderRatio/helpers.js +32 -0
- package/dist/es/components/Sliders/SliderRatio/img/thumb.png +0 -0
- package/dist/es/components/Sliders/SliderRatio/types.d.ts +8 -0
- package/dist/es/components/Sliders/SliderRatio/types.js +5 -0
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +1 -0
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +19 -0
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +37 -0
- package/dist/es/components/Sliders/components/SliderScale/helpers.d.ts +2 -0
- package/dist/es/components/Sliders/components/SliderScale/helpers.js +35 -0
- package/dist/es/components/Sliders/helpers.d.ts +3 -0
- package/dist/es/components/Sliders/helpers.js +35 -0
- package/dist/es/components/Snackbar/Snackbar.css +1 -0
- package/dist/es/components/Snackbar/Snackbar.d.ts +51 -0
- package/dist/es/components/Snackbar/Snackbar.js +233 -0
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.css +1 -0
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +9 -0
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.js +71 -0
- package/dist/es/components/Switcher/Switcher.css +1 -0
- package/dist/es/components/Switcher/Switcher.d.ts +34 -0
- package/dist/es/components/Switcher/Switcher.js +80 -0
- package/dist/es/components/Tabs/Tab.d.ts +28 -0
- package/dist/es/components/Tabs/Tab.js +7 -0
- package/dist/es/components/Tabs/Tabs.css +1 -0
- package/dist/es/components/Tabs/Tabs.d.ts +67 -0
- package/dist/es/components/Tabs/Tabs.js +450 -0
- package/dist/es/components/TextField/TextField.css +1 -0
- package/dist/es/components/TextField/TextField.d.ts +118 -0
- package/dist/es/components/TextField/TextField.js +464 -0
- package/dist/es/components/TextField/utils/countGraphemes.d.ts +2 -0
- package/dist/es/components/TextField/utils/countGraphemes.js +44 -0
- package/dist/es/components/TextLink/TextLink.css +1 -0
- package/dist/es/components/TextLink/TextLink.d.ts +16 -0
- package/dist/es/components/TextLink/TextLink.js +37 -0
- package/dist/es/components/Tile/Tile.css +1 -0
- package/dist/es/components/Tile/Tile.d.ts +47 -0
- package/dist/es/components/Tile/Tile.js +58 -0
- package/dist/es/components/Tooltip/Tooltip.css +1 -0
- package/dist/es/components/Tooltip/Tooltip.d.ts +123 -0
- package/dist/es/components/Tooltip/Tooltip.js +402 -0
- package/dist/es/components/UploadForm/UploadField/UploadField.css +1 -0
- package/dist/es/components/UploadForm/UploadField/UploadField.d.ts +24 -0
- package/dist/es/components/UploadForm/UploadField/UploadField.js +58 -0
- package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +1 -0
- package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +21 -0
- package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +68 -0
- package/dist/es/components/UploadForm/UploadField/components/useDragAndDrop.d.ts +3 -0
- package/dist/es/components/UploadForm/UploadField/components/useDragAndDrop.js +50 -0
- package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.css +1 -0
- package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +38 -0
- package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.js +125 -0
- package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.d.ts +7 -0
- package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +279 -0
- package/dist/es/components/UploadForm/UploadFileItem/helpers.d.ts +5 -0
- package/dist/es/components/UploadForm/UploadFileItem/helpers.js +27 -0
- package/dist/es/components/ValueField/ValueField.css +1 -0
- package/dist/es/components/ValueField/ValueField.d.ts +43 -0
- package/dist/es/components/ValueField/ValueField.js +109 -0
- package/dist/es/components/_Collapse/Collapse.css +1 -0
- package/dist/es/components/_Collapse/Collapse.d.ts +19 -0
- package/dist/es/components/_Collapse/Collapse.js +86 -0
- package/dist/es/constants/throttleTime.d.ts +5 -0
- package/dist/es/constants/throttleTime.js +4 -0
- package/dist/es/hooks/usePrevious.d.ts +2 -0
- package/dist/es/hooks/usePrevious.js +9 -0
- package/dist/es/hooks/useResolution.d.ts +6 -0
- package/dist/es/hooks/useResolution.js +51 -0
- package/dist/es/hooks/useSwipe.d.ts +13 -0
- package/dist/es/hooks/useSwipe.js +127 -0
- package/dist/es/index.d.ts +84 -0
- package/dist/es/index.js +84 -0
- package/dist/es/styles/base.css +1 -0
- package/dist/lib/components/Accordion/Accordion.css +1 -0
- package/dist/lib/components/Accordion/Accordion.d.ts +46 -0
- package/dist/lib/components/Accordion/Accordion.js +108 -0
- package/dist/lib/components/Avatar/Avatar.css +1 -0
- package/dist/lib/components/Avatar/Avatar.d.ts +22 -0
- package/dist/lib/components/Avatar/Avatar.js +60 -0
- package/dist/lib/components/Badges/CounterBadge/CounterBadge.css +1 -0
- package/dist/lib/components/Badges/CounterBadge/CounterBadge.d.ts +29 -0
- package/dist/lib/components/Badges/CounterBadge/CounterBadge.js +52 -0
- package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.css +1 -0
- package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.d.ts +30 -0
- package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.js +44 -0
- package/dist/lib/components/Badges/PriceBadge/PriceBadge.css +1 -0
- package/dist/lib/components/Badges/PriceBadge/PriceBadge.d.ts +48 -0
- package/dist/lib/components/Badges/PriceBadge/PriceBadge.js +219 -0
- package/dist/lib/components/Badges/PromoBadge/PromoBadge.css +1 -0
- package/dist/lib/components/Badges/PromoBadge/PromoBadge.d.ts +43 -0
- package/dist/lib/components/Badges/PromoBadge/PromoBadge.js +56 -0
- package/dist/lib/components/Badges/StatusBadge/StatusBadge.css +1 -0
- package/dist/lib/components/Badges/StatusBadge/StatusBadge.d.ts +39 -0
- package/dist/lib/components/Badges/StatusBadge/StatusBadge.js +165 -0
- package/dist/lib/components/Badges/TimerBadge/TimerBadge.css +1 -0
- package/dist/lib/components/Badges/TimerBadge/TimerBadge.d.ts +26 -0
- package/dist/lib/components/Badges/TimerBadge/TimerBadge.js +96 -0
- package/dist/lib/components/Badges/TimerBadge/components/Timer/Timer.d.ts +13 -0
- package/dist/lib/components/Badges/TimerBadge/components/Timer/Timer.js +79 -0
- package/dist/lib/components/Banner/Banner.css +1 -0
- package/dist/lib/components/Banner/Banner.d.ts +118 -0
- package/dist/lib/components/Banner/Banner.js +343 -0
- package/dist/lib/components/Banner/BannerDot.css +1 -0
- package/dist/lib/components/Banner/BannerDot.d.ts +20 -0
- package/dist/lib/components/Banner/BannerDot.js +60 -0
- package/dist/lib/components/Banner/slidesSettings.d.ts +7 -0
- package/dist/lib/components/Banner/slidesSettings.js +17 -0
- package/dist/lib/components/Button/Button.css +1 -0
- package/dist/lib/components/Button/Button.d.ts +93 -0
- package/dist/lib/components/Button/Button.js +225 -0
- package/dist/lib/components/Calendar/Calendar.css +1 -0
- package/dist/lib/components/Calendar/Calendar.d.ts +47 -0
- package/dist/lib/components/Calendar/Calendar.js +336 -0
- package/dist/lib/components/Calendar/components/_Day/Day.css +1 -0
- package/dist/lib/components/Calendar/components/_Day/Day.d.ts +26 -0
- package/dist/lib/components/Calendar/components/_Day/Day.js +90 -0
- package/dist/lib/components/Calendar/components/_Month/Month.css +1 -0
- package/dist/lib/components/Calendar/components/_Month/Month.d.ts +27 -0
- package/dist/lib/components/Calendar/components/_Month/Month.js +126 -0
- package/dist/lib/components/Caption/Caption.css +1 -0
- package/dist/lib/components/Caption/Caption.d.ts +33 -0
- package/dist/lib/components/Caption/Caption.js +46 -0
- package/dist/lib/components/Carousel/Carousel.css +1 -0
- package/dist/lib/components/Carousel/Carousel.d.ts +108 -0
- package/dist/lib/components/Carousel/Carousel.js +453 -0
- package/dist/lib/components/Carousel/checkBreakpointsPropTypes.d.ts +5 -0
- package/dist/lib/components/Carousel/checkBreakpointsPropTypes.js +24 -0
- package/dist/lib/components/Carousel/useGradient.d.ts +10 -0
- package/dist/lib/components/Carousel/useGradient.js +43 -0
- package/dist/lib/components/Checkbox/Checkbox.css +1 -0
- package/dist/lib/components/Checkbox/Checkbox.d.ts +42 -0
- package/dist/lib/components/Checkbox/Checkbox.js +95 -0
- package/dist/lib/components/Chips/Chip.css +1 -0
- package/dist/lib/components/Chips/Chip.d.ts +57 -0
- package/dist/lib/components/Chips/Chip.js +86 -0
- package/dist/lib/components/Chips/Chips.css +1 -0
- package/dist/lib/components/Chips/Chips.d.ts +49 -0
- package/dist/lib/components/Chips/Chips.js +172 -0
- package/dist/lib/components/Chips/components/ChipsDropdown/ChipsDropdown.css +1 -0
- package/dist/lib/components/Chips/components/ChipsDropdown/ChipsDropdown.d.ts +20 -0
- package/dist/lib/components/Chips/components/ChipsDropdown/ChipsDropdown.js +101 -0
- package/dist/lib/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.css +1 -0
- package/dist/lib/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.d.ts +19 -0
- package/dist/lib/components/Chips/components/ChipsScrollPanel/ChipsScrollPanel.js +95 -0
- package/dist/lib/components/ContentArea/ContentArea.css +1 -0
- package/dist/lib/components/ContentArea/ContentArea.d.ts +49 -0
- package/dist/lib/components/ContentArea/ContentArea.js +57 -0
- package/dist/lib/components/ContentView/ContentView.css +1 -0
- package/dist/lib/components/ContentView/ContentView.d.ts +51 -0
- package/dist/lib/components/ContentView/ContentView.js +75 -0
- package/dist/lib/components/ContentView/img/alarm.png +0 -0
- package/dist/lib/components/ContentView/img/empty.png +0 -0
- package/dist/lib/components/ContentView/img/error.png +0 -0
- package/dist/lib/components/ContentView/img/fail.png +0 -0
- package/dist/lib/components/ContentView/img/searchNoResult.png +0 -0
- package/dist/lib/components/ContentView/img/submit.png +0 -0
- package/dist/lib/components/ContentView/img/success.png +0 -0
- package/dist/lib/components/ContentView/img/update.png +0 -0
- package/dist/lib/components/ContentView/img/waiting.png +0 -0
- package/dist/lib/components/Counter/Counter.css +1 -0
- package/dist/lib/components/Counter/Counter.d.ts +36 -0
- package/dist/lib/components/Counter/Counter.js +130 -0
- package/dist/lib/components/ErrorLoad/ErrorLoad.css +1 -0
- package/dist/lib/components/ErrorLoad/ErrorLoad.d.ts +23 -0
- package/dist/lib/components/ErrorLoad/ErrorLoad.js +68 -0
- package/dist/lib/components/Grid/Grid.css +1 -0
- package/dist/lib/components/Grid/Grid.d.ts +25 -0
- package/dist/lib/components/Grid/Grid.js +45 -0
- package/dist/lib/components/Grid/GridColumn.css +1 -0
- package/dist/lib/components/Grid/GridColumn.d.ts +60 -0
- package/dist/lib/components/Grid/GridColumn.js +78 -0
- package/dist/lib/components/Header/Header.css +1 -0
- package/dist/lib/components/Header/Header.d.ts +30 -0
- package/dist/lib/components/Header/Header.js +47 -0
- package/dist/lib/components/Link/Link.d.ts +24 -0
- package/dist/lib/components/Link/Link.js +34 -0
- package/dist/lib/components/List/List.css +1 -0
- package/dist/lib/components/List/List.d.ts +17 -0
- package/dist/lib/components/List/List.js +36 -0
- package/dist/lib/components/List/ListItem.css +1 -0
- package/dist/lib/components/List/ListItem.d.ts +9 -0
- package/dist/lib/components/List/ListItem.js +20 -0
- package/dist/lib/components/ListData/ListData.css +1 -0
- package/dist/lib/components/ListData/ListData.d.ts +66 -0
- package/dist/lib/components/ListData/ListData.js +169 -0
- package/dist/lib/components/ListData/ListDataGroup.css +1 -0
- package/dist/lib/components/ListData/ListDataGroup.d.ts +46 -0
- package/dist/lib/components/ListData/ListDataGroup.js +159 -0
- package/dist/lib/components/ListData/components/ListDataSortable.css +1 -0
- package/dist/lib/components/ListData/components/ListDataSortable.d.ts +34 -0
- package/dist/lib/components/ListData/components/ListDataSortable.js +90 -0
- package/dist/lib/components/ListData/helpers.d.ts +6 -0
- package/dist/lib/components/ListData/helpers.js +40 -0
- package/dist/lib/components/Logo/Logo.css +1 -0
- package/dist/lib/components/Logo/Logo.d.ts +20 -0
- package/dist/lib/components/Logo/Logo.js +87 -0
- package/dist/lib/components/Modal/Modal.css +1 -0
- package/dist/lib/components/Modal/Modal.d.ts +109 -0
- package/dist/lib/components/Modal/Modal.js +313 -0
- package/dist/lib/components/Modal/_ModalContent/ModalContent.css +1 -0
- package/dist/lib/components/Modal/_ModalContent/ModalContent.d.ts +8 -0
- package/dist/lib/components/Modal/_ModalContent/ModalContent.js +192 -0
- package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.css +1 -0
- package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.d.ts +8 -0
- package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.js +41 -0
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +1 -0
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +12 -0
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +128 -0
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +1 -0
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +8 -0
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +65 -0
- package/dist/lib/components/Modal/mocks.d.ts +3 -0
- package/dist/lib/components/Modal/mocks.js +89 -0
- package/dist/lib/components/Modal/types.d.ts +28 -0
- package/dist/lib/components/Modal/types.js +5 -0
- package/dist/lib/components/Modal/utils/utils.d.ts +18 -0
- package/dist/lib/components/Modal/utils/utils.js +72 -0
- package/dist/lib/components/NavArrow/NavArrow.css +1 -0
- package/dist/lib/components/NavArrow/NavArrow.d.ts +33 -0
- package/dist/lib/components/NavArrow/NavArrow.js +107 -0
- package/dist/lib/components/Notification/Notification.css +1 -0
- package/dist/lib/components/Notification/Notification.d.ts +85 -0
- package/dist/lib/components/Notification/Notification.js +307 -0
- package/dist/lib/components/Pagination/Pagination.css +1 -0
- package/dist/lib/components/Pagination/Pagination.d.ts +31 -0
- package/dist/lib/components/Pagination/Pagination.js +137 -0
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +1 -0
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +22 -0
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +47 -0
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.css +1 -0
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +21 -0
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +80 -0
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +1 -0
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +25 -0
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +136 -0
- package/dist/lib/components/Pagination/helpers.d.ts +8 -0
- package/dist/lib/components/Pagination/helpers.js +43 -0
- package/dist/lib/components/Pagination/types.d.ts +25 -0
- package/dist/lib/components/Pagination/types.js +10 -0
- package/dist/lib/components/Pagination/usePagination.d.ts +13 -0
- package/dist/lib/components/Pagination/usePagination.js +114 -0
- package/dist/lib/components/Paragraph/Paragraph.css +1 -0
- package/dist/lib/components/Paragraph/Paragraph.d.ts +31 -0
- package/dist/lib/components/Paragraph/Paragraph.js +43 -0
- package/dist/lib/components/Parameter/Parameter.css +1 -0
- package/dist/lib/components/Parameter/Parameter.d.ts +59 -0
- package/dist/lib/components/Parameter/Parameter.js +148 -0
- package/dist/lib/components/Parameter/components/ParameterDescription.css +1 -0
- package/dist/lib/components/Parameter/components/ParameterDescription.d.ts +16 -0
- package/dist/lib/components/Parameter/components/ParameterDescription.js +48 -0
- package/dist/lib/components/Parameter/helpers.d.ts +6 -0
- package/dist/lib/components/Parameter/helpers.js +16 -0
- package/dist/lib/components/Preloader/Preloader.css +1 -0
- package/dist/lib/components/Preloader/Preloader.d.ts +39 -0
- package/dist/lib/components/Preloader/Preloader.js +80 -0
- package/dist/lib/components/RadioButton/RadioButton.css +1 -0
- package/dist/lib/components/RadioButton/RadioButton.d.ts +38 -0
- package/dist/lib/components/RadioButton/RadioButton.js +64 -0
- package/dist/lib/components/Row/Row.css +1 -0
- package/dist/lib/components/Row/Row.d.ts +48 -0
- package/dist/lib/components/Row/Row.js +95 -0
- package/dist/lib/components/ScrollBar/ScrollBar.css +1 -0
- package/dist/lib/components/ScrollBar/ScrollBar.d.ts +38 -0
- package/dist/lib/components/ScrollBar/ScrollBar.js +105 -0
- package/dist/lib/components/Search/Search.css +1 -0
- package/dist/lib/components/Search/Search.d.ts +126 -0
- package/dist/lib/components/Search/Search.js +585 -0
- package/dist/lib/components/Select/Select.css +1 -0
- package/dist/lib/components/Select/Select.d.ts +97 -0
- package/dist/lib/components/Select/Select.js +423 -0
- package/dist/lib/components/Select/reducer/selectReducer.d.ts +34 -0
- package/dist/lib/components/Select/reducer/selectReducer.js +116 -0
- package/dist/lib/components/Selector/Selector.css +1 -0
- package/dist/lib/components/Selector/Selector.d.ts +41 -0
- package/dist/lib/components/Selector/Selector.js +79 -0
- package/dist/lib/components/Sliders/Slider/Slider.css +1 -0
- package/dist/lib/components/Sliders/Slider/Slider.d.ts +39 -0
- package/dist/lib/components/Sliders/Slider/Slider.js +104 -0
- package/dist/lib/components/Sliders/SliderRange/SliderRange.css +1 -0
- package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +47 -0
- package/dist/lib/components/Sliders/SliderRange/SliderRange.js +216 -0
- package/dist/lib/components/Sliders/SliderRange/helpers.d.ts +6 -0
- package/dist/lib/components/Sliders/SliderRange/helpers.js +35 -0
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +1 -0
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.d.ts +41 -0
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.js +209 -0
- package/dist/lib/components/Sliders/SliderRatio/helpers.d.ts +15 -0
- package/dist/lib/components/Sliders/SliderRatio/helpers.js +39 -0
- package/dist/lib/components/Sliders/SliderRatio/img/thumb.png +0 -0
- package/dist/lib/components/Sliders/SliderRatio/types.d.ts +8 -0
- package/dist/lib/components/Sliders/SliderRatio/types.js +11 -0
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +1 -0
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +19 -0
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +46 -0
- package/dist/lib/components/Sliders/components/SliderScale/helpers.d.ts +2 -0
- package/dist/lib/components/Sliders/components/SliderScale/helpers.js +42 -0
- package/dist/lib/components/Sliders/helpers.d.ts +3 -0
- package/dist/lib/components/Sliders/helpers.js +41 -0
- package/dist/lib/components/Snackbar/Snackbar.css +1 -0
- package/dist/lib/components/Snackbar/Snackbar.d.ts +51 -0
- package/dist/lib/components/Snackbar/Snackbar.js +242 -0
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.css +1 -0
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +9 -0
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.js +80 -0
- package/dist/lib/components/Switcher/Switcher.css +1 -0
- package/dist/lib/components/Switcher/Switcher.d.ts +34 -0
- package/dist/lib/components/Switcher/Switcher.js +89 -0
- package/dist/lib/components/Tabs/Tab.d.ts +28 -0
- package/dist/lib/components/Tabs/Tab.js +17 -0
- package/dist/lib/components/Tabs/Tabs.css +1 -0
- package/dist/lib/components/Tabs/Tabs.d.ts +67 -0
- package/dist/lib/components/Tabs/Tabs.js +460 -0
- package/dist/lib/components/TextField/TextField.css +1 -0
- package/dist/lib/components/TextField/TextField.d.ts +118 -0
- package/dist/lib/components/TextField/TextField.js +474 -0
- package/dist/lib/components/TextField/utils/countGraphemes.d.ts +2 -0
- package/dist/lib/components/TextField/utils/countGraphemes.js +50 -0
- package/dist/lib/components/TextLink/TextLink.css +1 -0
- package/dist/lib/components/TextLink/TextLink.d.ts +16 -0
- package/dist/lib/components/TextLink/TextLink.js +46 -0
- package/dist/lib/components/Tile/Tile.css +1 -0
- package/dist/lib/components/Tile/Tile.d.ts +47 -0
- package/dist/lib/components/Tile/Tile.js +67 -0
- package/dist/lib/components/Tooltip/Tooltip.css +1 -0
- package/dist/lib/components/Tooltip/Tooltip.d.ts +123 -0
- package/dist/lib/components/Tooltip/Tooltip.js +411 -0
- package/dist/lib/components/UploadForm/UploadField/UploadField.css +1 -0
- package/dist/lib/components/UploadForm/UploadField/UploadField.d.ts +24 -0
- package/dist/lib/components/UploadForm/UploadField/UploadField.js +67 -0
- package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +1 -0
- package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +21 -0
- package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +77 -0
- package/dist/lib/components/UploadForm/UploadField/components/useDragAndDrop.d.ts +3 -0
- package/dist/lib/components/UploadForm/UploadField/components/useDragAndDrop.js +57 -0
- package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.css +1 -0
- package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +38 -0
- package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.js +134 -0
- package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.d.ts +7 -0
- package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +289 -0
- package/dist/lib/components/UploadForm/UploadFileItem/helpers.d.ts +5 -0
- package/dist/lib/components/UploadForm/UploadFileItem/helpers.js +33 -0
- package/dist/lib/components/ValueField/ValueField.css +1 -0
- package/dist/lib/components/ValueField/ValueField.d.ts +43 -0
- package/dist/lib/components/ValueField/ValueField.js +118 -0
- package/dist/lib/components/_Collapse/Collapse.css +1 -0
- package/dist/lib/components/_Collapse/Collapse.d.ts +19 -0
- package/dist/lib/components/_Collapse/Collapse.js +95 -0
- package/dist/lib/constants/throttleTime.d.ts +5 -0
- package/dist/lib/constants/throttleTime.js +10 -0
- package/dist/lib/hooks/usePrevious.d.ts +2 -0
- package/dist/lib/hooks/usePrevious.js +18 -0
- package/dist/lib/hooks/useResolution.d.ts +6 -0
- package/dist/lib/hooks/useResolution.js +61 -0
- package/dist/lib/hooks/useSwipe.d.ts +13 -0
- package/dist/lib/hooks/useSwipe.js +137 -0
- package/dist/lib/index.d.ts +84 -0
- package/dist/lib/index.js +594 -0
- package/dist/lib/styles/base.css +1 -0
- package/package.json +4 -4
- package/styles/base.scss +150 -0
- package/styles/colors.css +165 -0
- 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;
|