@megafon/ui-core 5.18.1 → 6.0.0-beta.2
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/colors/ColorItem/ColorItem.css +1 -45
- package/dist/es/colors/ColorItem/ColorItem.d.ts +2 -2
- package/dist/es/colors/ColorItem/ColorItem.js +5 -7
- package/dist/es/colors/Colors.css +1 -233
- package/dist/es/colors/Colors.d.ts +1 -1
- package/dist/es/colors/Colors.js +33 -55
- package/dist/es/colors/colorsData.d.ts +4 -4
- package/dist/es/components/Accordion/Accordion.css +1 -89
- package/dist/es/components/Accordion/Accordion.d.ts +2 -1
- package/dist/es/components/Accordion/Accordion.js +22 -65
- package/dist/es/components/Avatar/Avatar.css +1 -52
- package/dist/es/components/Avatar/Avatar.d.ts +1 -1
- package/dist/es/components/Avatar/Avatar.js +9 -27
- package/dist/{lib/components/Badges/components → es/components/Badges}/CounterBadge/CounterBadge.d.ts +2 -2
- package/dist/es/components/Badges/{components/CounterBadge → CounterBadge}/CounterBadge.js +10 -28
- package/dist/{lib/components/Badges/components → es/components/Badges}/NotificationBadge/NotificationBadge.d.ts +3 -3
- package/dist/es/components/Badges/{components/NotificationBadge → NotificationBadge}/NotificationBadge.js +8 -22
- package/dist/es/components/Badges/{components/PriceBadge → PriceBadge}/PriceBadge.d.ts +4 -4
- package/dist/es/components/Badges/{components/PriceBadge → PriceBadge}/PriceBadge.js +11 -54
- package/dist/es/components/Badges/{components/PromoBadge → PromoBadge}/PromoBadge.d.ts +3 -3
- package/dist/es/components/Badges/{components/PromoBadge → PromoBadge}/PromoBadge.js +7 -21
- package/dist/es/components/Badges/{components/TimerBadge → TimerBadge}/TimerBadge.d.ts +2 -2
- package/dist/es/components/Badges/{components/TimerBadge → TimerBadge}/TimerBadge.js +22 -45
- package/dist/es/components/Badges/{components/TimerBadge → TimerBadge/components}/Timer/Timer.js +5 -32
- package/dist/es/components/Banner/Banner.d.ts +5 -4
- package/dist/es/components/Banner/Banner.js +62 -127
- package/dist/es/components/Banner/BannerDot.d.ts +1 -1
- package/dist/es/components/Banner/BannerDot.js +6 -22
- package/dist/es/components/Banner/slidesSettings.d.ts +4 -2
- package/dist/es/components/Banner/slidesSettings.js +3 -6
- package/dist/es/components/Button/Button.d.ts +7 -6
- package/dist/es/components/Button/Button.js +44 -104
- package/dist/es/components/Calendar/Calendar.d.ts +2 -2
- package/dist/es/components/Calendar/Calendar.js +60 -114
- package/dist/{lib/components/Calendar/components/Day → es/components/Calendar/components/_Day}/Day.d.ts +4 -4
- package/dist/es/components/Calendar/components/{Day → _Day}/Day.js +19 -50
- package/dist/es/components/Calendar/components/{Month → _Month}/Month.d.ts +3 -2
- package/dist/es/components/Calendar/components/{Month → _Month}/Month.js +9 -33
- package/dist/es/components/Caption/Caption.d.ts +4 -2
- package/dist/es/components/Caption/Caption.js +11 -25
- package/dist/es/components/Carousel/Carousel.d.ts +11 -10
- package/dist/es/components/Carousel/Carousel.js +104 -161
- package/dist/es/components/Carousel/checkBreakpointsPropTypes.d.ts +1 -1
- package/dist/es/components/Carousel/checkBreakpointsPropTypes.js +1 -4
- package/dist/es/components/Carousel/useGradient.d.ts +1 -1
- package/dist/es/components/Carousel/useGradient.js +9 -13
- package/dist/es/components/Checkbox/Checkbox.d.ts +4 -4
- package/dist/es/components/Checkbox/Checkbox.js +21 -50
- package/dist/es/components/Chips/Chip.d.ts +6 -26
- package/dist/es/components/Chips/Chip.js +17 -42
- package/dist/es/components/Chips/Chips.d.ts +2 -2
- package/dist/es/components/Chips/Chips.js +32 -56
- package/dist/es/components/Chips/components/ChipsDropdown.d.ts +2 -2
- package/dist/es/components/Chips/components/ChipsDropdown.js +12 -27
- package/dist/es/components/ContentArea/ContentArea.d.ts +5 -4
- package/dist/es/components/ContentArea/ContentArea.js +9 -28
- package/dist/es/components/ContentView/ContentView.d.ts +3 -2
- package/dist/es/components/ContentView/ContentView.js +12 -46
- package/dist/es/components/Counter/Counter.d.ts +1 -1
- package/dist/es/components/Counter/Counter.js +20 -55
- package/dist/es/components/Grid/Grid.d.ts +1 -1
- package/dist/es/components/Grid/Grid.js +8 -24
- package/dist/es/components/Grid/GridColumn.d.ts +2 -2
- package/dist/es/components/Grid/GridColumn.js +33 -62
- package/dist/es/components/Header/Header.d.ts +3 -1
- package/dist/es/components/Header/Header.js +13 -28
- package/dist/es/components/Link/Link.d.ts +2 -2
- package/dist/es/components/Link/Link.js +9 -25
- package/dist/es/components/List/List.d.ts +2 -1
- package/dist/es/components/List/List.js +8 -18
- package/dist/es/components/List/ListItem.d.ts +2 -1
- package/dist/es/components/List/ListItem.js +1 -7
- package/dist/es/components/ListData/ListData.d.ts +6 -34
- package/dist/es/components/ListData/ListData.js +22 -65
- package/dist/es/components/ListData/ListDataGroup.d.ts +4 -4
- package/dist/es/components/ListData/ListDataGroup.js +29 -74
- package/dist/es/components/ListData/components/ListDataSortable.d.ts +4 -4
- package/dist/es/components/ListData/components/ListDataSortable.js +21 -42
- package/dist/es/components/ListData/helpers.js +1 -8
- package/dist/es/components/Logo/Logo.d.ts +1 -1
- package/dist/es/components/Logo/Logo.js +9 -25
- package/dist/es/components/Modal/Modal.d.ts +104 -0
- package/dist/es/components/Modal/Modal.js +289 -0
- package/dist/es/components/Modal/_ModalContent/ModalContent.d.ts +8 -0
- package/dist/es/components/Modal/_ModalContent/ModalContent.js +166 -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.d.ts +12 -0
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +114 -0
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +8 -0
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +58 -0
- package/dist/es/components/Modal/mocks.d.ts +3 -0
- package/dist/es/components/Modal/mocks.js +75 -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.d.ts +3 -3
- package/dist/es/components/NavArrow/NavArrow.js +8 -28
- package/dist/es/components/Notification/Notification.d.ts +5 -4
- package/dist/es/components/Notification/Notification.js +61 -131
- package/dist/es/components/Pagination/Pagination.d.ts +4 -3
- package/dist/es/components/Pagination/Pagination.js +7 -22
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +5 -4
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +10 -26
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +3 -2
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +5 -22
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +3 -2
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +7 -23
- package/dist/es/components/Pagination/helpers.js +0 -3
- package/dist/es/components/Pagination/usePagination.d.ts +2 -1
- package/dist/es/components/Pagination/usePagination.js +6 -18
- package/dist/es/components/Paragraph/Paragraph.d.ts +4 -2
- package/dist/es/components/Paragraph/Paragraph.js +9 -22
- package/dist/es/components/Preloader/Preloader.d.ts +3 -3
- package/dist/es/components/Preloader/Preloader.js +16 -36
- package/dist/es/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/es/components/RadioButton/RadioButton.js +18 -50
- package/dist/es/components/Row/Row.d.ts +2 -2
- package/dist/es/components/Row/Row.js +23 -48
- package/dist/es/components/ScrollBar/ScrollBar.d.ts +34 -0
- package/dist/es/components/ScrollBar/ScrollBar.js +86 -0
- package/dist/es/components/Search/Search.d.ts +7 -8
- package/dist/es/components/Search/Search.js +54 -149
- package/dist/es/components/Select/Select.d.ts +8 -84
- package/dist/es/components/Select/Select.js +52 -142
- package/dist/es/components/Select/reducer/selectReducer.d.ts +1 -1
- package/dist/es/components/Select/reducer/selectReducer.js +18 -32
- package/dist/es/components/Selector/Selector.d.ts +1 -1
- package/dist/es/components/Selector/Selector.js +23 -50
- package/dist/es/components/Sliders/Slider/Slider.d.ts +1 -1
- package/dist/es/components/Sliders/Slider/Slider.js +25 -56
- package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +1 -1
- package/dist/es/components/Sliders/SliderRange/SliderRange.js +33 -80
- package/dist/es/components/Sliders/SliderRange/helpers.js +0 -2
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.d.ts +1 -1
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.js +36 -85
- package/dist/es/components/Sliders/SliderRatio/helpers.js +1 -1
- package/dist/es/components/Sliders/SliderRatio/types.d.ts +1 -1
- package/dist/es/components/Sliders/SliderRatio/types.js +0 -1
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +2 -2
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +11 -35
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +2 -2
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +6 -20
- package/dist/es/components/Sliders/components/SliderScale/helpers.js +12 -16
- package/dist/es/components/Sliders/helpers.js +1 -5
- package/dist/es/components/Snackbar/Snackbar.d.ts +3 -3
- package/dist/es/components/Snackbar/Snackbar.js +44 -82
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +3 -3
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.js +9 -17
- package/dist/es/components/Switcher/Switcher.d.ts +2 -1
- package/dist/es/components/Switcher/Switcher.js +17 -39
- package/dist/es/components/Tabs/Tab.js +0 -14
- package/dist/es/components/Tabs/Tabs.d.ts +6 -5
- package/dist/es/components/Tabs/Tabs.js +85 -158
- package/dist/es/components/TextField/TextField.d.ts +3 -3
- package/dist/es/components/TextField/TextField.js +80 -188
- package/dist/es/components/TextField/utils/countGraphemes.js +10 -18
- package/dist/es/components/TextLink/TextLink.d.ts +2 -2
- package/dist/es/components/TextLink/TextLink.js +14 -27
- package/dist/es/components/Tile/Tile.d.ts +7 -5
- package/dist/es/components/Tile/Tile.js +16 -36
- package/dist/es/components/Tooltip/Tooltip.d.ts +9 -8
- package/dist/es/components/Tooltip/Tooltip.js +58 -139
- package/dist/{lib/components/Collapse → es/components/_Collapse}/Collapse.d.ts +3 -3
- package/dist/es/components/{Collapse → _Collapse}/Collapse.js +25 -62
- package/dist/es/hooks/usePrevious.js +0 -2
- package/dist/es/hooks/useResolution.d.ts +1 -1
- package/dist/es/hooks/useResolution.js +4 -10
- package/dist/es/hooks/useSwipe.d.ts +1 -1
- package/dist/es/hooks/useSwipe.js +17 -44
- package/dist/es/index.d.ts +16 -9
- package/dist/es/index.js +17 -10
- package/dist/es/styles/base.css +1 -0
- package/dist/lib/colors/ColorItem/ColorItem.css +1 -45
- package/dist/lib/colors/ColorItem/ColorItem.d.ts +2 -2
- package/dist/lib/colors/ColorItem/ColorItem.js +9 -18
- package/dist/lib/colors/Colors.css +1 -233
- package/dist/lib/colors/Colors.d.ts +1 -1
- package/dist/lib/colors/Colors.js +37 -79
- package/dist/lib/colors/colorsData.d.ts +4 -4
- package/dist/lib/colors/colorsData.js +1 -2
- package/dist/lib/components/Accordion/Accordion.css +1 -89
- package/dist/lib/components/Accordion/Accordion.d.ts +2 -1
- package/dist/lib/components/Accordion/Accordion.js +26 -81
- package/dist/lib/components/Avatar/Avatar.css +1 -52
- package/dist/lib/components/Avatar/Avatar.d.ts +1 -1
- package/dist/lib/components/Avatar/Avatar.js +13 -41
- package/dist/{es/components/Badges/components → lib/components/Badges}/CounterBadge/CounterBadge.d.ts +2 -2
- package/dist/lib/components/Badges/CounterBadge/CounterBadge.js +52 -0
- package/dist/{es/components/Badges/components → lib/components/Badges}/NotificationBadge/NotificationBadge.d.ts +3 -3
- package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.js +43 -0
- package/dist/lib/components/Badges/{components/PriceBadge → PriceBadge}/PriceBadge.d.ts +4 -4
- package/dist/lib/components/Badges/{components/PriceBadge → PriceBadge}/PriceBadge.js +19 -75
- package/dist/lib/components/Badges/{components/PromoBadge → PromoBadge}/PromoBadge.d.ts +3 -3
- package/dist/lib/components/Badges/PromoBadge/PromoBadge.js +49 -0
- package/dist/lib/components/Badges/{components/TimerBadge → TimerBadge}/TimerBadge.d.ts +2 -2
- package/dist/lib/components/Badges/TimerBadge/TimerBadge.js +97 -0
- package/dist/lib/components/Badges/{components/TimerBadge → TimerBadge/components}/Timer/Timer.js +11 -55
- package/dist/lib/components/Banner/Banner.d.ts +5 -4
- package/dist/lib/components/Banner/Banner.js +70 -158
- package/dist/lib/components/Banner/BannerDot.d.ts +1 -1
- package/dist/lib/components/Banner/BannerDot.js +10 -36
- package/dist/lib/components/Banner/slidesSettings.d.ts +4 -2
- package/dist/lib/components/Banner/slidesSettings.js +4 -11
- package/dist/lib/components/Button/Button.d.ts +7 -6
- package/dist/lib/components/Button/Button.js +70 -157
- package/dist/lib/components/Calendar/Calendar.d.ts +2 -2
- package/dist/lib/components/Calendar/Calendar.js +70 -148
- package/dist/{es/components/Calendar/components/Day → lib/components/Calendar/components/_Day}/Day.d.ts +4 -4
- package/dist/lib/components/Calendar/components/_Day/Day.js +75 -0
- package/dist/lib/components/Calendar/components/{Month → _Month}/Month.d.ts +3 -2
- package/dist/lib/components/Calendar/components/_Month/Month.js +93 -0
- package/dist/lib/components/Caption/Caption.d.ts +4 -2
- package/dist/lib/components/Caption/Caption.js +15 -40
- package/dist/lib/components/Carousel/Carousel.d.ts +11 -10
- package/dist/lib/components/Carousel/Carousel.js +195 -226
- package/dist/lib/components/Carousel/checkBreakpointsPropTypes.d.ts +1 -1
- package/dist/lib/components/Carousel/checkBreakpointsPropTypes.js +5 -17
- package/dist/lib/components/Carousel/useGradient.d.ts +1 -1
- package/dist/lib/components/Carousel/useGradient.js +11 -24
- package/dist/lib/components/Checkbox/Checkbox.d.ts +4 -4
- package/dist/lib/components/Checkbox/Checkbox.js +34 -74
- package/dist/lib/components/Chips/Chip.d.ts +6 -26
- package/dist/lib/components/Chips/Chip.js +35 -75
- package/dist/lib/components/Chips/Chips.d.ts +2 -2
- package/dist/lib/components/Chips/Chips.js +46 -91
- package/dist/lib/components/Chips/components/ChipsDropdown.d.ts +2 -2
- package/dist/lib/components/Chips/components/ChipsDropdown.js +30 -66
- package/dist/lib/components/ContentArea/ContentArea.d.ts +5 -4
- package/dist/lib/components/ContentArea/ContentArea.js +13 -43
- package/dist/lib/components/ContentView/ContentView.d.ts +3 -2
- package/dist/lib/components/ContentView/ContentView.js +16 -62
- package/dist/lib/components/Counter/Counter.d.ts +1 -1
- package/dist/lib/components/Counter/Counter.js +24 -70
- package/dist/lib/components/Grid/Grid.d.ts +1 -1
- package/dist/lib/components/Grid/Grid.js +12 -39
- package/dist/lib/components/Grid/GridColumn.d.ts +2 -2
- package/dist/lib/components/Grid/GridColumn.js +37 -76
- package/dist/lib/components/Header/Header.d.ts +3 -1
- package/dist/lib/components/Header/Header.js +17 -42
- package/dist/lib/components/Link/Link.d.ts +2 -2
- package/dist/lib/components/Link/Link.js +14 -33
- package/dist/lib/components/List/List.d.ts +2 -1
- package/dist/lib/components/List/List.js +12 -30
- package/dist/lib/components/List/ListItem.d.ts +2 -1
- package/dist/lib/components/List/ListItem.js +5 -19
- package/dist/lib/components/ListData/ListData.d.ts +6 -34
- package/dist/lib/components/ListData/ListData.js +50 -110
- package/dist/lib/components/ListData/ListDataGroup.d.ts +4 -4
- package/dist/lib/components/ListData/ListDataGroup.js +47 -117
- package/dist/lib/components/ListData/components/ListDataSortable.d.ts +4 -4
- package/dist/lib/components/ListData/components/ListDataSortable.js +34 -73
- package/dist/lib/components/ListData/helpers.js +6 -24
- package/dist/lib/components/Logo/Logo.d.ts +1 -1
- package/dist/lib/components/Logo/Logo.js +13 -40
- package/dist/lib/components/Modal/Modal.d.ts +104 -0
- package/dist/lib/components/Modal/Modal.js +298 -0
- package/dist/lib/components/Modal/_ModalContent/ModalContent.d.ts +8 -0
- package/dist/lib/components/Modal/_ModalContent/ModalContent.js +175 -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.d.ts +12 -0
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +123 -0
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +8 -0
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +67 -0
- package/dist/lib/components/Modal/mocks.d.ts +3 -0
- package/dist/lib/components/Modal/mocks.js +81 -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.d.ts +3 -3
- package/dist/lib/components/NavArrow/NavArrow.js +14 -46
- package/dist/lib/components/Notification/Notification.d.ts +5 -4
- package/dist/lib/components/Notification/Notification.js +113 -200
- package/dist/lib/components/Pagination/Pagination.d.ts +4 -3
- package/dist/lib/components/Pagination/Pagination.js +18 -50
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +5 -4
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +11 -34
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +3 -2
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +6 -31
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +3 -2
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +8 -31
- package/dist/lib/components/Pagination/helpers.js +1 -6
- package/dist/lib/components/Pagination/usePagination.d.ts +2 -1
- package/dist/lib/components/Pagination/usePagination.js +9 -35
- package/dist/lib/components/Paragraph/Paragraph.d.ts +4 -2
- package/dist/lib/components/Paragraph/Paragraph.js +13 -37
- package/dist/lib/components/Preloader/Preloader.d.ts +3 -3
- package/dist/lib/components/Preloader/Preloader.js +22 -57
- package/dist/lib/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/lib/components/RadioButton/RadioButton.js +22 -69
- package/dist/lib/components/Row/Row.d.ts +2 -2
- package/dist/lib/components/Row/Row.js +39 -75
- package/dist/lib/components/ScrollBar/ScrollBar.d.ts +34 -0
- package/dist/lib/components/ScrollBar/ScrollBar.js +94 -0
- package/dist/lib/components/Search/Search.d.ts +7 -8
- package/dist/lib/components/Search/Search.js +121 -261
- package/dist/lib/components/Select/Select.d.ts +8 -84
- package/dist/lib/components/Select/Select.js +69 -186
- package/dist/lib/components/Select/reducer/selectReducer.d.ts +1 -1
- package/dist/lib/components/Select/reducer/selectReducer.js +21 -41
- package/dist/lib/components/Selector/Selector.d.ts +1 -1
- package/dist/lib/components/Selector/Selector.js +27 -70
- package/dist/lib/components/Sliders/Slider/Slider.d.ts +1 -1
- package/dist/lib/components/Sliders/Slider/Slider.js +29 -75
- package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +1 -1
- package/dist/lib/components/Sliders/SliderRange/SliderRange.js +37 -100
- package/dist/lib/components/Sliders/SliderRange/helpers.js +5 -18
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.d.ts +1 -1
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.js +40 -111
- package/dist/lib/components/Sliders/SliderRatio/helpers.js +8 -27
- package/dist/lib/components/Sliders/SliderRatio/types.d.ts +1 -1
- package/dist/lib/components/Sliders/SliderRatio/types.js +0 -2
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +2 -2
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +17 -56
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +2 -2
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +11 -39
- package/dist/lib/components/Sliders/components/SliderScale/helpers.js +15 -33
- package/dist/lib/components/Sliders/helpers.js +5 -22
- package/dist/lib/components/Snackbar/Snackbar.d.ts +3 -3
- package/dist/lib/components/Snackbar/Snackbar.js +81 -138
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +3 -3
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.js +17 -36
- package/dist/lib/components/Switcher/Switcher.d.ts +2 -1
- package/dist/lib/components/Switcher/Switcher.js +21 -52
- package/dist/lib/components/Tabs/Tab.js +5 -26
- package/dist/lib/components/Tabs/Tabs.d.ts +6 -5
- package/dist/lib/components/Tabs/Tabs.js +93 -189
- package/dist/lib/components/TextField/TextField.d.ts +3 -3
- package/dist/lib/components/TextField/TextField.js +113 -238
- package/dist/lib/components/TextField/utils/countGraphemes.js +11 -28
- package/dist/lib/components/TextLink/TextLink.d.ts +2 -2
- package/dist/lib/components/TextLink/TextLink.js +18 -41
- package/dist/lib/components/Tile/Tile.d.ts +7 -5
- package/dist/lib/components/Tile/Tile.js +26 -54
- package/dist/lib/components/Tooltip/Tooltip.d.ts +9 -8
- package/dist/lib/components/Tooltip/Tooltip.js +110 -218
- package/dist/{es/components/Collapse → lib/components/_Collapse}/Collapse.d.ts +3 -3
- package/dist/lib/components/_Collapse/Collapse.js +95 -0
- package/dist/lib/constants/throttleTime.js +2 -3
- package/dist/lib/hooks/usePrevious.js +4 -11
- package/dist/lib/hooks/useResolution.d.ts +1 -1
- package/dist/lib/hooks/useResolution.js +8 -22
- package/dist/lib/hooks/useSwipe.d.ts +1 -1
- package/dist/lib/hooks/useSwipe.js +21 -63
- package/dist/lib/index.d.ts +16 -9
- package/dist/lib/index.js +82 -101
- package/dist/lib/styles/base.css +1 -0
- package/package.json +106 -101
- package/styles/base.scss +150 -0
- package/styles/colors.css +53 -0
- package/CHANGELOG.md +0 -3987
- package/dist/es/components/Avatar/doc/i/img.png +0 -0
- package/dist/es/components/Badges/components/CounterBadge/CounterBadge.css +0 -54
- package/dist/es/components/Badges/components/NotificationBadge/NotificationBadge.css +0 -49
- package/dist/es/components/Badges/components/PriceBadge/PriceBadge.css +0 -119
- package/dist/es/components/Badges/components/PromoBadge/PromoBadge.css +0 -64
- package/dist/es/components/Badges/components/TimerBadge/TimerBadge.css +0 -60
- package/dist/es/components/Banner/Banner.css +0 -195
- package/dist/es/components/Banner/BannerDot.css +0 -69
- package/dist/es/components/Button/Button.css +0 -814
- package/dist/es/components/Calendar/Calendar.css +0 -5
- package/dist/es/components/Calendar/components/Day/Day.css +0 -128
- package/dist/es/components/Calendar/components/Month/Month.css +0 -81
- package/dist/es/components/Caption/Caption.css +0 -48
- package/dist/es/components/Carousel/Carousel.css +0 -215
- package/dist/es/components/Checkbox/Checkbox.css +0 -150
- package/dist/es/components/Chips/Chip.css +0 -132
- package/dist/es/components/Chips/Chips.css +0 -19
- package/dist/es/components/Chips/components/ChipsDropdown.css +0 -106
- package/dist/es/components/Collapse/Collapse.css +0 -3
- package/dist/es/components/ContentArea/ContentArea.css +0 -109
- package/dist/es/components/ContentView/ContentView.css +0 -103
- package/dist/es/components/Counter/Counter.css +0 -123
- package/dist/es/components/Grid/Grid.css +0 -102
- package/dist/es/components/Grid/GridColumn.css +0 -3102
- package/dist/es/components/Header/Header.css +0 -122
- package/dist/es/components/List/List.css +0 -66
- package/dist/es/components/List/ListItem.css +0 -6
- package/dist/es/components/ListData/ListData.css +0 -162
- package/dist/es/components/ListData/ListDataGroup.css +0 -15
- package/dist/es/components/ListData/components/ListDataSortable.css +0 -79
- package/dist/es/components/ListData/doc/i/img.png +0 -0
- package/dist/es/components/Logo/Logo.css +0 -43
- package/dist/es/components/NavArrow/NavArrow.css +0 -63
- package/dist/es/components/Notification/Notification.css +0 -350
- package/dist/es/components/Pagination/Pagination.css +0 -5
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +0 -62
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.css +0 -10
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +0 -17
- package/dist/es/components/Paragraph/Paragraph.css +0 -43
- package/dist/es/components/Preloader/Preloader.css +0 -224
- package/dist/es/components/RadioButton/RadioButton.css +0 -120
- package/dist/es/components/Row/Row.css +0 -238
- package/dist/es/components/Search/Search.css +0 -453
- package/dist/es/components/Select/Select.css +0 -389
- package/dist/es/components/Selector/Selector.css +0 -132
- package/dist/es/components/Selector/doc/Selector.example.css +0 -17
- package/dist/es/components/Sliders/Slider/Slider.css +0 -128
- package/dist/es/components/Sliders/SliderRange/SliderRange.css +0 -169
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +0 -219
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +0 -84
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +0 -15
- package/dist/es/components/Snackbar/Snackbar.css +0 -220
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.css +0 -66
- package/dist/es/components/Switcher/Switcher.css +0 -160
- package/dist/es/components/Tabs/Tabs.css +0 -297
- package/dist/es/components/TextField/TextField.css +0 -343
- package/dist/es/components/TextLink/TextLink.css +0 -50
- package/dist/es/components/Tile/Tile.css +0 -43
- package/dist/es/components/Tooltip/Tooltip.css +0 -335
- package/dist/lib/components/Avatar/doc/i/img.png +0 -0
- package/dist/lib/components/Badges/components/CounterBadge/CounterBadge.css +0 -54
- package/dist/lib/components/Badges/components/CounterBadge/CounterBadge.js +0 -81
- package/dist/lib/components/Badges/components/NotificationBadge/NotificationBadge.css +0 -49
- package/dist/lib/components/Badges/components/NotificationBadge/NotificationBadge.js +0 -70
- package/dist/lib/components/Badges/components/PriceBadge/PriceBadge.css +0 -119
- package/dist/lib/components/Badges/components/PromoBadge/PromoBadge.css +0 -64
- package/dist/lib/components/Badges/components/PromoBadge/PromoBadge.js +0 -76
- package/dist/lib/components/Badges/components/TimerBadge/TimerBadge.css +0 -60
- package/dist/lib/components/Badges/components/TimerBadge/TimerBadge.js +0 -135
- package/dist/lib/components/Banner/Banner.css +0 -195
- package/dist/lib/components/Banner/BannerDot.css +0 -69
- package/dist/lib/components/Button/Button.css +0 -814
- package/dist/lib/components/Calendar/Calendar.css +0 -5
- package/dist/lib/components/Calendar/components/Day/Day.css +0 -128
- package/dist/lib/components/Calendar/components/Day/Day.js +0 -117
- package/dist/lib/components/Calendar/components/Month/Month.css +0 -81
- package/dist/lib/components/Calendar/components/Month/Month.js +0 -122
- package/dist/lib/components/Caption/Caption.css +0 -48
- package/dist/lib/components/Carousel/Carousel.css +0 -215
- package/dist/lib/components/Checkbox/Checkbox.css +0 -150
- package/dist/lib/components/Chips/Chip.css +0 -132
- package/dist/lib/components/Chips/Chips.css +0 -19
- package/dist/lib/components/Chips/components/ChipsDropdown.css +0 -106
- package/dist/lib/components/Collapse/Collapse.css +0 -3
- package/dist/lib/components/Collapse/Collapse.js +0 -141
- package/dist/lib/components/ContentArea/ContentArea.css +0 -109
- package/dist/lib/components/ContentView/ContentView.css +0 -103
- package/dist/lib/components/Counter/Counter.css +0 -123
- package/dist/lib/components/Grid/Grid.css +0 -102
- package/dist/lib/components/Grid/GridColumn.css +0 -3102
- package/dist/lib/components/Header/Header.css +0 -122
- package/dist/lib/components/List/List.css +0 -66
- package/dist/lib/components/List/ListItem.css +0 -6
- package/dist/lib/components/ListData/ListData.css +0 -162
- package/dist/lib/components/ListData/ListDataGroup.css +0 -15
- package/dist/lib/components/ListData/components/ListDataSortable.css +0 -79
- package/dist/lib/components/ListData/doc/i/img.png +0 -0
- package/dist/lib/components/Logo/Logo.css +0 -43
- package/dist/lib/components/NavArrow/NavArrow.css +0 -63
- package/dist/lib/components/Notification/Notification.css +0 -350
- package/dist/lib/components/Pagination/Pagination.css +0 -5
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +0 -62
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.css +0 -10
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +0 -17
- package/dist/lib/components/Paragraph/Paragraph.css +0 -43
- package/dist/lib/components/Preloader/Preloader.css +0 -224
- package/dist/lib/components/RadioButton/RadioButton.css +0 -120
- package/dist/lib/components/Row/Row.css +0 -238
- package/dist/lib/components/Search/Search.css +0 -453
- package/dist/lib/components/Select/Select.css +0 -389
- package/dist/lib/components/Selector/Selector.css +0 -132
- package/dist/lib/components/Selector/doc/Selector.example.css +0 -17
- package/dist/lib/components/Sliders/Slider/Slider.css +0 -128
- package/dist/lib/components/Sliders/SliderRange/SliderRange.css +0 -169
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +0 -219
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +0 -84
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +0 -15
- package/dist/lib/components/Snackbar/Snackbar.css +0 -220
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.css +0 -66
- package/dist/lib/components/Switcher/Switcher.css +0 -160
- package/dist/lib/components/Tabs/Tabs.css +0 -297
- package/dist/lib/components/TextField/TextField.css +0 -343
- package/dist/lib/components/TextLink/TextLink.css +0 -50
- package/dist/lib/components/Tile/Tile.css +0 -43
- package/dist/lib/components/Tooltip/Tooltip.css +0 -335
- package/styles/base.less +0 -171
- /package/dist/es/components/Badges/{components/TimerBadge → TimerBadge/components}/Timer/Timer.d.ts +0 -0
- /package/dist/lib/components/Badges/{components/TimerBadge → TimerBadge/components}/Timer/Timer.d.ts +0 -0
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import "core-js/modules/es.array.
|
|
4
|
-
import "core-js/modules/es.regexp.exec.js";
|
|
5
|
-
import "core-js/modules/es.string.replace.js";
|
|
3
|
+
import "core-js/modules/es.array.concat.js";
|
|
6
4
|
import "core-js/modules/es.array.filter.js";
|
|
5
|
+
import "core-js/modules/es.array.find.js";
|
|
6
|
+
import "core-js/modules/es.array.find-index.js";
|
|
7
|
+
import "core-js/modules/es.array.map.js";
|
|
8
|
+
import "core-js/modules/es.object.to-string.js";
|
|
7
9
|
import "core-js/modules/es.regexp.constructor.js";
|
|
10
|
+
import "core-js/modules/es.regexp.exec.js";
|
|
11
|
+
import "core-js/modules/es.regexp.sticky.js";
|
|
12
|
+
import "core-js/modules/es.regexp.test.js";
|
|
8
13
|
import "core-js/modules/es.regexp.to-string.js";
|
|
9
|
-
import "core-js/modules/es.
|
|
14
|
+
import "core-js/modules/es.string.replace.js";
|
|
10
15
|
import "core-js/modules/es.string.split.js";
|
|
11
|
-
import "core-js/modules/es.array.map.js";
|
|
12
16
|
import "core-js/modules/es.string.trim.js";
|
|
13
|
-
import "core-js/modules/es.array.concat.js";
|
|
14
|
-
import "core-js/modules/es.object.values.js";
|
|
15
17
|
import * as React from 'react';
|
|
16
18
|
import { Fragment, useEffect, useReducer, useCallback } from 'react';
|
|
17
19
|
import { cnCreate, detectTouch, filterDataAttrs } from '@megafon/ui-helpers';
|
|
18
20
|
import debounce from 'lodash.debounce';
|
|
19
|
-
import * as PropTypes from 'prop-types';
|
|
20
21
|
import "./Select.css";
|
|
21
22
|
import selectReducer, { initialState, SelectActions } from "./reducer/selectReducer";
|
|
22
23
|
var UPDATE_ITEMS_LIST = SelectActions.UPDATE_ITEMS_LIST,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
UPDATE_VALUE_FROM_PROPS = SelectActions.UPDATE_VALUE_FROM_PROPS,
|
|
25
|
+
COMBOBOX_VALUE_DEBOUNCE = SelectActions.COMBOBOX_VALUE_DEBOUNCE,
|
|
26
|
+
COMBOBOX_INPUT_CHANGE = SelectActions.COMBOBOX_INPUT_CHANGE,
|
|
27
|
+
TOGGLE_DROPDOWN = SelectActions.TOGGLE_DROPDOWN,
|
|
28
|
+
UPDATE_SELECT_VALUE = SelectActions.UPDATE_SELECT_VALUE,
|
|
29
|
+
SET_HOVERED_ITEM_INDEX = SelectActions.SET_HOVERED_ITEM_INDEX;
|
|
29
30
|
export var SelectItemsPaddings = {
|
|
30
31
|
SMALL: 'small',
|
|
31
32
|
LARGE: 'large'
|
|
@@ -37,7 +38,8 @@ export var Verification = {
|
|
|
37
38
|
export var SelectTypes = {
|
|
38
39
|
CLASSIC: 'classic',
|
|
39
40
|
COMBOBOX: 'combobox'
|
|
40
|
-
};
|
|
41
|
+
};
|
|
42
|
+
// List of cases to check on component change:
|
|
41
43
|
// - Should correctly choose value and trigger callbacks with correct arguments on click or touch.
|
|
42
44
|
// - Should correctly choose value and trigger callbacks with correct arguments on choose via filtration in combobox.
|
|
43
45
|
// - Should highlight chosen item with bold only in cases without view
|
|
@@ -49,76 +51,67 @@ export var SelectTypes = {
|
|
|
49
51
|
// - Should add event listener for outside of dropdown click on list open and remove it on list close.
|
|
50
52
|
// - onClose callback shouldn't fire multiple times on outside click if dropdown was opened multiple times.
|
|
51
53
|
// - If item with currentValue is not found in items, input value will not be displayed
|
|
52
|
-
|
|
53
54
|
var cn = cnCreate('mfui-select');
|
|
54
|
-
|
|
55
55
|
var Select = function Select(_ref) {
|
|
56
56
|
var _ref$type = _ref.type,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
57
|
+
type = _ref$type === void 0 ? 'classic' : _ref$type,
|
|
58
|
+
_ref$disabled = _ref.disabled,
|
|
59
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
60
|
+
verification = _ref.verification,
|
|
61
|
+
noticeText = _ref.noticeText,
|
|
62
|
+
label = _ref.label,
|
|
63
|
+
labelId = _ref.labelId,
|
|
64
|
+
_ref$required = _ref.required,
|
|
65
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
66
|
+
_ref$className = _ref.className,
|
|
67
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
68
|
+
_ref$classes = _ref.classes,
|
|
69
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
|
70
|
+
dataAttrs = _ref.dataAttrs,
|
|
71
|
+
_ref$notFoundText = _ref.notFoundText,
|
|
72
|
+
notFoundText = _ref$notFoundText === void 0 ? 'Ничего не нашлось' : _ref$notFoundText,
|
|
73
|
+
items = _ref.items,
|
|
74
|
+
placeholder = _ref.placeholder,
|
|
75
|
+
currentValue = _ref.currentValue,
|
|
76
|
+
_ref$shortList = _ref.shortList,
|
|
77
|
+
shortList = _ref$shortList === void 0 ? false : _ref$shortList,
|
|
78
|
+
onClosed = _ref.onClosed,
|
|
79
|
+
onOpened = _ref.onOpened,
|
|
80
|
+
onSelect = _ref.onSelect;
|
|
82
81
|
var _useReducer = useReducer(selectReducer, initialState),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
83
|
+
selectState = _useReducer2[0],
|
|
84
|
+
changeSelectState = _useReducer2[1];
|
|
87
85
|
var itemWrapperNode = React.useRef(null);
|
|
88
86
|
var itemsNodeList = React.useRef([]);
|
|
89
87
|
var selectNode = React.useRef(null);
|
|
90
88
|
var itemsList = selectState.itemsList,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
filterValue = selectState.comparableInputValue,
|
|
90
|
+
isOpened = selectState.isOpened,
|
|
91
|
+
hoveredItemIndex = selectState.hoveredItemIndex,
|
|
92
|
+
inputValue = selectState.inputValue;
|
|
95
93
|
var isTouch = detectTouch();
|
|
96
94
|
var currentIndex = itemsList.findIndex(function (elem) {
|
|
97
95
|
return elem.value === currentValue;
|
|
98
96
|
});
|
|
99
97
|
var handleClickOutside = useCallback(function (e) {
|
|
100
98
|
var _a;
|
|
101
|
-
|
|
102
99
|
if (e.target instanceof Node && ((_a = selectNode.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) || !isOpened) {
|
|
103
100
|
return;
|
|
104
101
|
}
|
|
105
|
-
|
|
106
102
|
onClosed === null || onClosed === void 0 ? void 0 : onClosed();
|
|
107
103
|
changeSelectState({
|
|
108
104
|
type: TOGGLE_DROPDOWN,
|
|
109
105
|
isOpened: false
|
|
110
106
|
});
|
|
111
107
|
}, [onClosed, isOpened]);
|
|
112
|
-
|
|
113
108
|
var scrollList = function scrollList(itemIndex) {
|
|
114
109
|
var _a, _b;
|
|
115
|
-
|
|
116
110
|
(_b = (_a = itemsNodeList.current[itemIndex]) === null || _a === void 0 ? void 0 : _a.scrollIntoView) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
117
111
|
behavior: 'smooth',
|
|
118
112
|
block: 'nearest'
|
|
119
113
|
});
|
|
120
114
|
};
|
|
121
|
-
|
|
122
115
|
useEffect(function () {
|
|
123
116
|
if (!isOpened) {
|
|
124
117
|
// Changes hovered item on dropdown close to currently chosen to hover it on dropdown open
|
|
@@ -128,7 +121,6 @@ var Select = function Select(_ref) {
|
|
|
128
121
|
});
|
|
129
122
|
return undefined;
|
|
130
123
|
}
|
|
131
|
-
|
|
132
124
|
onOpened === null || onOpened === void 0 ? void 0 : onOpened();
|
|
133
125
|
scrollList(currentIndex);
|
|
134
126
|
document.addEventListener('click', handleClickOutside);
|
|
@@ -146,7 +138,6 @@ var Select = function Select(_ref) {
|
|
|
146
138
|
if (currentIndex === -1) {
|
|
147
139
|
return;
|
|
148
140
|
}
|
|
149
|
-
|
|
150
141
|
changeSelectState({
|
|
151
142
|
type: UPDATE_VALUE_FROM_PROPS,
|
|
152
143
|
hoveredItemIndex: currentIndex,
|
|
@@ -160,11 +151,9 @@ var Select = function Select(_ref) {
|
|
|
160
151
|
});
|
|
161
152
|
var debounceItemsList = items.filter(function (_ref2) {
|
|
162
153
|
var title = _ref2.title;
|
|
163
|
-
|
|
164
154
|
if (debounceFilterValue.length <= title.length) {
|
|
165
155
|
return RegExp(query, 'ig').test(title);
|
|
166
156
|
}
|
|
167
|
-
|
|
168
157
|
return false;
|
|
169
158
|
});
|
|
170
159
|
changeSelectState({
|
|
@@ -173,7 +162,6 @@ var Select = function Select(_ref) {
|
|
|
173
162
|
comparableInputValue: debounceFilterValue
|
|
174
163
|
});
|
|
175
164
|
}, 250);
|
|
176
|
-
|
|
177
165
|
var handleSelectClick = function handleSelectClick() {
|
|
178
166
|
var isCurrentlyOpened = isOpened;
|
|
179
167
|
changeSelectState({
|
|
@@ -182,17 +170,14 @@ var Select = function Select(_ref) {
|
|
|
182
170
|
});
|
|
183
171
|
isCurrentlyOpened && (onClosed === null || onClosed === void 0 ? void 0 : onClosed());
|
|
184
172
|
};
|
|
185
|
-
|
|
186
173
|
var handleSelectItem = function handleSelectItem(e) {
|
|
187
174
|
var currentItem = itemsList[hoveredItemIndex].value;
|
|
188
175
|
var item = itemsList.find(function (elem) {
|
|
189
176
|
return elem.value === currentItem;
|
|
190
177
|
});
|
|
191
|
-
|
|
192
178
|
if (!item) {
|
|
193
179
|
return;
|
|
194
180
|
}
|
|
195
|
-
|
|
196
181
|
var title = item.title;
|
|
197
182
|
changeSelectState({
|
|
198
183
|
type: UPDATE_SELECT_VALUE,
|
|
@@ -204,7 +189,6 @@ var Select = function Select(_ref) {
|
|
|
204
189
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(e, item);
|
|
205
190
|
onClosed === null || onClosed === void 0 ? void 0 : onClosed();
|
|
206
191
|
};
|
|
207
|
-
|
|
208
192
|
var handleHoverItem = function handleHoverItem(index) {
|
|
209
193
|
return function (e) {
|
|
210
194
|
e.preventDefault();
|
|
@@ -214,19 +198,16 @@ var Select = function Select(_ref) {
|
|
|
214
198
|
});
|
|
215
199
|
};
|
|
216
200
|
};
|
|
217
|
-
|
|
218
201
|
var handleComboboxFocus = function handleComboboxFocus(e) {
|
|
219
202
|
e.stopPropagation();
|
|
220
203
|
changeSelectState({
|
|
221
204
|
type: TOGGLE_DROPDOWN,
|
|
222
205
|
isOpened: true
|
|
223
206
|
});
|
|
224
|
-
|
|
225
207
|
if (!isOpened && itemsList) {
|
|
226
208
|
e.target.select();
|
|
227
209
|
}
|
|
228
210
|
};
|
|
229
|
-
|
|
230
211
|
var handleChangeCombobox = function handleChangeCombobox(e) {
|
|
231
212
|
var comboboxValue = e.target.value;
|
|
232
213
|
onSelect && onSelect(null);
|
|
@@ -236,12 +217,10 @@ var Select = function Select(_ref) {
|
|
|
236
217
|
});
|
|
237
218
|
debouncedComboboxChange(comboboxValue);
|
|
238
219
|
};
|
|
239
|
-
|
|
240
220
|
var handleKeyDown = function handleKeyDown(e) {
|
|
241
221
|
if (itemsList.length === 0 || disabled) {
|
|
242
222
|
return true;
|
|
243
223
|
}
|
|
244
|
-
|
|
245
224
|
if (e.key === 'ArrowDown' && isOpened && hoveredItemIndex < itemsList.length - 1) {
|
|
246
225
|
var nextIndex = hoveredItemIndex + 1;
|
|
247
226
|
e.preventDefault();
|
|
@@ -252,10 +231,8 @@ var Select = function Select(_ref) {
|
|
|
252
231
|
scrollList(nextIndex);
|
|
253
232
|
return false;
|
|
254
233
|
}
|
|
255
|
-
|
|
256
234
|
if (e.key === 'ArrowUp' && isOpened && hoveredItemIndex > 0) {
|
|
257
235
|
var _nextIndex = hoveredItemIndex - 1;
|
|
258
|
-
|
|
259
236
|
e.preventDefault();
|
|
260
237
|
changeSelectState({
|
|
261
238
|
type: SET_HOVERED_ITEM_INDEX,
|
|
@@ -264,12 +241,10 @@ var Select = function Select(_ref) {
|
|
|
264
241
|
scrollList(_nextIndex);
|
|
265
242
|
return false;
|
|
266
243
|
}
|
|
267
|
-
|
|
268
244
|
if (e.key === 'Enter' && isOpened) {
|
|
269
245
|
handleSelectItem(e);
|
|
270
246
|
return false;
|
|
271
247
|
}
|
|
272
|
-
|
|
273
248
|
if (e.key === 'Enter' && !isOpened) {
|
|
274
249
|
changeSelectState({
|
|
275
250
|
type: TOGGLE_DROPDOWN,
|
|
@@ -278,7 +253,6 @@ var Select = function Select(_ref) {
|
|
|
278
253
|
onOpened === null || onOpened === void 0 ? void 0 : onOpened();
|
|
279
254
|
return false;
|
|
280
255
|
}
|
|
281
|
-
|
|
282
256
|
if (e.key === 'Tab') {
|
|
283
257
|
changeSelectState({
|
|
284
258
|
type: TOGGLE_DROPDOWN,
|
|
@@ -286,10 +260,8 @@ var Select = function Select(_ref) {
|
|
|
286
260
|
});
|
|
287
261
|
return false;
|
|
288
262
|
}
|
|
289
|
-
|
|
290
263
|
return true;
|
|
291
264
|
};
|
|
292
|
-
|
|
293
265
|
var highlightString = function highlightString(title, isItemActive, view) {
|
|
294
266
|
if (type === SelectTypes.CLASSIC) {
|
|
295
267
|
if (typeof view === 'function' && ! /*#__PURE__*/React.isValidElement(view)) {
|
|
@@ -298,10 +270,8 @@ var Select = function Select(_ref) {
|
|
|
298
270
|
isItemActive: isItemActive
|
|
299
271
|
});
|
|
300
272
|
}
|
|
301
|
-
|
|
302
273
|
return view || title;
|
|
303
274
|
}
|
|
304
|
-
|
|
305
275
|
if (type === SelectTypes.COMBOBOX && view) {
|
|
306
276
|
if (typeof view === 'function' && ! /*#__PURE__*/React.isValidElement(view)) {
|
|
307
277
|
return view({
|
|
@@ -309,10 +279,8 @@ var Select = function Select(_ref) {
|
|
|
309
279
|
isItemActive: isItemActive
|
|
310
280
|
});
|
|
311
281
|
}
|
|
312
|
-
|
|
313
282
|
return view;
|
|
314
283
|
}
|
|
315
|
-
|
|
316
284
|
var stringFragments = title.split(RegExp("(".concat(filterValue, ")"), 'ig'));
|
|
317
285
|
return /*#__PURE__*/React.createElement(React.Fragment, null, stringFragments.map(function (fragment, i) {
|
|
318
286
|
return /*#__PURE__*/React.createElement(Fragment, {
|
|
@@ -322,16 +290,13 @@ var Select = function Select(_ref) {
|
|
|
322
290
|
}, fragment) : fragment);
|
|
323
291
|
}));
|
|
324
292
|
};
|
|
325
|
-
|
|
326
293
|
var getNodeList = useCallback(function (node) {
|
|
327
294
|
if (filterValue.trim()) {
|
|
328
295
|
itemsNodeList.current = [];
|
|
329
296
|
return;
|
|
330
297
|
}
|
|
331
|
-
|
|
332
298
|
!filterValue && node && itemsNodeList.current.push(node);
|
|
333
299
|
}, [filterValue]);
|
|
334
|
-
|
|
335
300
|
var renderLabel = function renderLabel() {
|
|
336
301
|
return /*#__PURE__*/React.createElement("label", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.label), {
|
|
337
302
|
htmlFor: labelId,
|
|
@@ -340,17 +305,14 @@ var Select = function Select(_ref) {
|
|
|
340
305
|
className: cn('require-mark')
|
|
341
306
|
}, "*"));
|
|
342
307
|
};
|
|
343
|
-
|
|
344
308
|
var renderTitle = function renderTitle() {
|
|
345
309
|
var item = items.find(function (elem) {
|
|
346
310
|
return elem.value === currentValue;
|
|
347
311
|
});
|
|
348
312
|
var inputTitle = placeholder;
|
|
349
|
-
|
|
350
313
|
if (item && item.title) {
|
|
351
314
|
inputTitle = item.selectedView ? item.selectedView : item.title;
|
|
352
315
|
}
|
|
353
|
-
|
|
354
316
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.title), {
|
|
355
317
|
className: cn('title', [classes === null || classes === void 0 ? void 0 : classes.title]),
|
|
356
318
|
role: "button",
|
|
@@ -364,7 +326,6 @@ var Select = function Select(_ref) {
|
|
|
364
326
|
className: cn('title-value')
|
|
365
327
|
}, inputTitle), label && renderLabel()));
|
|
366
328
|
};
|
|
367
|
-
|
|
368
329
|
var renderCombobox = function renderCombobox() {
|
|
369
330
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("input", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.input), {
|
|
370
331
|
className: cn('combobox', {
|
|
@@ -377,7 +338,6 @@ var Select = function Select(_ref) {
|
|
|
377
338
|
placeholder: placeholder
|
|
378
339
|
})), label && renderLabel());
|
|
379
340
|
};
|
|
380
|
-
|
|
381
341
|
var renderChildren = function renderChildren() {
|
|
382
342
|
var currentItems = type === SelectTypes.COMBOBOX ? itemsList : items;
|
|
383
343
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.list), {
|
|
@@ -389,10 +349,10 @@ var Select = function Select(_ref) {
|
|
|
389
349
|
ref: itemWrapperNode
|
|
390
350
|
}), currentItems.map(function (_ref3, i) {
|
|
391
351
|
var title = _ref3.title,
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
352
|
+
value = _ref3.value,
|
|
353
|
+
view = _ref3.view,
|
|
354
|
+
_ref3$paddings = _ref3.paddings,
|
|
355
|
+
paddings = _ref3$paddings === void 0 ? SelectItemsPaddings.LARGE : _ref3$paddings;
|
|
396
356
|
var isItemActive = currentValue === value;
|
|
397
357
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.listItem, i + 1), {
|
|
398
358
|
className: cn('list-item', {
|
|
@@ -412,7 +372,6 @@ var Select = function Select(_ref) {
|
|
|
412
372
|
className: cn('not-found')
|
|
413
373
|
}), notFoundText)));
|
|
414
374
|
};
|
|
415
|
-
|
|
416
375
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
417
376
|
className: cn({
|
|
418
377
|
open: isOpened,
|
|
@@ -436,53 +395,4 @@ var Select = function Select(_ref) {
|
|
|
436
395
|
})
|
|
437
396
|
}), noticeText));
|
|
438
397
|
};
|
|
439
|
-
|
|
440
|
-
Select.propTypes = {
|
|
441
|
-
type: PropTypes.oneOf(Object.values(SelectTypes)),
|
|
442
|
-
label: PropTypes.string,
|
|
443
|
-
id: PropTypes.string,
|
|
444
|
-
currentValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
445
|
-
verification: PropTypes.oneOf(Object.values(Verification)),
|
|
446
|
-
noticeText: PropTypes.string,
|
|
447
|
-
disabled: PropTypes.bool,
|
|
448
|
-
required: PropTypes.bool,
|
|
449
|
-
placeholder: PropTypes.string,
|
|
450
|
-
notFoundText: PropTypes.string,
|
|
451
|
-
className: PropTypes.string,
|
|
452
|
-
classes: PropTypes.shape({
|
|
453
|
-
root: PropTypes.string,
|
|
454
|
-
control: PropTypes.string,
|
|
455
|
-
title: PropTypes.string,
|
|
456
|
-
titleInner: PropTypes.string,
|
|
457
|
-
list: PropTypes.string,
|
|
458
|
-
listInner: PropTypes.string,
|
|
459
|
-
listItem: PropTypes.string,
|
|
460
|
-
listItemTitle: PropTypes.string
|
|
461
|
-
}),
|
|
462
|
-
dataAttrs: PropTypes.shape({
|
|
463
|
-
root: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
464
|
-
label: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
465
|
-
control: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
466
|
-
title: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
467
|
-
titleInner: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
468
|
-
input: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
469
|
-
noticeText: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
470
|
-
list: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
471
|
-
listInner: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
472
|
-
listItem: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
473
|
-
listItemTitle: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
474
|
-
notFound: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
475
|
-
}),
|
|
476
|
-
items: PropTypes.arrayOf(PropTypes.exact({
|
|
477
|
-
view: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.func]),
|
|
478
|
-
selectedView: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.func]),
|
|
479
|
-
title: PropTypes.string.isRequired,
|
|
480
|
-
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
|
|
481
|
-
paddings: PropTypes.oneOf(Object.values(SelectItemsPaddings))
|
|
482
|
-
})).isRequired,
|
|
483
|
-
shortList: PropTypes.bool,
|
|
484
|
-
onSelect: PropTypes.func,
|
|
485
|
-
onOpened: PropTypes.func,
|
|
486
|
-
onClosed: PropTypes.func
|
|
487
|
-
};
|
|
488
398
|
export default Select;
|
|
@@ -30,5 +30,5 @@ export interface ISelectAction<T extends SelectItemValueType> {
|
|
|
30
30
|
comparableInputValue?: string;
|
|
31
31
|
isOpened?: boolean;
|
|
32
32
|
}
|
|
33
|
-
declare const selectReducer: <T extends
|
|
33
|
+
declare const selectReducer: <T extends SelectItemValueType>(state: ISelectState<T>, action: ISelectAction<T>) => ISelectState<T>;
|
|
34
34
|
export default selectReducer;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import "core-js/modules/es.array.every.js";
|
|
3
|
-
|
|
3
|
+
import "core-js/modules/es.object.to-string.js";
|
|
4
4
|
var isEqualItems = function isEqualItems(newItems, setItems) {
|
|
5
5
|
if (newItems.length !== setItems.length) {
|
|
6
6
|
return false;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
8
|
return newItems.every(function (item, i) {
|
|
10
9
|
var isEqualValue = item.value === setItems[i].value;
|
|
11
10
|
var isEqualTitle = item.title === setItems[i].title;
|
|
12
11
|
return isEqualValue && isEqualTitle;
|
|
13
12
|
});
|
|
14
13
|
};
|
|
15
|
-
|
|
16
14
|
export var initialState = {
|
|
17
15
|
isOpened: false,
|
|
18
16
|
hoveredItemIndex: 0,
|
|
@@ -21,7 +19,6 @@ export var initialState = {
|
|
|
21
19
|
inputValue: ''
|
|
22
20
|
};
|
|
23
21
|
export var SelectActions;
|
|
24
|
-
|
|
25
22
|
(function (SelectActions) {
|
|
26
23
|
SelectActions["TOGGLE_DROPDOWN"] = "TOGGLE_DROPDOWN";
|
|
27
24
|
SelectActions["UPDATE_ITEMS_LIST"] = "UPDATE_ITEMS_LIST";
|
|
@@ -31,30 +28,27 @@ export var SelectActions;
|
|
|
31
28
|
SelectActions["COMBOBOX_VALUE_DEBOUNCE"] = "COMBOBOX_VALUE_DEBOUNCE";
|
|
32
29
|
SelectActions["COMBOBOX_INPUT_CHANGE"] = "COMBOBOX_INPUT_CHANGE";
|
|
33
30
|
})(SelectActions || (SelectActions = {}));
|
|
34
|
-
|
|
35
31
|
var _SelectActions = SelectActions,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
TOGGLE_DROPDOWN = _SelectActions.TOGGLE_DROPDOWN,
|
|
33
|
+
UPDATE_ITEMS_LIST = _SelectActions.UPDATE_ITEMS_LIST,
|
|
34
|
+
UPDATE_VALUE_FROM_PROPS = _SelectActions.UPDATE_VALUE_FROM_PROPS,
|
|
35
|
+
UPDATE_SELECT_VALUE = _SelectActions.UPDATE_SELECT_VALUE,
|
|
36
|
+
SET_HOVERED_ITEM_INDEX = _SelectActions.SET_HOVERED_ITEM_INDEX,
|
|
37
|
+
COMBOBOX_VALUE_DEBOUNCE = _SelectActions.COMBOBOX_VALUE_DEBOUNCE,
|
|
38
|
+
COMBOBOX_INPUT_CHANGE = _SelectActions.COMBOBOX_INPUT_CHANGE;
|
|
44
39
|
var selectReducer = function selectReducer(state, action) {
|
|
45
40
|
var type = action.type,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
41
|
+
_action$items = action.items,
|
|
42
|
+
items = _action$items === void 0 ? [] : _action$items,
|
|
43
|
+
_action$hoveredItemIn = action.hoveredItemIndex,
|
|
44
|
+
hoveredItemIndex = _action$hoveredItemIn === void 0 ? 0 : _action$hoveredItemIn,
|
|
45
|
+
_action$inputValue = action.inputValue,
|
|
46
|
+
inputValue = _action$inputValue === void 0 ? '' : _action$inputValue,
|
|
47
|
+
_action$comparableInp = action.comparableInputValue,
|
|
48
|
+
comparableInputValue = _action$comparableInp === void 0 ? '' : _action$comparableInp,
|
|
49
|
+
_action$isOpened = action.isOpened,
|
|
50
|
+
isOpened = _action$isOpened === void 0 ? false : _action$isOpened;
|
|
56
51
|
var prevItems = state.itemsList;
|
|
57
|
-
|
|
58
52
|
switch (type) {
|
|
59
53
|
case TOGGLE_DROPDOWN:
|
|
60
54
|
{
|
|
@@ -62,7 +56,6 @@ var selectReducer = function selectReducer(state, action) {
|
|
|
62
56
|
isOpened: isOpened
|
|
63
57
|
});
|
|
64
58
|
}
|
|
65
|
-
|
|
66
59
|
case UPDATE_ITEMS_LIST:
|
|
67
60
|
{
|
|
68
61
|
var isItemsEqual = isEqualItems(items, prevItems);
|
|
@@ -70,7 +63,6 @@ var selectReducer = function selectReducer(state, action) {
|
|
|
70
63
|
itemsList: items
|
|
71
64
|
});
|
|
72
65
|
}
|
|
73
|
-
|
|
74
66
|
case UPDATE_VALUE_FROM_PROPS:
|
|
75
67
|
{
|
|
76
68
|
return _extends(_extends({}, state), {
|
|
@@ -79,7 +71,6 @@ var selectReducer = function selectReducer(state, action) {
|
|
|
79
71
|
comparableInputValue: ''
|
|
80
72
|
});
|
|
81
73
|
}
|
|
82
|
-
|
|
83
74
|
case COMBOBOX_VALUE_DEBOUNCE:
|
|
84
75
|
{
|
|
85
76
|
return _extends(_extends({}, state), {
|
|
@@ -89,7 +80,6 @@ var selectReducer = function selectReducer(state, action) {
|
|
|
89
80
|
hoveredItemIndex: 0
|
|
90
81
|
});
|
|
91
82
|
}
|
|
92
|
-
|
|
93
83
|
case UPDATE_SELECT_VALUE:
|
|
94
84
|
{
|
|
95
85
|
return _extends(_extends({}, state), {
|
|
@@ -98,26 +88,22 @@ var selectReducer = function selectReducer(state, action) {
|
|
|
98
88
|
hoveredItemIndex: hoveredItemIndex
|
|
99
89
|
});
|
|
100
90
|
}
|
|
101
|
-
|
|
102
91
|
case SET_HOVERED_ITEM_INDEX:
|
|
103
92
|
{
|
|
104
93
|
return _extends(_extends({}, state), {
|
|
105
94
|
hoveredItemIndex: hoveredItemIndex
|
|
106
95
|
});
|
|
107
96
|
}
|
|
108
|
-
|
|
109
97
|
case COMBOBOX_INPUT_CHANGE:
|
|
110
98
|
{
|
|
111
99
|
return _extends(_extends({}, state), {
|
|
112
100
|
inputValue: inputValue
|
|
113
101
|
});
|
|
114
102
|
}
|
|
115
|
-
|
|
116
103
|
default:
|
|
117
104
|
{
|
|
118
105
|
return state;
|
|
119
106
|
}
|
|
120
107
|
}
|
|
121
108
|
};
|
|
122
|
-
|
|
123
109
|
export default selectReducer;
|