@vkontakte/vkui 4.27.2 → 4.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Button/Button.d.ts +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/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -7
- 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 +8 -2
- package/dist/cjs/components/ConfigProvider/ConfigProvider.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 +30 -8
- 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 +1 -1
- 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/IconButton/IconButton.d.ts +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/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/RichCell/RichCell.d.ts +3 -2
- 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/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/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/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/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/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 +11 -1
- package/dist/cjs/index.js +66 -2
- 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 +8 -0
- package/dist/cjs/tokenized/index.js +32 -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/Button/Button.d.ts +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/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/dist/components/ChipsSelect/ChipsSelect.js +3 -4
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/dist/components/ConfigProvider/ConfigProvider.js +7 -2
- package/dist/components/ConfigProvider/ConfigProvider.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 +28 -7
- 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 +1 -1
- 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/IconButton/IconButton.d.ts +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/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/RichCell/RichCell.d.ts +3 -2
- 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/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/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/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 +4 -4
- package/dist/components.css.map +1 -1
- package/dist/components.js.tmp +24 -0
- package/dist/cssm/components/Button/Button.css +1 -1
- package/dist/cssm/components/Button/Button.d.ts +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/ChipsSelect/ChipsSelect.d.ts +1 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -4
- 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 +7 -2
- package/dist/cssm/components/ConfigProvider/ConfigProvider.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 +28 -7
- 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 +1 -1
- 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/FormField/FormField.css +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +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/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/RichCell/RichCell.d.ts +3 -2
- 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/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/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/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/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/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 +11 -1
- package/dist/cssm/index.js +10 -2
- 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 +4 -4
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/tokenized/index.d.ts +8 -0
- package/dist/cssm/tokenized/index.js +4 -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/default_scheme.js.tmp +24 -0
- package/dist/fonts.js.tmp +24 -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/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 +11 -1
- package/dist/index.js +10 -2
- 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/stable.js.tmp +166 -0
- package/dist/tokenized/index.d.ts +8 -0
- package/dist/tokenized/index.js +4 -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/unstable.js.tmp +24 -0
- package/dist/vkui.css +5 -5
- package/dist/vkui.css.map +1 -1
- package/package.json +14 -8
- package/.browserslistrc +0 -2
- package/.cache/.eslintcache +0 -1
- package/.cache/.stylelintcache +0 -1
- package/.cache/.tsbuildinfo +0 -51207
- package/.cache/ts/src/appearance/constants.d.ts +0 -1
- package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +0 -26
- package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +0 -8
- package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +0 -4
- package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +0 -4
- package/.cache/ts/src/components/ActionSheet/types.d.ts +0 -9
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +0 -20
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +0 -46
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +0 -10
- package/.cache/ts/src/components/Alert/Alert.d.ts +0 -24
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +0 -14
- package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +0 -9
- package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +0 -5
- package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +0 -23
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +0 -7
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
- package/.cache/ts/src/components/Avatar/Avatar.d.ts +0 -22
- package/.cache/ts/src/components/Badge/Badge.d.ts +0 -6
- package/.cache/ts/src/components/Banner/Banner.d.ts +0 -65
- package/.cache/ts/src/components/Button/Button.d.ts +0 -20
- package/.cache/ts/src/components/Card/Card.d.ts +0 -7
- package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +0 -8
- package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +0 -12
- package/.cache/ts/src/components/Cell/Cell.d.ts +0 -47
- package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +0 -5
- package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +0 -6
- package/.cache/ts/src/components/Cell/useDraggable.d.ts +0 -13
- package/.cache/ts/src/components/CellButton/CellButton.d.ts +0 -9
- package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +0 -10
- package/.cache/ts/src/components/Chip/Chip.d.ts +0 -16
- package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +0 -30
- package/.cache/ts/src/components/ChipsInput/useChipsInput.d.ts +0 -14
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +0 -41
- package/.cache/ts/src/components/ChipsSelect/useChipsSelect.d.ts +0 -22
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +0 -12
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +0 -36
- package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +0 -34
- package/.cache/ts/src/components/Counter/Counter.d.ts +0 -11
- package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +0 -10
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +0 -56
- package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +0 -12
- package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +0 -15
- package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +0 -24
- package/.cache/ts/src/components/Div/Div.d.ts +0 -7
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +0 -8
- package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +0 -3
- package/.cache/ts/src/components/Epic/Epic.d.ts +0 -10
- package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +0 -6
- package/.cache/ts/src/components/File/File.d.ts +0 -9
- package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +0 -19
- package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +0 -8
- package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +0 -8
- package/.cache/ts/src/components/Footer/Footer.d.ts +0 -5
- package/.cache/ts/src/components/FormField/FormField.d.ts +0 -14
- package/.cache/ts/src/components/FormItem/FormItem.d.ts +0 -14
- package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +0 -6
- package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +0 -13
- package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +0 -7
- package/.cache/ts/src/components/Gallery/Gallery.d.ts +0 -39
- package/.cache/ts/src/components/Gradient/Gradient.d.ts +0 -7
- package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +0 -8
- package/.cache/ts/src/components/Group/Group.d.ts +0 -23
- package/.cache/ts/src/components/Header/Header.d.ts +0 -18
- package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +0 -10
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +0 -19
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +0 -8
- package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +0 -29
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +0 -11
- package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +0 -7
- package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +0 -32
- package/.cache/ts/src/components/Input/Input.d.ts +0 -9
- package/.cache/ts/src/components/Link/Link.d.ts +0 -6
- package/.cache/ts/src/components/List/List.d.ts +0 -4
- package/.cache/ts/src/components/List/ListContext.d.ts +0 -4
- package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +0 -39
- package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +0 -10
- package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +0 -32
- package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +0 -5
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +0 -22
- package/.cache/ts/src/components/ModalPageHeader/ModalPageHeader.d.ts +0 -8
- package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +0 -16
- package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +0 -10
- package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +0 -20
- package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +0 -16
- package/.cache/ts/src/components/ModalRoot/constants.d.ts +0 -3
- package/.cache/ts/src/components/ModalRoot/types.d.ts +0 -45
- package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +0 -37
- package/.cache/ts/src/components/ModalRoot/withModalRootContext.d.ts +0 -5
- package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +0 -15
- package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +0 -7
- package/.cache/ts/src/components/Panel/Panel.d.ts +0 -9
- package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +0 -21
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +0 -9
- package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +0 -8
- package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +0 -4
- package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +0 -9
- package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +0 -7
- package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +0 -18
- package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +0 -4
- package/.cache/ts/src/components/PanelSpinner/PanelSpinner.d.ts +0 -7
- package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +0 -23
- package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +0 -10
- package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +0 -10
- package/.cache/ts/src/components/Popper/Popper.d.ts +0 -32
- package/.cache/ts/src/components/Progress/Progress.d.ts +0 -8
- package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +0 -40
- package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +0 -37
- package/.cache/ts/src/components/PullToRefresh/PullToRefreshSpinner.d.ts +0 -11
- package/.cache/ts/src/components/Radio/Radio.d.ts +0 -9
- package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +0 -6
- package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +0 -6
- package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +0 -16
- package/.cache/ts/src/components/Removable/Removable.d.ts +0 -21
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +0 -36
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +0 -5
- package/.cache/ts/src/components/Root/Root.d.ts +0 -31
- package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +0 -6
- package/.cache/ts/src/components/Search/Search.d.ts +0 -17
- package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +0 -17
- package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -4
- package/.cache/ts/src/components/Select/Select.d.ts +0 -7
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +0 -10
- package/.cache/ts/src/components/Separator/Separator.d.ts +0 -11
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +0 -39
- package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -9
- package/.cache/ts/src/components/Slider/Slider.d.ts +0 -5
- package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +0 -47
- package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +0 -11
- package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +0 -35
- package/.cache/ts/src/components/Spacing/Spacing.d.ts +0 -18
- package/.cache/ts/src/components/Spinner/Spinner.d.ts +0 -7
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +0 -22
- package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +0 -15
- package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +0 -7
- package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +0 -21
- package/.cache/ts/src/components/Switch/Switch.d.ts +0 -7
- package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +0 -11
- package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +0 -21
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +0 -10
- package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +0 -8
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +0 -40
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +0 -14
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +0 -11
- package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +0 -55
- package/.cache/ts/src/components/Tooltip/TooltipContainer.d.ts +0 -5
- package/.cache/ts/src/components/Touch/Touch.d.ts +0 -49
- package/.cache/ts/src/components/Touch/TouchContext.d.ts +0 -7
- package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +0 -10
- package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +0 -8
- package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +0 -11
- package/.cache/ts/src/components/Typography/Text/Text.d.ts +0 -8
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +0 -12
- package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +0 -23
- package/.cache/ts/src/components/UsersStack/masks.d.ts +0 -1
- package/.cache/ts/src/components/View/View.d.ts +0 -80
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +0 -66
- package/.cache/ts/src/components/View/utils.d.ts +0 -2
- package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +0 -12
- package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +0 -23
- package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +0 -18
- package/.cache/ts/src/helpers/avatar.d.ts +0 -5
- package/.cache/ts/src/helpers/getClassName.d.ts +0 -2
- package/.cache/ts/src/helpers/getScheme.d.ts +0 -8
- package/.cache/ts/src/helpers/math.d.ts +0 -5
- package/.cache/ts/src/helpers/scheme.d.ts +0 -34
- package/.cache/ts/src/hoc/withAdaptivity.d.ts +0 -13
- package/.cache/ts/src/hoc/withContext.d.ts +0 -2
- package/.cache/ts/src/hoc/withInsets.d.ts +0 -3
- package/.cache/ts/src/hoc/withPlatform.d.ts +0 -3
- package/.cache/ts/src/hooks/useAdaptivity.d.ts +0 -3
- package/.cache/ts/src/hooks/useAppearance.d.ts +0 -1
- package/.cache/ts/src/hooks/useBrowserInfo.d.ts +0 -2
- package/.cache/ts/src/hooks/useEffectDev.d.ts +0 -2
- package/.cache/ts/src/hooks/useEnsuredControl.d.ts +0 -6
- package/.cache/ts/src/hooks/useEventListener.d.ts +0 -7
- package/.cache/ts/src/hooks/useExternRef.d.ts +0 -2
- package/.cache/ts/src/hooks/useFocusVisible.d.ts +0 -6
- package/.cache/ts/src/hooks/useGlobalEventListener.d.ts +0 -2
- package/.cache/ts/src/hooks/useInsets.d.ts +0 -8
- package/.cache/ts/src/hooks/useKeyboard.d.ts +0 -11
- package/.cache/ts/src/hooks/useKeyboardInputTracker.d.ts +0 -1
- package/.cache/ts/src/hooks/useObjectMemo.d.ts +0 -2
- package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +0 -6
- package/.cache/ts/src/hooks/usePlatform.d.ts +0 -2
- package/.cache/ts/src/hooks/useTimeout.d.ts +0 -4
- package/.cache/ts/src/hooks/useWaitTransitionFinish.d.ts +0 -3
- package/.cache/ts/src/index.d.ts +0 -279
- package/.cache/ts/src/lib/SSR.d.ts +0 -14
- package/.cache/ts/src/lib/accessibility.d.ts +0 -10
- package/.cache/ts/src/lib/animate.d.ts +0 -15
- package/.cache/ts/src/lib/browser.d.ts +0 -11
- package/.cache/ts/src/lib/callMultiple.d.ts +0 -1
- package/.cache/ts/src/lib/classNames.d.ts +0 -6
- package/.cache/ts/src/lib/classScopingMode.d.ts +0 -8
- package/.cache/ts/src/lib/dom.d.ts +0 -21
- package/.cache/ts/src/lib/fx.d.ts +0 -5
- package/.cache/ts/src/lib/getNavId.d.ts +0 -6
- package/.cache/ts/src/lib/is.d.ts +0 -1
- package/.cache/ts/src/lib/isRefObject.d.ts +0 -2
- package/.cache/ts/src/lib/jsxRuntime.d.ts +0 -8
- package/.cache/ts/src/lib/offset.d.ts +0 -7
- package/.cache/ts/src/lib/platform.d.ts +0 -19
- package/.cache/ts/src/lib/polyfills.d.ts +0 -6
- package/.cache/ts/src/lib/prefixClass.d.ts +0 -1
- package/.cache/ts/src/lib/removeObjectKeys.d.ts +0 -1
- package/.cache/ts/src/lib/select.d.ts +0 -7
- package/.cache/ts/src/lib/styles.d.ts +0 -1
- package/.cache/ts/src/lib/supportEvents.d.ts +0 -9
- package/.cache/ts/src/lib/taptic.d.ts +0 -2
- package/.cache/ts/src/lib/testing.d.ts +0 -1
- package/.cache/ts/src/lib/touch.d.ts +0 -9
- package/.cache/ts/src/lib/useIsomorphicLayoutEffect.d.ts +0 -2
- package/.cache/ts/src/lib/utils.d.ts +0 -15
- package/.cache/ts/src/lib/warnOnce.d.ts +0 -1
- package/.cache/ts/src/testing/setup.d.ts +0 -1
- package/.cache/ts/src/testing/utils.d.ts +0 -30
- package/.cache/ts/src/tokenized/index.d.ts +0 -14
- package/.cache/ts/src/types.d.ts +0 -34
- package/.cache/ts/src/unstable/index.d.ts +0 -17
- package/.codesandbox/ci.json +0 -5
- package/.editorconfig +0 -14
- package/.eslintignore +0 -6
- package/.eslintrc.json +0 -145
- package/.gitattributes +0 -1
- package/.gitmodules +0 -0
- package/.prettierignore +0 -14
- package/.prettierrc.json +0 -1
- package/.stylelintignore +0 -2
- package/CSS_GUIDE.md +0 -145
- package/TESTING.md +0 -58
- package/babel.cjs.config.js +0 -15
- package/babel.config.js +0 -72
- package/jest.unit.config.js +0 -14
- package/postcss.config.js +0 -54
- package/src/appearance/constants.ts +0 -1
- package/src/components/ActionSheet/ActionSheet.css +0 -145
- package/src/components/ActionSheet/ActionSheet.tsx +0 -161
- package/src/components/ActionSheet/ActionSheetContext.ts +0 -18
- package/src/components/ActionSheet/ActionSheetDropdown.tsx +0 -33
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +0 -97
- package/src/components/ActionSheet/Readme.md +0 -256
- package/src/components/ActionSheet/types.ts +0 -16
- package/src/components/ActionSheetItem/ActionSheetItem.css +0 -306
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +0 -188
- package/src/components/ActionSheetItem/Readme.md +0 -2
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +0 -62
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +0 -138
- package/src/components/AdaptivityProvider/Readme.md +0 -3
- package/src/components/Alert/Alert.css +0 -297
- package/src/components/Alert/Alert.tsx +0 -292
- package/src/components/Alert/Readme.md +0 -133
- package/src/components/AppRoot/AppRoot.css +0 -20
- package/src/components/AppRoot/AppRoot.tsx +0 -205
- package/src/components/AppRoot/AppRootContext.ts +0 -13
- package/src/components/AppRoot/AppRootPortal.tsx +0 -24
- package/src/components/AppRoot/Readme.md +0 -9
- package/src/components/AppRoot/ScrollContext.ts +0 -44
- package/src/components/AppearanceProvider/AppearanceProvider.tsx +0 -61
- package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +0 -7
- package/src/components/Avatar/Avatar.css +0 -192
- package/src/components/Avatar/Avatar.tsx +0 -183
- package/src/components/Avatar/Readme.md +0 -838
- package/src/components/Badge/Badge.css +0 -21
- package/src/components/Badge/Badge.tsx +0 -27
- package/src/components/Badge/Readme.md +0 -55
- package/src/components/Banner/Banner.css +0 -154
- package/src/components/Banner/Banner.tsx +0 -220
- package/src/components/Banner/Readme.md +0 -215
- package/src/components/Button/Button.css +0 -569
- package/src/components/Button/Button.tsx +0 -225
- package/src/components/Button/Readme.md +0 -186
- package/src/components/Card/Card.css +0 -83
- package/src/components/Card/Card.tsx +0 -31
- package/src/components/Card/Readme.md +0 -39
- package/src/components/CardGrid/CardGrid.css +0 -82
- package/src/components/CardGrid/CardGrid.tsx +0 -41
- package/src/components/CardGrid/Readme.md +0 -41
- package/src/components/CardScroll/CardScroll.css +0 -47
- package/src/components/CardScroll/CardScroll.tsx +0 -116
- package/src/components/CardScroll/Readme.md +0 -62
- package/src/components/Cell/Cell.css +0 -56
- package/src/components/Cell/Cell.tsx +0 -204
- package/src/components/Cell/CellCheckbox/CellCheckbox.css +0 -17
- package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +0 -41
- package/src/components/Cell/CellDragger/CellDragger.css +0 -4
- package/src/components/Cell/CellDragger/CellDragger.tsx +0 -37
- package/src/components/Cell/Readme.md +0 -163
- package/src/components/Cell/useDraggable.tsx +0 -126
- package/src/components/CellButton/CellButton.css +0 -46
- package/src/components/CellButton/CellButton.tsx +0 -35
- package/src/components/CellButton/Readme.md +0 -53
- package/src/components/Checkbox/Checkbox.css +0 -127
- package/src/components/Checkbox/Checkbox.tsx +0 -109
- package/src/components/Checkbox/Readme.md +0 -20
- package/src/components/Chip/Chip.css +0 -56
- package/src/components/Chip/Chip.tsx +0 -75
- package/src/components/Chip/Readme.md +0 -81
- package/src/components/ChipsInput/ChipsInput.css +0 -72
- package/src/components/ChipsInput/ChipsInput.tsx +0 -238
- package/src/components/ChipsInput/Readme.md +0 -94
- package/src/components/ChipsInput/useChipsInput.ts +0 -90
- package/src/components/ChipsSelect/ChipsSelect.css +0 -23
- package/src/components/ChipsSelect/ChipsSelect.tsx +0 -453
- package/src/components/ChipsSelect/Readme.md +0 -115
- package/src/components/ChipsSelect/useChipsSelect.ts +0 -72
- package/src/components/ClickPopper/ClickPopper.tsx +0 -86
- package/src/components/ConfigProvider/ConfigProvider.tsx +0 -136
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +0 -48
- package/src/components/ConfigProvider/Readme.md +0 -1
- package/src/components/ContentCard/ContentCard.css +0 -39
- package/src/components/ContentCard/ContentCard.tsx +0 -159
- package/src/components/ContentCard/Readme.md +0 -65
- package/src/components/Counter/Counter.css +0 -161
- package/src/components/Counter/Counter.tsx +0 -76
- package/src/components/Counter/Readme.md +0 -114
- package/src/components/CustomScrollView/CustomScrollView.css +0 -62
- package/src/components/CustomScrollView/CustomScrollView.tsx +0 -168
- package/src/components/CustomSelect/CustomSelect.css +0 -39
- package/src/components/CustomSelect/CustomSelect.tsx +0 -739
- package/src/components/CustomSelect/Readme.md +0 -248
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +0 -26
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +0 -66
- package/src/components/CustomSelectOption/CustomSelectOption.css +0 -63
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +0 -92
- package/src/components/CustomSelectOption/Readme.md +0 -33
- package/src/components/DatePicker/DatePicker.css +0 -30
- package/src/components/DatePicker/DatePicker.tsx +0 -238
- package/src/components/DatePicker/Readme.md +0 -40
- package/src/components/Div/Div.css +0 -14
- package/src/components/Div/Div.tsx +0 -29
- package/src/components/Div/Readme.md +0 -17
- package/src/components/Dropdown/Dropdown.css +0 -19
- package/src/components/Dropdown/Dropdown.tsx +0 -42
- package/src/components/Dropdown/Readme.md +0 -49
- package/src/components/DropdownIcon/DropdownIcon.css +0 -3
- package/src/components/DropdownIcon/DropdownIcon.tsx +0 -18
- package/src/components/Epic/Epic.css +0 -4
- package/src/components/Epic/Epic.tsx +0 -61
- package/src/components/Epic/Readme.md +0 -240
- package/src/components/Epic/ScrollSaver.tsx +0 -23
- package/src/components/File/File.css +0 -6
- package/src/components/File/File.tsx +0 -74
- package/src/components/File/Readme.md +0 -20
- package/src/components/FixedLayout/FixedLayout.css +0 -27
- package/src/components/FixedLayout/FixedLayout.tsx +0 -71
- package/src/components/FixedLayout/Readme.md +0 -117
- package/src/components/FocusTrap/FocusTrap.tsx +0 -144
- package/src/components/FocusVisible/FocusVisible.css +0 -72
- package/src/components/FocusVisible/FocusVisible.tsx +0 -18
- package/src/components/Footer/Footer.css +0 -8
- package/src/components/Footer/Footer.tsx +0 -23
- package/src/components/Footer/Readme.md +0 -23
- package/src/components/FormField/FormField.css +0 -119
- package/src/components/FormField/FormField.tsx +0 -76
- package/src/components/FormField/Readme.md +0 -42
- package/src/components/FormItem/FormItem.css +0 -83
- package/src/components/FormItem/FormItem.tsx +0 -87
- package/src/components/FormItem/Readme.md +0 -183
- package/src/components/FormLayout/FormLayout.css +0 -16
- package/src/components/FormLayout/FormLayout.tsx +0 -39
- package/src/components/FormLayout/Readme.md +0 -2
- package/src/components/FormLayoutGroup/FormLayoutGroup.css +0 -22
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +0 -71
- package/src/components/FormLayoutGroup/Readme.md +0 -63
- package/src/components/FormStatus/FormStatus.css +0 -34
- package/src/components/FormStatus/FormStatus.tsx +0 -51
- package/src/components/FormStatus/Readme.md +0 -23
- package/src/components/Gallery/Gallery.css +0 -71
- package/src/components/Gallery/Gallery.tsx +0 -562
- package/src/components/Gallery/Readme.md +0 -99
- package/src/components/Gradient/Gradient.css +0 -83
- package/src/components/Gradient/Gradient.tsx +0 -29
- package/src/components/Gradient/Readme.md +0 -55
- package/src/components/GridAvatar/GridAvatar.css +0 -37
- package/src/components/GridAvatar/GridAvatar.tsx +0 -53
- package/src/components/GridAvatar/Readme.md +0 -24
- package/src/components/Group/Group.css +0 -86
- package/src/components/Group/Group.tsx +0 -96
- package/src/components/Group/Readme.md +0 -156
- package/src/components/Header/Header.css +0 -152
- package/src/components/Header/Header.tsx +0 -174
- package/src/components/Header/Readme.md +0 -114
- package/src/components/HorizontalCell/HorizontalCell.css +0 -95
- package/src/components/HorizontalCell/HorizontalCell.tsx +0 -92
- package/src/components/HorizontalCell/Readme.md +0 -236
- package/src/components/HorizontalScroll/HorizontalScroll.css +0 -31
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +0 -217
- package/src/components/HorizontalScroll/HorizontalScrollArrow.css +0 -69
- package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +0 -35
- package/src/components/HorizontalScroll/Readme.md +0 -67
- package/src/components/HoverPopper/HoverPopper.tsx +0 -102
- package/src/components/IconButton/IconButton.css +0 -93
- package/src/components/IconButton/IconButton.tsx +0 -57
- package/src/components/InfoRow/InfoRow.css +0 -14
- package/src/components/InfoRow/InfoRow.tsx +0 -37
- package/src/components/InfoRow/Readme.md +0 -27
- package/src/components/InitialsAvatar/InitialsAvatar.css +0 -55
- package/src/components/InitialsAvatar/InitialsAvatar.tsx +0 -95
- package/src/components/InitialsAvatar/Readme.md +0 -20
- package/src/components/Input/Input.css +0 -52
- package/src/components/Input/Input.tsx +0 -54
- package/src/components/Input/Readme.md +0 -46
- package/src/components/Link/Link.css +0 -18
- package/src/components/Link/Link.tsx +0 -27
- package/src/components/Link/Readme.md +0 -8
- package/src/components/List/List.css +0 -2
- package/src/components/List/List.tsx +0 -31
- package/src/components/List/ListContext.ts +0 -6
- package/src/components/List/Readme.md +0 -22
- package/src/components/MiniInfoCell/MiniInfoCell.css +0 -67
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +0 -94
- package/src/components/MiniInfoCell/Readme.md +0 -150
- package/src/components/ModalCard/ModalCard.css +0 -77
- package/src/components/ModalCard/ModalCard.tsx +0 -93
- package/src/components/ModalCard/Readme.md +0 -9
- package/src/components/ModalCardBase/ModalCardBase.css +0 -94
- package/src/components/ModalCardBase/ModalCardBase.tsx +0 -141
- package/src/components/ModalCardBase/Readme.md +0 -38
- package/src/components/ModalDismissButton/ModalDismissButton.css +0 -37
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +0 -32
- package/src/components/ModalDismissButton/Readme.md +0 -53
- package/src/components/ModalPage/ModalPage.css +0 -146
- package/src/components/ModalPage/ModalPage.tsx +0 -125
- package/src/components/ModalPage/Readme.md +0 -9
- package/src/components/ModalPageHeader/ModalPageHeader.css +0 -24
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +0 -57
- package/src/components/ModalPageHeader/Readme.md +0 -46
- package/src/components/ModalRoot/ModalRoot.css +0 -67
- package/src/components/ModalRoot/ModalRoot.tsx +0 -816
- package/src/components/ModalRoot/ModalRootAdaptive.tsx +0 -42
- package/src/components/ModalRoot/ModalRootContext.tsx +0 -51
- package/src/components/ModalRoot/ModalRootDesktop.tsx +0 -261
- package/src/components/ModalRoot/Readme.md +0 -662
- package/src/components/ModalRoot/constants.ts +0 -4
- package/src/components/ModalRoot/types.ts +0 -53
- package/src/components/ModalRoot/useModalManager.tsx +0 -203
- package/src/components/ModalRoot/withModalRootContext.tsx +0 -19
- package/src/components/NativeSelect/NativeSelect.tsx +0 -113
- package/src/components/NativeSelect/Readme.md +0 -17
- package/src/components/NavTransitionContext/NavTransitionContext.tsx +0 -24
- package/src/components/Panel/Panel.css +0 -116
- package/src/components/Panel/Panel.tsx +0 -58
- package/src/components/Panel/Readme.md +0 -97
- package/src/components/PanelHeader/PanelHeader.css +0 -271
- package/src/components/PanelHeader/PanelHeader.tsx +0 -142
- package/src/components/PanelHeader/Readme.md +0 -244
- package/src/components/PanelHeaderBack/PanelHeaderBack.css +0 -7
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +0 -60
- package/src/components/PanelHeaderBack/Readme.md +0 -9
- package/src/components/PanelHeaderButton/PanelHeaderButton.css +0 -102
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +0 -109
- package/src/components/PanelHeaderButton/Readme.md +0 -47
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +0 -35
- package/src/components/PanelHeaderClose/Readme.md +0 -9
- package/src/components/PanelHeaderContent/PanelHeaderContent.css +0 -107
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +0 -111
- package/src/components/PanelHeaderContent/Readme.md +0 -33
- package/src/components/PanelHeaderContext/PanelHeaderContext.css +0 -143
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +0 -85
- package/src/components/PanelHeaderContext/Readme.md +0 -110
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +0 -49
- package/src/components/PanelHeaderEdit/Readme.md +0 -1
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +0 -37
- package/src/components/PanelHeaderSubmit/Readme.md +0 -13
- package/src/components/PanelSpinner/PanelSpinner.tsx +0 -21
- package/src/components/PanelSpinner/Readme.md +0 -15
- package/src/components/Placeholder/Placeholder.css +0 -50
- package/src/components/Placeholder/Placeholder.tsx +0 -70
- package/src/components/Placeholder/Readme.md +0 -104
- package/src/components/PopoutRoot/PopoutRoot.css +0 -36
- package/src/components/PopoutRoot/PopoutRoot.tsx +0 -72
- package/src/components/PopoutRoot/Readme.md +0 -50
- package/src/components/PopoutWrapper/PopoutWrapper.css +0 -109
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +0 -77
- package/src/components/PopoutWrapper/Readme.md +0 -12
- package/src/components/Popper/Popper.css +0 -39
- package/src/components/Popper/Popper.tsx +0 -231
- package/src/components/Popper/Readme.md +0 -33
- package/src/components/Progress/Progress.css +0 -12
- package/src/components/Progress/Progress.tsx +0 -49
- package/src/components/Progress/Readme.md +0 -14
- package/src/components/PromoBanner/PromoBanner.css +0 -55
- package/src/components/PromoBanner/PromoBanner.tsx +0 -137
- package/src/components/PromoBanner/Readme.md +0 -25
- package/src/components/PullToRefresh/PullToRefresh.css +0 -98
- package/src/components/PullToRefresh/PullToRefresh.tsx +0 -353
- package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +0 -78
- package/src/components/PullToRefresh/Readme.md +0 -71
- package/src/components/Radio/Radio.css +0 -187
- package/src/components/Radio/Radio.tsx +0 -89
- package/src/components/Radio/Readme.md +0 -29
- package/src/components/RadioGroup/RadioGroup.css +0 -12
- package/src/components/RadioGroup/RadioGroup.tsx +0 -29
- package/src/components/RadioGroup/Readme.md +0 -56
- package/src/components/RangeSlider/RangeSlider.tsx +0 -54
- package/src/components/RangeSlider/Readme.md +0 -32
- package/src/components/RangeSlider/UniversalSlider.tsx +0 -162
- package/src/components/Removable/Removable.css +0 -125
- package/src/components/Removable/Removable.tsx +0 -176
- package/src/components/RichCell/Readme.md +0 -65
- package/src/components/RichCell/RichCell.css +0 -115
- package/src/components/RichCell/RichCell.tsx +0 -103
- package/src/components/RichTooltip/Readme.md +0 -59
- package/src/components/RichTooltip/RichTooltip.css +0 -10
- package/src/components/RichTooltip/RichTooltip.tsx +0 -32
- package/src/components/Root/Readme.md +0 -36
- package/src/components/Root/Root.css +0 -184
- package/src/components/Root/Root.tsx +0 -209
- package/src/components/ScreenSpinner/Readme.md +0 -43
- package/src/components/ScreenSpinner/ScreenSpinner.css +0 -31
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +0 -37
- package/src/components/Search/Readme.md +0 -235
- package/src/components/Search/Search.css +0 -359
- package/src/components/Search/Search.tsx +0 -196
- package/src/components/SegmentedControl/Readme.md +0 -94
- package/src/components/SegmentedControl/SegmentedControl.css +0 -42
- package/src/components/SegmentedControl/SegmentedControl.tsx +0 -105
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +0 -30
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +0 -42
- package/src/components/Select/Readme.md +0 -27
- package/src/components/Select/Select.css +0 -59
- package/src/components/Select/Select.tsx +0 -39
- package/src/components/SelectMimicry/Readme.md +0 -87
- package/src/components/SelectMimicry/SelectMimicry.tsx +0 -84
- package/src/components/Separator/Readme.md +0 -23
- package/src/components/Separator/Separator.css +0 -48
- package/src/components/Separator/Separator.tsx +0 -40
- package/src/components/SimpleCell/Readme.md +0 -136
- package/src/components/SimpleCell/SimpleCell.css +0 -258
- package/src/components/SimpleCell/SimpleCell.tsx +0 -132
- package/src/components/SimpleCheckbox/Readme.md +0 -25
- package/src/components/SimpleCheckbox/SimpleCheckbox.css +0 -129
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +0 -146
- package/src/components/Slider/Readme.md +0 -83
- package/src/components/Slider/Slider.css +0 -145
- package/src/components/Slider/Slider.tsx +0 -54
- package/src/components/SliderSwitch/Readme.md +0 -27
- package/src/components/SliderSwitch/SliderSwitch.css +0 -87
- package/src/components/SliderSwitch/SliderSwitch.tsx +0 -209
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +0 -53
- package/src/components/Snackbar/Readme.md +0 -145
- package/src/components/Snackbar/Snackbar.css +0 -159
- package/src/components/Snackbar/Snackbar.tsx +0 -254
- package/src/components/Spacing/Readme.md +0 -98
- package/src/components/Spacing/Spacing.css +0 -46
- package/src/components/Spacing/Spacing.tsx +0 -53
- package/src/components/Spinner/Readme.md +0 -11
- package/src/components/Spinner/Spinner.css +0 -33
- package/src/components/Spinner/Spinner.tsx +0 -53
- package/src/components/SplitCol/Readme.md +0 -1
- package/src/components/SplitCol/SplitCol.css +0 -28
- package/src/components/SplitCol/SplitCol.tsx +0 -75
- package/src/components/SplitLayout/Readme.md +0 -154
- package/src/components/SplitLayout/SplitLayout.css +0 -52
- package/src/components/SplitLayout/SplitLayout.tsx +0 -54
- package/src/components/SubnavigationBar/Readme.md +0 -264
- package/src/components/SubnavigationBar/SubnavigationBar.css +0 -32
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +0 -66
- package/src/components/SubnavigationButton/Readme.md +0 -128
- package/src/components/SubnavigationButton/SubnavigationButton.css +0 -103
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +0 -105
- package/src/components/Switch/Readme.md +0 -57
- package/src/components/Switch/Switch.css +0 -198
- package/src/components/Switch/Switch.tsx +0 -56
- package/src/components/Tabbar/Readme.md +0 -7
- package/src/components/Tabbar/Tabbar.css +0 -53
- package/src/components/Tabbar/Tabbar.tsx +0 -50
- package/src/components/TabbarItem/Readme.md +0 -102
- package/src/components/TabbarItem/TabbarItem.css +0 -127
- package/src/components/TabbarItem/TabbarItem.tsx +0 -94
- package/src/components/Tabs/Readme.md +0 -274
- package/src/components/Tabs/Tabs.css +0 -102
- package/src/components/Tabs/Tabs.tsx +0 -57
- package/src/components/TabsItem/Readme.md +0 -0
- package/src/components/TabsItem/TabsItem.css +0 -178
- package/src/components/TabsItem/TabsItem.tsx +0 -62
- package/src/components/Tappable/Tappable.css +0 -141
- package/src/components/Tappable/Tappable.tsx +0 -340
- package/src/components/TextTooltip/Readme.md +0 -11
- package/src/components/TextTooltip/TextTooltip.css +0 -18
- package/src/components/TextTooltip/TextTooltip.tsx +0 -58
- package/src/components/Textarea/Readme.md +0 -24
- package/src/components/Textarea/Textarea.css +0 -39
- package/src/components/Textarea/Textarea.tsx +0 -80
- package/src/components/Tooltip/Readme.md +0 -263
- package/src/components/Tooltip/Tooltip.css +0 -73
- package/src/components/Tooltip/Tooltip.tsx +0 -314
- package/src/components/Tooltip/TooltipContainer.tsx +0 -10
- package/src/components/Touch/Readme.md +0 -116
- package/src/components/Touch/Touch.tsx +0 -285
- package/src/components/Touch/TouchContext.ts +0 -11
- package/src/components/Typography/Caption/Caption.css +0 -55
- package/src/components/Typography/Caption/Caption.tsx +0 -44
- package/src/components/Typography/Caption/Readme.md +0 -51
- package/src/components/Typography/Headline/Headline.css +0 -25
- package/src/components/Typography/Headline/Headline.tsx +0 -36
- package/src/components/Typography/Headline/Readme.md +0 -24
- package/src/components/Typography/Subhead/Readme.md +0 -21
- package/src/components/Typography/Subhead/Subhead.css +0 -43
- package/src/components/Typography/Subhead/Subhead.tsx +0 -52
- package/src/components/Typography/Text/Readme.md +0 -22
- package/src/components/Typography/Text/Text.css +0 -25
- package/src/components/Typography/Text/Text.tsx +0 -49
- package/src/components/Typography/Title/Readme.md +0 -31
- package/src/components/Typography/Title/Title.css +0 -59
- package/src/components/Typography/Title/Title.tsx +0 -61
- package/src/components/UsersStack/Readme.md +0 -94
- package/src/components/UsersStack/UsersStack.css +0 -99
- package/src/components/UsersStack/UsersStack.tsx +0 -103
- package/src/components/UsersStack/masks.tsx +0 -46
- package/src/components/View/Readme.md +0 -98
- package/src/components/View/View.css +0 -125
- package/src/components/View/View.tsx +0 -673
- package/src/components/View/ViewIOS.css +0 -155
- package/src/components/View/ViewInfinite.tsx +0 -732
- package/src/components/View/utils.ts +0 -9
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +0 -9
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +0 -25
- package/src/components/WriteBar/Readme.md +0 -224
- package/src/components/WriteBar/WriteBar.css +0 -106
- package/src/components/WriteBar/WriteBar.tsx +0 -137
- package/src/components/WriteBarIcon/Readme.md +0 -11
- package/src/components/WriteBarIcon/WriteBarIcon.css +0 -75
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +0 -104
- package/src/fonts/VK_Sans_Display_Medium.woff +0 -0
- package/src/fonts/VK_Sans_Display_Medium.woff2 +0 -0
- package/src/fonts/fonts.css +0 -7
- package/src/helpers/avatar.ts +0 -10
- package/src/helpers/getClassName.ts +0 -8
- package/src/helpers/getScheme.ts +0 -27
- package/src/helpers/math.ts +0 -40
- package/src/helpers/scheme.ts +0 -86
- package/src/hoc/withAdaptivity.tsx +0 -86
- package/src/hoc/withContext.tsx +0 -14
- package/src/hoc/withInsets.tsx +0 -12
- package/src/hoc/withPlatform.tsx +0 -17
- package/src/hooks/useAdaptivity.ts +0 -12
- package/src/hooks/useAppearance.ts +0 -4
- package/src/hooks/useBrowserInfo.ts +0 -11
- package/src/hooks/useEffectDev.ts +0 -5
- package/src/hooks/useEnsuredControl.ts +0 -17
- package/src/hooks/useEventListener.ts +0 -62
- package/src/hooks/useExternRef.ts +0 -26
- package/src/hooks/useFocusVisible.ts +0 -31
- package/src/hooks/useGlobalEventListener.ts +0 -35
- package/src/hooks/useInsets.ts +0 -69
- package/src/hooks/useKeyboard.ts +0 -75
- package/src/hooks/useKeyboardInputTracker.ts +0 -47
- package/src/hooks/useObjectMemo.ts +0 -16
- package/src/hooks/usePatchChildrenRef.ts +0 -39
- package/src/hooks/usePlatform.ts +0 -10
- package/src/hooks/useTimeout.ts +0 -33
- package/src/hooks/useWaitTransitionFinish.ts +0 -28
- package/src/index.ts +0 -324
- package/src/lib/SSR.tsx +0 -45
- package/src/lib/accessibility.ts +0 -87
- package/src/lib/animate.ts +0 -47
- package/src/lib/browser.ts +0 -44
- package/src/lib/callMultiple.ts +0 -4
- package/src/lib/classNames.ts +0 -44
- package/src/lib/classScopingMode.ts +0 -21
- package/src/lib/dom.tsx +0 -45
- package/src/lib/fx.ts +0 -7
- package/src/lib/getNavId.ts +0 -13
- package/src/lib/is.ts +0 -10
- package/src/lib/isRefObject.ts +0 -11
- package/src/lib/jsxRuntime.d.ts +0 -6
- package/src/lib/jsxRuntime.ts +0 -43
- package/src/lib/offset.ts +0 -17
- package/src/lib/platform.ts +0 -36
- package/src/lib/polyfills.ts +0 -96
- package/src/lib/prefixClass.ts +0 -34
- package/src/lib/removeObjectKeys.ts +0 -10
- package/src/lib/select.ts +0 -54
- package/src/lib/styles.ts +0 -12
- package/src/lib/supportEvents.ts +0 -38
- package/src/lib/taptic.ts +0 -9
- package/src/lib/testing.ts +0 -4
- package/src/lib/touch.ts +0 -59
- package/src/lib/useIsomorphicLayoutEffect.ts +0 -7
- package/src/lib/utils.ts +0 -96
- package/src/lib/warnOnce.ts +0 -9
- package/src/styles/animations.css +0 -19
- package/src/styles/bright_light.css +0 -244
- package/src/styles/common.css +0 -39
- package/src/styles/components.css +0 -138
- package/src/styles/constants.css +0 -72
- package/src/styles/space_gray.css +0 -243
- package/src/styles/themes.css +0 -10
- package/src/styles/unstable.css +0 -6
- package/src/styles/vkcom_dark.css +0 -249
- package/src/styles/vkcom_light.css +0 -254
- package/src/testing/setup.ts +0 -1
- package/src/testing/utils.tsx +0 -192
- package/src/tokenized/index.ts +0 -24
- package/src/types.ts +0 -43
- package/src/unstable/index.ts +0 -23
- package/src/vkui.js +0 -1
- package/stylelint.config.js +0 -46
- package/tasks/generate_scheme.js +0 -13
- package/tasks/postcss-check-keyframes.js +0 -36
- package/tasks/postcss-scope-root.js +0 -9
- package/tasks/styleint-atomic.js +0 -57
- package/tokenized/index.d.ts +0 -1
- package/tokenized/package.json +0 -4
- package/tsconfig.dist.json +0 -16
- package/tsconfig.json +0 -38
- package/types/global.d.ts +0 -7
- package/unstable/index.d.ts +0 -1
- package/unstable/package.json +0 -4
- package/webpack.config.js +0 -86
- package/webpack.styles.config.js +0 -67
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["value", "onChange", "disablePast", "disableFuture", "shouldDisableDate", "onClose", "weekStartsOn", "getRootRef", "disablePickers", "prevMonthAriaLabel", "nextMonthAriaLabel", "changeMonthAriaLabel", "changeYearAriaLabel", "changeDayAriaLabel"];
|
|
5
|
+
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { addMonths, isSameMonth, isSameDay, isBefore, isAfter, startOfDay, endOfDay, isWithinInterval } from "date-fns";
|
|
8
|
+
import { CalendarHeader } from "../CalendarHeader/CalendarHeader";
|
|
9
|
+
import { CalendarDays } from "../CalendarDays/CalendarDays";
|
|
10
|
+
import { navigateDate, setTimeEqual, isLastDay, isFirstDay } from "../../lib/calendar";
|
|
11
|
+
import { useCalendar } from "../../hooks/useCalendar";
|
|
12
|
+
|
|
13
|
+
var getIsDaySelected = function getIsDaySelected(day, value) {
|
|
14
|
+
if (!(value !== null && value !== void 0 && value[0]) || !value[1]) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return Boolean(isWithinInterval(day, {
|
|
19
|
+
start: startOfDay(value[0]),
|
|
20
|
+
end: endOfDay(value[1])
|
|
21
|
+
}));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export var CalendarRange = function CalendarRange(_ref) {
|
|
25
|
+
var value = _ref.value,
|
|
26
|
+
onChange = _ref.onChange,
|
|
27
|
+
disablePast = _ref.disablePast,
|
|
28
|
+
disableFuture = _ref.disableFuture,
|
|
29
|
+
shouldDisableDate = _ref.shouldDisableDate,
|
|
30
|
+
onClose = _ref.onClose,
|
|
31
|
+
_ref$weekStartsOn = _ref.weekStartsOn,
|
|
32
|
+
weekStartsOn = _ref$weekStartsOn === void 0 ? 1 : _ref$weekStartsOn,
|
|
33
|
+
getRootRef = _ref.getRootRef,
|
|
34
|
+
disablePickers = _ref.disablePickers,
|
|
35
|
+
prevMonthAriaLabel = _ref.prevMonthAriaLabel,
|
|
36
|
+
nextMonthAriaLabel = _ref.nextMonthAriaLabel,
|
|
37
|
+
changeMonthAriaLabel = _ref.changeMonthAriaLabel,
|
|
38
|
+
changeYearAriaLabel = _ref.changeYearAriaLabel,
|
|
39
|
+
_ref$changeDayAriaLab = _ref.changeDayAriaLabel,
|
|
40
|
+
changeDayAriaLabel = _ref$changeDayAriaLab === void 0 ? "Изменить день" : _ref$changeDayAriaLab,
|
|
41
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
42
|
+
|
|
43
|
+
var _useCalendar = useCalendar({
|
|
44
|
+
value: value,
|
|
45
|
+
disableFuture: disableFuture,
|
|
46
|
+
disablePast: disablePast,
|
|
47
|
+
shouldDisableDate: shouldDisableDate
|
|
48
|
+
}),
|
|
49
|
+
viewDate = _useCalendar.viewDate,
|
|
50
|
+
setViewDate = _useCalendar.setViewDate,
|
|
51
|
+
setPrevMonth = _useCalendar.setPrevMonth,
|
|
52
|
+
setNextMonth = _useCalendar.setNextMonth,
|
|
53
|
+
focusedDay = _useCalendar.focusedDay,
|
|
54
|
+
setFocusedDay = _useCalendar.setFocusedDay,
|
|
55
|
+
isDayFocused = _useCalendar.isDayFocused,
|
|
56
|
+
isDayDisabled = _useCalendar.isDayDisabled,
|
|
57
|
+
resetSelectedDay = _useCalendar.resetSelectedDay;
|
|
58
|
+
|
|
59
|
+
var _React$useState = React.useState(),
|
|
60
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
61
|
+
hintedDate = _React$useState2[0],
|
|
62
|
+
setHintedDate = _React$useState2[1];
|
|
63
|
+
|
|
64
|
+
var secondViewDate = addMonths(viewDate, 1);
|
|
65
|
+
var handleKeyDown = React.useCallback(function (event) {
|
|
66
|
+
if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(event.key)) {
|
|
67
|
+
event.preventDefault();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var newFocusedDay = navigateDate(focusedDay !== null && focusedDay !== void 0 ? focusedDay : value === null || value === void 0 ? void 0 : value[1], event.key);
|
|
71
|
+
|
|
72
|
+
if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate) && !isSameMonth(newFocusedDay, addMonths(viewDate, 1))) {
|
|
73
|
+
setViewDate(newFocusedDay);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
setFocusedDay(newFocusedDay);
|
|
77
|
+
}, [focusedDay, setFocusedDay, setViewDate, value, viewDate]);
|
|
78
|
+
var getNewValue = React.useCallback(function (date) {
|
|
79
|
+
if (!value) {
|
|
80
|
+
return [date, null];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var start = value[0];
|
|
84
|
+
var end = value[1];
|
|
85
|
+
|
|
86
|
+
if (start && isSameDay(date, start) || end && isSameDay(date, end)) {
|
|
87
|
+
return [setTimeEqual(date, start), setTimeEqual(date, end)];
|
|
88
|
+
} else if (start && isBefore(date, start)) {
|
|
89
|
+
return [setTimeEqual(date, start), end];
|
|
90
|
+
} else if (start && isAfter(date, start)) {
|
|
91
|
+
return [start, setTimeEqual(date, end)];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return value;
|
|
95
|
+
}, [value]);
|
|
96
|
+
var onDayChange = React.useCallback(function (date) {
|
|
97
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(getNewValue(date));
|
|
98
|
+
setHintedDate(undefined);
|
|
99
|
+
}, [onChange, getNewValue]);
|
|
100
|
+
var isDaySelected = React.useCallback(function (day) {
|
|
101
|
+
return getIsDaySelected(day, value);
|
|
102
|
+
}, [value]);
|
|
103
|
+
var isDayActive = React.useCallback(function (day) {
|
|
104
|
+
return Boolean((value === null || value === void 0 ? void 0 : value[0]) && isSameDay(day, value[0]) || (value === null || value === void 0 ? void 0 : value[1]) && isSameDay(day, value[1]));
|
|
105
|
+
}, [value]);
|
|
106
|
+
var isDaySelectionEnd = React.useCallback(function (day, dayOfWeek) {
|
|
107
|
+
return Boolean(isLastDay(day, dayOfWeek) || (value === null || value === void 0 ? void 0 : value[1]) && isSameDay(day, value[1]));
|
|
108
|
+
}, [value]);
|
|
109
|
+
var isHintedDaySelectionEnd = React.useCallback(function (day, dayOfWeek) {
|
|
110
|
+
return Boolean(isLastDay(day, dayOfWeek) || (hintedDate === null || hintedDate === void 0 ? void 0 : hintedDate[1]) && isSameDay(day, hintedDate[1]));
|
|
111
|
+
}, [hintedDate]);
|
|
112
|
+
var isDaySelectionStart = React.useCallback(function (day, dayOfWeek) {
|
|
113
|
+
return Boolean(isFirstDay(day, dayOfWeek) || (value === null || value === void 0 ? void 0 : value[0]) && isSameDay(day, value[0]));
|
|
114
|
+
}, [value]);
|
|
115
|
+
var isHintedDaySelectionStart = React.useCallback(function (day, dayOfWeek) {
|
|
116
|
+
return Boolean(isFirstDay(day, dayOfWeek) || (hintedDate === null || hintedDate === void 0 ? void 0 : hintedDate[0]) && isSameDay(day, hintedDate[0]));
|
|
117
|
+
}, [hintedDate]);
|
|
118
|
+
var onDayEnter = React.useCallback(function (date) {
|
|
119
|
+
return setHintedDate(getNewValue(date));
|
|
120
|
+
}, [setHintedDate, getNewValue]);
|
|
121
|
+
var onDayLeave = React.useCallback(function () {
|
|
122
|
+
return setHintedDate(undefined);
|
|
123
|
+
}, [setHintedDate]);
|
|
124
|
+
var isDayHinted = React.useCallback(function (day) {
|
|
125
|
+
return getIsDaySelected(day, hintedDate);
|
|
126
|
+
}, [hintedDate]);
|
|
127
|
+
return createScopedElement("div", _extends({}, props, {
|
|
128
|
+
ref: getRootRef,
|
|
129
|
+
vkuiClass: "CalendarRange"
|
|
130
|
+
}), createScopedElement("div", {
|
|
131
|
+
vkuiClass: "CalendarRange__inner"
|
|
132
|
+
}, createScopedElement(CalendarHeader, {
|
|
133
|
+
viewDate: viewDate,
|
|
134
|
+
onChange: setViewDate,
|
|
135
|
+
nextMonth: false,
|
|
136
|
+
onPrevMonth: setPrevMonth,
|
|
137
|
+
disablePickers: disablePickers,
|
|
138
|
+
vkuiClass: "CalendarRange__header",
|
|
139
|
+
prevMonthAriaLabel: prevMonthAriaLabel,
|
|
140
|
+
nextMonthAriaLabel: nextMonthAriaLabel,
|
|
141
|
+
changeMonthAriaLabel: changeMonthAriaLabel,
|
|
142
|
+
changeYearAriaLabel: changeYearAriaLabel
|
|
143
|
+
}), createScopedElement(CalendarDays, {
|
|
144
|
+
viewDate: viewDate,
|
|
145
|
+
value: value,
|
|
146
|
+
weekStartsOn: weekStartsOn,
|
|
147
|
+
onKeyDown: handleKeyDown,
|
|
148
|
+
isDayFocused: isDayFocused,
|
|
149
|
+
onDayChange: onDayChange,
|
|
150
|
+
isDaySelected: isDaySelected,
|
|
151
|
+
isDayActive: isDayActive,
|
|
152
|
+
isDaySelectionEnd: isDaySelectionEnd,
|
|
153
|
+
isDaySelectionStart: isDaySelectionStart,
|
|
154
|
+
isDayHinted: isDayHinted,
|
|
155
|
+
onDayEnter: onDayEnter,
|
|
156
|
+
onDayLeave: onDayLeave,
|
|
157
|
+
isHintedDaySelectionEnd: isHintedDaySelectionEnd,
|
|
158
|
+
isHintedDaySelectionStart: isHintedDaySelectionStart,
|
|
159
|
+
isDayDisabled: isDayDisabled,
|
|
160
|
+
"aria-label": changeDayAriaLabel
|
|
161
|
+
})), createScopedElement("div", {
|
|
162
|
+
vkuiClass: "CalendarRange__inner"
|
|
163
|
+
}, createScopedElement(CalendarHeader, {
|
|
164
|
+
viewDate: secondViewDate,
|
|
165
|
+
onChange: setViewDate,
|
|
166
|
+
prevMonth: false,
|
|
167
|
+
onNextMonth: setNextMonth,
|
|
168
|
+
disablePickers: disablePickers,
|
|
169
|
+
vkuiClass: "CalendarRange__header",
|
|
170
|
+
prevMonthAriaLabel: prevMonthAriaLabel,
|
|
171
|
+
nextMonthAriaLabel: nextMonthAriaLabel,
|
|
172
|
+
changeMonthAriaLabel: changeMonthAriaLabel,
|
|
173
|
+
changeYearAriaLabel: changeYearAriaLabel
|
|
174
|
+
}), createScopedElement(CalendarDays, {
|
|
175
|
+
viewDate: secondViewDate,
|
|
176
|
+
value: value,
|
|
177
|
+
weekStartsOn: weekStartsOn,
|
|
178
|
+
"aria-label": changeDayAriaLabel,
|
|
179
|
+
onKeyDown: handleKeyDown,
|
|
180
|
+
isDayFocused: isDayFocused,
|
|
181
|
+
onDayChange: onDayChange,
|
|
182
|
+
isDaySelected: isDaySelected,
|
|
183
|
+
isDayActive: isDayActive,
|
|
184
|
+
isDaySelectionEnd: isDaySelectionEnd,
|
|
185
|
+
isDaySelectionStart: isDaySelectionStart,
|
|
186
|
+
isDayHinted: isDayHinted,
|
|
187
|
+
onDayEnter: onDayEnter,
|
|
188
|
+
onDayLeave: onDayLeave,
|
|
189
|
+
isHintedDaySelectionEnd: isHintedDaySelectionEnd,
|
|
190
|
+
isHintedDaySelectionStart: isHintedDaySelectionStart,
|
|
191
|
+
isDayDisabled: isDayDisabled,
|
|
192
|
+
tabIndex: 0,
|
|
193
|
+
onBlur: resetSelectedDay
|
|
194
|
+
})));
|
|
195
|
+
};
|
|
196
|
+
//# sourceMappingURL=CalendarRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CalendarRange/CalendarRange.tsx"],"names":["React","addMonths","isSameMonth","isSameDay","isBefore","isAfter","startOfDay","endOfDay","isWithinInterval","CalendarHeader","CalendarDays","navigateDate","setTimeEqual","isLastDay","isFirstDay","useCalendar","getIsDaySelected","day","value","Boolean","start","end","CalendarRange","onChange","disablePast","disableFuture","shouldDisableDate","onClose","weekStartsOn","getRootRef","disablePickers","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeDayAriaLabel","props","viewDate","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","useState","hintedDate","setHintedDate","secondViewDate","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","getNewValue","date","onDayChange","undefined","isDaySelected","isDayActive","isDaySelectionEnd","dayOfWeek","isHintedDaySelectionEnd","isDaySelectionStart","isHintedDaySelectionStart","onDayEnter","onDayLeave","isDayHinted"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n addMonths,\n isSameMonth,\n isSameDay,\n isBefore,\n isAfter,\n startOfDay,\n endOfDay,\n isWithinInterval,\n} from \"date-fns\";\nimport {\n CalendarHeader,\n CalendarHeaderProps,\n} from \"../CalendarHeader/CalendarHeader\";\nimport { CalendarDays } from \"../CalendarDays/CalendarDays\";\nimport {\n navigateDate,\n setTimeEqual,\n isLastDay,\n isFirstDay,\n} from \"../../lib/calendar\";\nimport { useCalendar } from \"../../hooks/useCalendar\";\nimport { HasRootRef } from \"../../types\";\nimport \"./CalendarRange.css\";\n\nexport interface CalendarRangeProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n Pick<\n CalendarHeaderProps,\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n >,\n HasRootRef<HTMLDivElement> {\n value?: Array<Date | null>;\n disablePast?: boolean;\n disableFuture?: boolean;\n disablePickers?: boolean;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n onChange?(value?: Array<Date | null>): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n}\n\nconst getIsDaySelected = (day: Date, value?: Array<Date | null>) => {\n if (!value?.[0] || !value[1]) {\n return false;\n }\n\n return Boolean(\n isWithinInterval(day, {\n start: startOfDay(value[0]),\n end: endOfDay(value[1]),\n })\n );\n};\n\nexport const CalendarRange: React.FC<CalendarRangeProps> = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeDayAriaLabel = \"Изменить день\",\n ...props\n}) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({ value, disableFuture, disablePast, shouldDisableDate });\n const [hintedDate, setHintedDate] = React.useState<Array<Date | null>>();\n const secondViewDate = addMonths(viewDate, 1);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (\n [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key)\n ) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value?.[1], event.key);\n\n if (\n newFocusedDay &&\n !isSameMonth(newFocusedDay, viewDate) &&\n !isSameMonth(newFocusedDay, addMonths(viewDate, 1))\n ) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate]\n );\n\n const getNewValue = React.useCallback(\n (date: Date) => {\n if (!value) {\n return [date, null];\n }\n\n const start = value[0];\n const end = value[1];\n if ((start && isSameDay(date, start)) || (end && isSameDay(date, end))) {\n return [setTimeEqual(date, start), setTimeEqual(date, end)];\n } else if (start && isBefore(date, start)) {\n return [setTimeEqual(date, start), end];\n } else if (start && isAfter(date, start)) {\n return [start, setTimeEqual(date, end)];\n }\n\n return value;\n },\n [value]\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(getNewValue(date));\n setHintedDate(undefined);\n },\n [onChange, getNewValue]\n );\n\n const isDaySelected = React.useCallback(\n (day: Date) => getIsDaySelected(day, value),\n [value]\n );\n\n const isDayActive = React.useCallback(\n (day: Date) =>\n Boolean(\n (value?.[0] && isSameDay(day, value[0])) ||\n (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) || (value?.[1] && isSameDay(day, value[1]))\n ),\n [value]\n );\n\n const isHintedDaySelectionEnd = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isLastDay(day, dayOfWeek) ||\n (hintedDate?.[1] && isSameDay(day, hintedDate[1]))\n ),\n [hintedDate]\n );\n\n const isDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) || (value?.[0] && isSameDay(day, value[0]))\n ),\n [value]\n );\n\n const isHintedDaySelectionStart = React.useCallback(\n (day: Date, dayOfWeek: number) =>\n Boolean(\n isFirstDay(day, dayOfWeek) ||\n (hintedDate?.[0] && isSameDay(day, hintedDate[0]))\n ),\n [hintedDate]\n );\n\n const onDayEnter = React.useCallback(\n (date: Date) => setHintedDate(getNewValue(date)),\n [setHintedDate, getNewValue]\n );\n\n const onDayLeave = React.useCallback(\n () => setHintedDate(undefined),\n [setHintedDate]\n );\n\n const isDayHinted = React.useCallback(\n (day: Date) => getIsDaySelected(day, hintedDate),\n [hintedDate]\n );\n\n return (\n <div {...props} ref={getRootRef} vkuiClass=\"CalendarRange\">\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={viewDate}\n onChange={setViewDate}\n nextMonth={false}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n aria-label={changeDayAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarRange__inner\">\n <CalendarHeader\n viewDate={secondViewDate}\n onChange={setViewDate}\n prevMonth={false}\n onNextMonth={setNextMonth}\n disablePickers={disablePickers}\n vkuiClass=\"CalendarRange__header\"\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n />\n <CalendarDays\n viewDate={secondViewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n isDayFocused={isDayFocused}\n onDayChange={onDayChange}\n isDaySelected={isDaySelected}\n isDayActive={isDayActive}\n isDaySelectionEnd={isDaySelectionEnd}\n isDaySelectionStart={isDaySelectionStart}\n isDayHinted={isDayHinted}\n onDayEnter={onDayEnter}\n onDayLeave={onDayLeave}\n isHintedDaySelectionEnd={isHintedDaySelectionEnd}\n isHintedDaySelectionStart={isHintedDaySelectionStart}\n isDayDisabled={isDayDisabled}\n tabIndex={0}\n onBlur={resetSelectedDay}\n />\n </div>\n </div>\n );\n};\n"],"file":"CalendarRange.js"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import "./CalendarTime.css";
|
|
3
|
+
export interface CalendarTimeProps {
|
|
4
|
+
value: Date;
|
|
5
|
+
doneButtonText?: string;
|
|
6
|
+
changeHoursAriaLabel?: string;
|
|
7
|
+
changeMinutesAriaLabel?: string;
|
|
8
|
+
onChange?(value: Date): void;
|
|
9
|
+
onClose?(): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const CalendarTime: React.FC<CalendarTimeProps>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { setHours, setMinutes } from "date-fns";
|
|
4
|
+
import CustomSelect from "../CustomSelect/CustomSelect";
|
|
5
|
+
import Button from "../Button/Button";
|
|
6
|
+
import { SizeType } from "../../hoc/withAdaptivity";
|
|
7
|
+
var hours = [];
|
|
8
|
+
|
|
9
|
+
for (var i = 0; i < 24; i += 1) {
|
|
10
|
+
hours.push({
|
|
11
|
+
value: i,
|
|
12
|
+
label: String(i).padStart(2, "0")
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
var minutes = [];
|
|
17
|
+
|
|
18
|
+
for (var _i = 0; _i < 60; _i += 1) {
|
|
19
|
+
minutes.push({
|
|
20
|
+
value: _i,
|
|
21
|
+
label: String(_i).padStart(2, "0")
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export var CalendarTime = function CalendarTime(_ref) {
|
|
26
|
+
var value = _ref.value,
|
|
27
|
+
_ref$doneButtonText = _ref.doneButtonText,
|
|
28
|
+
doneButtonText = _ref$doneButtonText === void 0 ? "Готово" : _ref$doneButtonText,
|
|
29
|
+
onChange = _ref.onChange,
|
|
30
|
+
onClose = _ref.onClose,
|
|
31
|
+
_ref$changeHoursAriaL = _ref.changeHoursAriaLabel,
|
|
32
|
+
changeHoursAriaLabel = _ref$changeHoursAriaL === void 0 ? "Изменить час" : _ref$changeHoursAriaL,
|
|
33
|
+
_ref$changeMinutesAri = _ref.changeMinutesAriaLabel,
|
|
34
|
+
changeMinutesAriaLabel = _ref$changeMinutesAri === void 0 ? "Изменить минуту" : _ref$changeMinutesAri;
|
|
35
|
+
var onHoursChange = React.useCallback(function (event) {
|
|
36
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange(setHours(value, Number(event.target.value)));
|
|
37
|
+
}, [onChange, value]);
|
|
38
|
+
var onMinutesChange = React.useCallback(function (event) {
|
|
39
|
+
return onChange === null || onChange === void 0 ? void 0 : onChange(setMinutes(value, Number(event.target.value)));
|
|
40
|
+
}, [onChange, value]);
|
|
41
|
+
return createScopedElement("div", {
|
|
42
|
+
vkuiClass: "CalendarTime"
|
|
43
|
+
}, createScopedElement("div", {
|
|
44
|
+
vkuiClass: "CalendarTime__picker"
|
|
45
|
+
}, createScopedElement(CustomSelect, {
|
|
46
|
+
value: value.getHours(),
|
|
47
|
+
options: hours,
|
|
48
|
+
onChange: onHoursChange,
|
|
49
|
+
forceDropdownPortal: false,
|
|
50
|
+
sizeY: SizeType.COMPACT,
|
|
51
|
+
"aria-label": changeHoursAriaLabel
|
|
52
|
+
})), createScopedElement("div", {
|
|
53
|
+
vkuiClass: "CalendarTime__divider"
|
|
54
|
+
}, ":"), createScopedElement("div", {
|
|
55
|
+
vkuiClass: "CalendarTime__picker"
|
|
56
|
+
}, createScopedElement(CustomSelect, {
|
|
57
|
+
value: value.getMinutes(),
|
|
58
|
+
options: minutes,
|
|
59
|
+
onChange: onMinutesChange,
|
|
60
|
+
forceDropdownPortal: false,
|
|
61
|
+
sizeY: SizeType.COMPACT,
|
|
62
|
+
"aria-label": changeMinutesAriaLabel
|
|
63
|
+
})), createScopedElement("div", {
|
|
64
|
+
vkuiClass: "CalendarTime__button"
|
|
65
|
+
}, createScopedElement(Button, {
|
|
66
|
+
sizeY: SizeType.COMPACT,
|
|
67
|
+
mode: "secondary",
|
|
68
|
+
onClick: onClose,
|
|
69
|
+
size: "l",
|
|
70
|
+
"aria-label": doneButtonText
|
|
71
|
+
}, doneButtonText)));
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=CalendarTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CalendarTime/CalendarTime.tsx"],"names":["React","setHours","setMinutes","CustomSelect","Button","SizeType","hours","i","push","value","label","String","padStart","minutes","CalendarTime","doneButtonText","onChange","onClose","changeHoursAriaLabel","changeMinutesAriaLabel","onHoursChange","useCallback","event","Number","target","onMinutesChange","getHours","COMPACT","getMinutes"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { setHours, setMinutes } from \"date-fns\";\nimport CustomSelect from \"../CustomSelect/CustomSelect\";\nimport Button from \"../Button/Button\";\nimport { SizeType } from \"../../hoc/withAdaptivity\";\nimport \"./CalendarTime.css\";\n\nexport interface CalendarTimeProps {\n value: Date;\n doneButtonText?: string;\n changeHoursAriaLabel?: string;\n changeMinutesAriaLabel?: string;\n onChange?(value: Date): void;\n onClose?(): void;\n}\n\nconst hours: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 24; i += 1) {\n hours.push({ value: i, label: String(i).padStart(2, \"0\") });\n}\n\nconst minutes: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 60; i += 1) {\n minutes.push({ value: i, label: String(i).padStart(2, \"0\") });\n}\n\nexport const CalendarTime: React.FC<CalendarTimeProps> = ({\n value,\n doneButtonText = \"Готово\",\n onChange,\n onClose,\n changeHoursAriaLabel = \"Изменить час\",\n changeMinutesAriaLabel = \"Изменить минуту\",\n}) => {\n const onHoursChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange?.(setHours(value, Number(event.target.value))),\n [onChange, value]\n );\n const onMinutesChange = React.useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) =>\n onChange?.(setMinutes(value, Number(event.target.value))),\n [onChange, value]\n );\n\n return (\n <div vkuiClass=\"CalendarTime\">\n <div vkuiClass=\"CalendarTime__picker\">\n <CustomSelect\n value={value.getHours()}\n options={hours}\n onChange={onHoursChange}\n forceDropdownPortal={false}\n sizeY={SizeType.COMPACT}\n aria-label={changeHoursAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarTime__divider\">:</div>\n <div vkuiClass=\"CalendarTime__picker\">\n <CustomSelect\n value={value.getMinutes()}\n options={minutes}\n onChange={onMinutesChange}\n forceDropdownPortal={false}\n sizeY={SizeType.COMPACT}\n aria-label={changeMinutesAriaLabel}\n />\n </div>\n <div vkuiClass=\"CalendarTime__button\">\n <Button\n sizeY={SizeType.COMPACT}\n mode=\"secondary\"\n onClick={onClose}\n size=\"l\"\n aria-label={doneButtonText}\n >\n {doneButtonText}\n </Button>\n </div>\n </div>\n );\n};\n"],"file":"CalendarTime.js"}
|
|
@@ -37,5 +37,4 @@ export interface ChipsSelectProps<Option extends ChipsInputOption> extends Chips
|
|
|
37
37
|
*/
|
|
38
38
|
closeAfterSelect?: boolean;
|
|
39
39
|
}
|
|
40
|
-
declare const
|
|
41
|
-
export default _default;
|
|
40
|
+
export declare const ChipsSelect: React.FC<Pick<ChipsSelectProps<ChipsInputOption>, "max" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "pattern" | "color" | "size" | "after" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "min" | "name" | "type" | "role" | "tabIndex" | "crossOrigin" | "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" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "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" | "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" | "value" | "alt" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "autoComplete" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "align" | "getRootRef" | "getRef" | "options" | "popupDirection" | "inputValue" | "onInputChange" | "getOptionValue" | "getOptionLabel" | "getNewOptionData" | "renderChip" | "inputAriaLabel" | "fetching" | "emptyText" | "filterFn" | "renderOption" | "creatable" | "showSelected" | "creatableText" | "onChangeStart" | "closeAfterSelect"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
|
|
@@ -43,7 +43,7 @@ var chipsSelectDefaultProps = _objectSpread(_objectSpread({}, chipsInputDefaultP
|
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var ChipsSelectComponent = function ChipsSelectComponent(props) {
|
|
47
47
|
var _classNames;
|
|
48
48
|
|
|
49
49
|
var propsWithDefault = _objectSpread(_objectSpread({}, chipsSelectDefaultProps), props);
|
|
@@ -343,10 +343,9 @@ var ChipsSelect = function ChipsSelect(props) {
|
|
|
343
343
|
}
|
|
344
344
|
}));
|
|
345
345
|
})));
|
|
346
|
-
};
|
|
346
|
+
};
|
|
347
347
|
|
|
348
|
-
|
|
349
|
-
export default withAdaptivity(ChipsSelect, {
|
|
348
|
+
export var ChipsSelect = withAdaptivity(ChipsSelectComponent, {
|
|
350
349
|
sizeY: true
|
|
351
350
|
});
|
|
352
351
|
//# sourceMappingURL=ChipsSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["React","DropdownIcon","classNames","ChipsInput","chipsInputDefaultProps","CustomSelectOption","useChipsSelect","withAdaptivity","noop","useDOM","Caption","prefixClass","useExternRef","useGlobalEventListener","defaultFilterFn","CustomSelectDropdown","FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","emptyText","creatableText","onChangeStart","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","renderOption","option","restProps","ChipsSelect","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport ChipsInput, {\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающиего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelect = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames({\n [\"ChipsSelect__open\"]: opened,\n [\"ChipsSelect__open--popupDirectionTop\"]: isPopperDirectionTop,\n })}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ChipsSelect__empty\">\n {emptyText}\n </Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(ChipsSelect, { sizeY: true });\n"],"file":"ChipsSelect.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["React","DropdownIcon","classNames","ChipsInput","chipsInputDefaultProps","CustomSelectOption","useChipsSelect","withAdaptivity","noop","useDOM","Caption","prefixClass","useExternRef","useGlobalEventListener","defaultFilterFn","CustomSelectDropdown","FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","emptyText","creatableText","onChangeStart","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport ChipsInput, {\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport CustomSelectOption, {\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающиего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype focusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: focusActionType = \"next\";\nconst FOCUS_ACTION_PREV: focusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: focusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames({\n [\"ChipsSelect__open\"]: opened,\n [\"ChipsSelect__open--popupDirectionTop\"]: isPopperDirectionTop,\n })}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ChipsSelect__empty\">\n {emptyText}\n </Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n"],"file":"ChipsSelect.js"}
|
|
@@ -7,6 +7,10 @@ export interface ConfigProviderProps extends Partial<ConfigProviderContextInterf
|
|
|
7
7
|
* Цветовая схема приложения
|
|
8
8
|
*/
|
|
9
9
|
scheme?: AppearanceScheme;
|
|
10
|
+
/**
|
|
11
|
+
Локаль ([список](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry))
|
|
12
|
+
*/
|
|
13
|
+
locale?: string;
|
|
10
14
|
}
|
|
11
15
|
declare const ConfigProvider: React.FC<ConfigProviderProps>;
|
|
12
16
|
export default ConfigProvider;
|
|
@@ -10,6 +10,7 @@ import { noop } from "../../lib/utils";
|
|
|
10
10
|
import { warnOnce } from "../../lib/warnOnce";
|
|
11
11
|
import { normalizeScheme, Scheme } from "../../helpers/scheme";
|
|
12
12
|
import { AppearanceProvider, generateVKUITokensClassName } from "../AppearanceProvider/AppearanceProvider";
|
|
13
|
+
import { LocaleProviderContext } from "../LocaleProviderContext/LocaleProviderContext";
|
|
13
14
|
import { platform as resolvePlatform } from "../../lib/platform";
|
|
14
15
|
var warn = warnOnce("ConfigProvider");
|
|
15
16
|
|
|
@@ -65,7 +66,9 @@ var ConfigProvider = function ConfigProvider(_ref) {
|
|
|
65
66
|
_ref$hasNewTokens = _ref.hasNewTokens,
|
|
66
67
|
hasNewTokens = _ref$hasNewTokens === void 0 ? false : _ref$hasNewTokens,
|
|
67
68
|
appearance = _ref.appearance,
|
|
68
|
-
scheme = _ref.scheme
|
|
69
|
+
scheme = _ref.scheme,
|
|
70
|
+
_ref$locale = _ref.locale,
|
|
71
|
+
locale = _ref$locale === void 0 ? "ru" : _ref$locale;
|
|
69
72
|
var normalizedScheme = normalizeScheme({
|
|
70
73
|
scheme: scheme,
|
|
71
74
|
platform: platform,
|
|
@@ -110,9 +113,11 @@ var ConfigProvider = function ConfigProvider(_ref) {
|
|
|
110
113
|
});
|
|
111
114
|
return createScopedElement(ConfigProviderContext.Provider, {
|
|
112
115
|
value: configContext
|
|
116
|
+
}, createScopedElement(LocaleProviderContext.Provider, {
|
|
117
|
+
value: locale
|
|
113
118
|
}, createScopedElement(AppearanceProvider, {
|
|
114
119
|
appearance: configContext.appearance
|
|
115
|
-
}, children));
|
|
120
|
+
}, children)));
|
|
116
121
|
}; // eslint-disable-next-line import/no-default-export
|
|
117
122
|
|
|
118
123
|
|