@vkontakte/vkui 4.27.1 → 4.28.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/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +11910 -4711
- package/.cache/ts/src/components/Button/Button.d.ts +1 -1
- package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +20 -0
- package/.cache/ts/src/components/Calendar/Calendar.d.ts +21 -0
- package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +22 -0
- package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +22 -0
- package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +16 -0
- package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +16 -0
- package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +11 -0
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
- package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +10 -1
- package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
- package/.cache/ts/src/components/DateInput/DateInput.d.ts +12 -0
- package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +18 -0
- package/.cache/ts/src/components/Div/Div.d.ts +1 -2
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
- package/.cache/ts/src/components/InputLike/InputLike.d.ts +10 -0
- package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +3 -0
- package/.cache/ts/src/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
- package/.cache/ts/src/components/Pagination/Pagination.d.ts +42 -0
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +3 -2
- package/.cache/ts/src/components/Select/Select.d.ts +1 -1
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +5 -1
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +3 -1
- package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +8 -4
- package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +6 -1
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +3 -1
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +2 -2
- package/.cache/ts/src/helpers/typography.d.ts +1 -0
- package/.cache/ts/src/hooks/useBooleanState.d.ts +6 -0
- package/.cache/ts/src/hooks/useCalendar.d.ts +18 -0
- package/.cache/ts/src/hooks/useDateInput.d.ts +30 -0
- package/.cache/ts/src/hooks/useKeyboardInputTracker.d.ts +2 -0
- package/.cache/ts/src/hooks/useOrientationChange.d.ts +7 -0
- package/.cache/ts/src/hooks/usePagination.d.ts +34 -0
- package/.cache/ts/src/index.d.ts +12 -2
- package/.cache/ts/src/lib/calendar.d.ts +14 -0
- package/.cache/ts/src/lib/utils.d.ts +2 -1
- package/.cache/ts/src/tokenized/index.d.ts +14 -0
- package/.cache/ts/src/unstable/index.d.ts +6 -6
- package/CONTRIBUTING.md +3 -2
- package/CSS_GUIDE.md +145 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -7
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +3 -6
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js +5 -8
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js +1 -3
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/Button/Button.d.ts +1 -1
- package/dist/cjs/components/Button/Button.js +7 -11
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +20 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js +38 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/cjs/components/Calendar/Calendar.d.ts +21 -0
- package/dist/cjs/components/Calendar/Calendar.js +160 -0
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -0
- package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +22 -0
- package/dist/cjs/components/CalendarDay/CalendarDay.js +109 -0
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -0
- package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +22 -0
- package/dist/cjs/components/CalendarDays/CalendarDays.js +118 -0
- package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -0
- package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +16 -0
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js +143 -0
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -0
- package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +16 -0
- package/dist/cjs/components/CalendarRange/CalendarRange.js +219 -0
- package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -0
- package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +11 -0
- package/dist/cjs/components/CalendarTime/CalendarTime.js +92 -0
- package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -0
- package/dist/cjs/components/Checkbox/Checkbox.js +2 -5
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +2 -4
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +7 -11
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +40 -21
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +3 -5
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +5 -7
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/Counter/Counter.js +3 -3
- package/dist/cjs/components/Counter/Counter.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +10 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +47 -17
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +14 -5
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +3 -5
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.d.ts +12 -0
- package/dist/cjs/components/DateInput/DateInput.js +290 -0
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -0
- package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +18 -0
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +310 -0
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -0
- package/dist/cjs/components/Div/Div.d.ts +1 -2
- package/dist/cjs/components/Div/Div.js +2 -5
- package/dist/cjs/components/Div/Div.js.map +1 -1
- package/dist/cjs/components/Footer/Footer.js +2 -4
- package/dist/cjs/components/Footer/Footer.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +2 -5
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormStatus/FormStatus.js +3 -8
- package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cjs/components/Group/Group.js +3 -5
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +10 -23
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +5 -10
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js +1 -2
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLike.d.ts +10 -0
- package/dist/cjs/components/InputLike/InputLike.js +71 -0
- package/dist/cjs/components/InputLike/InputLike.js.map +1 -0
- package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +3 -0
- package/dist/cjs/components/InputLike/InputLikeDivider.js +27 -0
- package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -0
- package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
- package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js +14 -0
- package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
- package/dist/cjs/components/ModalPage/ModalPage.js +5 -5
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.d.ts +42 -0
- package/dist/cjs/components/Pagination/Pagination.js +152 -0
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -0
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +2 -4
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +3 -7
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +2 -5
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +8 -4
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.d.ts +3 -2
- package/dist/cjs/components/RichCell/RichCell.js +0 -1
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/Select/Select.d.ts +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +5 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +11 -5
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +0 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +2 -5
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cjs/components/Spacing/Spacing.js +2 -2
- package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +4 -7
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +3 -1
- package/dist/cjs/components/Tappable/Tappable.js +11 -11
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -2
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +1 -2
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.d.ts +8 -4
- package/dist/cjs/components/Typography/Caption/Caption.js +12 -14
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +6 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js +15 -8
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.d.ts +3 -1
- package/dist/cjs/components/Typography/Title/Title.js +4 -2
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +3 -5
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.d.ts +2 -2
- package/dist/cjs/components/View/ViewInfinite.js +12 -15
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/helpers/typography.d.ts +1 -0
- package/dist/cjs/helpers/typography.js +25 -0
- package/dist/cjs/helpers/typography.js.map +1 -0
- package/dist/cjs/hooks/useBooleanState.d.ts +6 -0
- package/dist/cjs/hooks/useBooleanState.js +42 -0
- package/dist/cjs/hooks/useBooleanState.js.map +1 -0
- package/dist/cjs/hooks/useCalendar.d.ts +18 -0
- package/dist/cjs/hooks/useCalendar.js +78 -0
- package/dist/cjs/hooks/useCalendar.js.map +1 -0
- package/dist/cjs/hooks/useDateInput.d.ts +30 -0
- package/dist/cjs/hooks/useDateInput.js +180 -0
- package/dist/cjs/hooks/useDateInput.js.map +1 -0
- package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +2 -0
- package/dist/cjs/hooks/useKeyboardInputTracker.js +15 -4
- package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cjs/hooks/useOrientationChange.d.ts +7 -0
- package/dist/cjs/hooks/useOrientationChange.js +56 -0
- package/dist/cjs/hooks/useOrientationChange.js.map +1 -0
- package/dist/cjs/hooks/usePagination.d.ts +34 -0
- package/dist/cjs/hooks/usePagination.js +81 -0
- package/dist/cjs/hooks/usePagination.js.map +1 -0
- package/dist/cjs/index.d.ts +12 -2
- package/dist/cjs/index.js +68 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/calendar.d.ts +14 -0
- package/dist/cjs/lib/calendar.js +142 -0
- package/dist/cjs/lib/calendar.js.map +1 -0
- package/dist/cjs/lib/utils.d.ts +2 -1
- package/dist/cjs/lib/utils.js +7 -0
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/tokenized/index.d.ts +14 -0
- package/dist/cjs/tokenized/index.js +56 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/cjs/unstable/index.d.ts +6 -6
- package/dist/cjs/unstable/index.js +6 -8
- package/dist/cjs/unstable/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +2 -5
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +2 -5
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/Alert/Alert.js +3 -6
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Banner/Banner.js +1 -3
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +6 -10
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +20 -0
- package/dist/components/ButtonGroup/ButtonGroup.js +23 -0
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/components/Calendar/Calendar.d.ts +21 -0
- package/dist/components/Calendar/Calendar.js +133 -0
- package/dist/components/Calendar/Calendar.js.map +1 -0
- package/dist/components/CalendarDay/CalendarDay.d.ts +22 -0
- package/dist/components/CalendarDay/CalendarDay.js +91 -0
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -0
- package/dist/components/CalendarDays/CalendarDays.d.ts +22 -0
- package/dist/components/CalendarDays/CalendarDays.js +94 -0
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -0
- package/dist/components/CalendarHeader/CalendarHeader.d.ts +16 -0
- package/dist/components/CalendarHeader/CalendarHeader.js +118 -0
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -0
- package/dist/components/CalendarRange/CalendarRange.d.ts +16 -0
- package/dist/components/CalendarRange/CalendarRange.js +196 -0
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -0
- package/dist/components/CalendarTime/CalendarTime.d.ts +11 -0
- package/dist/components/CalendarTime/CalendarTime.js +73 -0
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +1 -4
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js +1 -3
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/dist/components/ChipsSelect/ChipsSelect.js +4 -7
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/dist/components/ConfigProvider/ConfigProvider.js +36 -20
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
- package/dist/components/ConfigProvider/ConfigProviderContext.js +2 -3
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +3 -5
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.js +2 -2
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +10 -1
- package/dist/components/CustomSelect/CustomSelect.js +44 -15
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +14 -5
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +2 -4
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +12 -0
- package/dist/components/DateInput/DateInput.js +261 -0
- package/dist/components/DateInput/DateInput.js.map +1 -0
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +18 -0
- package/dist/components/DateRangeInput/DateRangeInput.js +281 -0
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -0
- package/dist/components/Div/Div.d.ts +1 -2
- package/dist/components/Div/Div.js +1 -3
- package/dist/components/Div/Div.js.map +1 -1
- package/dist/components/Footer/Footer.js +1 -3
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +1 -4
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormStatus/FormStatus.js +2 -7
- package/dist/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/components/Group/Group.js +2 -4
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js +7 -20
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +3 -8
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/InfoRow/InfoRow.js +1 -2
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/InputLike/InputLike.d.ts +10 -0
- package/dist/components/InputLike/InputLike.js +52 -0
- package/dist/components/InputLike/InputLike.js.map +1 -0
- package/dist/components/InputLike/InputLikeDivider.d.ts +3 -0
- package/dist/components/InputLike/InputLikeDivider.js +13 -0
- package/dist/components/InputLike/InputLikeDivider.js.map +1 -0
- package/dist/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
- package/dist/components/LocaleProviderContext/LocaleProviderContext.js +3 -0
- package/dist/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
- package/dist/components/ModalPage/ModalPage.js +4 -5
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +42 -0
- package/dist/components/Pagination/Pagination.js +129 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +1 -5
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/Radio/Radio.js +1 -4
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Removable/Removable.js +8 -4
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +3 -2
- package/dist/components/RichCell/RichCell.js +0 -1
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +5 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +10 -5
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +0 -1
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js +1 -3
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/components/Spacing/Spacing.js +2 -2
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -6
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +3 -1
- package/dist/components/Tappable/Tappable.js +10 -11
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.js +1 -2
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +8 -4
- package/dist/components/Typography/Caption/Caption.js +10 -14
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts +6 -1
- package/dist/components/Typography/Subhead/Subhead.js +13 -7
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +3 -1
- package/dist/components/Typography/Title/Title.js +3 -2
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +2 -4
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +2 -2
- package/dist/components/View/ViewInfinite.js +10 -11
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components.css +5 -5
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -5
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +2 -5
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +3 -6
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +1 -3
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.css +1 -1
- package/dist/cssm/components/Button/Button.d.ts +1 -1
- package/dist/cssm/components/Button/Button.js +6 -10
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -0
- package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +20 -0
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js +24 -0
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/cssm/components/Calendar/Calendar.css +1 -0
- package/dist/cssm/components/Calendar/Calendar.d.ts +21 -0
- package/dist/cssm/components/Calendar/Calendar.js +134 -0
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -0
- package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -0
- package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +22 -0
- package/dist/cssm/components/CalendarDay/CalendarDay.js +92 -0
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -0
- package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -0
- package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +22 -0
- package/dist/cssm/components/CalendarDays/CalendarDays.js +95 -0
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -0
- package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -0
- package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +16 -0
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +119 -0
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -0
- package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -0
- package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +16 -0
- package/dist/cssm/components/CalendarRange/CalendarRange.js +197 -0
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -0
- package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -0
- package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +11 -0
- package/dist/cssm/components/CalendarTime/CalendarTime.js +74 -0
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -0
- package/dist/cssm/components/Checkbox/Checkbox.js +1 -4
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.js +1 -3
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +4 -7
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +36 -20
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +2 -3
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +3 -5
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +2 -2
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +10 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +44 -15
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +14 -5
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -4
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.css +1 -0
- package/dist/cssm/components/DateInput/DateInput.d.ts +12 -0
- package/dist/cssm/components/DateInput/DateInput.js +262 -0
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -0
- package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -0
- package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +18 -0
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +282 -0
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -0
- package/dist/cssm/components/Div/Div.css +1 -1
- package/dist/cssm/components/Div/Div.d.ts +1 -2
- package/dist/cssm/components/Div/Div.js +1 -3
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/Footer/Footer.js +1 -3
- package/dist/cssm/components/Footer/Footer.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +1 -4
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js +2 -7
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Group/Group.js +2 -4
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Header/Header.js +7 -20
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -8
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js +1 -2
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.css +1 -0
- package/dist/cssm/components/InputLike/InputLike.d.ts +10 -0
- package/dist/cssm/components/InputLike/InputLike.js +53 -0
- package/dist/cssm/components/InputLike/InputLike.js.map +1 -0
- package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -0
- package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +3 -0
- package/dist/cssm/components/InputLike/InputLikeDivider.js +14 -0
- package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -0
- package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
- package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js +3 -0
- package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js.map +1 -0
- package/dist/cssm/components/ModalPage/ModalPage.js +4 -5
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.css +1 -0
- package/dist/cssm/components/Pagination/Pagination.d.ts +42 -0
- package/dist/cssm/components/Pagination/Pagination.js +130 -0
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -0
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -3
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -5
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +1 -4
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js +8 -4
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.d.ts +3 -2
- package/dist/cssm/components/RichCell/RichCell.js +0 -1
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/Select/Select.css +1 -1
- package/dist/cssm/components/Select/Select.d.ts +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.css +1 -0
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +5 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +11 -5
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +0 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +1 -3
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js +2 -2
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -6
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +3 -1
- package/dist/cssm/components/Tappable/Tappable.js +10 -11
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -2
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +1 -2
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.d.ts +8 -4
- package/dist/cssm/components/Typography/Caption/Caption.js +10 -14
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +6 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +13 -7
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.d.ts +3 -1
- package/dist/cssm/components/Typography/Title/Title.js +3 -2
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +2 -4
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.d.ts +2 -2
- package/dist/cssm/components/View/ViewInfinite.js +10 -11
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/helpers/typography.d.ts +1 -0
- package/dist/cssm/helpers/typography.js +18 -0
- package/dist/cssm/helpers/typography.js.map +1 -0
- package/dist/cssm/hooks/useBooleanState.d.ts +6 -0
- package/dist/cssm/hooks/useBooleanState.js +27 -0
- package/dist/cssm/hooks/useBooleanState.js.map +1 -0
- package/dist/cssm/hooks/useCalendar.d.ts +18 -0
- package/dist/cssm/hooks/useCalendar.js +64 -0
- package/dist/cssm/hooks/useCalendar.js.map +1 -0
- package/dist/cssm/hooks/useDateInput.d.ts +30 -0
- package/dist/cssm/hooks/useDateInput.js +163 -0
- package/dist/cssm/hooks/useDateInput.js.map +1 -0
- package/dist/cssm/hooks/useKeyboardInputTracker.d.ts +2 -0
- package/dist/cssm/hooks/useKeyboardInputTracker.js +11 -4
- package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cssm/hooks/useOrientationChange.d.ts +7 -0
- package/dist/cssm/hooks/useOrientationChange.js +42 -0
- package/dist/cssm/hooks/useOrientationChange.js.map +1 -0
- package/dist/cssm/hooks/usePagination.d.ts +34 -0
- package/dist/cssm/hooks/usePagination.js +67 -0
- package/dist/cssm/hooks/usePagination.js.map +1 -0
- package/dist/cssm/index.d.ts +12 -2
- package/dist/cssm/index.js +11 -3
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/calendar.d.ts +14 -0
- package/dist/cssm/lib/calendar.js +111 -0
- package/dist/cssm/lib/calendar.js.map +1 -0
- package/dist/cssm/lib/utils.d.ts +2 -1
- package/dist/cssm/lib/utils.js +3 -0
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/styles/components.css +5 -5
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/tokenized/index.d.ts +14 -0
- package/dist/cssm/tokenized/index.js +7 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/cssm/unstable/index.d.ts +6 -6
- package/dist/cssm/unstable/index.js +3 -3
- package/dist/cssm/unstable/index.js.map +1 -1
- package/dist/helpers/typography.d.ts +1 -0
- package/dist/helpers/typography.js +18 -0
- package/dist/helpers/typography.js.map +1 -0
- package/dist/hooks/useBooleanState.d.ts +6 -0
- package/dist/hooks/useBooleanState.js +27 -0
- package/dist/hooks/useBooleanState.js.map +1 -0
- package/dist/hooks/useCalendar.d.ts +18 -0
- package/dist/hooks/useCalendar.js +64 -0
- package/dist/hooks/useCalendar.js.map +1 -0
- package/dist/hooks/useDateInput.d.ts +30 -0
- package/dist/hooks/useDateInput.js +163 -0
- package/dist/hooks/useDateInput.js.map +1 -0
- package/dist/hooks/useKeyboardInputTracker.d.ts +2 -0
- package/dist/hooks/useKeyboardInputTracker.js +11 -4
- package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/hooks/useOrientationChange.d.ts +7 -0
- package/dist/hooks/useOrientationChange.js +42 -0
- package/dist/hooks/useOrientationChange.js.map +1 -0
- package/dist/hooks/usePagination.d.ts +34 -0
- package/dist/hooks/usePagination.js +67 -0
- package/dist/hooks/usePagination.js.map +1 -0
- package/dist/index.d.ts +12 -2
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/calendar.d.ts +14 -0
- package/dist/lib/calendar.js +111 -0
- package/dist/lib/calendar.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +3 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/tokenized/index.d.ts +14 -0
- package/dist/tokenized/index.js +7 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/unstable/index.d.ts +6 -6
- package/dist/unstable/index.js +3 -3
- package/dist/unstable/index.js.map +1 -1
- package/dist/vkui.css +6 -6
- package/dist/vkui.css.map +1 -1
- package/package.json +14 -11
- package/src/components/ActionSheet/ActionSheet.tsx +3 -6
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +3 -11
- package/src/components/Alert/Alert.tsx +3 -7
- package/src/components/Alert/Readme.md +4 -4
- package/src/components/AppRoot/Readme.md +2 -2
- package/src/components/Banner/Banner.tsx +1 -1
- package/src/components/Button/Button.css +26 -1
- package/src/components/Button/Button.tsx +6 -9
- package/src/components/ButtonGroup/ButtonGroup.css +52 -0
- package/src/components/ButtonGroup/ButtonGroup.tsx +48 -0
- package/src/components/ButtonGroup/Readme.md +311 -0
- package/src/components/Calendar/Calendar.css +31 -0
- package/src/components/Calendar/Calendar.tsx +184 -0
- package/src/components/Calendar/Readme.md +124 -0
- package/src/components/CalendarDay/CalendarDay.css +85 -0
- package/src/components/CalendarDay/CalendarDay.tsx +114 -0
- package/src/components/CalendarDays/CalendarDays.css +31 -0
- package/src/components/CalendarDays/CalendarDays.tsx +131 -0
- package/src/components/CalendarHeader/CalendarHeader.css +50 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +167 -0
- package/src/components/CalendarRange/CalendarRange.css +27 -0
- package/src/components/CalendarRange/CalendarRange.tsx +278 -0
- package/src/components/CalendarRange/Readme.md +85 -0
- package/src/components/CalendarTime/CalendarTime.css +18 -0
- package/src/components/CalendarTime/CalendarTime.tsx +88 -0
- package/src/components/Checkbox/Checkbox.tsx +2 -9
- package/src/components/Chip/Chip.tsx +2 -8
- package/src/components/ChipsSelect/ChipsSelect.tsx +6 -7
- package/src/components/ConfigProvider/ConfigProvider.tsx +36 -18
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +9 -13
- package/src/components/ContentCard/ContentCard.tsx +3 -10
- package/src/components/Counter/Counter.tsx +2 -2
- package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
- package/src/components/CustomSelect/CustomSelect.css +0 -15
- package/src/components/CustomSelect/CustomSelect.tsx +46 -7
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +13 -1
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +12 -3
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +3 -7
- package/src/components/CustomSelectOption/Readme.md +1 -1
- package/src/components/DateInput/DateInput.css +20 -0
- package/src/components/DateInput/DateInput.tsx +317 -0
- package/src/components/DateInput/Readme.md +116 -0
- package/src/components/DateRangeInput/DateRangeInput.css +16 -0
- package/src/components/DateRangeInput/DateRangeInput.tsx +350 -0
- package/src/components/DateRangeInput/Readme.md +96 -0
- package/src/components/Div/Div.css +1 -8
- package/src/components/Div/Div.tsx +2 -5
- package/src/components/Footer/Footer.tsx +2 -8
- package/src/components/Footer/Readme.md +1 -1
- package/src/components/FormField/FormField.css +33 -0
- package/src/components/FormItem/FormItem.tsx +3 -9
- package/src/components/FormStatus/FormStatus.tsx +3 -9
- package/src/components/Gallery/Readme.md +1 -1
- package/src/components/Group/Group.tsx +2 -4
- package/src/components/Header/Header.tsx +8 -11
- package/src/components/HorizontalCell/HorizontalCell.tsx +4 -12
- package/src/components/InfoRow/InfoRow.tsx +1 -1
- package/src/components/InputLike/InputLike.css +25 -0
- package/src/components/InputLike/InputLike.tsx +72 -0
- package/src/components/InputLike/InputLikeDivider.css +4 -0
- package/src/components/InputLike/InputLikeDivider.tsx +12 -0
- package/src/components/LocaleProviderContext/LocaleProviderContext.tsx +5 -0
- package/src/components/ModalPage/ModalPage.tsx +10 -4
- package/src/components/Pagination/Pagination.css +62 -0
- package/src/components/Pagination/Pagination.tsx +196 -0
- package/src/components/Pagination/Readme.md +110 -0
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +2 -8
- package/src/components/PopoutWrapper/Readme.md +1 -1
- package/src/components/Popper/Readme.md +1 -1
- package/src/components/PromoBanner/PromoBanner.tsx +3 -5
- package/src/components/Radio/Radio.tsx +2 -9
- package/src/components/Removable/Removable.tsx +9 -7
- package/src/components/RichCell/Readme.md +4 -4
- package/src/components/RichCell/RichCell.tsx +3 -6
- package/src/components/RichTooltip/Readme.md +1 -1
- package/src/components/Select/Select.css +5 -0
- package/src/components/SelectMimicry/SelectMimicry.css +10 -0
- package/src/components/SelectMimicry/SelectMimicry.tsx +13 -3
- package/src/components/SimpleCell/SimpleCell.tsx +1 -5
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +0 -3
- package/src/components/Spacing/Spacing.tsx +2 -2
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +3 -9
- package/src/components/Tabbar/Readme.md +1 -1
- package/src/components/Tappable/Tappable.tsx +12 -3
- package/src/components/TextTooltip/Readme.md +1 -1
- package/src/components/TextTooltip/TextTooltip.tsx +2 -6
- package/src/components/Tooltip/Tooltip.tsx +2 -6
- package/src/components/Typography/Caption/Caption.css +61 -19
- package/src/components/Typography/Caption/Caption.tsx +24 -15
- package/src/components/Typography/Caption/Readme.md +26 -48
- package/src/components/Typography/Subhead/Readme.md +18 -24
- package/src/components/Typography/Subhead/Subhead.css +22 -7
- package/src/components/Typography/Subhead/Subhead.tsx +25 -7
- package/src/components/Typography/Title/Title.tsx +6 -3
- package/src/components/UsersStack/Readme.md +1 -1
- package/src/components/UsersStack/UsersStack.tsx +3 -4
- package/src/components/View/Readme.md +1 -1
- package/src/components/View/ViewInfinite.tsx +3 -4
- package/src/helpers/typography.ts +24 -0
- package/src/hooks/useBooleanState.ts +19 -0
- package/src/hooks/useCalendar.ts +78 -0
- package/src/hooks/useDateInput.ts +213 -0
- package/src/hooks/useKeyboardInputTracker.ts +25 -8
- package/src/hooks/useOrientationChange.ts +39 -0
- package/src/hooks/usePagination.ts +96 -0
- package/src/index.ts +12 -2
- package/src/lib/calendar.ts +123 -0
- package/src/lib/utils.ts +4 -1
- package/src/styles/components.css +14 -0
- package/src/tokenized/index.ts +21 -0
- package/src/unstable/index.ts +6 -6
- package/postcss.config.js +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/InputLike/InputLike.tsx"],"names":["React","callMultiple","stopPropagation","classNames","MASK_SYMBOL","String","fromCharCode","getMaskElements","length","result","index","push","InputLike","value","onElementSelect","onClick","onFocus","getRootRef","props","handleElementSelect","useCallback","event","slice","displayName"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,eAAT;AACA,SAASC,UAAT;AAEA;AAWA,IAAMC,WAAW,GAAGC,MAAM,CAACC,YAAP,CAAoB,MAApB,CAApB;;AAEA,SAASC,eAAT,CAAyBC,MAAzB,EAAyC;AACvC,MAAMC,MAAM,GAAG,EAAf;;AACA,OAAK,IAAIC,MAAK,GAAG,CAAjB,EAAoBA,MAAK,GAAGF,MAA5B,EAAoCE,MAAK,IAAI,CAA7C,EAAgD;AAC9CD,IAAAA,MAAM,CAACE,IAAP,CACE;AAAM,MAAA,GAAG,EAAED,MAAX;AAAkB,MAAA,SAAS,EAAC;AAA5B,OACGN,WADH,CADF;AAKD;;AACD,SAAOK,MAAP;AACD;;AAED,OAAO,IAAMG,SAAmC,GAAG,SAAtCA,SAAsC,OAS7C;AAAA;;AAAA,MARJC,KAQI,QARJA,KAQI;AAAA,MAPJL,MAOI,QAPJA,MAOI;AAAA,MANJE,KAMI,QANJA,KAMI;AAAA,MALJI,eAKI,QALJA,eAKI;AAAA,MAJJC,OAII,QAJJA,OAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADDC,KACC;;AACJ,MAAMC,mBAAmB,GAAGnB,KAAK,CAACoB,WAAN,CAC1B,UAACC,KAAD,EAA0D;AACxDnB,IAAAA,eAAe,CAACmB,KAAD,CAAf;AACAP,IAAAA,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAGJ,KAAH,CAAf;AACD,GAJyB,EAK1B,CAACA,KAAD,EAAQI,eAAR,CAL0B,CAA5B;AAQA,SACE;AACE,IAAA,SAAS,EAAEX,UAAU,CACnB,WADmB,EAEnB,CAAAU,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEL,MAAP,MAAkBA,MAAlB,qBAFmB,CADvB;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,GAAG,EAAES,UANP;AAOE,IAAA,OAAO,EAAEhB,YAAY,CAACc,OAAD,EAAUI,mBAAV,CAPvB;AAQE,IAAA,OAAO,EAAElB,YAAY,CAACC,eAAD,EAAkBc,OAAlB;AARvB,KASME,KATN,GAWGL,KAXH,aAWGA,KAXH,uBAWGA,KAAK,CAAES,KAAP,CAAa,CAAb,EAAgBd,MAAM,GAAG,CAAzB,CAXH,EAYG,CAAAK,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAES,KAAP,CAAad,MAAM,GAAG,CAAtB,MACC;AAAM,IAAA,GAAG,EAAEE,KAAX;AAAkB,IAAA,SAAS,EAAC;AAA5B,KACGG,KAAK,CAACS,KAAN,CAAYd,MAAM,GAAG,CAArB,CADH,CAbJ,EAiBGD,eAAe,CAACC,MAAM,qBAAIK,KAAJ,aAAIA,KAAJ,uBAAIA,KAAK,CAAEL,MAAX,yDAAqB,CAArB,CAAP,CAjBlB,CADF;AAqBD,CAvCM;AAyCPI,SAAS,CAACW,WAAV,GAAwB,WAAxB","sourcesContent":["import * as React from \"react\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport { stopPropagation } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport \"./InputLike.css\";\n\nexport interface InputLikeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n HasRootRef<HTMLSpanElement> {\n length: number;\n index: number;\n value?: string;\n onElementSelect?(index: number): void;\n}\n\nconst MASK_SYMBOL = String.fromCharCode(0x2007);\n\nfunction getMaskElements(length: number) {\n const result = [];\n for (let index = 0; index < length; index += 1) {\n result.push(\n <span key={index} vkuiClass=\"InputLike__mask\">\n {MASK_SYMBOL}\n </span>\n );\n }\n return result;\n}\n\nexport const InputLike: React.FC<InputLikeProps> = ({\n value,\n length,\n index,\n onElementSelect,\n onClick,\n onFocus,\n getRootRef,\n ...props\n}) => {\n const handleElementSelect = React.useCallback(\n (event: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n stopPropagation(event);\n onElementSelect?.(index);\n },\n [index, onElementSelect]\n );\n\n return (\n <span\n vkuiClass={classNames(\n \"InputLike\",\n value?.length === length && `InputLike--full`\n )}\n tabIndex={0}\n ref={getRootRef}\n onClick={callMultiple(onClick, handleElementSelect)}\n onFocus={callMultiple(stopPropagation, onFocus)}\n {...props}\n >\n {value?.slice(0, length - 1)}\n {value?.slice(length - 1) && (\n <span key={index} vkuiClass=\"InputLike__last_character\">\n {value.slice(length - 1)}\n </span>\n )}\n {getMaskElements(length - (value?.length ?? 0))}\n </span>\n );\n};\n\nInputLike.displayName = \"InputLike\";\n"],"file":"InputLike.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vkuiInputLikeDivider{color:#818c99;color:var(--vkui--color_text_secondary);letter-spacing:1px}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["children"];
|
|
4
|
+
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
|
+
import "./InputLikeDivider.css";
|
|
6
|
+
export var InputLikeDivider = function InputLikeDivider(_ref) {
|
|
7
|
+
var children = _ref.children,
|
|
8
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
9
|
+
|
|
10
|
+
return createScopedElement("span", _extends({
|
|
11
|
+
vkuiClass: "InputLikeDivider"
|
|
12
|
+
}, props), children);
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=InputLikeDivider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/InputLike/InputLikeDivider.tsx"],"names":["InputLikeDivider","children","props"],"mappings":";;;;AACA;AAEA,OAAO,IAAMA,gBAEZ,GAAG,SAFSA,gBAET,OAA4B;AAAA,MAAzBC,QAAyB,QAAzBA,QAAyB;AAAA,MAAZC,KAAY;;AAC9B,SACE;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAuCA,KAAvC,GACGD,QADH,CADF;AAKD,CARM","sourcesContent":["import * as React from \"react\";\nimport \"./InputLikeDivider.css\";\n\nexport const InputLikeDivider: React.FC<\n React.InputHTMLAttributes<HTMLSpanElement>\n> = ({ children, ...props }) => {\n return (\n <span vkuiClass=\"InputLikeDivider\" {...props}>\n {children}\n </span>\n );\n};\n"],"file":"InputLikeDivider.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/LocaleProviderContext/LocaleProviderContext.tsx"],"names":["React","LocaleProviderContext","createContext","undefined"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAO,IAAMC,qBAAqB,gBAAGD,KAAK,CAACE,aAAN,CACnCC,SADmC,CAA9B","sourcesContent":["import * as React from \"react\";\n\nexport const LocaleProviderContext = React.createContext<string | undefined>(\n undefined\n);\n"],"file":"LocaleProviderContext.js"}
|
|
@@ -7,6 +7,7 @@ import { getClassName } from "../../helpers/getClassName";
|
|
|
7
7
|
import { classNames } from "../../lib/classNames";
|
|
8
8
|
import { ModalRootContext, useModalRegistry } from "../ModalRoot/ModalRootContext";
|
|
9
9
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
10
|
+
import { useOrientationChange } from "../../hooks/useOrientationChange";
|
|
10
11
|
import { withAdaptivity, ViewHeight, ViewWidth } from "../../hoc/withAdaptivity";
|
|
11
12
|
import ModalDismissButton from "../ModalDismissButton/ModalDismissButton";
|
|
12
13
|
import { multiRef } from "../../lib/utils";
|
|
@@ -17,8 +18,6 @@ import "./ModalPage.css";
|
|
|
17
18
|
var warn = warnOnce("ModalPage");
|
|
18
19
|
|
|
19
20
|
var ModalPage = function ModalPage(props) {
|
|
20
|
-
var platform = usePlatform();
|
|
21
|
-
|
|
22
21
|
var _React$useContext = React.useContext(ModalRootContext),
|
|
23
22
|
updateModalHeight = _React$useContext.updateModalHeight;
|
|
24
23
|
|
|
@@ -35,9 +34,9 @@ var ModalPage = function ModalPage(props) {
|
|
|
35
34
|
nav = props.nav,
|
|
36
35
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
var platform = usePlatform();
|
|
38
|
+
var orientation = useOrientationChange();
|
|
39
|
+
React.useEffect(updateModalHeight, [children, orientation, updateModalHeight]);
|
|
41
40
|
var isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);
|
|
42
41
|
var canShowCloseBtn = viewWidth >= ViewWidth.SMALL_TABLET;
|
|
43
42
|
var modalContext = React.useContext(ModalRootContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalPage/ModalPage.tsx"],"names":["React","getClassName","classNames","ModalRootContext","useModalRegistry","usePlatform","withAdaptivity","ViewHeight","ViewWidth","ModalDismissButton","multiRef","ModalType","getNavId","warnOnce","warn","ModalPage","props","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalPage/ModalPage.tsx"],"names":["React","getClassName","classNames","ModalRootContext","useModalRegistry","usePlatform","useOrientationChange","withAdaptivity","ViewHeight","ViewWidth","ModalDismissButton","multiRef","ModalType","getNavId","warnOnce","warn","ModalPage","props","useContext","updateModalHeight","children","header","viewWidth","viewHeight","sizeX","hasMouse","onClose","settlingHeight","dynamicContentHeight","getModalContentRef","nav","restProps","platform","orientation","useEffect","isDesktop","SMALL_TABLET","MEDIUM","canShowCloseBtn","modalContext","PAGE","refs","innerElement","headerElement","contentElement","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n ModalRootContext,\n useModalRegistry,\n} from \"../ModalRoot/ModalRootContext\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useOrientationChange } from \"../../hooks/useOrientationChange\";\nimport {\n withAdaptivity,\n ViewHeight,\n ViewWidth,\n} from \"../../hoc/withAdaptivity\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { multiRef } from \"../../lib/utils\";\nimport { ModalType } from \"../ModalRoot/types\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./ModalPage.css\";\n\nexport interface ModalPageProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n NavIdProps {\n /**\n * Шапка модальной страницы, `<ModalPageHeader />`\n */\n header?: React.ReactNode;\n onClose?: VoidFunction;\n /**\n * Процент, на который изначально будет открыта модальная страница. При `settlingHeight={100}` модальная страница раскрывается на всю высоту.\n */\n settlingHeight?: number;\n /**\n * Если высота контента в модальной странице может поменяться, нужно установить это свойство\n */\n dynamicContentHeight?: boolean;\n getModalContentRef?: React.Ref<HTMLDivElement>;\n}\n\nconst warn = warnOnce(\"ModalPage\");\nconst ModalPage: React.FC<ModalPageProps & AdaptivityContextInterface> = (\n props\n) => {\n const { updateModalHeight } = React.useContext(ModalRootContext);\n\n const {\n children,\n header,\n viewWidth,\n viewHeight,\n sizeX,\n hasMouse,\n onClose,\n settlingHeight,\n dynamicContentHeight,\n getModalContentRef,\n nav,\n ...restProps\n } = props;\n\n const platform = usePlatform();\n const orientation = useOrientationChange();\n\n React.useEffect(updateModalHeight, [\n children,\n orientation,\n updateModalHeight,\n ]);\n\n const isDesktop =\n viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n const canShowCloseBtn = viewWidth >= ViewWidth.SMALL_TABLET;\n\n const modalContext = React.useContext(ModalRootContext);\n const { refs } = useModalRegistry(getNavId(props, warn), ModalType.PAGE);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"ModalPage\", platform),\n `ModalPage--sizeX-${sizeX}`,\n {\n \"ModalPage--desktop\": isDesktop,\n }\n )}\n >\n <div vkuiClass=\"ModalPage__in-wrap\" ref={refs.innerElement}>\n <div vkuiClass=\"ModalPage__in\">\n <div vkuiClass=\"ModalPage__header\" ref={refs.headerElement}>\n {header}\n </div>\n\n <div vkuiClass=\"ModalPage__content-wrap\">\n <div\n vkuiClass=\"ModalPage__content\"\n ref={multiRef<HTMLDivElement>(\n refs.contentElement,\n getModalContentRef\n )}\n >\n <div vkuiClass=\"ModalPage__content-in\">{children}</div>\n </div>\n </div>\n {canShowCloseBtn && (\n <ModalDismissButton onClick={onClose || modalContext.onClose} />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nModalPage.defaultProps = {\n settlingHeight: 75,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(ModalPage, {\n viewWidth: true,\n viewHeight: true,\n sizeX: true,\n hasMouse: true,\n});\n"],"file":"ModalPage.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vkuiPagination__list{display:flex;margin:0;padding:0;list-style-type:none}.vkuiPagination__prevButtonContainer{margin-right:8px}.vkuiPagination__nextButtonContainer{margin-left:8px}.vkuiPagination__page{box-sizing:border-box;padding-right:8px;padding-left:8px;width:100%;min-width:40px;border-radius:8px;border-radius:var(--vkui--size_border_radius--regular);text-align:center;color:#818c99;color:var(--vkui--color_text_secondary);-webkit-user-select:none;user-select:none}.vkuiPagination__page--state-hover{background-color:rgba(0,16,61,.04);background-color:var(--vkui--color_transparent--hover)}.vkuiPagination__page--state-active,.vkuiPagination__page--current{color:#000;color:var(--vkui--color_text_primary);background-color:rgba(0,16,61,.08);background-color:var(--vkui--color_transparent--active)}.vkuiPagination__page--disabled{opacity:.4;opacity:var(--vkui--opacity_disable)}.vkuiPagination__page--sizeY-compact{font-size:15px;font-size:var(--vkui--font_text--font_size--compact);line-height:36px;line-height:var(--vkui--size_button_large_height--compact);height:36px;height:var(--vkui--size_button_large_height--compact)}.vkuiPagination__page--sizeY-regular{font-size:16px;font-size:var(--vkui--font_text--font_size--regular);line-height:44px;line-height:var(--vkui--size_button_large_height--regular);height:44px;height:var(--vkui--size_button_large_height--regular)}.vkuiPagination__page--type-ellipsis{min-width:16px;padding-right:0;padding-left:0}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { HasRootRef } from "../../types";
|
|
3
|
+
import "./Pagination.css";
|
|
4
|
+
export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLElement>, "onChange">, HasRootRef<HTMLElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Текущая страница.
|
|
7
|
+
*/
|
|
8
|
+
currentPage?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Кол-во всегда видимых страниц по краям текущей страницы.
|
|
11
|
+
*/
|
|
12
|
+
siblingCount?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Кол-во всегда видимых страниц в начале и в конце.
|
|
15
|
+
*/
|
|
16
|
+
boundaryCount?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Общее кол-во страниц.
|
|
19
|
+
*/
|
|
20
|
+
totalPages?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Блокировка всех кнопок.
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Переобределение `aria-label` для кнопки навигации назад.
|
|
27
|
+
* По умолчанию используется текст на "ru_RU".
|
|
28
|
+
*/
|
|
29
|
+
prevButtonAriaLabel?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Переобределение `aria-label` для кнопки навигации вперёд.
|
|
32
|
+
* По умолчанию используется текст на "ru_RU".
|
|
33
|
+
*/
|
|
34
|
+
nextButtonAriaLabel?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Функция для переопределния и/или локализации `aria-label` атрибута.
|
|
37
|
+
* По умолчанию используется текст на "ru_RU".
|
|
38
|
+
*/
|
|
39
|
+
getPageAriaLabel?(page: number, isCurrent: boolean): string;
|
|
40
|
+
onChange?(page: number): void;
|
|
41
|
+
}
|
|
42
|
+
export declare const Pagination: React.FC<PaginationProps>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["currentPage", "siblingCount", "boundaryCount", "totalPages", "disabled", "getPageAriaLabel", "prevButtonAriaLabel", "nextButtonAriaLabel", "getRootRef", "onChange"];
|
|
4
|
+
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from "@vkontakte/icons";
|
|
7
|
+
import { classNames } from "../../lib/classNames";
|
|
8
|
+
import { useAdaptivity } from "../../hooks/useAdaptivity";
|
|
9
|
+
import { usePagination } from "../../hooks/usePagination";
|
|
10
|
+
import Tappable from "../Tappable/Tappable";
|
|
11
|
+
import Button from "../Button/Button";
|
|
12
|
+
import "./Pagination.css";
|
|
13
|
+
|
|
14
|
+
function getPageAriaLabelDefault(page, isCurrent) {
|
|
15
|
+
return isCurrent ? "".concat(page, " \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430") : "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 ".concat(page, " \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export var Pagination = function Pagination(_ref) {
|
|
19
|
+
var _ref$currentPage = _ref.currentPage,
|
|
20
|
+
currentPage = _ref$currentPage === void 0 ? 1 : _ref$currentPage,
|
|
21
|
+
_ref$siblingCount = _ref.siblingCount,
|
|
22
|
+
siblingCount = _ref$siblingCount === void 0 ? 1 : _ref$siblingCount,
|
|
23
|
+
_ref$boundaryCount = _ref.boundaryCount,
|
|
24
|
+
boundaryCount = _ref$boundaryCount === void 0 ? 1 : _ref$boundaryCount,
|
|
25
|
+
_ref$totalPages = _ref.totalPages,
|
|
26
|
+
totalPages = _ref$totalPages === void 0 ? 1 : _ref$totalPages,
|
|
27
|
+
disabled = _ref.disabled,
|
|
28
|
+
_ref$getPageAriaLabel = _ref.getPageAriaLabel,
|
|
29
|
+
getPageAriaLabel = _ref$getPageAriaLabel === void 0 ? getPageAriaLabelDefault : _ref$getPageAriaLabel,
|
|
30
|
+
_ref$prevButtonAriaLa = _ref.prevButtonAriaLabel,
|
|
31
|
+
prevButtonAriaLabel = _ref$prevButtonAriaLa === void 0 ? "Перейти на предыдущую страницу" : _ref$prevButtonAriaLa,
|
|
32
|
+
_ref$nextButtonAriaLa = _ref.nextButtonAriaLabel,
|
|
33
|
+
nextButtonAriaLabel = _ref$nextButtonAriaLa === void 0 ? "Перейти на следующую страницу" : _ref$nextButtonAriaLa,
|
|
34
|
+
getRootRef = _ref.getRootRef,
|
|
35
|
+
onChange = _ref.onChange,
|
|
36
|
+
resetProps = _objectWithoutProperties(_ref, _excluded);
|
|
37
|
+
|
|
38
|
+
var _useAdaptivity = useAdaptivity(),
|
|
39
|
+
sizeY = _useAdaptivity.sizeY;
|
|
40
|
+
|
|
41
|
+
var pages = usePagination({
|
|
42
|
+
currentPage: currentPage,
|
|
43
|
+
totalPages: totalPages,
|
|
44
|
+
siblingCount: siblingCount,
|
|
45
|
+
boundaryCount: boundaryCount
|
|
46
|
+
});
|
|
47
|
+
var isFirstPage = currentPage === 1;
|
|
48
|
+
var isLastPage = currentPage === totalPages;
|
|
49
|
+
var handlePrevClick = React.useCallback(function () {
|
|
50
|
+
if (onChange && !isFirstPage) {
|
|
51
|
+
onChange(currentPage - 1);
|
|
52
|
+
}
|
|
53
|
+
}, [currentPage, isFirstPage, onChange]);
|
|
54
|
+
var handleClick = React.useCallback(function (event) {
|
|
55
|
+
var page = event.currentTarget.dataset.page || "1";
|
|
56
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(Number(page));
|
|
57
|
+
}, [onChange]);
|
|
58
|
+
var handleNextClick = React.useCallback(function () {
|
|
59
|
+
if (onChange && !isLastPage) {
|
|
60
|
+
onChange(currentPage + 1);
|
|
61
|
+
}
|
|
62
|
+
}, [currentPage, isLastPage, onChange]);
|
|
63
|
+
var renderPages = React.useCallback(function (page) {
|
|
64
|
+
switch (page) {
|
|
65
|
+
case "start-ellipsis":
|
|
66
|
+
case "end-ellipsis":
|
|
67
|
+
return createScopedElement("li", {
|
|
68
|
+
key: page
|
|
69
|
+
}, createScopedElement("div", {
|
|
70
|
+
vkuiClass: classNames("Pagination__page", "Pagination__page--type-ellipsis", "Pagination__page--sizeY-".concat(sizeY), disabled && "Pagination__page--disabled")
|
|
71
|
+
}, "..."));
|
|
72
|
+
|
|
73
|
+
default:
|
|
74
|
+
{
|
|
75
|
+
var _isCurrent = page === currentPage;
|
|
76
|
+
|
|
77
|
+
return createScopedElement("li", {
|
|
78
|
+
key: page
|
|
79
|
+
}, createScopedElement(Tappable, {
|
|
80
|
+
vkuiClass: classNames("Pagination__page", "Pagination__page--sizeY-".concat(sizeY), _isCurrent && "Pagination__page--current", disabled && "Pagination__page--disabled"),
|
|
81
|
+
activeMode: "Pagination__page--state-active",
|
|
82
|
+
hoverMode: "Pagination__page--state-hover",
|
|
83
|
+
hasActive: !_isCurrent,
|
|
84
|
+
hasHover: !_isCurrent,
|
|
85
|
+
focusVisibleMode: "outside",
|
|
86
|
+
disabled: disabled,
|
|
87
|
+
"data-page": page,
|
|
88
|
+
"aria-current": _isCurrent ? true : undefined,
|
|
89
|
+
"aria-label": getPageAriaLabel(page, _isCurrent),
|
|
90
|
+
onClick: handleClick
|
|
91
|
+
}, page));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}, [sizeY, currentPage, disabled, getPageAriaLabel, handleClick]);
|
|
95
|
+
return createScopedElement("nav", _extends({
|
|
96
|
+
vkuiClass: "Pagination",
|
|
97
|
+
role: "navigation",
|
|
98
|
+
"aria-label": "\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430\u043C",
|
|
99
|
+
ref: getRootRef
|
|
100
|
+
}, resetProps), createScopedElement("ul", {
|
|
101
|
+
vkuiClass: "Pagination__list"
|
|
102
|
+
}, createScopedElement("li", {
|
|
103
|
+
vkuiClass: "Pagination__prevButtonContainer"
|
|
104
|
+
}, createScopedElement(Button, {
|
|
105
|
+
size: "l",
|
|
106
|
+
before: createScopedElement(Icon24ChevronCompactLeft, {
|
|
107
|
+
width: 24
|
|
108
|
+
}),
|
|
109
|
+
appearance: "accent",
|
|
110
|
+
mode: "tertiary",
|
|
111
|
+
stretched: true,
|
|
112
|
+
disabled: isFirstPage || disabled,
|
|
113
|
+
"aria-label": prevButtonAriaLabel,
|
|
114
|
+
onClick: handlePrevClick
|
|
115
|
+
})), pages.map(renderPages), createScopedElement("li", {
|
|
116
|
+
vkuiClass: "Pagination__nextButtonContainer"
|
|
117
|
+
}, createScopedElement(Button, {
|
|
118
|
+
size: "l",
|
|
119
|
+
after: createScopedElement(Icon24ChevronCompactRight, {
|
|
120
|
+
width: 24
|
|
121
|
+
}),
|
|
122
|
+
appearance: "accent",
|
|
123
|
+
mode: "tertiary",
|
|
124
|
+
stretched: true,
|
|
125
|
+
disabled: isLastPage || disabled,
|
|
126
|
+
"aria-label": nextButtonAriaLabel,
|
|
127
|
+
onClick: handleNextClick
|
|
128
|
+
}))));
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=Pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Pagination/Pagination.tsx"],"names":["React","Icon24ChevronCompactLeft","Icon24ChevronCompactRight","classNames","useAdaptivity","usePagination","Tappable","Button","getPageAriaLabelDefault","page","isCurrent","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","getRootRef","onChange","resetProps","sizeY","pages","isFirstPage","isLastPage","handlePrevClick","useCallback","handleClick","event","currentTarget","dataset","Number","handleNextClick","renderPages","undefined","map"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n Icon24ChevronCompactLeft,\n Icon24ChevronCompactRight,\n} from \"@vkontakte/icons\";\n\nimport type { HasRootRef } from \"../../types\";\n\nimport { classNames } from \"../../lib/classNames\";\n\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { PaginationPageType, usePagination } from \"../../hooks/usePagination\";\n\nimport Tappable from \"../Tappable/Tappable\";\nimport Button from \"../Button/Button\";\n\nimport \"./Pagination.css\";\n\nfunction getPageAriaLabelDefault(page: number, isCurrent: boolean): string {\n return isCurrent ? `${page} страница` : `Перейти на ${page} страницу`;\n}\n\nexport interface PaginationProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"onChange\">,\n HasRootRef<HTMLElement> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переобределение `aria-label` для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonAriaLabel?: string;\n /**\n * Переобределение `aria-label` для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonAriaLabel?: string;\n /**\n * Функция для переопределния и/или локализации `aria-label` атрибута.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageAriaLabel?(page: number, isCurrent: boolean): string;\n onChange?(page: number): void;\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageAriaLabel = getPageAriaLabelDefault,\n prevButtonAriaLabel = \"Перейти на предыдущую страницу\",\n nextButtonAriaLabel = \"Перейти на следующую страницу\",\n getRootRef,\n onChange,\n ...resetProps\n}) => {\n const { sizeY } = useAdaptivity();\n\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || \"1\";\n onChange?.(Number(page));\n },\n [onChange]\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case \"start-ellipsis\":\n case \"end-ellipsis\":\n return (\n <li key={page}>\n <div\n vkuiClass={classNames(\n \"Pagination__page\",\n \"Pagination__page--type-ellipsis\",\n `Pagination__page--sizeY-${sizeY}`,\n disabled && \"Pagination__page--disabled\"\n )}\n >\n ...\n </div>\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <Tappable\n vkuiClass={classNames(\n \"Pagination__page\",\n `Pagination__page--sizeY-${sizeY}`,\n isCurrent && \"Pagination__page--current\",\n disabled && \"Pagination__page--disabled\"\n )}\n activeMode=\"Pagination__page--state-active\"\n hoverMode=\"Pagination__page--state-hover\"\n hasActive={!isCurrent}\n hasHover={!isCurrent}\n focusVisibleMode=\"outside\"\n disabled={disabled}\n data-page={page}\n aria-current={isCurrent ? true : undefined}\n aria-label={getPageAriaLabel(page, isCurrent)}\n onClick={handleClick}\n >\n {page}\n </Tappable>\n </li>\n );\n }\n }\n },\n [sizeY, currentPage, disabled, getPageAriaLabel, handleClick]\n );\n\n return (\n <nav\n vkuiClass=\"Pagination\"\n role=\"navigation\"\n aria-label=\"Навигация по страницам\"\n ref={getRootRef}\n {...resetProps}\n >\n <ul vkuiClass=\"Pagination__list\">\n <li vkuiClass=\"Pagination__prevButtonContainer\">\n <Button\n size=\"l\"\n before={<Icon24ChevronCompactLeft width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n stretched\n disabled={isFirstPage || disabled}\n aria-label={prevButtonAriaLabel}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li vkuiClass=\"Pagination__nextButtonContainer\">\n <Button\n size=\"l\"\n after={<Icon24ChevronCompactRight width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n stretched\n disabled={isLastPage || disabled}\n aria-label={nextButtonAriaLabel}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </nav>\n );\n};\n"],"file":"Pagination.js"}
|
|
@@ -5,5 +5,5 @@ import "./PanelHeaderBack.css";
|
|
|
5
5
|
export declare type PanelHeaderBackProps = PanelHeaderButtonProps & AdaptivityProps & {
|
|
6
6
|
"aria-label"?: string;
|
|
7
7
|
};
|
|
8
|
-
declare const _default: React.NamedExoticComponent<Pick<PanelHeaderBackProps, "max" | "required" | "high" | "low" | "disabled" | "default" | "start" | "open" | "media" | "hidden" | "cite" | "data" | "dir" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "async" | "defer" | "manifest" | "color" | "content" | "size" | "wrap" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "method" | "min" | "name" | "target" | "type" | "role" | "tabIndex" | "crossOrigin" | "href" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancelCapture" | "onTouchEndCapture" | "onTouchMoveCapture" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "list" | "classID" | "useMap" | "wmode" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "as" | "hrefLang" | "integrity" | "rel" | "sizes" | "charSet" | "kind" | "srcLang" | "value" | "download" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "htmlFor" | "httpEquiv" | "optimum" | "reversed" | "selected" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "poster" | "challenge" | "keyType" | "keyParams" | "onStart" | "onMove" | "onEnd" | "Component" | "getRootRef" | "stopPropagation" | "activeEffectDelay" | "hasHover" | "hoverMode" | "hasActive" | "activeMode" | "focusVisibleMode" | "primary"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
|
|
8
|
+
declare const _default: React.NamedExoticComponent<Pick<PanelHeaderBackProps, "max" | "required" | "high" | "low" | "disabled" | "default" | "start" | "open" | "media" | "hidden" | "cite" | "data" | "dir" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "async" | "defer" | "manifest" | "color" | "content" | "size" | "wrap" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "method" | "min" | "name" | "target" | "type" | "role" | "tabIndex" | "crossOrigin" | "href" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancelCapture" | "onTouchEndCapture" | "onTouchMoveCapture" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "list" | "classID" | "useMap" | "wmode" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "as" | "hrefLang" | "integrity" | "rel" | "sizes" | "charSet" | "kind" | "srcLang" | "value" | "download" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "htmlFor" | "httpEquiv" | "optimum" | "reversed" | "selected" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "poster" | "challenge" | "keyType" | "keyParams" | "onStart" | "onMove" | "onLeave" | "onEnter" | "onEnd" | "Component" | "getRootRef" | "stopPropagation" | "activeEffectDelay" | "hasHover" | "hoverMode" | "hasActive" | "activeMode" | "focusVisibleMode" | "primary"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
|
|
9
9
|
export default _default;
|
|
@@ -7,7 +7,7 @@ import { getClassName } from "../../helpers/getClassName";
|
|
|
7
7
|
import Tappable from "../Tappable/Tappable";
|
|
8
8
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
9
9
|
import { hasReactNode } from "../../lib/utils";
|
|
10
|
-
import Caption from "../Typography/Caption/Caption";
|
|
10
|
+
import { Caption } from "../Typography/Caption/Caption";
|
|
11
11
|
import Headline from "../Typography/Headline/Headline";
|
|
12
12
|
import { IOS, Platform } from "../../lib/platform";
|
|
13
13
|
import Text from "../Typography/Text/Text";
|
|
@@ -63,8 +63,6 @@ var PanelHeaderContent = function PanelHeaderContent(_ref2) {
|
|
|
63
63
|
}, before), createScopedElement(InComponent, _extends({}, inProps, {
|
|
64
64
|
vkuiClass: "PanelHeaderContent__in"
|
|
65
65
|
}), hasReactNode(status) && createScopedElement(Caption, {
|
|
66
|
-
level: "1",
|
|
67
|
-
weight: "regular",
|
|
68
66
|
vkuiClass: "PanelHeaderContent__status"
|
|
69
67
|
}, status), createScopedElement("div", {
|
|
70
68
|
vkuiClass: "PanelHeaderContent__children"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PanelHeaderContent/PanelHeaderContent.tsx"],"names":["getClassName","Tappable","usePlatform","hasReactNode","Caption","Headline","IOS","Platform","Text","PanelHeaderChildren","platform","hasStatus","hasBefore","children","VKCOM","PanelHeaderContent","className","style","aside","status","before","onClick","restProps","InComponent","rootProps","inProps","activeEffectDelay","hasActive","activeMode","baseClassNames"],"mappings":";;;;;AACA,SAASA,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PanelHeaderContent/PanelHeaderContent.tsx"],"names":["getClassName","Tappable","usePlatform","hasReactNode","Caption","Headline","IOS","Platform","Text","PanelHeaderChildren","platform","hasStatus","hasBefore","children","VKCOM","PanelHeaderContent","className","style","aside","status","before","onClick","restProps","InComponent","rootProps","inProps","activeEffectDelay","hasActive","activeMode","baseClassNames"],"mappings":";;;;;AACA,SAASA,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,OAAT;AACA,OAAOC,QAAP;AACA,SAASC,GAAT,EAAcC,QAAd;AACA,OAAOC,IAAP;AAEA;;AAcA,IAAMC,mBAAuD,GAAG,SAA1DA,mBAA0D,OAK1D;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJC,SAGI,QAHJA,SAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADJC,QACI,QADJA,QACI;;AACJ,MAAIH,QAAQ,KAAKH,QAAQ,CAACO,KAA1B,EAAiC;AAC/B,WACE,oBAAC,IAAD;AAAM,MAAA,SAAS,EAAC,KAAhB;AAAsB,MAAA,MAAM,EAAC;AAA7B,OACGD,QADH,CADF;AAKD;;AAED,SAAOF,SAAS,IAAIC,SAAb,GACL,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAC,KAApB;AAA0B,IAAA,MAAM,EAAC;AAAjC,KACGC,QADH,CADK,GAKL;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkDA,QAAlD,CALF;AAOD,CArBD;;AAuBA,IAAME,kBAAoE,GAAG,SAAvEA,kBAAuE,QAS9C;AAAA,MAR7BC,SAQ6B,SAR7BA,SAQ6B;AAAA,MAP7BC,KAO6B,SAP7BA,KAO6B;AAAA,MAN7BC,KAM6B,SAN7BA,KAM6B;AAAA,MAL7BC,MAK6B,SAL7BA,MAK6B;AAAA,MAJ7BC,MAI6B,SAJ7BA,MAI6B;AAAA,MAH7BP,QAG6B,SAH7BA,QAG6B;AAAA,MAF7BQ,OAE6B,SAF7BA,OAE6B;AAAA,MAD1BC,SAC0B;;AAC7B,MAAMC,WAAW,GAAGF,OAAO,GAAGpB,QAAH,GAAc,KAAzC;AACA,MAAMuB,SAAS,GAAGH,OAAO,GAAG,EAAH,GAAQC,SAAjC;AACA,MAAMZ,QAAQ,GAAGR,WAAW,EAA5B;AACA,MAAMuB,OAAO,GAAGJ,OAAO,mCAEdC,SAFc;AAGjBD,IAAAA,OAAO,EAAPA,OAHiB;AAIjBK,IAAAA,iBAAiB,EAAE,GAJF;AAKjBC,IAAAA,SAAS,EAAEjB,QAAQ,KAAKJ,GALP;AAMjBsB,IAAAA,UAAU,EAAE;AANK,OAQnB,EARJ;AASA,MAAMC,cAAc,GAAG7B,YAAY,CAAC,oBAAD,EAAuBU,QAAvB,CAAnC;AAEA,SACE,wCACMc,SADN;AAEE,IAAA,SAAS,EAAEK,cAFb;AAGE,IAAA,KAAK,EAAEZ,KAHT;AAIE,IAAA,SAAS,EAAED;AAJb,MAMGb,YAAY,CAACiB,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CA,MAA7C,CAPJ,EASE,oBAAC,WAAD,eAAiBK,OAAjB;AAA0B,IAAA,SAAS,EAAC;AAApC,MACGtB,YAAY,CAACgB,MAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAiDA,MAAjD,CAFJ,EAIE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,mBAAD;AACE,IAAA,QAAQ,EAAET,QADZ;AAEE,IAAA,SAAS,EAAEP,YAAY,CAACgB,MAAD,CAFzB;AAGE,IAAA,SAAS,EAAEhB,YAAY,CAACiB,MAAD;AAHzB,KAKGP,QALH,CADF,EAQGV,YAAY,CAACe,KAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA4CA,KAA5C,CATJ,CAJF,EAgBGf,YAAY,CAACiB,MAAD,CAAZ,IAAwB;AAAK,IAAA,SAAS,EAAC;AAAf,IAhB3B,CATF,CADF;AA8BD,CAtDD,C,CAwDA;;;AACA,eAAeL,kBAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { IOS, Platform } from \"../../lib/platform\";\nimport Text from \"../Typography/Text/Text\";\nimport { HasPlatform } from \"../../types\";\nimport \"./PanelHeaderContent.css\";\n\nexport interface PanelHeaderContentProps\n extends React.HTMLAttributes<HTMLDivElement> {\n aside?: React.ReactNode;\n before?: React.ReactNode;\n status?: React.ReactNode;\n}\n\ninterface PanelHeaderChildrenProps extends HasPlatform {\n hasStatus: boolean;\n hasBefore: boolean;\n}\n\nconst PanelHeaderChildren: React.FC<PanelHeaderChildrenProps> = ({\n platform,\n hasStatus,\n hasBefore,\n children,\n}) => {\n if (platform === Platform.VKCOM) {\n return (\n <Text Component=\"div\" weight=\"medium\">\n {children}\n </Text>\n );\n }\n\n return hasStatus || hasBefore ? (\n <Headline Component=\"div\" weight=\"medium\">\n {children}\n </Headline>\n ) : (\n <div vkuiClass=\"PanelHeaderContent__children-in\">{children}</div>\n );\n};\n\nconst PanelHeaderContent: React.FunctionComponent<PanelHeaderContentProps> = ({\n className,\n style,\n aside,\n status,\n before,\n children,\n onClick,\n ...restProps\n}: PanelHeaderContentProps) => {\n const InComponent = onClick ? Tappable : \"div\";\n const rootProps = onClick ? {} : restProps;\n const platform = usePlatform();\n const inProps = onClick\n ? {\n ...restProps,\n onClick,\n activeEffectDelay: 200,\n hasActive: platform === IOS,\n activeMode: \"opacity\",\n }\n : {};\n const baseClassNames = getClassName(\"PanelHeaderContent\", platform);\n\n return (\n <div\n {...rootProps}\n vkuiClass={baseClassNames}\n style={style}\n className={className}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"PanelHeaderContent__before\">{before}</div>\n )}\n <InComponent {...inProps} vkuiClass=\"PanelHeaderContent__in\">\n {hasReactNode(status) && (\n <Caption vkuiClass=\"PanelHeaderContent__status\">{status}</Caption>\n )}\n <div vkuiClass=\"PanelHeaderContent__children\">\n <PanelHeaderChildren\n platform={platform}\n hasStatus={hasReactNode(status)}\n hasBefore={hasReactNode(before)}\n >\n {children}\n </PanelHeaderChildren>\n {hasReactNode(aside) && (\n <div vkuiClass=\"PanelHeaderContent__aside\">{aside}</div>\n )}\n </div>\n {hasReactNode(before) && <div vkuiClass=\"PanelHeaderContent__width\" />}\n </InComponent>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PanelHeaderContent;\n"],"file":"PanelHeaderContent.js"}
|
|
@@ -10,7 +10,7 @@ import { Icon24Dismiss } from "@vkontakte/icons";
|
|
|
10
10
|
import Button from "../Button/Button";
|
|
11
11
|
import SimpleCell from "../SimpleCell/SimpleCell";
|
|
12
12
|
import Avatar from "../Avatar/Avatar";
|
|
13
|
-
import Caption from "../Typography/Caption/Caption";
|
|
13
|
+
import { Caption } from "../Typography/Caption/Caption";
|
|
14
14
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
15
15
|
import { getClassName } from "../../helpers/getClassName";
|
|
16
16
|
import { warnOnce } from "../../lib/warnOnce";
|
|
@@ -54,12 +54,8 @@ var PromoBanner = function PromoBanner(props) {
|
|
|
54
54
|
}, restProps), createScopedElement("div", {
|
|
55
55
|
vkuiClass: "PromoBanner__head"
|
|
56
56
|
}, createScopedElement(Caption, {
|
|
57
|
-
weight: "regular",
|
|
58
|
-
level: "1",
|
|
59
57
|
vkuiClass: "PromoBanner__label"
|
|
60
58
|
}, bannerData.advertisingLabel || "Advertisement"), ageRestrictions != null && createScopedElement(Caption, {
|
|
61
|
-
weight: "regular",
|
|
62
|
-
level: "1",
|
|
63
59
|
vkuiClass: "PromoBanner__age"
|
|
64
60
|
}, ageRestrictions, "+"), !props.isCloseButtonHidden && createScopedElement("div", {
|
|
65
61
|
vkuiClass: "PromoBanner__close",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":";;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,OAAOC,MAAP;AACA,OAAOC,UAAP;AACA,OAAOC,MAAP;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PromoBanner/PromoBanner.tsx"],"names":["React","Icon24Dismiss","Button","SimpleCell","Avatar","Caption","usePlatform","getClassName","warnOnce","warn","PromoBanner","props","platform","bannerData","onClose","restProps","ageRestrictions","parseInt","ageRestriction","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","advertisingLabel","isCloseButtonHidden","trackingLink","iconLink","title","ctaText","domain","length"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport Button from \"../Button/Button\";\nimport SimpleCell from \"../SimpleCell/SimpleCell\";\nimport Avatar from \"../Avatar/Avatar\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./PromoBanner.css\";\n\ntype StatsType =\n | \"playbackStarted\" // Начало показа\n | \"click\"; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string; // eslint-disable-line camelcase\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n /** @deprecated */\n ageRestriction?: number;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\nconst warn = warnOnce(\"PromoBanner\");\nconst PromoBanner = (props: PromoBannerProps) => {\n const platform = usePlatform();\n const { bannerData = {}, onClose, ...restProps } = props;\n\n const ageRestrictions =\n bannerData.ageRestrictions != null\n ? parseInt(bannerData.ageRestrictions)\n : bannerData.ageRestriction;\n\n if (bannerData.ageRestriction && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство bannerData.ageRestriction устарело и будет удалено в 5.0.0. Используйте bannerData.ageRestrictions\"\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState(\"\");\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce(\n (acc, item) => ({ ...acc, [item.type]: item.url }),\n {}\n )\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics]\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || \"\"),\n [statsPixels.click]\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div vkuiClass={getClassName(\"PromoBanner\", platform)} {...restProps}>\n <div vkuiClass=\"PromoBanner__head\">\n <Caption vkuiClass=\"PromoBanner__label\">\n {bannerData.advertisingLabel || \"Advertisement\"}\n </Caption>\n {ageRestrictions != null && (\n <Caption vkuiClass=\"PromoBanner__age\">{ageRestrictions}+</Caption>\n )}\n\n {!props.isCloseButtonHidden && (\n <div vkuiClass=\"PromoBanner__close\" onClick={props.onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n <Avatar\n mode=\"image\"\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n />\n }\n after={<Button mode=\"outline\">{bannerData.ctaText}</Button>}\n description={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div vkuiClass=\"PromoBanner__pixels\">\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default PromoBanner;\n"],"file":"PromoBanner.js"}
|
|
@@ -9,7 +9,7 @@ import { IOS, VKCOM } from "../../lib/platform";
|
|
|
9
9
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
10
10
|
import { withAdaptivity, SizeType } from "../../hoc/withAdaptivity";
|
|
11
11
|
import { hasReactNode } from "../../lib/utils";
|
|
12
|
-
import Caption from "../Typography/Caption/Caption";
|
|
12
|
+
import { Caption } from "../Typography/Caption/Caption";
|
|
13
13
|
import Headline from "../Typography/Headline/Headline";
|
|
14
14
|
import Text from "../Typography/Text/Text";
|
|
15
15
|
import "./Radio.css";
|
|
@@ -50,9 +50,6 @@ var Radio = function Radio(props) {
|
|
|
50
50
|
}, createScopedElement("div", {
|
|
51
51
|
vkuiClass: "Radio__children"
|
|
52
52
|
}, children), hasReactNode(description) && createScopedElement(Caption, {
|
|
53
|
-
level: "1",
|
|
54
|
-
Component: "span",
|
|
55
|
-
weight: "regular",
|
|
56
53
|
vkuiClass: "Radio__description"
|
|
57
54
|
}, description))));
|
|
58
55
|
}; // eslint-disable-next-line import/no-default-export
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Radio/Radio.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","getClassName","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","Caption","Headline","Text","Radio","props","children","description","style","className","getRef","getRootRef","sizeY","restProps","platform","ContentComponent","COMPACT","disabled"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Radio/Radio.tsx"],"names":["Tappable","ACTIVE_EFFECT_DELAY","getClassName","classNames","IOS","VKCOM","usePlatform","withAdaptivity","SizeType","hasReactNode","Caption","Headline","Text","Radio","props","children","description","style","className","getRef","getRootRef","sizeY","restProps","platform","ContentComponent","COMPACT","disabled"],"mappings":";;;;AACA,OAAOA,QAAP,IAAmBC,mBAAnB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,KAAd;AAEA,SAASC,WAAT;AACA,SACEC,cADF,EAGEC,QAHF;AAKA,SAASC,YAAT;AACA,SAASC,OAAT;AACA,OAAOC,QAAP;AACA,OAAOC,IAAP;AACA;;AAUA,IAAMC,KAA2B,GAAG,SAA9BA,KAA8B,CAACC,KAAD,EAAuB;AACzD,MACEC,QADF,GASID,KATJ,CACEC,QADF;AAAA,MAEEC,WAFF,GASIF,KATJ,CAEEE,WAFF;AAAA,MAGEC,KAHF,GASIH,KATJ,CAGEG,KAHF;AAAA,MAIEC,SAJF,GASIJ,KATJ,CAIEI,SAJF;AAAA,MAKEC,MALF,GASIL,KATJ,CAKEK,MALF;AAAA,MAMEC,UANF,GASIN,KATJ,CAMEM,UANF;AAAA,MAOEC,KAPF,GASIP,KATJ,CAOEO,KAPF;AAAA,MAQKC,SARL,4BASIR,KATJ;;AAUA,MAAMS,QAAQ,GAAGjB,WAAW,EAA5B;AAEA,MAAMkB,gBAAgB,GACpBD,QAAQ,KAAKlB,KAAb,IAAsBgB,KAAK,KAAKb,QAAQ,CAACiB,OAAzC,GAAmDb,IAAnD,GAA0DD,QAD5D;AAGA,SACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,OADZ;AAEE,IAAA,KAAK,EAAEM,KAFT;AAGE,IAAA,SAAS,EAAEC,SAHb;AAIE,IAAA,SAAS,EAAEf,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUqB,QAAV,CADO,yBAEHF,KAFG,EAJvB;AAQE,IAAA,iBAAiB,EAAEE,QAAQ,KAAKnB,GAAb,GAAmB,GAAnB,GAAyBH,mBAR9C;AASE,IAAA,QAAQ,EAAEqB,SAAS,CAACI,QATtB;AAUE,IAAA,UAAU,EAAEN;AAVd,KAYE,0CACME,SADN;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,IAAA,SAAS,EAAC,cAHZ;AAIE,IAAA,GAAG,EAAEH;AAJP,KAZF,EAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAG,IAAA,SAAS,EAAC,aAAb;AAA2B,IAAA,IAAI,EAAC;AAAhC,IADF,EAEE,oBAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,gBAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCJ,QAAlC,CALF,EAMGN,YAAY,CAACO,WAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAyCA,WAAzC,CAPJ,CAFF,CAlBF,CADF;AAkCD,CAlDD,C,CAoDA;;;AACA,eAAeT,cAAc,CAACM,KAAD,EAAQ;AACnCQ,EAAAA,KAAK,EAAE;AAD4B,CAAR,CAA7B","sourcesContent":["import * as React from \"react\";\nimport Tappable, { ACTIVE_EFFECT_DELAY } from \"../Tappable/Tappable\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Text from \"../Typography/Text/Text\";\nimport \"./Radio.css\";\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n AdaptivityProps {\n description?: React.ReactNode;\n}\n\nconst Radio: React.FC<RadioProps> = (props: RadioProps) => {\n const {\n children,\n description,\n style,\n className,\n getRef,\n getRootRef,\n sizeY,\n ...restProps\n } = props;\n const platform = usePlatform();\n\n const ContentComponent =\n platform === VKCOM || sizeY === SizeType.COMPACT ? Text : Headline;\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={className}\n vkuiClass={classNames(\n getClassName(\"Radio\", platform),\n `Radio--sizeY-${sizeY}`\n )}\n activeEffectDelay={platform === IOS ? 100 : ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n >\n <input\n {...restProps}\n type=\"radio\"\n vkuiClass=\"Radio__input\"\n ref={getRef}\n />\n <div vkuiClass=\"Radio__container\">\n <i vkuiClass=\"Radio__icon\" role=\"presentation\" />\n <ContentComponent\n weight=\"regular\"\n vkuiClass=\"Radio__content\"\n Component=\"div\"\n >\n <div vkuiClass=\"Radio__children\">{children}</div>\n {hasReactNode(description) && (\n <Caption vkuiClass=\"Radio__description\">{description}</Caption>\n )}\n </ContentComponent>\n </div>\n </Tappable>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Radio, {\n sizeY: true,\n});\n"],"file":"Radio.js"}
|
|
@@ -19,7 +19,7 @@ import Tappable from "../Tappable/Tappable";
|
|
|
19
19
|
import "./Removable.css";
|
|
20
20
|
|
|
21
21
|
var RemovableIos = function RemovableIos(_ref) {
|
|
22
|
-
var
|
|
22
|
+
var onRemove = _ref.onRemove,
|
|
23
23
|
removePlaceholder = _ref.removePlaceholder,
|
|
24
24
|
removePlaceholderString = _ref.removePlaceholderString,
|
|
25
25
|
children = _ref.children;
|
|
@@ -28,6 +28,7 @@ var RemovableIos = function RemovableIos(_ref) {
|
|
|
28
28
|
window = _useDOM.window;
|
|
29
29
|
|
|
30
30
|
var removeButtonRef = React.useRef(null);
|
|
31
|
+
var disabledRef = React.useRef(true);
|
|
31
32
|
|
|
32
33
|
var _React$useState = React.useState(0),
|
|
33
34
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -47,6 +48,8 @@ var RemovableIos = function RemovableIos(_ref) {
|
|
|
47
48
|
var _removeButtonRef$curr;
|
|
48
49
|
|
|
49
50
|
removeButtonRef === null || removeButtonRef === void 0 ? void 0 : (_removeButtonRef$curr = removeButtonRef.current) === null || _removeButtonRef$curr === void 0 ? void 0 : _removeButtonRef$curr.focus();
|
|
51
|
+
} else {
|
|
52
|
+
disabledRef.current = true;
|
|
50
53
|
}
|
|
51
54
|
};
|
|
52
55
|
|
|
@@ -58,6 +61,7 @@ var RemovableIos = function RemovableIos(_ref) {
|
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
var offsetWidth = removeButtonRef.current.offsetWidth;
|
|
64
|
+
disabledRef.current = false;
|
|
61
65
|
updateRemoveOffset(offsetWidth);
|
|
62
66
|
};
|
|
63
67
|
|
|
@@ -84,10 +88,10 @@ var RemovableIos = function RemovableIos(_ref) {
|
|
|
84
88
|
Component: "button",
|
|
85
89
|
hasActive: false,
|
|
86
90
|
hasHover: false,
|
|
87
|
-
disabled:
|
|
91
|
+
disabled: disabledRef.current,
|
|
88
92
|
getRootRef: removeButtonRef,
|
|
89
93
|
vkuiClass: "Removable__remove",
|
|
90
|
-
onClick:
|
|
94
|
+
onClick: onRemove
|
|
91
95
|
}, createScopedElement("span", {
|
|
92
96
|
vkuiClass: "Removable__remove-in"
|
|
93
97
|
}, removePlaceholder)));
|
|
@@ -131,7 +135,7 @@ export var Removable = function Removable(_ref2) {
|
|
|
131
135
|
}, createScopedElement(Icon24Cancel, {
|
|
132
136
|
role: "presentation"
|
|
133
137
|
}))), platform === IOS && createScopedElement(RemovableIos, {
|
|
134
|
-
|
|
138
|
+
onRemove: onRemoveClick,
|
|
135
139
|
removePlaceholder: removePlaceholder,
|
|
136
140
|
removePlaceholderString: removePlaceholderString
|
|
137
141
|
}, children));
|