@vkontakte/vkui 4.26.0 → 4.27.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +389 -243
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
- package/.cache/ts/src/components/Alert/Alert.d.ts +1 -2
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProviderContext.d.ts +1 -6
- package/.cache/ts/src/components/Card/Card.d.ts +1 -2
- package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +4 -7
- package/.cache/ts/src/components/Chip/Chip.d.ts +2 -2
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -1
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +5 -12
- package/.cache/ts/src/components/Gradient/Gradient.d.ts +1 -2
- package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +17 -0
- package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
- package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +6 -2
- package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
- package/.cache/ts/src/components/Switch/Switch.d.ts +3 -2
- package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +4 -1
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +4 -1
- package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
- package/.cache/ts/src/hooks/useAppearance.d.ts +1 -1
- package/.cache/ts/src/hooks/usePlatform.d.ts +1 -1
- package/.cache/ts/src/index.d.ts +7 -5
- package/.cache/ts/src/lib/utils.d.ts +1 -0
- package/.cache/ts/src/tokenized/index.d.ts +12 -0
- package/CSS_GUIDE.md +145 -0
- package/VKUI_TOKENS_MIGRATION_GUIDE.md +2 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +5 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +16 -11
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.d.ts +1 -2
- package/dist/cjs/components/Alert/Alert.js +12 -12
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +0 -8
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.js +9 -2
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +34 -12
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +1 -6
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js +3 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js +2 -4
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +12 -4
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Card/Card.d.ts +1 -2
- package/dist/cjs/components/Card/Card.js +4 -8
- package/dist/cjs/components/Card/Card.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.d.ts +4 -7
- package/dist/cjs/components/CardScroll/CardScroll.js +11 -15
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.d.ts +2 -2
- package/dist/cjs/components/Chip/Chip.js +3 -5
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js +2 -2
- package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +32 -44
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +5 -12
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +3 -5
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +4 -4
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +0 -1
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/Gradient/Gradient.d.ts +1 -2
- package/dist/cjs/components/Gradient/Gradient.js +6 -10
- package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +3 -7
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +1 -3
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -6
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +1 -6
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js +1 -2
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +8 -4
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.js +0 -1
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/Search/Search.js +47 -23
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +17 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js +116 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +61 -0
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
- package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -9
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +6 -2
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js +18 -6
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -5
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -3
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.d.ts +3 -2
- package/dist/cjs/components/Switch/Switch.js +3 -6
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -2
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +1 -2
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +4 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js +15 -8
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.d.ts +4 -1
- package/dist/cjs/components/Typography/Title/Title.js +9 -19
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +0 -1
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +37 -0
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
- package/dist/cjs/hooks/useAppearance.d.ts +1 -1
- package/dist/cjs/hooks/useAppearance.js +2 -2
- package/dist/cjs/hooks/useAppearance.js.map +1 -1
- package/dist/cjs/hooks/usePlatform.d.ts +1 -1
- package/dist/cjs/hooks/usePlatform.js.map +1 -1
- package/dist/cjs/index.d.ts +7 -5
- package/dist/cjs/index.js +18 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/utils.d.ts +1 -0
- package/dist/cjs/lib/utils.js +7 -0
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/tokenized/index.d.ts +12 -0
- package/dist/cjs/tokenized/index.js +48 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +5 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
- package/dist/components/ActionSheetItem/ActionSheetItem.js +14 -11
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +1 -2
- package/dist/components/Alert/Alert.js +11 -12
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +0 -7
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js +7 -2
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
- package/dist/components/AppearanceProvider/AppearanceProvider.js +29 -11
- package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/components/AppearanceProvider/AppearanceProviderContext.d.ts +1 -6
- package/dist/components/AppearanceProvider/AppearanceProviderContext.js +2 -1
- package/dist/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
- package/dist/components/Banner/Banner.js +2 -4
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.js +12 -5
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -2
- package/dist/components/Card/Card.js +3 -9
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +4 -7
- package/dist/components/CardScroll/CardScroll.js +9 -14
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Chip/Chip.d.ts +2 -2
- package/dist/components/Chip/Chip.js +2 -6
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +31 -44
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +5 -12
- package/dist/components/ConfigProvider/ConfigProviderContext.js +2 -3
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +3 -3
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +0 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/Gradient/Gradient.d.ts +1 -2
- package/dist/components/Gradient/Gradient.js +5 -11
- package/dist/components/Gradient/Gradient.js.map +1 -1
- package/dist/components/Header/Header.js +3 -7
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +1 -3
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -4
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -4
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.js +1 -2
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +2 -2
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.js +1 -1
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/Removable/Removable.js +8 -4
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.js +0 -1
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Search/Search.js +45 -22
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +17 -0
- package/dist/components/SegmentedControl/SegmentedControl.js +94 -0
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +40 -0
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
- package/dist/components/SimpleCell/SimpleCell.js +21 -10
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.d.ts +6 -2
- package/dist/components/SliderSwitch/SliderSwitch.js +14 -3
- package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
- package/dist/components/SliderSwitch/SliderSwitchButton.js +5 -5
- package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -3
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +3 -2
- package/dist/components/Switch/Switch.js +3 -6
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.js +1 -2
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts +4 -1
- package/dist/components/Typography/Subhead/Subhead.js +13 -7
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +4 -1
- package/dist/components/Typography/Title/Title.js +7 -16
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +0 -1
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +23 -0
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
- package/dist/components.css +10 -5
- package/dist/components.css.map +1 -1
- package/dist/cssm/appearance/constants.d.ts +1 -0
- package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +26 -0
- package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts +8 -0
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.d.ts +4 -0
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +4 -0
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +5 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheet/types.d.ts +9 -0
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +20 -0
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +14 -11
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.d.ts +46 -0
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +10 -0
- package/dist/cssm/components/Alert/Alert.d.ts +24 -0
- package/dist/cssm/components/Alert/Alert.js +11 -12
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.d.ts +14 -0
- package/dist/cssm/components/AppRoot/AppRoot.js +0 -7
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.d.ts +9 -0
- package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +5 -0
- package/dist/cssm/components/AppRoot/AppRootPortal.js +7 -2
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.d.ts +23 -0
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +7 -0
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +29 -11
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.d.ts +3 -0
- package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js +2 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.d.ts +22 -0
- package/dist/cssm/components/Badge/Badge.d.ts +6 -0
- package/dist/cssm/components/Banner/Banner.d.ts +65 -0
- package/dist/cssm/components/Banner/Banner.js +2 -4
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.d.ts +20 -0
- package/dist/cssm/components/Button/Button.js +12 -5
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Card/Card.css +2 -2
- package/dist/cssm/components/Card/Card.d.ts +7 -0
- package/dist/cssm/components/Card/Card.js +3 -9
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.d.ts +8 -0
- package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.d.ts +12 -0
- package/dist/cssm/components/CardScroll/CardScroll.js +9 -14
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.d.ts +47 -0
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
- package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +6 -0
- package/dist/cssm/components/Cell/useDraggable.d.ts +13 -0
- package/dist/cssm/components/CellButton/CellButton.d.ts +9 -0
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +10 -0
- package/dist/cssm/components/Chip/Chip.d.ts +16 -0
- package/dist/cssm/components/Chip/Chip.js +2 -6
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +30 -0
- package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/useChipsInput.d.ts +14 -0
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +41 -0
- package/dist/cssm/components/ChipsSelect/useChipsSelect.d.ts +22 -0
- package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +21 -0
- package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +12 -0
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +31 -44
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +36 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +2 -3
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.d.ts +34 -0
- package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.d.ts +11 -0
- package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +10 -0
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +56 -0
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +12 -0
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +15 -0
- package/dist/cssm/components/DatePicker/DatePicker.d.ts +24 -0
- package/dist/cssm/components/Div/Div.d.ts +7 -0
- package/dist/cssm/components/Dropdown/Dropdown.d.ts +8 -0
- package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +3 -0
- package/dist/cssm/components/Epic/Epic.d.ts +10 -0
- package/dist/cssm/components/Epic/ScrollSaver.d.ts +6 -0
- package/dist/cssm/components/File/File.d.ts +9 -0
- package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +19 -0
- package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +8 -0
- package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +8 -0
- package/dist/cssm/components/Footer/Footer.d.ts +5 -0
- package/dist/cssm/components/FormField/FormField.d.ts +14 -0
- package/dist/cssm/components/FormItem/FormItem.d.ts +14 -0
- package/dist/cssm/components/FormItem/FormItem.js +0 -1
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.d.ts +6 -0
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +13 -0
- package/dist/cssm/components/FormStatus/FormStatus.d.ts +7 -0
- package/dist/cssm/components/Gallery/Gallery.d.ts +39 -0
- package/dist/cssm/components/Gradient/Gradient.d.ts +7 -0
- package/dist/cssm/components/Gradient/Gradient.js +5 -11
- package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +8 -0
- package/dist/cssm/components/Group/Group.d.ts +23 -0
- package/dist/cssm/components/Header/Header.d.ts +18 -0
- package/dist/cssm/components/Header/Header.js +3 -7
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.d.ts +10 -0
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -3
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +19 -0
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -4
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +6 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +8 -0
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -4
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +29 -0
- package/dist/cssm/components/IconButton/IconButton.d.ts +11 -0
- package/dist/cssm/components/InfoRow/InfoRow.d.ts +7 -0
- package/dist/cssm/components/InfoRow/InfoRow.js +1 -2
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +32 -0
- package/dist/cssm/components/Input/Input.d.ts +9 -0
- package/dist/cssm/components/Link/Link.d.ts +6 -0
- package/dist/cssm/components/List/List.d.ts +4 -0
- package/dist/cssm/components/List/ListContext.d.ts +4 -0
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +39 -0
- package/dist/cssm/components/ModalCard/ModalCard.d.ts +10 -0
- package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +32 -0
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +2 -2
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +5 -0
- package/dist/cssm/components/ModalPage/ModalPage.d.ts +22 -0
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.d.ts +8 -0
- package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +16 -0
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +10 -0
- package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +20 -0
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +16 -0
- package/dist/cssm/components/ModalRoot/constants.d.ts +3 -0
- package/dist/cssm/components/ModalRoot/types.d.ts +45 -0
- package/dist/cssm/components/ModalRoot/useModalManager.d.ts +37 -0
- package/dist/cssm/components/ModalRoot/withModalRootContext.d.ts +5 -0
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +15 -0
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts +7 -0
- package/dist/cssm/components/Panel/Panel.d.ts +9 -0
- package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +21 -0
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +9 -0
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts +8 -0
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +4 -0
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +9 -0
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +7 -0
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +18 -0
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +4 -0
- package/dist/cssm/components/PanelSpinner/PanelSpinner.d.ts +7 -0
- package/dist/cssm/components/Placeholder/Placeholder.d.ts +23 -0
- package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +10 -0
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +10 -0
- package/dist/cssm/components/Popper/Popper.d.ts +32 -0
- package/dist/cssm/components/Progress/Progress.d.ts +8 -0
- package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +40 -0
- package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +37 -0
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.d.ts +11 -0
- package/dist/cssm/components/Radio/Radio.d.ts +9 -0
- package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +6 -0
- package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +6 -0
- package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +16 -0
- package/dist/cssm/components/Removable/Removable.d.ts +21 -0
- package/dist/cssm/components/Removable/Removable.js +8 -4
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.d.ts +36 -0
- package/dist/cssm/components/RichCell/RichCell.js +0 -1
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +5 -0
- package/dist/cssm/components/Root/Root.d.ts +31 -0
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +6 -0
- package/dist/cssm/components/Search/Search.d.ts +17 -0
- package/dist/cssm/components/Search/Search.js +45 -22
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +17 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +95 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +41 -0
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
- package/dist/cssm/components/Select/Select.d.ts +7 -0
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +10 -0
- package/dist/cssm/components/Separator/Separator.d.ts +11 -0
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +39 -0
- package/dist/cssm/components/SimpleCell/SimpleCell.js +21 -10
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +9 -0
- package/dist/cssm/components/Slider/Slider.d.ts +5 -0
- package/dist/cssm/components/SliderSwitch/SliderSwitch.d.ts +47 -0
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js +14 -3
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.d.ts +11 -0
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +5 -5
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.d.ts +35 -0
- package/dist/cssm/components/Spacing/Spacing.d.ts +18 -0
- package/dist/cssm/components/Spinner/Spinner.d.ts +7 -0
- package/dist/cssm/components/SplitCol/SplitCol.d.ts +22 -0
- package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +15 -0
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +7 -0
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +21 -0
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -3
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.css +1 -1
- package/dist/cssm/components/Switch/Switch.d.ts +7 -0
- package/dist/cssm/components/Switch/Switch.js +3 -6
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.d.ts +11 -0
- package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +21 -0
- package/dist/cssm/components/Tabs/Tabs.d.ts +10 -0
- package/dist/cssm/components/TabsItem/TabsItem.d.ts +8 -0
- package/dist/cssm/components/Tappable/Tappable.d.ts +40 -0
- package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +14 -0
- package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -2
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.d.ts +11 -0
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +55 -0
- package/dist/cssm/components/Tooltip/Tooltip.js +1 -2
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/TooltipContainer.d.ts +5 -0
- package/dist/cssm/components/Touch/Touch.d.ts +49 -0
- package/dist/cssm/components/Touch/TouchContext.d.ts +7 -0
- package/dist/cssm/components/Typography/Caption/Caption.d.ts +10 -0
- package/dist/cssm/components/Typography/Headline/Headline.d.ts +8 -0
- package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +11 -0
- package/dist/cssm/components/Typography/Subhead/Subhead.js +13 -7
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.d.ts +8 -0
- package/dist/cssm/components/Typography/Title/Title.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.d.ts +12 -0
- package/dist/cssm/components/Typography/Title/Title.js +7 -16
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.d.ts +23 -0
- package/dist/cssm/components/UsersStack/UsersStack.js +0 -1
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/masks.d.ts +1 -0
- package/dist/cssm/components/View/View.d.ts +80 -0
- package/dist/cssm/components/View/ViewInfinite.d.ts +66 -0
- package/dist/cssm/components/View/utils.d.ts +2 -0
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -0
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +24 -0
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
- package/dist/cssm/components/WriteBar/WriteBar.d.ts +23 -0
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.d.ts +18 -0
- package/dist/cssm/helpers/avatar.d.ts +5 -0
- package/dist/cssm/helpers/getClassName.d.ts +2 -0
- package/dist/cssm/helpers/getScheme.d.ts +8 -0
- package/dist/cssm/helpers/math.d.ts +5 -0
- package/dist/cssm/helpers/scheme.d.ts +34 -0
- package/dist/cssm/hoc/withAdaptivity.d.ts +13 -0
- package/dist/cssm/hoc/withContext.d.ts +2 -0
- package/dist/cssm/hoc/withInsets.d.ts +3 -0
- package/dist/cssm/hoc/withPlatform.d.ts +3 -0
- package/dist/cssm/hooks/useAdaptivity.d.ts +3 -0
- package/dist/cssm/hooks/useAppearance.d.ts +1 -0
- package/dist/cssm/hooks/useAppearance.js +2 -2
- package/dist/cssm/hooks/useAppearance.js.map +1 -1
- package/dist/cssm/hooks/useBrowserInfo.d.ts +2 -0
- package/dist/cssm/hooks/useEffectDev.d.ts +2 -0
- package/dist/cssm/hooks/useEnsuredControl.d.ts +6 -0
- package/dist/cssm/hooks/useEventListener.d.ts +7 -0
- package/dist/cssm/hooks/useExternRef.d.ts +2 -0
- package/dist/cssm/hooks/useFocusVisible.d.ts +6 -0
- package/dist/cssm/hooks/useGlobalEventListener.d.ts +2 -0
- package/dist/cssm/hooks/useInsets.d.ts +8 -0
- package/dist/cssm/hooks/useKeyboard.d.ts +11 -0
- package/dist/cssm/hooks/useKeyboardInputTracker.d.ts +1 -0
- package/dist/cssm/hooks/useObjectMemo.d.ts +2 -0
- package/dist/cssm/hooks/usePatchChildrenRef.d.ts +6 -0
- package/dist/cssm/hooks/usePlatform.d.ts +2 -0
- package/dist/cssm/hooks/usePlatform.js.map +1 -1
- package/dist/cssm/hooks/useTimeout.d.ts +4 -0
- package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +3 -0
- package/dist/cssm/index.d.ts +279 -0
- package/dist/cssm/index.js +6 -5
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.d.ts +14 -0
- package/dist/cssm/lib/accessibility.d.ts +10 -0
- package/dist/cssm/lib/animate.d.ts +15 -0
- package/dist/cssm/lib/browser.d.ts +11 -0
- package/dist/cssm/lib/callMultiple.d.ts +1 -0
- package/dist/cssm/lib/classNames.d.ts +6 -0
- package/dist/cssm/lib/classScopingMode.d.ts +8 -0
- package/dist/cssm/lib/dom.d.ts +21 -0
- package/dist/cssm/lib/fx.d.ts +5 -0
- package/dist/cssm/lib/getNavId.d.ts +6 -0
- package/dist/cssm/lib/is.d.ts +1 -0
- package/dist/cssm/lib/isRefObject.d.ts +2 -0
- package/dist/cssm/lib/jsxRuntime.d.ts +8 -0
- package/dist/cssm/lib/offset.d.ts +7 -0
- package/dist/cssm/lib/platform.d.ts +19 -0
- package/dist/cssm/lib/polyfills.d.ts +6 -0
- package/dist/cssm/lib/prefixClass.d.ts +1 -0
- package/dist/cssm/lib/removeObjectKeys.d.ts +1 -0
- package/dist/cssm/lib/select.d.ts +7 -0
- package/dist/cssm/lib/styles.d.ts +1 -0
- package/dist/cssm/lib/supportEvents.d.ts +9 -0
- package/dist/cssm/lib/taptic.d.ts +2 -0
- package/dist/cssm/lib/testing.d.ts +1 -0
- package/dist/cssm/lib/touch.d.ts +9 -0
- package/dist/cssm/lib/useIsomorphicLayoutEffect.d.ts +2 -0
- package/dist/cssm/lib/utils.d.ts +15 -0
- package/dist/cssm/lib/utils.js +3 -0
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/lib/warnOnce.d.ts +1 -0
- package/dist/cssm/styles/components.css +10 -5
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/tokenized/index.d.ts +14 -0
- package/dist/cssm/tokenized/index.js +6 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/cssm/types.d.ts +34 -0
- package/dist/cssm/unstable/index.d.ts +17 -0
- package/dist/hooks/useAppearance.d.ts +1 -1
- package/dist/hooks/useAppearance.js +2 -2
- package/dist/hooks/useAppearance.js.map +1 -1
- package/dist/hooks/usePlatform.d.ts +1 -1
- package/dist/hooks/usePlatform.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +3 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/tokenized/index.d.ts +12 -0
- package/dist/tokenized/index.js +6 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/vkui.css +11 -6
- package/dist/vkui.css.map +1 -1
- package/package.json +4 -3
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +4 -0
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +27 -27
- package/src/components/Alert/Alert.tsx +5 -7
- package/src/components/AppRoot/AppRoot.tsx +0 -6
- package/src/components/AppRoot/AppRootPortal.tsx +9 -1
- package/src/components/AppearanceProvider/AppearanceProvider.tsx +30 -13
- package/src/components/AppearanceProvider/AppearanceProviderContext.tsx +4 -9
- package/src/components/Banner/Banner.tsx +2 -2
- package/src/components/Button/Button.tsx +9 -9
- package/src/components/Card/Card.css +41 -0
- package/src/components/Card/Card.tsx +2 -9
- package/src/components/CardScroll/CardScroll.css +2 -39
- package/src/components/CardScroll/CardScroll.tsx +7 -17
- package/src/components/CardScroll/Readme.md +3 -2
- package/src/components/Chip/Chip.tsx +1 -4
- package/src/components/ChipsInput/ChipsInput.tsx +1 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +31 -40
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +14 -18
- package/src/components/ContentCard/ContentCard.tsx +2 -2
- package/src/components/CustomSelectOption/CustomSelectOption.css +1 -0
- package/src/components/FocusVisible/FocusVisible.css +4 -8
- package/src/components/FormItem/FormItem.tsx +1 -5
- package/src/components/FormItem/Readme.md +14 -2
- package/src/components/Gradient/Gradient.tsx +4 -12
- package/src/components/Gradient/Readme.md +1 -1
- package/src/components/Header/Header.tsx +3 -3
- package/src/components/HorizontalCell/HorizontalCell.tsx +1 -3
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +1 -5
- package/src/components/HorizontalScroll/HorizontalScrollArrow.css +12 -5
- package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -5
- package/src/components/InfoRow/InfoRow.tsx +1 -1
- package/src/components/ModalCardBase/ModalCardBase.tsx +2 -2
- package/src/components/ModalRoot/Readme.md +1 -1
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -5
- package/src/components/Placeholder/Placeholder.tsx +1 -1
- package/src/components/Removable/Removable.tsx +9 -7
- package/src/components/RichCell/RichCell.tsx +1 -5
- package/src/components/Search/Search.tsx +38 -14
- package/src/components/SegmentedControl/Readme.md +94 -0
- package/src/components/SegmentedControl/SegmentedControl.css +42 -0
- package/src/components/SegmentedControl/SegmentedControl.tsx +105 -0
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +30 -0
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +42 -0
- package/src/components/SimpleCell/SimpleCell.tsx +11 -11
- package/src/components/SliderSwitch/Readme.md +4 -0
- package/src/components/SliderSwitch/SliderSwitch.tsx +17 -3
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +4 -4
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
- package/src/components/Switch/Switch.css +0 -12
- package/src/components/Switch/Switch.tsx +8 -10
- package/src/components/TextTooltip/TextTooltip.tsx +2 -6
- package/src/components/Tooltip/Tooltip.tsx +2 -6
- package/src/components/Typography/Subhead/Readme.md +18 -24
- package/src/components/Typography/Subhead/Subhead.css +22 -7
- package/src/components/Typography/Subhead/Subhead.tsx +23 -7
- package/src/components/Typography/Title/Readme.md +28 -41
- package/src/components/Typography/Title/Title.css +22 -13
- package/src/components/Typography/Title/Title.tsx +27 -22
- package/src/components/UsersStack/Readme.md +1 -1
- package/src/components/UsersStack/UsersStack.tsx +1 -1
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +9 -0
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +25 -0
- package/src/hooks/useAppearance.ts +2 -3
- package/src/hooks/usePlatform.ts +1 -1
- package/src/index.ts +11 -5
- package/src/lib/utils.ts +6 -0
- package/src/styles/components.css +3 -0
- package/src/tokenized/index.ts +22 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { AppearanceType } from "@vkontakte/vk-bridge";
|
|
2
|
+
import vkBridge, { AppearanceType } from "@vkontakte/vk-bridge";
|
|
3
3
|
import { canUseDOM, useDOM } from "../../lib/dom";
|
|
4
4
|
import {
|
|
5
5
|
ConfigProviderContext,
|
|
6
6
|
ConfigProviderContextInterface,
|
|
7
|
-
|
|
7
|
+
WebviewType,
|
|
8
8
|
} from "./ConfigProviderContext";
|
|
9
9
|
import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
|
|
10
10
|
import { useObjectMemo } from "../../hooks/useObjectMemo";
|
|
@@ -15,10 +15,14 @@ import {
|
|
|
15
15
|
AppearanceScheme,
|
|
16
16
|
Scheme,
|
|
17
17
|
} from "../../helpers/scheme";
|
|
18
|
-
import {
|
|
19
|
-
|
|
18
|
+
import {
|
|
19
|
+
AppearanceProvider,
|
|
20
|
+
generateVKUITokensClassName,
|
|
21
|
+
} from "../AppearanceProvider/AppearanceProvider";
|
|
22
|
+
import { platform as resolvePlatform } from "../../lib/platform";
|
|
20
23
|
|
|
21
|
-
export interface ConfigProviderProps
|
|
24
|
+
export interface ConfigProviderProps
|
|
25
|
+
extends Partial<ConfigProviderContextInterface> {
|
|
22
26
|
/**
|
|
23
27
|
* @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance
|
|
24
28
|
* Цветовая схема приложения
|
|
@@ -59,44 +63,26 @@ const deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>
|
|
|
59
63
|
? "dark"
|
|
60
64
|
: "light";
|
|
61
65
|
|
|
62
|
-
const generateVKUITokensClassName = (
|
|
63
|
-
platform: string,
|
|
64
|
-
appearance: string
|
|
65
|
-
): string => {
|
|
66
|
-
let tokensPlatform;
|
|
67
|
-
switch (platform) {
|
|
68
|
-
case Platform.ANDROID:
|
|
69
|
-
tokensPlatform = "vkBase";
|
|
70
|
-
break;
|
|
71
|
-
case Platform.IOS:
|
|
72
|
-
tokensPlatform = "vkIOS";
|
|
73
|
-
break;
|
|
74
|
-
case Platform.VKCOM:
|
|
75
|
-
tokensPlatform = "vkCom";
|
|
76
|
-
break;
|
|
77
|
-
default:
|
|
78
|
-
tokensPlatform = platform;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return `vkui--${tokensPlatform}--${appearance}`;
|
|
82
|
-
};
|
|
83
|
-
|
|
84
66
|
const ConfigProvider: React.FC<ConfigProviderProps> = ({
|
|
85
67
|
children,
|
|
86
|
-
|
|
68
|
+
webviewType = WebviewType.VKAPPS,
|
|
69
|
+
isWebView = vkBridge.isWebView(),
|
|
70
|
+
transitionMotionEnabled = true,
|
|
71
|
+
platform = resolvePlatform(),
|
|
72
|
+
hasNewTokens = false,
|
|
73
|
+
appearance,
|
|
74
|
+
scheme,
|
|
87
75
|
}) => {
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
platform: platform,
|
|
93
|
-
appearance: appearance,
|
|
76
|
+
const normalizedScheme = normalizeScheme({
|
|
77
|
+
scheme,
|
|
78
|
+
platform,
|
|
79
|
+
appearance,
|
|
94
80
|
});
|
|
95
81
|
const { document } = useDOM();
|
|
96
82
|
const target = document?.body;
|
|
97
83
|
|
|
98
84
|
useIsomorphicLayoutEffect(() => {
|
|
99
|
-
if (
|
|
85
|
+
if (normalizedScheme === "inherit") {
|
|
100
86
|
return noop;
|
|
101
87
|
}
|
|
102
88
|
if (
|
|
@@ -107,11 +93,11 @@ const ConfigProvider: React.FC<ConfigProviderProps> = ({
|
|
|
107
93
|
'<body scheme> was set before VKUI mount - did you forget scheme="inherit"?'
|
|
108
94
|
);
|
|
109
95
|
}
|
|
110
|
-
target?.setAttribute("scheme",
|
|
96
|
+
target?.setAttribute("scheme", normalizedScheme);
|
|
111
97
|
return () => target?.removeAttribute("scheme");
|
|
112
|
-
}, [
|
|
98
|
+
}, [normalizedScheme]);
|
|
113
99
|
|
|
114
|
-
const realScheme = useSchemeDetector(target,
|
|
100
|
+
const realScheme = useSchemeDetector(target, normalizedScheme);
|
|
115
101
|
const derivedAppearance = deriveAppearance(realScheme);
|
|
116
102
|
|
|
117
103
|
useIsomorphicLayoutEffect(() => {
|
|
@@ -128,8 +114,13 @@ const ConfigProvider: React.FC<ConfigProviderProps> = ({
|
|
|
128
114
|
}, [platform, derivedAppearance]);
|
|
129
115
|
|
|
130
116
|
const configContext = useObjectMemo({
|
|
131
|
-
|
|
132
|
-
|
|
117
|
+
webviewType,
|
|
118
|
+
isWebView,
|
|
119
|
+
transitionMotionEnabled,
|
|
120
|
+
hasNewTokens,
|
|
121
|
+
platform,
|
|
122
|
+
scheme,
|
|
123
|
+
appearance: appearance || derivedAppearance,
|
|
133
124
|
});
|
|
134
125
|
|
|
135
126
|
return (
|
|
@@ -11,12 +11,12 @@ export interface ConfigProviderContextInterface {
|
|
|
11
11
|
/**
|
|
12
12
|
* Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере
|
|
13
13
|
*/
|
|
14
|
-
isWebView
|
|
14
|
+
isWebView: boolean;
|
|
15
15
|
/**
|
|
16
16
|
* Тип вебвью.<br>
|
|
17
17
|
* В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)
|
|
18
18
|
*/
|
|
19
|
-
webviewType
|
|
19
|
+
webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;
|
|
20
20
|
/**
|
|
21
21
|
* Тип приложения
|
|
22
22
|
*/
|
|
@@ -28,25 +28,21 @@ export interface ConfigProviderContextInterface {
|
|
|
28
28
|
/**
|
|
29
29
|
* Включена ли анимация переходов между экранами в `Root` и `View`
|
|
30
30
|
*/
|
|
31
|
-
transitionMotionEnabled
|
|
31
|
+
transitionMotionEnabled: boolean;
|
|
32
32
|
/**
|
|
33
33
|
* Платформа
|
|
34
34
|
*/
|
|
35
|
-
platform
|
|
36
|
-
hasNewTokens
|
|
35
|
+
platform: PlatformType;
|
|
36
|
+
hasNewTokens: boolean;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export const defaultConfigProviderProps = {
|
|
40
|
-
webviewType: WebviewType.VKAPPS,
|
|
41
|
-
isWebView: vkBridge.isWebView(),
|
|
42
|
-
transitionMotionEnabled: true,
|
|
43
|
-
platform: platform(),
|
|
44
|
-
hasNewTokens: false,
|
|
45
|
-
// appearance is auto-detected by default
|
|
46
|
-
// appearance: Appearance.LIGHT,
|
|
47
|
-
};
|
|
48
|
-
|
|
49
39
|
export const ConfigProviderContext =
|
|
50
|
-
React.createContext<ConfigProviderContextInterface>(
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
React.createContext<ConfigProviderContextInterface>({
|
|
41
|
+
webviewType: WebviewType.VKAPPS,
|
|
42
|
+
isWebView: vkBridge.isWebView(),
|
|
43
|
+
transitionMotionEnabled: true,
|
|
44
|
+
platform: platform(),
|
|
45
|
+
hasNewTokens: false,
|
|
46
|
+
// appearance is auto-detected by default
|
|
47
|
+
// appearance: Appearance.LIGHT,
|
|
48
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import Card,
|
|
2
|
+
import { Card, CardProps } from "../Card/Card";
|
|
3
3
|
import Caption from "../Typography/Caption/Caption";
|
|
4
4
|
import Title from "../Typography/Title/Title";
|
|
5
5
|
import Text from "../Typography/Text/Text";
|
|
@@ -131,7 +131,7 @@ const ContentCard: React.FC<ContentCardProps> = (props: ContentCardProps) => {
|
|
|
131
131
|
</Caption>
|
|
132
132
|
)}
|
|
133
133
|
{hasReactNode(header) && (
|
|
134
|
-
<Title vkuiClass="ContentCard__text" weight="
|
|
134
|
+
<Title vkuiClass="ContentCard__text" weight="3" level="1">
|
|
135
135
|
{header}
|
|
136
136
|
</Title>
|
|
137
137
|
)}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
.Tappable--focus-visible > .FocusVisible {
|
|
1
|
+
[class$="--focus-visible"] > .FocusVisible {
|
|
3
2
|
position: absolute;
|
|
4
3
|
top: 2px;
|
|
5
4
|
left: 2px;
|
|
@@ -13,8 +12,7 @@
|
|
|
13
12
|
z-index: 0;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
.Tappable--focus-visible > .FocusVisible--outside {
|
|
15
|
+
[class$="--focus-visible"] > .FocusVisible--outside {
|
|
18
16
|
top: -2px;
|
|
19
17
|
left: -2px;
|
|
20
18
|
right: -2px;
|
|
@@ -28,8 +26,7 @@
|
|
|
28
26
|
* navigating accessible vkui apps via keyboard
|
|
29
27
|
*/
|
|
30
28
|
@media (prefers-reduced-motion: no-preference) {
|
|
31
|
-
|
|
32
|
-
.Switch--focus-visible > .FocusVisible {
|
|
29
|
+
[class$="--focus-visible"] > .FocusVisible {
|
|
33
30
|
top: 4px;
|
|
34
31
|
left: 4px;
|
|
35
32
|
right: 4px;
|
|
@@ -39,8 +36,7 @@
|
|
|
39
36
|
will-change: top, left, bottom, right;
|
|
40
37
|
}
|
|
41
38
|
|
|
42
|
-
|
|
43
|
-
.Switch--focus-visible > .FocusVisible--outside {
|
|
39
|
+
[class$="--focus-visible"] > .FocusVisible--outside {
|
|
44
40
|
top: 0;
|
|
45
41
|
left: 0;
|
|
46
42
|
bottom: 0;
|
|
@@ -43,11 +43,7 @@ export const FormItem: React.FC<FormItemProps> = ({
|
|
|
43
43
|
|
|
44
44
|
const wrappedChildren = (
|
|
45
45
|
<React.Fragment>
|
|
46
|
-
{hasReactNode(top) &&
|
|
47
|
-
<Subhead weight="regular" vkuiClass="FormItem__top">
|
|
48
|
-
{top}
|
|
49
|
-
</Subhead>
|
|
50
|
-
)}
|
|
46
|
+
{hasReactNode(top) && <Subhead vkuiClass="FormItem__top">{top}</Subhead>}
|
|
51
47
|
{children}
|
|
52
48
|
{hasReactNode(bottom) && (
|
|
53
49
|
<Caption level="1" weight="regular" vkuiClass="FormItem__bottom">
|
|
@@ -113,8 +113,20 @@ class Example extends React.Component {
|
|
|
113
113
|
</FormItem>
|
|
114
114
|
|
|
115
115
|
<FormItem top="Тип документа">
|
|
116
|
-
<
|
|
117
|
-
|
|
116
|
+
<SegmentedControl
|
|
117
|
+
size="m"
|
|
118
|
+
name="type"
|
|
119
|
+
options={[
|
|
120
|
+
{
|
|
121
|
+
label: "Паспорт РФ",
|
|
122
|
+
value: "russian",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
label: "Заграничный",
|
|
126
|
+
value: "international",
|
|
127
|
+
},
|
|
128
|
+
]}
|
|
129
|
+
/>
|
|
118
130
|
</FormItem>
|
|
119
131
|
|
|
120
132
|
{this.addressItems.map(({ label, name }) => (
|
|
@@ -7,12 +7,12 @@ export interface GradientProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
7
7
|
to?: "top" | "bottom";
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
const Gradient: React.
|
|
11
|
-
mode,
|
|
10
|
+
export const Gradient: React.FC<GradientProps> = ({
|
|
11
|
+
mode = "tint",
|
|
12
12
|
children,
|
|
13
|
-
to,
|
|
13
|
+
to = "top",
|
|
14
14
|
...restProps
|
|
15
|
-
}
|
|
15
|
+
}) => {
|
|
16
16
|
return (
|
|
17
17
|
<div
|
|
18
18
|
role="presentation"
|
|
@@ -27,11 +27,3 @@ const Gradient: React.FunctionComponent<GradientProps> = ({
|
|
|
27
27
|
</div>
|
|
28
28
|
);
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
Gradient.defaultProps = {
|
|
32
|
-
mode: "tint",
|
|
33
|
-
to: "top",
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// eslint-disable-next-line import/no-default-export
|
|
37
|
-
export default Gradient;
|
|
@@ -41,7 +41,7 @@ const HeaderContent: React.FC<HeaderContentProps> = ({
|
|
|
41
41
|
switch (mode) {
|
|
42
42
|
case "primary":
|
|
43
43
|
case "tertiary":
|
|
44
|
-
return <Title weight="
|
|
44
|
+
return <Title weight="1" level="3" {...restProps} />;
|
|
45
45
|
case "secondary":
|
|
46
46
|
return <Caption level="1" weight="semibold" caps {...restProps} />;
|
|
47
47
|
}
|
|
@@ -75,7 +75,7 @@ const HeaderAside: React.FC<HeaderAsideProps> = ({
|
|
|
75
75
|
...restProps
|
|
76
76
|
}) => {
|
|
77
77
|
return platform === Platform.VKCOM ? (
|
|
78
|
-
<Subhead
|
|
78
|
+
<Subhead {...restProps} />
|
|
79
79
|
) : (
|
|
80
80
|
<Text weight="regular" {...restProps} />
|
|
81
81
|
);
|
|
@@ -89,7 +89,7 @@ const HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({
|
|
|
89
89
|
...restProps
|
|
90
90
|
}) => {
|
|
91
91
|
return mode === "secondary" ? (
|
|
92
|
-
<Subhead
|
|
92
|
+
<Subhead {...restProps} />
|
|
93
93
|
) : (
|
|
94
94
|
<Caption weight="regular" level="1" {...restProps} />
|
|
95
95
|
);
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { usePlatform } from "../../hooks/usePlatform";
|
|
3
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
4
2
|
import { withAdaptivity, AdaptivityProps } from "../../hoc/withAdaptivity";
|
|
5
3
|
import HorizontalScrollArrow from "./HorizontalScrollArrow";
|
|
6
4
|
import { easeInOutSine } from "../../lib/fx";
|
|
@@ -134,8 +132,6 @@ const HorizontalScroll: React.FC<HorizontalScrollProps> = ({
|
|
|
134
132
|
|
|
135
133
|
const animationQueue = React.useRef<VoidFunction[]>([]);
|
|
136
134
|
|
|
137
|
-
const platform = usePlatform();
|
|
138
|
-
|
|
139
135
|
function scrollTo(getScrollPosition: (offset: number) => number) {
|
|
140
136
|
const scrollElement = scrollerRef.current;
|
|
141
137
|
|
|
@@ -184,7 +180,7 @@ const HorizontalScroll: React.FC<HorizontalScrollProps> = ({
|
|
|
184
180
|
return (
|
|
185
181
|
<div
|
|
186
182
|
{...restProps}
|
|
187
|
-
vkuiClass={classNames(
|
|
183
|
+
vkuiClass={classNames("HorizontalScroll", {
|
|
188
184
|
["HorizontalScroll--withConstArrows"]: showArrows === "always",
|
|
189
185
|
})}
|
|
190
186
|
>
|
|
@@ -29,19 +29,26 @@
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.HorizontalScrollArrow__icon {
|
|
32
|
-
background-color: var(
|
|
33
|
-
|
|
32
|
+
background-color: var(
|
|
33
|
+
--modal_card_background,
|
|
34
|
+
var(--vkui--color_background_modal)
|
|
35
|
+
);
|
|
36
|
+
color: var(--icon_secondary, var(--vkui--color_icon_secondary));
|
|
34
37
|
width: 40px;
|
|
35
38
|
height: 40px;
|
|
36
39
|
border-radius: 24px;
|
|
37
|
-
box-shadow:
|
|
40
|
+
box-shadow: var(
|
|
41
|
+
--vkui--elevation3,
|
|
42
|
+
0 0 2px rgba(0, 0, 0, 0.08),
|
|
43
|
+
0 0 16px rgba(0, 0, 0, 0.12)
|
|
44
|
+
);
|
|
38
45
|
display: flex;
|
|
39
46
|
align-items: center;
|
|
40
47
|
justify-content: center;
|
|
41
48
|
}
|
|
42
49
|
|
|
43
50
|
.HorizontalScrollArrow--left {
|
|
44
|
-
padding-left: 16px;
|
|
51
|
+
padding-left: var(--vkui--size_base_padding_horizontal--regular, 16px);
|
|
45
52
|
left: 0;
|
|
46
53
|
}
|
|
47
54
|
|
|
@@ -50,7 +57,7 @@
|
|
|
50
57
|
}
|
|
51
58
|
|
|
52
59
|
.HorizontalScrollArrow--right {
|
|
53
|
-
padding-right: 16px;
|
|
60
|
+
padding-right: var(--vkui--size_base_padding_horizontal--regular, 16px);
|
|
54
61
|
right: 0;
|
|
55
62
|
}
|
|
56
63
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Icon24Chevron } from "@vkontakte/icons";
|
|
3
|
-
import { usePlatform } from "../../hooks/usePlatform";
|
|
4
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
5
3
|
import { classNames } from "../../lib/classNames";
|
|
6
4
|
import Tappable from "../Tappable/Tappable";
|
|
7
5
|
import "./HorizontalScrollArrow.css";
|
|
@@ -15,15 +13,13 @@ const HorizontalScrollArrow: React.FC<HorizontalScrollArrowProps> = ({
|
|
|
15
13
|
onClick,
|
|
16
14
|
direction,
|
|
17
15
|
}: HorizontalScrollArrowProps) => {
|
|
18
|
-
const platform = usePlatform();
|
|
19
|
-
|
|
20
16
|
return (
|
|
21
17
|
<Tappable
|
|
22
18
|
Component="button"
|
|
23
19
|
hasHover={false}
|
|
24
20
|
hasActive={false}
|
|
25
21
|
vkuiClass={classNames(
|
|
26
|
-
|
|
22
|
+
"HorizontalScrollArrow",
|
|
27
23
|
`HorizontalScrollArrow--${direction}`
|
|
28
24
|
)}
|
|
29
25
|
onClick={onClick}
|
|
@@ -24,7 +24,7 @@ const InfoRow: React.FunctionComponent<InfoRowProps> = ({
|
|
|
24
24
|
weight="regular"
|
|
25
25
|
>
|
|
26
26
|
{hasReactNode(header) && (
|
|
27
|
-
<Subhead Component="span" vkuiClass="InfoRow__header"
|
|
27
|
+
<Subhead Component="span" vkuiClass="InfoRow__header">
|
|
28
28
|
{header}
|
|
29
29
|
</Subhead>
|
|
30
30
|
)}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "../../hoc/withAdaptivity";
|
|
13
13
|
import { HasRootRef } from "../../types";
|
|
14
14
|
import { PanelHeaderButton } from "../PanelHeaderButton/PanelHeaderButton";
|
|
15
|
-
import { IOS } from "../../lib/platform";
|
|
15
|
+
import { ANDROID, IOS } from "../../lib/platform";
|
|
16
16
|
import ModalDismissButton from "../ModalDismissButton/ModalDismissButton";
|
|
17
17
|
import { Icon24Dismiss } from "@vkontakte/icons";
|
|
18
18
|
import { useKeyboard } from "../../hooks/useKeyboard";
|
|
@@ -99,7 +99,7 @@ export const ModalCardBase = withAdaptivity<
|
|
|
99
99
|
{hasReactNode(header) && (
|
|
100
100
|
<Title
|
|
101
101
|
level="2"
|
|
102
|
-
weight="
|
|
102
|
+
weight={platform === ANDROID ? "2" : "1"}
|
|
103
103
|
vkuiClass="ModalCardBase__header"
|
|
104
104
|
>
|
|
105
105
|
{header}
|
|
@@ -27,11 +27,7 @@ const ButtonTypography: React.FC<ButtonTypographyProps> = ({
|
|
|
27
27
|
|
|
28
28
|
if (platform === IOS) {
|
|
29
29
|
return (
|
|
30
|
-
<Title
|
|
31
|
-
Component="span"
|
|
32
|
-
level="3"
|
|
33
|
-
weight={primary ? "semibold" : "regular"}
|
|
34
|
-
>
|
|
30
|
+
<Title Component="span" level="3" weight={primary ? "1" : "3"}>
|
|
35
31
|
{children}
|
|
36
32
|
</Title>
|
|
37
33
|
);
|
|
@@ -49,7 +49,7 @@ const Placeholder: React.FC<PlaceholderProps> = (props: PlaceholderProps) => {
|
|
|
49
49
|
<div vkuiClass="Placeholder__in">
|
|
50
50
|
{hasReactNode(icon) && <div vkuiClass="Placeholder__icon">{icon}</div>}
|
|
51
51
|
{hasReactNode(header) && (
|
|
52
|
-
<Title level="2" weight="
|
|
52
|
+
<Title level="2" weight="2" vkuiClass="Placeholder__header">
|
|
53
53
|
{header}
|
|
54
54
|
</Title>
|
|
55
55
|
)}
|
|
@@ -25,14 +25,12 @@ export interface RemovableProps {
|
|
|
25
25
|
onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement) => void;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
interface RemovableIosOwnProps
|
|
29
|
-
extends Pick<RemovableProps, "removePlaceholder"> {
|
|
30
|
-
onRemoveClick?: (e: React.MouseEvent, rootEl?: HTMLElement) => void;
|
|
28
|
+
interface RemovableIosOwnProps extends RemovableProps {
|
|
31
29
|
removePlaceholderString?: string;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
const RemovableIos: React.FC<RemovableIosOwnProps> = ({
|
|
35
|
-
|
|
33
|
+
onRemove,
|
|
36
34
|
removePlaceholder,
|
|
37
35
|
removePlaceholderString,
|
|
38
36
|
children,
|
|
@@ -40,6 +38,7 @@ const RemovableIos: React.FC<RemovableIosOwnProps> = ({
|
|
|
40
38
|
const { window } = useDOM();
|
|
41
39
|
|
|
42
40
|
const removeButtonRef = React.useRef<HTMLElement>(null);
|
|
41
|
+
const disabledRef = React.useRef(true);
|
|
43
42
|
const [removeOffset, updateRemoveOffset] = React.useState(0);
|
|
44
43
|
|
|
45
44
|
useGlobalEventListener(
|
|
@@ -56,6 +55,8 @@ const RemovableIos: React.FC<RemovableIosOwnProps> = ({
|
|
|
56
55
|
const onRemoveTransitionEnd = () => {
|
|
57
56
|
if (removeOffset > 0) {
|
|
58
57
|
removeButtonRef?.current?.focus();
|
|
58
|
+
} else {
|
|
59
|
+
disabledRef.current = true;
|
|
59
60
|
}
|
|
60
61
|
};
|
|
61
62
|
|
|
@@ -65,6 +66,7 @@ const RemovableIos: React.FC<RemovableIosOwnProps> = ({
|
|
|
65
66
|
return;
|
|
66
67
|
}
|
|
67
68
|
const { offsetWidth } = removeButtonRef.current;
|
|
69
|
+
disabledRef.current = false;
|
|
68
70
|
updateRemoveOffset(offsetWidth);
|
|
69
71
|
};
|
|
70
72
|
|
|
@@ -92,10 +94,10 @@ const RemovableIos: React.FC<RemovableIosOwnProps> = ({
|
|
|
92
94
|
Component="button"
|
|
93
95
|
hasActive={false}
|
|
94
96
|
hasHover={false}
|
|
95
|
-
disabled={
|
|
97
|
+
disabled={disabledRef.current}
|
|
96
98
|
getRootRef={removeButtonRef}
|
|
97
99
|
vkuiClass="Removable__remove"
|
|
98
|
-
onClick={
|
|
100
|
+
onClick={onRemove}
|
|
99
101
|
>
|
|
100
102
|
<span vkuiClass="Removable__remove-in">{removePlaceholder}</span>
|
|
101
103
|
</Tappable>
|
|
@@ -162,7 +164,7 @@ export const Removable: React.FC<RemovableOwnProps> = ({
|
|
|
162
164
|
|
|
163
165
|
{platform === IOS && (
|
|
164
166
|
<RemovableIos
|
|
165
|
-
|
|
167
|
+
onRemove={onRemoveClick}
|
|
166
168
|
removePlaceholder={removePlaceholder}
|
|
167
169
|
removePlaceholderString={removePlaceholderString}
|
|
168
170
|
>
|
|
@@ -82,11 +82,7 @@ const RichCell: React.FC<RichCellProps> = ({
|
|
|
82
82
|
</Text>
|
|
83
83
|
)}
|
|
84
84
|
{hasReactNode(caption) && (
|
|
85
|
-
<Subhead
|
|
86
|
-
Component="span"
|
|
87
|
-
weight="regular"
|
|
88
|
-
vkuiClass="RichCell__caption"
|
|
89
|
-
>
|
|
85
|
+
<Subhead Component="span" vkuiClass="RichCell__caption">
|
|
90
86
|
{caption}
|
|
91
87
|
</Subhead>
|
|
92
88
|
)}
|
|
@@ -7,13 +7,14 @@ import {
|
|
|
7
7
|
Icon16Clear,
|
|
8
8
|
Icon24Cancel,
|
|
9
9
|
} from "@vkontakte/icons";
|
|
10
|
-
import { IOS, VKCOM } from "../../lib/platform";
|
|
10
|
+
import { IOS, VKCOM, ANDROID } from "../../lib/platform";
|
|
11
11
|
import { HasPlatform, HasRef } from "../../types";
|
|
12
12
|
import { Touch, TouchEvent } from "../Touch/Touch";
|
|
13
13
|
import { VKUITouchEvent } from "../../lib/touch";
|
|
14
14
|
import { noop } from "../../lib/utils";
|
|
15
15
|
import Text from "../Typography/Text/Text";
|
|
16
16
|
import Title from "../Typography/Title/Title";
|
|
17
|
+
import Headline from "../Typography/Headline/Headline";
|
|
17
18
|
import Separator from "../Separator/Separator";
|
|
18
19
|
import { useExternRef } from "../../hooks/useExternRef";
|
|
19
20
|
import { useEnsuredControl } from "../../hooks/useEnsuredControl";
|
|
@@ -21,6 +22,36 @@ import "./Search.css";
|
|
|
21
22
|
|
|
22
23
|
export type InputRef = (element: HTMLInputElement) => void;
|
|
23
24
|
|
|
25
|
+
interface SearchPlaceholderTypographyProps
|
|
26
|
+
extends HasPlatform,
|
|
27
|
+
React.HTMLAttributes<HTMLElement> {}
|
|
28
|
+
|
|
29
|
+
const SearchPlaceholderTypography: React.FC<
|
|
30
|
+
SearchPlaceholderTypographyProps
|
|
31
|
+
> = ({ platform, children, ...restProps }) => {
|
|
32
|
+
switch (platform) {
|
|
33
|
+
case IOS:
|
|
34
|
+
return (
|
|
35
|
+
<Title {...restProps} level="3" weight="3">
|
|
36
|
+
{children}
|
|
37
|
+
</Title>
|
|
38
|
+
);
|
|
39
|
+
case VKCOM:
|
|
40
|
+
return (
|
|
41
|
+
<Text {...restProps} weight="regular">
|
|
42
|
+
{children}
|
|
43
|
+
</Text>
|
|
44
|
+
);
|
|
45
|
+
case ANDROID:
|
|
46
|
+
default:
|
|
47
|
+
return (
|
|
48
|
+
<Headline {...restProps} weight="regular">
|
|
49
|
+
{children}
|
|
50
|
+
</Headline>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
24
55
|
export interface SearchProps
|
|
25
56
|
extends React.InputHTMLAttributes<HTMLInputElement>,
|
|
26
57
|
HasRef<HTMLInputElement>,
|
|
@@ -118,19 +149,12 @@ const Search: React.FC<SearchProps> = ({
|
|
|
118
149
|
<div vkuiClass="Search__placeholder">
|
|
119
150
|
<div vkuiClass="Search__placeholder-in">
|
|
120
151
|
{before}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
vkuiClass="Search__placeholder-text"
|
|
128
|
-
level="3"
|
|
129
|
-
weight="regular"
|
|
130
|
-
>
|
|
131
|
-
{placeholder}
|
|
132
|
-
</Title>
|
|
133
|
-
)}
|
|
152
|
+
<SearchPlaceholderTypography
|
|
153
|
+
vkuiClass="Search__placeholder-text"
|
|
154
|
+
platform={platform}
|
|
155
|
+
>
|
|
156
|
+
{placeholder}
|
|
157
|
+
</SearchPlaceholderTypography>
|
|
134
158
|
</div>
|
|
135
159
|
{isFocused && platform === IOS && after && (
|
|
136
160
|
<div vkuiClass="Search__after-width">{after}</div>
|