@megafon/ui-core 6.0.0-beta.4 → 6.0.1
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/CHANGELOG.md +4016 -0
- package/dist/es/colors/ColorItem/ColorItem.css +45 -1
- package/dist/es/colors/ColorItem/ColorItem.d.ts +2 -2
- package/dist/es/colors/ColorItem/ColorItem.js +7 -5
- package/dist/es/colors/Colors.css +233 -1
- package/dist/es/colors/Colors.d.ts +1 -1
- package/dist/es/colors/Colors.js +55 -33
- package/dist/es/colors/colorsData.d.ts +4 -4
- package/dist/es/components/Accordion/Accordion.css +89 -1
- package/dist/es/components/Accordion/Accordion.d.ts +1 -2
- package/dist/es/components/Accordion/Accordion.js +65 -22
- package/dist/es/components/Avatar/Avatar.css +52 -1
- package/dist/es/components/Avatar/Avatar.d.ts +1 -1
- package/dist/es/components/Avatar/Avatar.js +27 -9
- package/dist/es/components/Avatar/doc/i/img.png +0 -0
- package/dist/es/components/Badges/components/CounterBadge/CounterBadge.css +54 -0
- package/dist/es/components/Badges/{CounterBadge → components/CounterBadge}/CounterBadge.d.ts +2 -2
- package/dist/es/components/Badges/{CounterBadge → components/CounterBadge}/CounterBadge.js +28 -10
- package/dist/es/components/Badges/components/NotificationBadge/NotificationBadge.css +58 -0
- package/dist/es/components/Badges/{NotificationBadge → components/NotificationBadge}/NotificationBadge.d.ts +4 -3
- package/dist/es/components/Badges/components/NotificationBadge/NotificationBadge.js +49 -0
- package/dist/es/components/Badges/components/PriceBadge/PriceBadge.css +119 -0
- package/dist/es/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.d.ts +4 -4
- package/dist/es/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.js +54 -11
- package/dist/es/components/Badges/components/PromoBadge/PromoBadge.css +64 -0
- package/dist/{lib/components/Badges → es/components/Badges/components}/PromoBadge/PromoBadge.d.ts +3 -3
- package/dist/es/components/Badges/{PromoBadge → components/PromoBadge}/PromoBadge.js +21 -7
- package/dist/es/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.js +32 -5
- package/dist/es/components/Badges/components/TimerBadge/TimerBadge.css +60 -0
- package/dist/{lib/components/Badges → es/components/Badges/components}/TimerBadge/TimerBadge.d.ts +2 -2
- package/dist/es/components/Badges/{TimerBadge → components/TimerBadge}/TimerBadge.js +45 -22
- package/dist/es/components/Banner/Banner.css +195 -1
- package/dist/es/components/Banner/Banner.d.ts +4 -5
- package/dist/es/components/Banner/Banner.js +129 -64
- package/dist/es/components/Banner/BannerDot.css +69 -1
- package/dist/es/components/Banner/BannerDot.d.ts +1 -1
- package/dist/es/components/Banner/BannerDot.js +22 -6
- package/dist/es/components/Banner/slidesSettings.d.ts +2 -4
- package/dist/es/components/Banner/slidesSettings.js +6 -3
- package/dist/es/components/Button/Button.css +814 -1
- package/dist/es/components/Button/Button.d.ts +6 -7
- package/dist/es/components/Button/Button.js +104 -44
- package/dist/es/components/Calendar/Calendar.css +5 -1
- package/dist/es/components/Calendar/Calendar.d.ts +2 -2
- package/dist/es/components/Calendar/Calendar.js +114 -60
- package/dist/es/components/Calendar/components/Day/Day.css +128 -0
- 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 +50 -19
- package/dist/es/components/Calendar/components/Month/Month.css +81 -0
- package/dist/es/components/Calendar/components/{_Month → Month}/Month.d.ts +2 -3
- package/dist/es/components/Calendar/components/{_Month → Month}/Month.js +33 -9
- package/dist/es/components/Caption/Caption.css +48 -1
- package/dist/es/components/Caption/Caption.d.ts +2 -4
- package/dist/es/components/Caption/Caption.js +25 -11
- package/dist/es/components/Carousel/Carousel.css +215 -1
- package/dist/es/components/Carousel/Carousel.d.ts +10 -11
- package/dist/es/components/Carousel/Carousel.js +161 -104
- package/dist/es/components/Carousel/checkBreakpointsPropTypes.d.ts +1 -1
- package/dist/es/components/Carousel/checkBreakpointsPropTypes.js +4 -1
- package/dist/es/components/Carousel/useGradient.d.ts +1 -1
- package/dist/es/components/Carousel/useGradient.js +13 -9
- package/dist/es/components/Checkbox/Checkbox.css +150 -1
- package/dist/es/components/Checkbox/Checkbox.d.ts +4 -4
- package/dist/es/components/Checkbox/Checkbox.js +50 -21
- package/dist/es/components/Chips/Chip.css +132 -1
- package/dist/es/components/Chips/Chip.d.ts +26 -6
- package/dist/es/components/Chips/Chip.js +42 -17
- package/dist/es/components/Chips/Chips.css +19 -1
- package/dist/es/components/Chips/Chips.d.ts +2 -2
- package/dist/es/components/Chips/Chips.js +56 -32
- package/dist/es/components/Chips/components/ChipsDropdown.css +106 -1
- package/dist/es/components/Chips/components/ChipsDropdown.d.ts +2 -2
- package/dist/es/components/Chips/components/ChipsDropdown.js +27 -12
- package/dist/es/components/Collapse/Collapse.css +3 -0
- package/dist/{lib/components/_Collapse → es/components/Collapse}/Collapse.d.ts +3 -3
- package/dist/es/components/{_Collapse → Collapse}/Collapse.js +62 -25
- package/dist/es/components/ContentArea/ContentArea.css +109 -1
- package/dist/es/components/ContentArea/ContentArea.d.ts +4 -5
- package/dist/es/components/ContentArea/ContentArea.js +28 -9
- package/dist/es/components/ContentView/ContentView.css +103 -1
- package/dist/es/components/ContentView/ContentView.d.ts +2 -3
- package/dist/es/components/ContentView/ContentView.js +46 -12
- package/dist/es/components/Counter/Counter.css +123 -1
- package/dist/es/components/Counter/Counter.d.ts +1 -1
- package/dist/es/components/Counter/Counter.js +55 -20
- package/dist/es/components/Grid/Grid.css +102 -1
- package/dist/es/components/Grid/Grid.d.ts +1 -1
- package/dist/es/components/Grid/Grid.js +24 -8
- package/dist/es/components/Grid/GridColumn.css +3102 -1
- package/dist/es/components/Grid/GridColumn.d.ts +2 -2
- package/dist/es/components/Grid/GridColumn.js +62 -33
- package/dist/es/components/Header/Header.css +122 -1
- package/dist/es/components/Header/Header.d.ts +1 -3
- package/dist/es/components/Header/Header.js +28 -13
- package/dist/es/components/Link/Link.d.ts +2 -2
- package/dist/es/components/Link/Link.js +25 -9
- package/dist/es/components/List/List.css +66 -1
- package/dist/es/components/List/List.d.ts +1 -2
- package/dist/es/components/List/List.js +18 -8
- package/dist/es/components/List/ListItem.css +6 -1
- package/dist/es/components/List/ListItem.d.ts +1 -2
- package/dist/es/components/List/ListItem.js +7 -1
- package/dist/es/components/ListData/ListData.css +162 -1
- package/dist/es/components/ListData/ListData.d.ts +34 -6
- package/dist/es/components/ListData/ListData.js +65 -22
- package/dist/es/components/ListData/ListDataGroup.css +15 -1
- package/dist/es/components/ListData/ListDataGroup.d.ts +4 -4
- package/dist/es/components/ListData/ListDataGroup.js +74 -29
- package/dist/es/components/ListData/components/ListDataSortable.css +79 -1
- package/dist/es/components/ListData/components/ListDataSortable.d.ts +4 -4
- package/dist/es/components/ListData/components/ListDataSortable.js +42 -21
- package/dist/es/components/ListData/doc/i/img.png +0 -0
- package/dist/es/components/ListData/helpers.js +8 -1
- package/dist/es/components/Logo/Logo.css +43 -1
- package/dist/es/components/Logo/Logo.d.ts +1 -1
- package/dist/es/components/Logo/Logo.js +25 -9
- package/dist/es/components/NavArrow/NavArrow.css +63 -1
- package/dist/es/components/NavArrow/NavArrow.d.ts +3 -3
- package/dist/es/components/NavArrow/NavArrow.js +28 -8
- package/dist/es/components/Notification/Notification.css +350 -1
- package/dist/es/components/Notification/Notification.d.ts +4 -5
- package/dist/es/components/Notification/Notification.js +131 -61
- package/dist/es/components/Pagination/Pagination.css +5 -1
- package/dist/es/components/Pagination/Pagination.d.ts +3 -4
- package/dist/es/components/Pagination/Pagination.js +22 -7
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +62 -1
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +4 -5
- package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +26 -10
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.css +10 -1
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +2 -3
- package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +22 -5
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +17 -1
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +2 -3
- package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +23 -7
- package/dist/es/components/Pagination/helpers.js +3 -0
- package/dist/es/components/Pagination/usePagination.d.ts +1 -2
- package/dist/es/components/Pagination/usePagination.js +18 -6
- package/dist/es/components/Paragraph/Paragraph.css +43 -1
- package/dist/es/components/Paragraph/Paragraph.d.ts +2 -4
- package/dist/es/components/Paragraph/Paragraph.js +22 -9
- package/dist/es/components/Preloader/Preloader.css +224 -1
- package/dist/es/components/Preloader/Preloader.d.ts +3 -3
- package/dist/es/components/Preloader/Preloader.js +36 -16
- package/dist/es/components/RadioButton/RadioButton.css +120 -1
- package/dist/es/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/es/components/RadioButton/RadioButton.js +50 -18
- package/dist/es/components/Row/Row.css +238 -1
- package/dist/es/components/Row/Row.d.ts +2 -2
- package/dist/es/components/Row/Row.js +48 -23
- package/dist/es/components/Search/Search.css +453 -1
- package/dist/es/components/Search/Search.d.ts +8 -7
- package/dist/es/components/Search/Search.js +149 -54
- package/dist/es/components/Select/Select.css +389 -1
- package/dist/es/components/Select/Select.d.ts +84 -8
- package/dist/es/components/Select/Select.js +142 -52
- package/dist/es/components/Select/reducer/selectReducer.d.ts +1 -1
- package/dist/es/components/Select/reducer/selectReducer.js +32 -18
- package/dist/es/components/Selector/Selector.css +132 -1
- package/dist/es/components/Selector/Selector.d.ts +1 -1
- package/dist/es/components/Selector/Selector.js +50 -23
- package/dist/es/components/Selector/doc/Selector.example.css +17 -0
- package/dist/es/components/Sliders/Slider/Slider.css +128 -1
- package/dist/es/components/Sliders/Slider/Slider.d.ts +1 -1
- package/dist/es/components/Sliders/Slider/Slider.js +56 -25
- package/dist/es/components/Sliders/SliderRange/SliderRange.css +169 -1
- package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +1 -1
- package/dist/es/components/Sliders/SliderRange/SliderRange.js +80 -33
- package/dist/es/components/Sliders/SliderRange/helpers.js +2 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +219 -1
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.d.ts +1 -1
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.js +85 -36
- 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 +1 -0
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +84 -1
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +2 -2
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +35 -11
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +15 -1
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +2 -2
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +20 -6
- package/dist/es/components/Sliders/components/SliderScale/helpers.js +16 -12
- package/dist/es/components/Sliders/helpers.js +5 -1
- package/dist/es/components/Snackbar/Snackbar.css +220 -1
- package/dist/es/components/Snackbar/Snackbar.d.ts +3 -3
- package/dist/es/components/Snackbar/Snackbar.js +82 -44
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.css +66 -1
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +3 -3
- package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.js +17 -9
- package/dist/es/components/Switcher/Switcher.css +160 -1
- package/dist/es/components/Switcher/Switcher.d.ts +1 -2
- package/dist/es/components/Switcher/Switcher.js +39 -17
- package/dist/es/components/Tabs/Tab.d.ts +6 -0
- package/dist/es/components/Tabs/Tab.js +14 -0
- package/dist/es/components/Tabs/Tabs.css +306 -1
- package/dist/es/components/Tabs/Tabs.d.ts +5 -6
- package/dist/es/components/Tabs/Tabs.js +177 -87
- package/dist/es/components/TextField/TextField.css +343 -1
- package/dist/es/components/TextField/TextField.d.ts +3 -3
- package/dist/es/components/TextField/TextField.js +188 -80
- package/dist/es/components/TextField/utils/countGraphemes.js +18 -10
- package/dist/es/components/TextLink/TextLink.css +50 -1
- package/dist/es/components/TextLink/TextLink.d.ts +2 -2
- package/dist/es/components/TextLink/TextLink.js +27 -14
- package/dist/es/components/Tile/Tile.css +43 -1
- package/dist/es/components/Tile/Tile.d.ts +5 -7
- package/dist/es/components/Tile/Tile.js +36 -16
- package/dist/es/components/Tooltip/Tooltip.css +335 -1
- package/dist/es/components/Tooltip/Tooltip.d.ts +8 -9
- package/dist/es/components/Tooltip/Tooltip.js +139 -58
- package/dist/es/hooks/usePrevious.js +2 -0
- package/dist/es/hooks/useResolution.d.ts +1 -1
- package/dist/es/hooks/useResolution.js +11 -5
- package/dist/es/hooks/useSwipe.d.ts +1 -1
- package/dist/es/hooks/useSwipe.js +44 -17
- package/dist/es/index.d.ts +9 -16
- package/dist/es/index.js +10 -17
- package/dist/lib/colors/ColorItem/ColorItem.css +45 -1
- package/dist/lib/colors/ColorItem/ColorItem.d.ts +2 -2
- package/dist/lib/colors/ColorItem/ColorItem.js +18 -9
- package/dist/lib/colors/Colors.css +233 -1
- package/dist/lib/colors/Colors.d.ts +1 -1
- package/dist/lib/colors/Colors.js +79 -37
- package/dist/lib/colors/colorsData.d.ts +4 -4
- package/dist/lib/colors/colorsData.js +2 -1
- package/dist/lib/components/Accordion/Accordion.css +89 -1
- package/dist/lib/components/Accordion/Accordion.d.ts +1 -2
- package/dist/lib/components/Accordion/Accordion.js +81 -26
- package/dist/lib/components/Avatar/Avatar.css +52 -1
- package/dist/lib/components/Avatar/Avatar.d.ts +1 -1
- package/dist/lib/components/Avatar/Avatar.js +41 -13
- package/dist/lib/components/Avatar/doc/i/img.png +0 -0
- package/dist/lib/components/Badges/components/CounterBadge/CounterBadge.css +54 -0
- package/dist/lib/components/Badges/{CounterBadge → components/CounterBadge}/CounterBadge.d.ts +2 -2
- package/dist/lib/components/Badges/components/CounterBadge/CounterBadge.js +81 -0
- package/dist/lib/components/Badges/components/NotificationBadge/NotificationBadge.css +58 -0
- package/dist/lib/components/Badges/{NotificationBadge → components/NotificationBadge}/NotificationBadge.d.ts +4 -3
- package/dist/lib/components/Badges/components/NotificationBadge/NotificationBadge.js +71 -0
- package/dist/lib/components/Badges/components/PriceBadge/PriceBadge.css +119 -0
- package/dist/lib/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.d.ts +4 -4
- package/dist/lib/components/Badges/{PriceBadge → components/PriceBadge}/PriceBadge.js +75 -19
- package/dist/lib/components/Badges/components/PromoBadge/PromoBadge.css +64 -0
- package/dist/{es/components/Badges → lib/components/Badges/components}/PromoBadge/PromoBadge.d.ts +3 -3
- package/dist/lib/components/Badges/components/PromoBadge/PromoBadge.js +76 -0
- package/dist/lib/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.js +55 -11
- package/dist/lib/components/Badges/components/TimerBadge/TimerBadge.css +60 -0
- package/dist/{es/components/Badges → lib/components/Badges/components}/TimerBadge/TimerBadge.d.ts +2 -2
- package/dist/lib/components/Badges/components/TimerBadge/TimerBadge.js +135 -0
- package/dist/lib/components/Banner/Banner.css +195 -1
- package/dist/lib/components/Banner/Banner.d.ts +4 -5
- package/dist/lib/components/Banner/Banner.js +160 -72
- package/dist/lib/components/Banner/BannerDot.css +69 -1
- package/dist/lib/components/Banner/BannerDot.d.ts +1 -1
- package/dist/lib/components/Banner/BannerDot.js +36 -10
- package/dist/lib/components/Banner/slidesSettings.d.ts +2 -4
- package/dist/lib/components/Banner/slidesSettings.js +11 -4
- package/dist/lib/components/Button/Button.css +814 -1
- package/dist/lib/components/Button/Button.d.ts +6 -7
- package/dist/lib/components/Button/Button.js +157 -70
- package/dist/lib/components/Calendar/Calendar.css +5 -1
- package/dist/lib/components/Calendar/Calendar.d.ts +2 -2
- package/dist/lib/components/Calendar/Calendar.js +148 -70
- package/dist/lib/components/Calendar/components/Day/Day.css +128 -0
- 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 +117 -0
- package/dist/lib/components/Calendar/components/Month/Month.css +81 -0
- package/dist/lib/components/Calendar/components/{_Month → Month}/Month.d.ts +2 -3
- package/dist/lib/components/Calendar/components/Month/Month.js +122 -0
- package/dist/lib/components/Caption/Caption.css +48 -1
- package/dist/lib/components/Caption/Caption.d.ts +2 -4
- package/dist/lib/components/Caption/Caption.js +40 -15
- package/dist/lib/components/Carousel/Carousel.css +215 -1
- package/dist/lib/components/Carousel/Carousel.d.ts +10 -11
- package/dist/lib/components/Carousel/Carousel.js +226 -195
- package/dist/lib/components/Carousel/checkBreakpointsPropTypes.d.ts +1 -1
- package/dist/lib/components/Carousel/checkBreakpointsPropTypes.js +17 -5
- package/dist/lib/components/Carousel/useGradient.d.ts +1 -1
- package/dist/lib/components/Carousel/useGradient.js +24 -11
- package/dist/lib/components/Checkbox/Checkbox.css +150 -1
- package/dist/lib/components/Checkbox/Checkbox.d.ts +4 -4
- package/dist/lib/components/Checkbox/Checkbox.js +74 -34
- package/dist/lib/components/Chips/Chip.css +132 -1
- package/dist/lib/components/Chips/Chip.d.ts +26 -6
- package/dist/lib/components/Chips/Chip.js +75 -35
- package/dist/lib/components/Chips/Chips.css +19 -1
- package/dist/lib/components/Chips/Chips.d.ts +2 -2
- package/dist/lib/components/Chips/Chips.js +91 -46
- package/dist/lib/components/Chips/components/ChipsDropdown.css +106 -1
- package/dist/lib/components/Chips/components/ChipsDropdown.d.ts +2 -2
- package/dist/lib/components/Chips/components/ChipsDropdown.js +66 -30
- package/dist/lib/components/Collapse/Collapse.css +3 -0
- package/dist/{es/components/_Collapse → lib/components/Collapse}/Collapse.d.ts +3 -3
- package/dist/lib/components/Collapse/Collapse.js +141 -0
- package/dist/lib/components/ContentArea/ContentArea.css +109 -1
- package/dist/lib/components/ContentArea/ContentArea.d.ts +4 -5
- package/dist/lib/components/ContentArea/ContentArea.js +43 -13
- package/dist/lib/components/ContentView/ContentView.css +103 -1
- package/dist/lib/components/ContentView/ContentView.d.ts +2 -3
- package/dist/lib/components/ContentView/ContentView.js +62 -16
- package/dist/lib/components/Counter/Counter.css +123 -1
- package/dist/lib/components/Counter/Counter.d.ts +1 -1
- package/dist/lib/components/Counter/Counter.js +70 -24
- package/dist/lib/components/Grid/Grid.css +102 -1
- package/dist/lib/components/Grid/Grid.d.ts +1 -1
- package/dist/lib/components/Grid/Grid.js +39 -12
- package/dist/lib/components/Grid/GridColumn.css +3102 -1
- package/dist/lib/components/Grid/GridColumn.d.ts +2 -2
- package/dist/lib/components/Grid/GridColumn.js +76 -37
- package/dist/lib/components/Header/Header.css +122 -1
- package/dist/lib/components/Header/Header.d.ts +1 -3
- package/dist/lib/components/Header/Header.js +42 -17
- package/dist/lib/components/Link/Link.d.ts +2 -2
- package/dist/lib/components/Link/Link.js +33 -14
- package/dist/lib/components/List/List.css +66 -1
- package/dist/lib/components/List/List.d.ts +1 -2
- package/dist/lib/components/List/List.js +30 -12
- package/dist/lib/components/List/ListItem.css +6 -1
- package/dist/lib/components/List/ListItem.d.ts +1 -2
- package/dist/lib/components/List/ListItem.js +19 -5
- package/dist/lib/components/ListData/ListData.css +162 -1
- package/dist/lib/components/ListData/ListData.d.ts +34 -6
- package/dist/lib/components/ListData/ListData.js +110 -50
- package/dist/lib/components/ListData/ListDataGroup.css +15 -1
- package/dist/lib/components/ListData/ListDataGroup.d.ts +4 -4
- package/dist/lib/components/ListData/ListDataGroup.js +117 -47
- package/dist/lib/components/ListData/components/ListDataSortable.css +79 -1
- package/dist/lib/components/ListData/components/ListDataSortable.d.ts +4 -4
- package/dist/lib/components/ListData/components/ListDataSortable.js +73 -34
- package/dist/lib/components/ListData/doc/i/img.png +0 -0
- package/dist/lib/components/ListData/helpers.js +24 -6
- package/dist/lib/components/Logo/Logo.css +43 -1
- package/dist/lib/components/Logo/Logo.d.ts +1 -1
- package/dist/lib/components/Logo/Logo.js +40 -13
- package/dist/lib/components/NavArrow/NavArrow.css +63 -1
- package/dist/lib/components/NavArrow/NavArrow.d.ts +3 -3
- package/dist/lib/components/NavArrow/NavArrow.js +46 -14
- package/dist/lib/components/Notification/Notification.css +350 -1
- package/dist/lib/components/Notification/Notification.d.ts +4 -5
- package/dist/lib/components/Notification/Notification.js +200 -113
- package/dist/lib/components/Pagination/Pagination.css +5 -1
- package/dist/lib/components/Pagination/Pagination.d.ts +3 -4
- package/dist/lib/components/Pagination/Pagination.js +50 -18
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +62 -1
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +4 -5
- package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +34 -11
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.css +10 -1
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +2 -3
- package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +31 -6
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.css +17 -1
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +2 -3
- package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +31 -8
- package/dist/lib/components/Pagination/helpers.js +6 -1
- package/dist/lib/components/Pagination/usePagination.d.ts +1 -2
- package/dist/lib/components/Pagination/usePagination.js +35 -9
- package/dist/lib/components/Paragraph/Paragraph.css +43 -1
- package/dist/lib/components/Paragraph/Paragraph.d.ts +2 -4
- package/dist/lib/components/Paragraph/Paragraph.js +37 -13
- package/dist/lib/components/Preloader/Preloader.css +224 -1
- package/dist/lib/components/Preloader/Preloader.d.ts +3 -3
- package/dist/lib/components/Preloader/Preloader.js +57 -22
- package/dist/lib/components/RadioButton/RadioButton.css +120 -1
- package/dist/lib/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/lib/components/RadioButton/RadioButton.js +69 -22
- package/dist/lib/components/Row/Row.css +238 -1
- package/dist/lib/components/Row/Row.d.ts +2 -2
- package/dist/lib/components/Row/Row.js +75 -39
- package/dist/lib/components/Search/Search.css +453 -1
- package/dist/lib/components/Search/Search.d.ts +8 -7
- package/dist/lib/components/Search/Search.js +261 -121
- package/dist/lib/components/Select/Select.css +389 -1
- package/dist/lib/components/Select/Select.d.ts +84 -8
- package/dist/lib/components/Select/Select.js +186 -69
- package/dist/lib/components/Select/reducer/selectReducer.d.ts +1 -1
- package/dist/lib/components/Select/reducer/selectReducer.js +41 -21
- package/dist/lib/components/Selector/Selector.css +132 -1
- package/dist/lib/components/Selector/Selector.d.ts +1 -1
- package/dist/lib/components/Selector/Selector.js +70 -27
- package/dist/lib/components/Selector/doc/Selector.example.css +17 -0
- package/dist/lib/components/Sliders/Slider/Slider.css +128 -1
- package/dist/lib/components/Sliders/Slider/Slider.d.ts +1 -1
- package/dist/lib/components/Sliders/Slider/Slider.js +75 -29
- package/dist/lib/components/Sliders/SliderRange/SliderRange.css +169 -1
- package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +1 -1
- package/dist/lib/components/Sliders/SliderRange/SliderRange.js +100 -37
- package/dist/lib/components/Sliders/SliderRange/helpers.js +18 -5
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +219 -1
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.d.ts +1 -1
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.js +111 -40
- package/dist/lib/components/Sliders/SliderRatio/helpers.js +27 -8
- package/dist/lib/components/Sliders/SliderRatio/types.d.ts +1 -1
- package/dist/lib/components/Sliders/SliderRatio/types.js +2 -0
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +84 -1
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +2 -2
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +56 -17
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +15 -1
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +2 -2
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +39 -11
- package/dist/lib/components/Sliders/components/SliderScale/helpers.js +33 -15
- package/dist/lib/components/Sliders/helpers.js +22 -5
- package/dist/lib/components/Snackbar/Snackbar.css +220 -1
- package/dist/lib/components/Snackbar/Snackbar.d.ts +3 -3
- package/dist/lib/components/Snackbar/Snackbar.js +138 -81
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.css +66 -1
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.d.ts +3 -3
- package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.js +36 -17
- package/dist/lib/components/Switcher/Switcher.css +160 -1
- package/dist/lib/components/Switcher/Switcher.d.ts +1 -2
- package/dist/lib/components/Switcher/Switcher.js +52 -21
- package/dist/lib/components/Tabs/Tab.d.ts +6 -0
- package/dist/lib/components/Tabs/Tab.js +26 -5
- package/dist/lib/components/Tabs/Tabs.css +306 -1
- package/dist/lib/components/Tabs/Tabs.d.ts +5 -6
- package/dist/lib/components/Tabs/Tabs.js +209 -95
- package/dist/lib/components/TextField/TextField.css +343 -1
- package/dist/lib/components/TextField/TextField.d.ts +3 -3
- package/dist/lib/components/TextField/TextField.js +238 -113
- package/dist/lib/components/TextField/utils/countGraphemes.js +28 -11
- package/dist/lib/components/TextLink/TextLink.css +50 -1
- package/dist/lib/components/TextLink/TextLink.d.ts +2 -2
- package/dist/lib/components/TextLink/TextLink.js +41 -18
- package/dist/lib/components/Tile/Tile.css +43 -1
- package/dist/lib/components/Tile/Tile.d.ts +5 -7
- package/dist/lib/components/Tile/Tile.js +54 -26
- package/dist/lib/components/Tooltip/Tooltip.css +335 -1
- package/dist/lib/components/Tooltip/Tooltip.d.ts +8 -9
- package/dist/lib/components/Tooltip/Tooltip.js +218 -110
- package/dist/lib/constants/throttleTime.js +3 -2
- package/dist/lib/hooks/usePrevious.js +11 -4
- package/dist/lib/hooks/useResolution.d.ts +1 -1
- package/dist/lib/hooks/useResolution.js +23 -9
- package/dist/lib/hooks/useSwipe.d.ts +1 -1
- package/dist/lib/hooks/useSwipe.js +63 -21
- package/dist/lib/index.d.ts +9 -16
- package/dist/lib/index.js +101 -82
- package/package.json +101 -106
- package/styles/base.less +171 -0
- package/styles/colors.css +0 -53
- package/dist/es/components/Badges/CounterBadge/CounterBadge.css +0 -1
- package/dist/es/components/Badges/NotificationBadge/NotificationBadge.css +0 -1
- package/dist/es/components/Badges/NotificationBadge/NotificationBadge.js +0 -34
- package/dist/es/components/Badges/PriceBadge/PriceBadge.css +0 -1
- package/dist/es/components/Badges/PromoBadge/PromoBadge.css +0 -1
- package/dist/es/components/Badges/TimerBadge/TimerBadge.css +0 -1
- package/dist/es/components/Calendar/components/_Day/Day.css +0 -1
- package/dist/es/components/Calendar/components/_Month/Month.css +0 -1
- package/dist/es/components/Modal/Modal.css +0 -1
- package/dist/es/components/Modal/Modal.d.ts +0 -106
- package/dist/es/components/Modal/Modal.js +0 -277
- package/dist/es/components/Modal/_ModalContent/ModalContent.css +0 -1
- package/dist/es/components/Modal/_ModalContent/ModalContent.d.ts +0 -8
- package/dist/es/components/Modal/_ModalContent/ModalContent.js +0 -167
- package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.css +0 -1
- package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.d.ts +0 -8
- package/dist/es/components/Modal/_ModalDesktop/ModalDesktop.js +0 -32
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +0 -1
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +0 -12
- package/dist/es/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +0 -114
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +0 -1
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +0 -8
- package/dist/es/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +0 -55
- package/dist/es/components/Modal/mocks.d.ts +0 -3
- package/dist/es/components/Modal/mocks.js +0 -79
- package/dist/es/components/Modal/types.d.ts +0 -28
- package/dist/es/components/Modal/types.js +0 -1
- package/dist/es/components/Modal/utils/utils.d.ts +0 -18
- package/dist/es/components/Modal/utils/utils.js +0 -66
- package/dist/es/components/ScrollBar/ScrollBar.css +0 -1
- package/dist/es/components/ScrollBar/ScrollBar.d.ts +0 -34
- package/dist/es/components/ScrollBar/ScrollBar.js +0 -86
- package/dist/es/components/_Collapse/Collapse.css +0 -1
- package/dist/es/styles/base.css +0 -1
- package/dist/lib/components/Badges/CounterBadge/CounterBadge.css +0 -1
- package/dist/lib/components/Badges/CounterBadge/CounterBadge.js +0 -52
- package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.css +0 -1
- package/dist/lib/components/Badges/NotificationBadge/NotificationBadge.js +0 -43
- package/dist/lib/components/Badges/PriceBadge/PriceBadge.css +0 -1
- package/dist/lib/components/Badges/PromoBadge/PromoBadge.css +0 -1
- package/dist/lib/components/Badges/PromoBadge/PromoBadge.js +0 -49
- package/dist/lib/components/Badges/TimerBadge/TimerBadge.css +0 -1
- package/dist/lib/components/Badges/TimerBadge/TimerBadge.js +0 -97
- package/dist/lib/components/Calendar/components/_Day/Day.css +0 -1
- package/dist/lib/components/Calendar/components/_Day/Day.js +0 -75
- package/dist/lib/components/Calendar/components/_Month/Month.css +0 -1
- package/dist/lib/components/Calendar/components/_Month/Month.js +0 -93
- package/dist/lib/components/Modal/Modal.css +0 -1
- package/dist/lib/components/Modal/Modal.d.ts +0 -106
- package/dist/lib/components/Modal/Modal.js +0 -286
- package/dist/lib/components/Modal/_ModalContent/ModalContent.css +0 -1
- package/dist/lib/components/Modal/_ModalContent/ModalContent.d.ts +0 -8
- package/dist/lib/components/Modal/_ModalContent/ModalContent.js +0 -176
- package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.css +0 -1
- package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.d.ts +0 -8
- package/dist/lib/components/Modal/_ModalDesktop/ModalDesktop.js +0 -41
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.css +0 -1
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.d.ts +0 -12
- package/dist/lib/components/Modal/_ModalMobileBottom/ModalMobileBottom.js +0 -123
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.css +0 -1
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.d.ts +0 -8
- package/dist/lib/components/Modal/_ModalMobileFullScreen/ModalMobileFullScreen.js +0 -64
- package/dist/lib/components/Modal/mocks.d.ts +0 -3
- package/dist/lib/components/Modal/mocks.js +0 -85
- package/dist/lib/components/Modal/types.d.ts +0 -28
- package/dist/lib/components/Modal/types.js +0 -5
- package/dist/lib/components/Modal/utils/utils.d.ts +0 -18
- package/dist/lib/components/Modal/utils/utils.js +0 -72
- package/dist/lib/components/ScrollBar/ScrollBar.css +0 -1
- package/dist/lib/components/ScrollBar/ScrollBar.d.ts +0 -34
- package/dist/lib/components/ScrollBar/ScrollBar.js +0 -94
- package/dist/lib/components/_Collapse/Collapse.css +0 -1
- package/dist/lib/components/_Collapse/Collapse.js +0 -95
- package/dist/lib/styles/base.css +0 -1
- package/styles/base.scss +0 -150
- /package/dist/es/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.d.ts +0 -0
- /package/dist/lib/components/Badges/{TimerBadge/components → components/TimerBadge}/Timer/Timer.d.ts +0 -0
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
-
import "core-js/modules/es.array.concat.js";
|
|
4
3
|
import "core-js/modules/es.function.name.js";
|
|
5
|
-
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
6
4
|
import "core-js/modules/es.parse-float.js";
|
|
7
5
|
import "core-js/modules/es.regexp.exec.js";
|
|
8
6
|
import "core-js/modules/es.string.replace.js";
|
|
7
|
+
import "core-js/modules/es.object.get-own-property-descriptor.js";
|
|
8
|
+
import "core-js/modules/es.array.concat.js";
|
|
9
|
+
import "core-js/modules/es.object.values.js";
|
|
10
|
+
|
|
9
11
|
/* eslint-disable react/no-multi-comp */
|
|
10
12
|
import * as React from 'react';
|
|
11
13
|
import { useCallback, useEffect, useState, useRef, useMemo } from 'react';
|
|
12
14
|
import { checkEventIsClickOrEnterPress, cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
|
13
|
-
import InputMask from '@mona-health/react-input-mask';
|
|
14
15
|
import throttle from 'lodash.throttle';
|
|
16
|
+
import * as PropTypes from 'prop-types';
|
|
17
|
+
import InputMask from 'react-input-mask';
|
|
15
18
|
import throttleTime from "../../constants/throttleTime";
|
|
16
19
|
import countGraphemes from "./utils/countGraphemes";
|
|
17
20
|
import "./TextField.css";
|
|
21
|
+
|
|
18
22
|
var Hide = function Hide(props) {
|
|
19
23
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
20
24
|
viewBox: "0 0 32 32"
|
|
@@ -22,6 +26,7 @@ var Hide = function Hide(props) {
|
|
|
22
26
|
d: "M5.82 17.45l-1.65 2.31L5.8 21l1.65-2.3a15.9 15.9 0 002.67 1.3l-.87 2.71 1.92.63.86-2.7a15.64 15.64 0 003 .48V24h2v-2.84a15.64 15.64 0 003-.48l.86 2.7 1.92-.63-.93-2.75a15.9 15.9 0 002.67-1.38L26.2 21l1.63-1.2-1.65-2.31a16.16 16.16 0 001.82-1.8l-1.51-1.35a13.8 13.8 0 01-21 0L4 15.69a16.15 16.15 0 001.82 1.76zM23 11.92l1-1.77a16 16 0 00-16 0l1 1.77a14 14 0 0114 0z"
|
|
23
27
|
}));
|
|
24
28
|
};
|
|
29
|
+
|
|
25
30
|
var Show = function Show(props) {
|
|
26
31
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
27
32
|
viewBox: "0 0 32 32"
|
|
@@ -31,6 +36,7 @@ var Show = function Show(props) {
|
|
|
31
36
|
d: "M20 16a4 4 0 10-4 4 4 4 0 004-4zm-6 0a2 2 0 112 2 2 2 0 01-2-2z"
|
|
32
37
|
}));
|
|
33
38
|
};
|
|
39
|
+
|
|
34
40
|
var ClearIcon = function ClearIcon(props) {
|
|
35
41
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
36
42
|
viewBox: "0 0 32 32"
|
|
@@ -39,6 +45,7 @@ var ClearIcon = function ClearIcon(props) {
|
|
|
39
45
|
d: "M16 14.5L11.5 10 10 11.5l4.5 4.5-4.5 4.5 1.5 1.5 4.5-4.5 4.5 4.5 1.5-1.5-4.5-4.5 4.5-4.5-1.5-1.5-4.5 4.5z"
|
|
40
46
|
}));
|
|
41
47
|
};
|
|
48
|
+
|
|
42
49
|
var CheckedIcon = function CheckedIcon(props) {
|
|
43
50
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
44
51
|
viewBox: "0 0 32 32"
|
|
@@ -46,6 +53,7 @@ var CheckedIcon = function CheckedIcon(props) {
|
|
|
46
53
|
d: "M22.2 9l-7.8 9.4-3.6-3.7L9 16.5c3.6 3.7 5.4 5.5 5.5 5.5.1 0 3.3-3.8 9.5-11.3L22.2 9z"
|
|
47
54
|
}));
|
|
48
55
|
};
|
|
56
|
+
|
|
49
57
|
var ResizeIcon = function ResizeIcon(props) {
|
|
50
58
|
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
51
59
|
width: 12,
|
|
@@ -54,6 +62,7 @@ var ResizeIcon = function ResizeIcon(props) {
|
|
|
54
62
|
d: "M1 11L11 1M7 11l4-4"
|
|
55
63
|
}));
|
|
56
64
|
};
|
|
65
|
+
|
|
57
66
|
var TEXTAREA_MAX_HEIGHT = 144;
|
|
58
67
|
var DEFAULT_LABEL_TOP_POSITION = 16;
|
|
59
68
|
var DEFAULT_ROW_COUNT = 3;
|
|
@@ -77,83 +86,92 @@ export var MinTextareaHeight = {
|
|
|
77
86
|
THREE_ROWS: ROW_HEIGHT * DEFAULT_ROW_COUNT
|
|
78
87
|
};
|
|
79
88
|
var cn = cnCreate('mfui-text-field');
|
|
89
|
+
|
|
80
90
|
var TextField = function TextField(_ref) {
|
|
81
91
|
var className = _ref.className,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
92
|
+
customIcon = _ref.customIcon,
|
|
93
|
+
disabled = _ref.disabled,
|
|
94
|
+
_ref$hideIcon = _ref.hideIcon,
|
|
95
|
+
hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,
|
|
96
|
+
id = _ref.id,
|
|
97
|
+
label = _ref.label,
|
|
98
|
+
mask = _ref.mask,
|
|
99
|
+
maskChar = _ref.maskChar,
|
|
100
|
+
maxLength = _ref.maxLength,
|
|
101
|
+
graphemesCounter = _ref.graphemesCounter,
|
|
102
|
+
symbolCounter = _ref.symbolCounter,
|
|
103
|
+
_ref$textarea = _ref.textarea,
|
|
104
|
+
textarea = _ref$textarea === void 0 ? false : _ref$textarea,
|
|
105
|
+
name = _ref.name,
|
|
106
|
+
_ref$hidePlaceholder = _ref.hidePlaceholder,
|
|
107
|
+
hidePlaceholder = _ref$hidePlaceholder === void 0 ? false : _ref$hidePlaceholder,
|
|
108
|
+
placeholder = _ref.placeholder,
|
|
109
|
+
required = _ref.required,
|
|
110
|
+
_ref$isControlled = _ref.isControlled,
|
|
111
|
+
isControlled = _ref$isControlled === void 0 ? false : _ref$isControlled,
|
|
112
|
+
_ref$minTextareaHeigh = _ref.minTextareaHeight,
|
|
113
|
+
minTextareaHeight = _ref$minTextareaHeigh === void 0 ? MinTextareaHeight.THREE_ROWS : _ref$minTextareaHeigh,
|
|
114
|
+
_ref$disableEnterLine = _ref.disableEnterLineBreak,
|
|
115
|
+
disableEnterLineBreak = _ref$disableEnterLine === void 0 ? false : _ref$disableEnterLine,
|
|
116
|
+
_ref$hideResizeButton = _ref.hideResizeButton,
|
|
117
|
+
hideResizeButton = _ref$hideResizeButton === void 0 ? false : _ref$hideResizeButton,
|
|
118
|
+
onBlur = _ref.onBlur,
|
|
119
|
+
onChange = _ref.onChange,
|
|
120
|
+
onBeforeMaskChange = _ref.onBeforeMaskChange,
|
|
121
|
+
onIconClick = _ref.onIconClick,
|
|
122
|
+
onFocus = _ref.onFocus,
|
|
123
|
+
onKeyUp = _ref.onKeyUp,
|
|
124
|
+
_ref$theme = _ref.theme,
|
|
125
|
+
theme = _ref$theme === void 0 ? 'default' : _ref$theme,
|
|
126
|
+
_ref$type = _ref.type,
|
|
127
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
|
128
|
+
_ref$value = _ref.value,
|
|
129
|
+
value = _ref$value === void 0 ? '' : _ref$value,
|
|
130
|
+
verification = _ref.verification,
|
|
131
|
+
_ref$noticeText = _ref.noticeText,
|
|
132
|
+
noticeText = _ref$noticeText === void 0 ? '' : _ref$noticeText,
|
|
133
|
+
inputRef = _ref.inputRef,
|
|
134
|
+
inputMode = _ref.inputMode,
|
|
135
|
+
autoComplete = _ref.autoComplete,
|
|
136
|
+
_ref$classes = _ref.classes,
|
|
137
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
|
138
|
+
dataAttrs = _ref.dataAttrs;
|
|
139
|
+
|
|
129
140
|
var _useState = useState(true),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
141
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
142
|
+
isPasswordHidden = _useState2[0],
|
|
143
|
+
setPasswordHidden = _useState2[1];
|
|
144
|
+
|
|
133
145
|
var _useState3 = useState(value),
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
146
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
147
|
+
inputValue = _useState4[0],
|
|
148
|
+
setInputValue = _useState4[1];
|
|
149
|
+
|
|
137
150
|
var _useState5 = useState(minTextareaHeight),
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
151
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
152
|
+
textareaHeight = _useState6[0],
|
|
153
|
+
setTextareaHeight = _useState6[1];
|
|
154
|
+
|
|
141
155
|
var _useState7 = useState(false),
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
156
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
157
|
+
isMaxLimitExceeded = _useState8[0],
|
|
158
|
+
setIsMaxLimitExceeded = _useState8[1];
|
|
159
|
+
|
|
145
160
|
var _useState9 = useState(noticeText),
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
161
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
162
|
+
currentNoticeText = _useState10[0],
|
|
163
|
+
setCurrentNoticeText = _useState10[1];
|
|
164
|
+
|
|
149
165
|
var _useState11 = useState(false),
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
166
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
167
|
+
isTextareaResizeFocused = _useState12[0],
|
|
168
|
+
setIsTextareaResizeFocused = _useState12[1];
|
|
169
|
+
|
|
153
170
|
var _useState13 = useState(false),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
171
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
172
|
+
isTextareaResized = _useState14[0],
|
|
173
|
+
setIsTextareaResized = _useState14[1];
|
|
174
|
+
|
|
157
175
|
var fieldNode = useRef();
|
|
158
176
|
var labelRef = useRef(null);
|
|
159
177
|
var resizerRef = useRef(null);
|
|
@@ -171,9 +189,11 @@ var TextField = function TextField(_ref) {
|
|
|
171
189
|
var actualPlaceholder = placeholder || DEFAULT_PLACEHOLDERS[type];
|
|
172
190
|
var checkSymbolMaxLimit = useCallback(function () {
|
|
173
191
|
var textareaValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
192
|
+
|
|
174
193
|
if (!symbolCounter) {
|
|
175
194
|
return;
|
|
176
195
|
}
|
|
196
|
+
|
|
177
197
|
var countValue = graphemesCounter ? countGraphemes(String(textareaValue)) : String(textareaValue).length;
|
|
178
198
|
setIsMaxLimitExceeded(symbolCounter < countValue);
|
|
179
199
|
}, [graphemesCounter, symbolCounter]);
|
|
@@ -181,12 +201,16 @@ var TextField = function TextField(_ref) {
|
|
|
181
201
|
if (!textarea || !fieldNode.current || isTextareaResized) {
|
|
182
202
|
return;
|
|
183
203
|
}
|
|
204
|
+
|
|
184
205
|
fieldNode.current.style.height = "".concat(minTextareaHeight, "px");
|
|
185
206
|
var scrollHeight = fieldNode.current.scrollHeight;
|
|
207
|
+
|
|
186
208
|
var _window$getComputedSt = window.getComputedStyle(fieldNode.current),
|
|
187
|
-
|
|
188
|
-
|
|
209
|
+
paddingTop = _window$getComputedSt.paddingTop,
|
|
210
|
+
paddingBottom = _window$getComputedSt.paddingBottom;
|
|
211
|
+
|
|
189
212
|
var innerHeight = scrollHeight - parseFloat(paddingTop) - parseFloat(paddingBottom);
|
|
213
|
+
|
|
190
214
|
if (innerHeight >= TEXTAREA_MAX_HEIGHT) {
|
|
191
215
|
fieldNode.current.style.height = "".concat(TEXTAREA_MAX_HEIGHT, "px");
|
|
192
216
|
} else {
|
|
@@ -204,10 +228,12 @@ var TextField = function TextField(_ref) {
|
|
|
204
228
|
if (!resizerRef.current || textarea !== TextareaTypes.FLEXIBLE) {
|
|
205
229
|
return;
|
|
206
230
|
}
|
|
231
|
+
|
|
207
232
|
var handleStartResize = function handleStartResize(downEvent) {
|
|
208
233
|
if (!fieldNode.current) {
|
|
209
234
|
return;
|
|
210
235
|
}
|
|
236
|
+
|
|
211
237
|
setIsTextareaResizeFocused(true);
|
|
212
238
|
downEvent.preventDefault();
|
|
213
239
|
var originalHeight = parseFloat(getComputedStyle(fieldNode.current).getPropertyValue('height').replace('px', ''));
|
|
@@ -219,6 +245,7 @@ var TextField = function TextField(_ref) {
|
|
|
219
245
|
setTextareaHeight(updatedHeight);
|
|
220
246
|
setIsTextareaResized(true);
|
|
221
247
|
}, throttleTime.resizeTextarea);
|
|
248
|
+
|
|
222
249
|
var handleResizeCancel = function handleResizeCancel() {
|
|
223
250
|
setIsTextareaResizeFocused(false);
|
|
224
251
|
window.removeEventListener('mousemove', handleResize);
|
|
@@ -226,11 +253,13 @@ var TextField = function TextField(_ref) {
|
|
|
226
253
|
window.removeEventListener('mouseup', handleResizeCancel);
|
|
227
254
|
window.removeEventListener('touchend', handleResizeCancel);
|
|
228
255
|
};
|
|
256
|
+
|
|
229
257
|
window.addEventListener('mousemove', handleResize);
|
|
230
258
|
window.addEventListener('touchmove', handleResize);
|
|
231
259
|
window.addEventListener('mouseup', handleResizeCancel);
|
|
232
260
|
window.addEventListener('touchend', handleResizeCancel);
|
|
233
261
|
};
|
|
262
|
+
|
|
234
263
|
resizerRef.current.addEventListener('mousedown', handleStartResize);
|
|
235
264
|
resizerRef.current.addEventListener('touchstart', handleStartResize);
|
|
236
265
|
}, [textarea, minTextareaHeight]);
|
|
@@ -239,32 +268,42 @@ var TextField = function TextField(_ref) {
|
|
|
239
268
|
return !prevPassState;
|
|
240
269
|
});
|
|
241
270
|
}, []);
|
|
271
|
+
|
|
242
272
|
var handleInputChange = function handleInputChange(e) {
|
|
243
273
|
!isControlled && setInputValue(e.target.value);
|
|
244
274
|
checkSymbolMaxLimit(e.target.value);
|
|
245
275
|
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
246
276
|
};
|
|
277
|
+
|
|
247
278
|
var handleNoticeTransitionEnd = useCallback(function () {
|
|
248
279
|
!noticeText && setCurrentNoticeText(noticeText);
|
|
249
280
|
}, [noticeText]);
|
|
281
|
+
|
|
250
282
|
var handleTextareaScroll = function handleTextareaScroll() {
|
|
251
283
|
if (!(fieldNode === null || fieldNode === void 0 ? void 0 : fieldNode.current) || !(labelRef === null || labelRef === void 0 ? void 0 : labelRef.current)) {
|
|
252
284
|
return;
|
|
253
285
|
}
|
|
286
|
+
|
|
254
287
|
var scrollTop = fieldNode.current.scrollTop;
|
|
288
|
+
|
|
255
289
|
if (!scrollTop) {
|
|
256
290
|
labelRef.current.style.top = '';
|
|
257
291
|
return;
|
|
258
292
|
}
|
|
293
|
+
|
|
259
294
|
labelRef.current.style.top = "".concat(DEFAULT_LABEL_TOP_POSITION - scrollTop, "px");
|
|
260
295
|
};
|
|
296
|
+
|
|
261
297
|
var handleTextareaKeyDown = function handleTextareaKeyDown(e) {
|
|
262
298
|
checkEventIsClickOrEnterPress(e) && !e.shiftKey && e.preventDefault();
|
|
263
299
|
};
|
|
300
|
+
|
|
264
301
|
var handleIconClick = useCallback(function (e) {
|
|
265
302
|
var _a;
|
|
303
|
+
|
|
266
304
|
var field = fieldNode.current;
|
|
267
305
|
isPasswordType && togglePasswordHiding();
|
|
306
|
+
|
|
268
307
|
if (!customIcon && hasClearIcon) {
|
|
269
308
|
var nativeInputValue = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value');
|
|
270
309
|
var inputEvent = new Event('change', {
|
|
@@ -274,6 +313,7 @@ var TextField = function TextField(_ref) {
|
|
|
274
313
|
field === null || field === void 0 ? void 0 : field.dispatchEvent(inputEvent);
|
|
275
314
|
field === null || field === void 0 ? void 0 : field.focus();
|
|
276
315
|
}
|
|
316
|
+
|
|
277
317
|
onIconClick === null || onIconClick === void 0 ? void 0 : onIconClick(e);
|
|
278
318
|
}, [isPasswordType, togglePasswordHiding, onIconClick, customIcon, hasClearIcon]);
|
|
279
319
|
var handleFocus = useCallback(function (e) {
|
|
@@ -282,12 +322,11 @@ var TextField = function TextField(_ref) {
|
|
|
282
322
|
var handleBlur = useCallback(function (e) {
|
|
283
323
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
|
|
284
324
|
}, [onBlur]);
|
|
285
|
-
var handleBeforeMaskChange = useCallback(function (
|
|
286
|
-
|
|
287
|
-
nextState = _ref2.nextState;
|
|
288
|
-
return onBeforeMaskChange === null || onBeforeMaskChange === void 0 ? void 0 : onBeforeMaskChange(nextState.enteredString, nextState, previousState);
|
|
325
|
+
var handleBeforeMaskChange = useCallback(function (newState, oldState, inputedValue) {
|
|
326
|
+
return onBeforeMaskChange && onBeforeMaskChange(inputedValue, newState, oldState);
|
|
289
327
|
}, [onBeforeMaskChange]);
|
|
290
328
|
var textareaType = textarea === TextareaTypes.FLEXIBLE ? TextareaTypes.FLEXIBLE : TextareaTypes.FIXED;
|
|
329
|
+
|
|
291
330
|
var commonParams = _extends(_extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.input)), {
|
|
292
331
|
disabled: disabled,
|
|
293
332
|
id: id,
|
|
@@ -302,6 +341,7 @@ var TextField = function TextField(_ref) {
|
|
|
302
341
|
required: required,
|
|
303
342
|
inputMode: inputMode
|
|
304
343
|
});
|
|
344
|
+
|
|
305
345
|
var inputParams = _extends(_extends({}, commonParams), {
|
|
306
346
|
className: cn('field', {
|
|
307
347
|
'no-icon': hideIcon
|
|
@@ -309,11 +349,13 @@ var TextField = function TextField(_ref) {
|
|
|
309
349
|
type: isVisiblePassword ? 'text' : type,
|
|
310
350
|
autoComplete: autoComplete
|
|
311
351
|
});
|
|
352
|
+
|
|
312
353
|
var inputMaskParams = {
|
|
313
354
|
mask: mask,
|
|
314
|
-
|
|
315
|
-
|
|
355
|
+
maskChar: maskChar,
|
|
356
|
+
beforeMaskedValueChange: onBeforeMaskChange ? handleBeforeMaskChange : undefined
|
|
316
357
|
};
|
|
358
|
+
|
|
317
359
|
var textareaParams = _extends(_extends({}, commonParams), {
|
|
318
360
|
className: cn('field', {
|
|
319
361
|
type: textareaType,
|
|
@@ -321,39 +363,48 @@ var TextField = function TextField(_ref) {
|
|
|
321
363
|
resized: isTextareaResizeFocused
|
|
322
364
|
}, classes === null || classes === void 0 ? void 0 : classes.input)
|
|
323
365
|
});
|
|
366
|
+
|
|
324
367
|
var getFieldNode = function getFieldNode(node) {
|
|
325
368
|
if (!node) {
|
|
326
369
|
return;
|
|
327
370
|
}
|
|
371
|
+
|
|
328
372
|
fieldNode.current = node;
|
|
329
373
|
inputRef === null || inputRef === void 0 ? void 0 : inputRef(node);
|
|
330
374
|
};
|
|
375
|
+
|
|
331
376
|
var getIcon = function getIcon() {
|
|
332
377
|
switch (true) {
|
|
333
378
|
case !!customIcon:
|
|
334
379
|
return customIcon;
|
|
380
|
+
|
|
335
381
|
case isPasswordType && isPasswordHidden:
|
|
336
382
|
return /*#__PURE__*/React.createElement(Hide, {
|
|
337
383
|
className: cn('icon')
|
|
338
384
|
});
|
|
385
|
+
|
|
339
386
|
case isPasswordType && !isPasswordHidden:
|
|
340
387
|
return /*#__PURE__*/React.createElement(Show, {
|
|
341
388
|
className: cn('icon')
|
|
342
389
|
});
|
|
390
|
+
|
|
343
391
|
case isValidVerification:
|
|
344
392
|
return /*#__PURE__*/React.createElement(CheckedIcon, {
|
|
345
393
|
className: cn('icon')
|
|
346
394
|
});
|
|
395
|
+
|
|
347
396
|
case hasClearIcon:
|
|
348
397
|
return /*#__PURE__*/React.createElement(ClearIcon, {
|
|
349
398
|
className: cn('icon', {
|
|
350
399
|
clear: true
|
|
351
400
|
})
|
|
352
401
|
});
|
|
402
|
+
|
|
353
403
|
default:
|
|
354
404
|
return undefined;
|
|
355
405
|
}
|
|
356
406
|
};
|
|
407
|
+
|
|
357
408
|
var renderLabel = function renderLabel() {
|
|
358
409
|
var currentLabel = label || actualPlaceholder;
|
|
359
410
|
return /*#__PURE__*/React.createElement("label", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.label), {
|
|
@@ -364,6 +415,7 @@ var TextField = function TextField(_ref) {
|
|
|
364
415
|
className: cn('require-mark')
|
|
365
416
|
}, "*"));
|
|
366
417
|
};
|
|
418
|
+
|
|
367
419
|
var renderTextarea = function renderTextarea() {
|
|
368
420
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("textarea", _extends({}, textareaParams, {
|
|
369
421
|
style: {
|
|
@@ -374,11 +426,14 @@ var TextField = function TextField(_ref) {
|
|
|
374
426
|
onScroll: handleTextareaScroll
|
|
375
427
|
})), renderLabel());
|
|
376
428
|
};
|
|
429
|
+
|
|
377
430
|
var renderIconBlock = function renderIconBlock() {
|
|
378
431
|
var icon = getIcon();
|
|
432
|
+
|
|
379
433
|
if (!icon) {
|
|
380
434
|
return undefined;
|
|
381
435
|
}
|
|
436
|
+
|
|
382
437
|
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.iconBox), {
|
|
383
438
|
className: cn('icon-box', {
|
|
384
439
|
error: isErrorVerification && !customIcon,
|
|
@@ -388,19 +443,23 @@ var TextField = function TextField(_ref) {
|
|
|
388
443
|
onClick: handleIconClick
|
|
389
444
|
}), icon);
|
|
390
445
|
};
|
|
446
|
+
|
|
391
447
|
var renderInput = function renderInput() {
|
|
392
448
|
return /*#__PURE__*/React.createElement(React.Fragment, null, mask ? /*#__PURE__*/React.createElement(InputMask, _extends({}, inputParams, inputMaskParams, {
|
|
393
|
-
|
|
449
|
+
inputRef: getFieldNode
|
|
394
450
|
})) : /*#__PURE__*/React.createElement("input", _extends({}, inputParams, {
|
|
395
451
|
ref: getFieldNode
|
|
396
452
|
})), renderLabel(), !hideIcon && renderIconBlock());
|
|
397
453
|
};
|
|
454
|
+
|
|
398
455
|
var renderField = function renderField() {
|
|
399
456
|
if (textarea) {
|
|
400
457
|
return renderTextarea();
|
|
401
458
|
}
|
|
459
|
+
|
|
402
460
|
return renderInput();
|
|
403
461
|
};
|
|
462
|
+
|
|
404
463
|
var isPlaceholderShowed = isPasswordType && isPasswordHidden && !!inputValue;
|
|
405
464
|
var valueHasSymbols = inputValue !== null && inputValue !== undefined;
|
|
406
465
|
var currentSymbolCount = valueHasSymbols && (graphemesCounter && countGraphemes(String(inputValue)) || String(inputValue).length) || 0;
|
|
@@ -435,4 +494,53 @@ var TextField = function TextField(_ref) {
|
|
|
435
494
|
})
|
|
436
495
|
}, "".concat(currentSymbolCount, "/").concat(symbolCounter))));
|
|
437
496
|
};
|
|
497
|
+
|
|
498
|
+
TextField.propTypes = {
|
|
499
|
+
textarea: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(Object.values(TextareaTypes))]),
|
|
500
|
+
label: PropTypes.string,
|
|
501
|
+
theme: PropTypes.oneOf(['default', 'white']),
|
|
502
|
+
hideIcon: PropTypes.bool,
|
|
503
|
+
verification: PropTypes.oneOf(Object.values(Verification)),
|
|
504
|
+
disabled: PropTypes.bool,
|
|
505
|
+
required: PropTypes.bool,
|
|
506
|
+
type: PropTypes.oneOf(['text', 'password', 'tel', 'email']),
|
|
507
|
+
inputMode: PropTypes.oneOf(['numeric', 'tel', 'decimal', 'email', 'url', 'search', 'none']),
|
|
508
|
+
autoComplete: PropTypes.string,
|
|
509
|
+
name: PropTypes.string,
|
|
510
|
+
hidePlaceholder: PropTypes.bool,
|
|
511
|
+
placeholder: PropTypes.string,
|
|
512
|
+
id: PropTypes.string,
|
|
513
|
+
isControlled: PropTypes.bool,
|
|
514
|
+
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
515
|
+
maxLength: PropTypes.number,
|
|
516
|
+
symbolCounter: PropTypes.number,
|
|
517
|
+
graphemesCounter: PropTypes.bool,
|
|
518
|
+
customIcon: PropTypes.element,
|
|
519
|
+
mask: PropTypes.string,
|
|
520
|
+
maskChar: PropTypes.string,
|
|
521
|
+
noticeText: PropTypes.string,
|
|
522
|
+
className: PropTypes.string,
|
|
523
|
+
minTextareaHeight: PropTypes.oneOf([24, 72]),
|
|
524
|
+
hideResizeButton: PropTypes.bool,
|
|
525
|
+
disableEnterLineBreak: PropTypes.bool,
|
|
526
|
+
onChange: PropTypes.func,
|
|
527
|
+
onBeforeMaskChange: PropTypes.func,
|
|
528
|
+
onBlur: PropTypes.func,
|
|
529
|
+
onFocus: PropTypes.func,
|
|
530
|
+
onKeyUp: PropTypes.func,
|
|
531
|
+
onIconClick: PropTypes.func,
|
|
532
|
+
inputRef: PropTypes.func,
|
|
533
|
+
classes: PropTypes.shape({
|
|
534
|
+
label: PropTypes.string,
|
|
535
|
+
input: PropTypes.string
|
|
536
|
+
}),
|
|
537
|
+
dataAttrs: PropTypes.shape({
|
|
538
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
539
|
+
label: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
540
|
+
notice: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
541
|
+
input: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
542
|
+
iconBox: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
543
|
+
resizer: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
544
|
+
})
|
|
545
|
+
};
|
|
438
546
|
export default TextField;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import "core-js/modules/es.array.from.js";
|
|
2
1
|
import "core-js/modules/es.date.to-string.js";
|
|
3
2
|
import "core-js/modules/es.object.to-string.js";
|
|
4
|
-
import "core-js/modules/es.regexp.exec.js";
|
|
5
3
|
import "core-js/modules/es.regexp.to-string.js";
|
|
6
|
-
import "core-js/modules/es.
|
|
4
|
+
import "core-js/modules/es.regexp.exec.js";
|
|
7
5
|
import "core-js/modules/es.string.replace.js";
|
|
6
|
+
import "core-js/modules/es.array.from.js";
|
|
7
|
+
import "core-js/modules/es.string.iterator.js";
|
|
8
8
|
var regex = /[\uFE00-\uFE0F]|(?:\uD83C[\uDFFB-\uDFFF])/g;
|
|
9
|
-
var regexSymbolWithCombiningMarks = /((?:[\0-\u02FF\u0370-\u0482\u048A-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u060F\u061B-\u064A\u0660-\u066F\u0671-\u06D5\u06DD\u06DE\u06E5\u06E6\u06E9\u06EE-\u0710\u0712-\u072F\u074B-\u07A5\u07B1-\u07EA\u07F4-\u07FC\u07FE-\u0815\u081A\u0824\u0828\u082E-\u0858\u085C-\
|
|
10
|
-
var joiner = '200d';
|
|
11
|
-
|
|
9
|
+
var regexSymbolWithCombiningMarks = /((?:[\0-\u02FF\u0370-\u0482\u048A-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u060F\u061B-\u064A\u0660-\u066F\u0671-\u06D5\u06DD\u06DE\u06E5\u06E6\u06E9\u06EE-\u0710\u0712-\u072F\u074B-\u07A5\u07B1-\u07EA\u07F4-\u07FC\u07FE-\u0815\u081A\u0824\u0828\u082E-\u0858\u085C-\u08D2\u08E2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0964-\u0980\u0984-\u09BB\u09BD\u09C5\u09C6\u09C9\u09CA\u09CE-\u09D6\u09D8-\u09E1\u09E4-\u09FD\u09FF\u0A00\u0A04-\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A6F\u0A72-\u0A74\u0A76-\u0A80\u0A84-\u0ABB\u0ABD\u0AC6\u0ACA\u0ACE-\u0AE1\u0AE4-\u0AF9\u0B00\u0B04-\u0B3B\u0B3D\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B61\u0B64-\u0B81\u0B83-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE-\u0BD6\u0BD8-\u0BFF\u0C05-\u0C3D\u0C45\u0C49\u0C4E-\u0C54\u0C57-\u0C61\u0C64-\u0C80\u0C84-\u0CBB\u0CBD\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CE1\u0CE4-\u0CFF\u0D04-\u0D3A\u0D3D\u0D45\u0D49\u0D4E-\u0D56\u0D58-\u0D61\u0D64-\u0D80\u0D84-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF4-\u0E30\u0E32\u0E33\u0E3B-\u0E46\u0E4F-\u0EB0\u0EB2\u0EB3\u0EBD-\u0EC7\u0ECE-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F40-\u0F70\u0F85\u0F88-\u0F8C\u0F98\u0FBD-\u0FC5\u0FC7-\u102A\u103F-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u109E-\u135C\u1360-\u1711\u1715-\u1731\u1735-\u1751\u1754-\u1771\u1774-\u17B3\u17D4-\u17DC\u17DE-\u180A\u180E-\u1884\u1887-\u18A8\u18AA-\u191F\u192C-\u192F\u193C-\u1A16\u1A1C-\u1A54\u1A5F\u1A7D\u1A7E\u1A80-\u1AAF\u1AC1-\u1AFF\u1B05-\u1B33\u1B45-\u1B6A\u1B74-\u1B7F\u1B83-\u1BA0\u1BAE-\u1BE5\u1BF4-\u1C23\u1C38-\u1CCF\u1CD3\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA-\u1DBF\u1DFA\u1E00-\u20CF\u20F1-\u2CEE\u2CF2-\u2D7E\u2D80-\u2DDF\u2E00-\u3029\u3030-\u3098\u309B-\uA66E\uA673\uA67E-\uA69D\uA6A0-\uA6EF\uA6F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA828-\uA82B\uA82D-\uA87F\uA882-\uA8B3\uA8C6-\uA8DF\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA954-\uA97F\uA984-\uA9B2\uA9C1-\uA9E4\uA9E6-\uAA28\uAA37-\uAA42\uAA44-\uAA4B\uAA4E-\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2-\uAAEA\uAAF0-\uAAF4\uAAF7-\uABE2\uABEB\uABEE-\uD7FF\uE000-\uFB1D\uFB1F-\uFDFF\uFE10-\uFE1F\uFE30-\uFFFF]|\uD800[\uDC00-\uDDFC\uDDFE-\uDEDF\uDEE1-\uDF75\uDF7B-\uDFFF]|[\uD801\uD808-\uD819\uD81C-\uD82E\uD830-\uD833\uD835\uD837\uD839\uD83B-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD802[\uDC00-\uDE00\uDE04\uDE07-\uDE0B\uDE10-\uDE37\uDE3B-\uDE3E\uDE40-\uDEE4\uDEE7-\uDFFF]|\uD803[\uDC00-\uDD23\uDD28-\uDEAA\uDEAD-\uDF45\uDF51-\uDFFF]|\uD804[\uDC03-\uDC37\uDC47-\uDC7E\uDC83-\uDCAF\uDCBB-\uDCFF\uDD03-\uDD26\uDD35-\uDD44\uDD47-\uDD72\uDD74-\uDD7F\uDD83-\uDDB2\uDDC1-\uDDC8\uDDCD\uDDD0-\uDE2B\uDE38-\uDE3D\uDE3F-\uDEDE\uDEEB-\uDEFF\uDF04-\uDF3A\uDF3D\uDF45\uDF46\uDF49\uDF4A\uDF4E-\uDF56\uDF58-\uDF61\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC00-\uDC34\uDC47-\uDC5D\uDC5F-\uDCAF\uDCC4-\uDDAE\uDDB6\uDDB7\uDDC1-\uDDDB\uDDDE-\uDE2F\uDE41-\uDEAA\uDEB8-\uDF1C\uDF2C-\uDFFF]|\uD806[\uDC00-\uDC2B\uDC3B-\uDD2F\uDD36\uDD39\uDD3A\uDD3F\uDD41\uDD44-\uDDD0\uDDD8\uDDD9\uDDE1-\uDDE3\uDDE5-\uDE00\uDE0B-\uDE32\uDE3A\uDE3F-\uDE46\uDE48-\uDE50\uDE5C-\uDE89\uDE9A-\uDFFF]|\uD807[\uDC00-\uDC2E\uDC37\uDC40-\uDC91\uDCA8\uDCB7-\uDD30\uDD37-\uDD39\uDD3B\uDD3E\uDD46\uDD48-\uDD89\uDD8F\uDD92\uDD98-\uDEF2\uDEF7-\uDFFF]|\uD81A[\uDC00-\uDEEF\uDEF5-\uDF2F\uDF37-\uDFFF]|\uD81B[\uDC00-\uDF4E\uDF50\uDF88-\uDF8E\uDF93-\uDFE3\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD82F[\uDC00-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDD2F\uDD37-\uDEEB\uDEF0-\uDFFF]|\uD83A[\uDC00-\uDCCF\uDCD7-\uDD43\uDD4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))((?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])+)/g;
|
|
10
|
+
var joiner = '200d'; // eslint-disable-next-line no-magic-numbers
|
|
11
|
+
|
|
12
12
|
var isJoiner = function isJoiner(_char) {
|
|
13
13
|
return _char.charCodeAt(0).toString(16) === joiner;
|
|
14
14
|
};
|
|
15
|
+
|
|
15
16
|
var countGraphemes = function countGraphemes(text) {
|
|
16
17
|
var normalizedText = text.normalize('NFC').replace(regex, '').replace(regexSymbolWithCombiningMarks, function (_, symbol) {
|
|
17
18
|
return symbol;
|
|
@@ -19,26 +20,33 @@ var countGraphemes = function countGraphemes(text) {
|
|
|
19
20
|
var tokens = Array.from(normalizedText);
|
|
20
21
|
var length = 0;
|
|
21
22
|
var isComplexChar = false;
|
|
23
|
+
|
|
22
24
|
for (var i = 0; i < tokens.length; i++) {
|
|
23
25
|
var _char2 = tokens[i];
|
|
24
26
|
var nextChar = tokens[i + 1];
|
|
27
|
+
|
|
25
28
|
if (!nextChar) {
|
|
26
|
-
length += 1;
|
|
27
|
-
|
|
29
|
+
length += 1; // eslint-disable-next-line no-continue
|
|
30
|
+
|
|
28
31
|
continue;
|
|
29
32
|
}
|
|
33
|
+
|
|
30
34
|
if (isJoiner(nextChar)) {
|
|
31
|
-
isComplexChar = true;
|
|
32
|
-
|
|
35
|
+
isComplexChar = true; // eslint-disable-next-line no-continue
|
|
36
|
+
|
|
33
37
|
continue;
|
|
34
38
|
}
|
|
39
|
+
|
|
35
40
|
if (!isJoiner(_char2) && isComplexChar) {
|
|
36
41
|
isComplexChar = false;
|
|
37
42
|
}
|
|
43
|
+
|
|
38
44
|
if (!isComplexChar) {
|
|
39
45
|
length += 1;
|
|
40
46
|
}
|
|
41
47
|
}
|
|
48
|
+
|
|
42
49
|
return length;
|
|
43
50
|
};
|
|
51
|
+
|
|
44
52
|
export default countGraphemes;
|