@vkontakte/vkui 4.15.0 → 4.16.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 +391 -282
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -0
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +4 -9
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -2
- package/.cache/ts/src/components/Root/Root.d.ts +5 -27
- package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +9 -0
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +12 -9
- package/.cache/ts/src/components/Touch/Touch.d.ts +1 -2
- package/.cache/ts/src/components/UsersStack/masks.d.ts +1 -1
- package/.cache/ts/src/hooks/useEventListener.d.ts +2 -2
- package/.cache/ts/src/hooks/useKeyboard.d.ts +11 -0
- package/.cache/ts/src/index.d.ts +1 -1
- package/.cache/ts/src/lib/select.d.ts +7 -0
- package/.cache/ts/src/lib/touch.d.ts +1 -1
- package/.cache/ts/src/lib/utils.d.ts +2 -3
- package/.cache/ts/src/types.d.ts +2 -6
- package/.cache/ts/src/unstable/index.d.ts +2 -0
- package/babel.cjs.config.js +7 -1
- package/babel.config.js +7 -1
- package/dist/cjs/components/AppRoot/AppRoot.d.ts +1 -0
- package/dist/cjs/components/AppRoot/AppRoot.js +29 -1
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js +1 -1
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.js +3 -3
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -6
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/useChipsSelect.js +2 -2
- package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/cjs/components/CustomSelect/CustomSelect.js +3 -3
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +4 -9
- package/dist/cjs/components/FixedLayout/FixedLayout.js +91 -179
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/Gallery/Gallery.js +2 -2
- package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +1 -1
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +6 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +1 -2
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +2 -2
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.js +2 -2
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +0 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -2
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js +2 -2
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/Root/Root.d.ts +5 -27
- package/dist/cjs/components/Root/Root.js +158 -214
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/Search/Search.js +3 -3
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +9 -0
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +126 -0
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -0
- package/dist/cjs/components/Snackbar/Snackbar.js +2 -2
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +12 -9
- package/dist/cjs/components/Tappable/Tappable.js +47 -36
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.d.ts +1 -2
- package/dist/cjs/components/Touch/Touch.js +172 -283
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js +9 -18
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/UsersStack/masks.d.ts +1 -1
- package/dist/cjs/components/UsersStack/masks.js +5 -8
- package/dist/cjs/components/UsersStack/masks.js.map +1 -1
- package/dist/cjs/components/View/View.js +2 -2
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.js +2 -2
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/hooks/useEventListener.d.ts +2 -2
- package/dist/cjs/hooks/useEventListener.js +9 -4
- package/dist/cjs/hooks/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useGlobalEventListener.js +2 -4
- package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/cjs/hooks/useInsets.js +3 -10
- package/dist/cjs/hooks/useInsets.js.map +1 -1
- package/dist/cjs/hooks/useKeyboard.d.ts +11 -0
- package/dist/cjs/hooks/useKeyboard.js +78 -0
- package/dist/cjs/hooks/useKeyboard.js.map +1 -0
- package/dist/cjs/hooks/useKeyboardInputTracker.js +4 -2
- package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/select.d.ts +7 -0
- package/dist/cjs/lib/select.js +73 -0
- package/dist/cjs/lib/select.js.map +1 -0
- package/dist/cjs/lib/touch.d.ts +1 -1
- package/dist/cjs/lib/touch.js +6 -2
- package/dist/cjs/lib/touch.js.map +1 -1
- package/dist/cjs/lib/utils.d.ts +2 -3
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/types.d.ts +2 -6
- package/dist/cjs/unstable/index.d.ts +2 -0
- package/dist/cjs/unstable/index.js +8 -0
- package/dist/cjs/unstable/index.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +1 -0
- package/dist/components/AppRoot/AppRoot.js +29 -5
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/Banner/Banner.js +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Cell/Cell.js +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +4 -6
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.js +2 -2
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/components/CustomSelect/CustomSelect.js +2 -3
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts +4 -9
- package/dist/components/FixedLayout/FixedLayout.js +84 -175
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/Gallery/Gallery.js +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Header/Header.js +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +5 -1
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +1 -2
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +1 -1
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/Panel/Panel.js +1 -1
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +0 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/Root/Root.d.ts +5 -27
- package/dist/components/Root/Root.js +152 -207
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/Search/Search.js +1 -1
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +9 -0
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js +97 -0
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -0
- package/dist/components/Snackbar/Snackbar.js +1 -1
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +12 -9
- package/dist/components/Tappable/Tappable.js +45 -37
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Touch/Touch.d.ts +1 -2
- package/dist/components/Touch/Touch.js +163 -286
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +7 -16
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/UsersStack/masks.d.ts +1 -1
- package/dist/components/UsersStack/masks.js +6 -9
- package/dist/components/UsersStack/masks.js.map +1 -1
- package/dist/components/View/View.js +1 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.js +1 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.css +1 -0
- package/dist/cssm/components/AppRoot/AppRoot.js +30 -2
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.css +1 -1
- package/dist/cssm/components/Banner/Banner.js +1 -1
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +1 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +4 -6
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js +2 -2
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +2 -3
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +84 -175
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js +1 -1
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Header/Header.js +1 -1
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.css +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.js +1 -1
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +0 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Root/Root.js +152 -207
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/Search/Search.js +1 -1
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -0
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +98 -0
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -0
- package/dist/cssm/components/Snackbar/Snackbar.js +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +45 -37
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +163 -286
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +7 -16
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/masks.js +6 -9
- package/dist/cssm/components/UsersStack/masks.js.map +1 -1
- package/dist/cssm/components/View/View.js +1 -1
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +1 -1
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/hooks/useEventListener.js +8 -4
- package/dist/cssm/hooks/useEventListener.js.map +1 -1
- package/dist/cssm/hooks/useGlobalEventListener.js +2 -2
- package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/cssm/hooks/useInsets.js +2 -10
- package/dist/cssm/hooks/useInsets.js.map +1 -1
- package/dist/cssm/hooks/useKeyboard.js +62 -0
- package/dist/cssm/hooks/useKeyboard.js.map +1 -0
- package/dist/cssm/hooks/useKeyboardInputTracker.js +4 -2
- package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/select.js +62 -0
- package/dist/cssm/lib/select.js.map +1 -0
- package/dist/cssm/lib/touch.js +5 -2
- package/dist/cssm/lib/touch.js.map +1 -1
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/styles/animations.css +1 -1
- package/dist/cssm/styles/common.css +1 -1
- package/dist/cssm/styles/components.css +1 -1
- package/dist/cssm/styles/constants.css +1 -1
- package/dist/cssm/styles/unstable.css +1 -1
- package/dist/cssm/unstable/index.js +1 -0
- package/dist/cssm/unstable/index.js.map +1 -1
- package/dist/hooks/useEventListener.d.ts +2 -2
- package/dist/hooks/useEventListener.js +8 -4
- package/dist/hooks/useEventListener.js.map +1 -1
- package/dist/hooks/useGlobalEventListener.js +2 -2
- package/dist/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/hooks/useInsets.js +2 -10
- package/dist/hooks/useInsets.js.map +1 -1
- package/dist/hooks/useKeyboard.d.ts +11 -0
- package/dist/hooks/useKeyboard.js +62 -0
- package/dist/hooks/useKeyboard.js.map +1 -0
- package/dist/hooks/useKeyboardInputTracker.js +4 -2
- package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/select.d.ts +7 -0
- package/dist/lib/select.js +62 -0
- package/dist/lib/select.js.map +1 -0
- package/dist/lib/touch.d.ts +1 -1
- package/dist/lib/touch.js +5 -2
- package/dist/lib/touch.js.map +1 -1
- package/dist/lib/utils.d.ts +2 -3
- package/dist/lib/utils.js.map +1 -1
- package/dist/types.d.ts +2 -6
- package/dist/unstable/index.d.ts +2 -0
- package/dist/unstable/index.js +1 -0
- package/dist/unstable/index.js.map +1 -1
- package/dist/unstable.css +1 -1
- package/dist/unstable.css.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +4 -2
- package/postcss.config.js +1 -1
- package/src/components/ActionSheetItem/ActionSheetItem.css +4 -8
- package/src/components/AppRoot/AppRoot.css +20 -0
- package/src/components/AppRoot/AppRoot.tsx +30 -0
- package/src/components/Banner/Banner.css +4 -0
- package/src/components/Banner/Banner.tsx +1 -1
- package/src/components/Cell/Cell.tsx +1 -1
- package/src/components/ChipsSelect/ChipsSelect.tsx +4 -7
- package/src/components/ChipsSelect/Readme.md +0 -2
- package/src/components/ChipsSelect/useChipsSelect.ts +1 -1
- package/src/components/CustomSelect/CustomSelect.tsx +3 -2
- package/src/components/FixedLayout/FixedLayout.tsx +61 -147
- package/src/components/Gallery/Gallery.tsx +1 -1
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/ModalCardBase/ModalCardBase.css +4 -0
- package/src/components/ModalCardBase/ModalCardBase.tsx +5 -1
- package/src/components/ModalPage/ModalPage.tsx +1 -2
- package/src/components/ModalRoot/ModalRoot.css +10 -0
- package/src/components/ModalRoot/ModalRoot.tsx +1 -1
- package/src/components/Panel/Panel.tsx +1 -1
- package/src/components/PanelHeaderContent/PanelHeaderContent.css +2 -1
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +2 -2
- package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
- package/src/components/RangeSlider/UniversalSlider.tsx +1 -1
- package/src/components/Root/Readme.md +27 -37
- package/src/components/Root/Root.tsx +112 -191
- package/src/components/Search/Search.tsx +1 -1
- package/src/components/Separator/Readme.md +3 -1
- package/src/components/SimpleCell/SimpleCell.tsx +1 -1
- package/src/components/SimpleCheckbox/Readme.md +17 -0
- package/src/components/SimpleCheckbox/SimpleCheckbox.css +115 -0
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +105 -0
- package/src/components/Snackbar/Snackbar.tsx +1 -1
- package/src/components/Tappable/Tappable.tsx +28 -37
- package/src/components/Touch/Touch.tsx +100 -238
- package/src/components/UsersStack/UsersStack.css +5 -9
- package/src/components/UsersStack/UsersStack.tsx +4 -11
- package/src/components/UsersStack/masks.tsx +6 -9
- package/src/components/View/Readme.md +34 -42
- package/src/components/View/View.tsx +1 -1
- package/src/components/View/ViewInfinite.tsx +1 -1
- package/src/hooks/useEventListener.ts +11 -8
- package/src/hooks/useGlobalEventListener.ts +2 -2
- package/src/hooks/useInsets.ts +2 -8
- package/src/hooks/useKeyboard.ts +67 -0
- package/src/hooks/useKeyboardInputTracker.ts +4 -2
- package/src/index.ts +1 -1
- package/src/lib/select.ts +53 -0
- package/src/lib/touch.ts +2 -2
- package/src/lib/utils.ts +3 -4
- package/src/styles/animations.css +0 -14
- package/src/styles/common.css +0 -21
- package/src/styles/components.css +2 -0
- package/src/styles/constants.css +3 -0
- package/src/styles/unstable.css +1 -0
- package/src/types.ts +2 -8
- package/src/unstable/index.ts +3 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import Touch,
|
|
2
|
+
import { Touch, TouchProps, TouchEvent } from '../Touch/Touch';
|
|
3
3
|
import TouchRootContext from '../Touch/TouchContext';
|
|
4
4
|
import FixedLayout from '../FixedLayout/FixedLayout';
|
|
5
5
|
import { classNames } from '../../lib/classNames';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import Touch,
|
|
2
|
+
import { Touch, TouchEvent, TouchEventHandler } from '../Touch/Touch';
|
|
3
3
|
import { getClassName } from '../../helpers/getClassName';
|
|
4
4
|
import { classNames } from '../../lib/classNames';
|
|
5
5
|
import { HasRootRef } from '../../types';
|
|
@@ -5,42 +5,32 @@
|
|
|
5
5
|
Как только он заканчивается, вызывается свойство-функция `onTransition`.
|
|
6
6
|
|
|
7
7
|
```jsx
|
|
8
|
-
|
|
9
|
-
constructor(props) {
|
|
10
|
-
super(props);
|
|
8
|
+
const [activeView, setActiveView] = useState('view1');
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
</Panel>
|
|
39
|
-
</View>
|
|
40
|
-
</Root>
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
<Example />
|
|
10
|
+
<Root activeView={activeView}>
|
|
11
|
+
<View activePanel="panel1.1" id="view1">
|
|
12
|
+
<Panel id="panel1.1">
|
|
13
|
+
<PanelHeader>View 1</PanelHeader>
|
|
14
|
+
<Group>
|
|
15
|
+
<div style={{ height: 200 }} />
|
|
16
|
+
<CellButton onClick={ () => setActiveView('view2') }>
|
|
17
|
+
Open View 2
|
|
18
|
+
</CellButton>
|
|
19
|
+
<div style={{ height: 600 }} />
|
|
20
|
+
</Group>
|
|
21
|
+
</Panel>
|
|
22
|
+
</View>
|
|
23
|
+
<View header activePanel="panel2.1" id="view2">
|
|
24
|
+
<Panel id="panel2.1">
|
|
25
|
+
<PanelHeader>View 2</PanelHeader>
|
|
26
|
+
<Group>
|
|
27
|
+
<div style={{ height: 200 }} />
|
|
28
|
+
<CellButton onClick={ () => setActiveView('view1') }>
|
|
29
|
+
Back to View 1
|
|
30
|
+
</CellButton>
|
|
31
|
+
<div style={{ height: 600 }} />
|
|
32
|
+
</Group>
|
|
33
|
+
</Panel>
|
|
34
|
+
</View>
|
|
35
|
+
</Root>
|
|
46
36
|
```
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { classNames } from '../../lib/classNames';
|
|
3
3
|
import { getClassName } from '../../helpers/getClassName';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { withContext } from '../../hoc/withContext';
|
|
8
|
-
import { HasPlatform } from '../../types';
|
|
9
|
-
import { ConfigProviderContext, ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext';
|
|
10
|
-
import { SplitColContextProps, SplitColContext } from '../SplitCol/SplitCol';
|
|
4
|
+
import { IOS } from '../../lib/platform';
|
|
5
|
+
import { ConfigProviderContext } from '../ConfigProvider/ConfigProviderContext';
|
|
6
|
+
import { SplitColContext } from '../SplitCol/SplitCol';
|
|
11
7
|
import { AppRootPortal } from '../AppRoot/AppRootPortal';
|
|
12
|
-
import {
|
|
13
|
-
import { ScrollContext, ScrollContextInterface } from '../AppRoot/ScrollContext';
|
|
8
|
+
import { ScrollContext } from '../AppRoot/ScrollContext';
|
|
14
9
|
import { getNavId, NavIdProps } from '../../lib/getNavId';
|
|
15
10
|
import { warnOnce } from '../../lib/warnOnce';
|
|
11
|
+
import { useDOM } from '../../lib/dom';
|
|
12
|
+
import { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';
|
|
13
|
+
import { useTimeout } from '../../hooks/useTimeout';
|
|
14
|
+
import { usePlatform } from '../../hooks/usePlatform';
|
|
16
15
|
import './Root.css';
|
|
17
16
|
|
|
18
17
|
const warn = warnOnce('Root');
|
|
19
18
|
|
|
20
|
-
export interface RootProps extends React.HTMLAttributes<HTMLDivElement>,
|
|
19
|
+
export interface RootProps extends React.HTMLAttributes<HTMLDivElement>, NavIdProps {
|
|
21
20
|
activeView: string;
|
|
22
21
|
onTransition?(params: { isBack: boolean; from: string; to: string }): void;
|
|
23
22
|
/**
|
|
@@ -32,207 +31,129 @@ export interface RootProps extends React.HTMLAttributes<HTMLDivElement>, HasPlat
|
|
|
32
31
|
* Свойство для отрисовки `ModalRoot`.
|
|
33
32
|
*/
|
|
34
33
|
modal?: React.ReactNode;
|
|
35
|
-
/**
|
|
36
|
-
* @ignore
|
|
37
|
-
*/
|
|
38
|
-
splitCol?: SplitColContextProps;
|
|
39
|
-
/**
|
|
40
|
-
* @ignore
|
|
41
|
-
*/
|
|
42
|
-
configProvider?: ConfigProviderContextInterface;
|
|
43
|
-
/**
|
|
44
|
-
* @ignore
|
|
45
|
-
*/
|
|
46
|
-
scroll?: ScrollContextInterface;
|
|
47
34
|
}
|
|
48
35
|
|
|
49
|
-
export type AnimationEndCallback = (e?: AnimationEvent) => void;
|
|
50
|
-
|
|
51
36
|
export interface RootState {
|
|
52
37
|
activeView: string;
|
|
53
|
-
prevView: string;
|
|
54
|
-
nextView: string;
|
|
55
|
-
visibleViews: [string] | [string, string];
|
|
56
|
-
isBack: boolean;
|
|
57
|
-
scrolls: {
|
|
58
|
-
[index: string]: number;
|
|
59
|
-
};
|
|
60
38
|
transition: boolean;
|
|
39
|
+
isBack?: boolean;
|
|
40
|
+
prevView?: string;
|
|
61
41
|
}
|
|
62
42
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (this.props.popout && !prevProps.popout) {
|
|
91
|
-
this.blurActiveElement();
|
|
43
|
+
const Root: React.FC<RootProps> = ({
|
|
44
|
+
popout = null, modal, children,
|
|
45
|
+
activeView: _activeView, onTransition,
|
|
46
|
+
nav,
|
|
47
|
+
...restProps
|
|
48
|
+
}) => {
|
|
49
|
+
const scroll = React.useContext(ScrollContext);
|
|
50
|
+
const platform = usePlatform();
|
|
51
|
+
const { document } = useDOM();
|
|
52
|
+
const scrolls = React.useRef<Record<string, number>>({}).current;
|
|
53
|
+
const viewNodes = React.useRef<Record<string, HTMLElement>>({}).current;
|
|
54
|
+
|
|
55
|
+
const { transitionMotionEnabled = true } = React.useContext(ConfigProviderContext);
|
|
56
|
+
const { animate } = React.useContext(SplitColContext);
|
|
57
|
+
const disableAnimation = !transitionMotionEnabled || !animate;
|
|
58
|
+
|
|
59
|
+
const views = React.Children.toArray(children) as React.ReactElement[];
|
|
60
|
+
|
|
61
|
+
const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({
|
|
62
|
+
activeView: _activeView,
|
|
63
|
+
transition: false,
|
|
64
|
+
});
|
|
65
|
+
const transitionTo = (panel: string) => {
|
|
66
|
+
if (panel !== activeView) {
|
|
67
|
+
const viewIds = views.map((view) => getNavId(view.props, warn));
|
|
68
|
+
const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);
|
|
69
|
+
_setState({ activeView: panel, prevView: activeView, transition: true, isBack });
|
|
92
70
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
transition: true,
|
|
113
|
-
activeView: null,
|
|
114
|
-
nextView,
|
|
115
|
-
prevView,
|
|
116
|
-
visibleViews: [nextView, prevView],
|
|
117
|
-
isBack,
|
|
118
|
-
});
|
|
71
|
+
};
|
|
72
|
+
const finishTransition = () => _setState({ activeView, prevView, isBack, transition: false });
|
|
73
|
+
|
|
74
|
+
useIsomorphicLayoutEffect(() => {
|
|
75
|
+
(document.activeElement as HTMLElement)?.blur();
|
|
76
|
+
}, [!!popout, activeView]);
|
|
77
|
+
|
|
78
|
+
// Нужен переход
|
|
79
|
+
useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);
|
|
80
|
+
// scroll restoration
|
|
81
|
+
useIsomorphicLayoutEffect(() => {
|
|
82
|
+
if (transition) {
|
|
83
|
+
// save scroll
|
|
84
|
+
scrolls[prevView] = scroll.getScroll().y;
|
|
85
|
+
setPanelScroll(viewNodes[prevView], scrolls[prevView]);
|
|
86
|
+
isBack && setPanelScroll(viewNodes[activeView], scrolls[activeView]);
|
|
87
|
+
} else if (prevView) {
|
|
88
|
+
// Закончился переход
|
|
89
|
+
scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);
|
|
119
90
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const setPanelScroll = (e: HTMLElement, scroll: number) => {
|
|
126
|
-
// eslint-disable-next-line no-restricted-properties
|
|
127
|
-
const pan: HTMLElement | null = e.querySelector('[data-vkui-active-panel=true]');
|
|
128
|
-
pan && (pan.scrollTop = scroll);
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
setPanelScroll(prevViewElement, this.state.scrolls[this.state.prevView]);
|
|
132
|
-
|
|
133
|
-
if (this.state.isBack) {
|
|
134
|
-
setPanelScroll(nextViewElement, this.state.scrolls[this.state.nextView]);
|
|
135
|
-
}
|
|
136
|
-
this.waitAnimationFinish(this.state.isBack ? prevViewElement : nextViewElement, this.onAnimationEnd);
|
|
91
|
+
}, [transition]);
|
|
92
|
+
// onTransition
|
|
93
|
+
useIsomorphicLayoutEffect(() => {
|
|
94
|
+
if (!transition && prevView) {
|
|
95
|
+
onTransition && onTransition({ isBack, from: prevView, to: activeView });
|
|
137
96
|
}
|
|
138
|
-
}
|
|
97
|
+
}, [transition]);
|
|
139
98
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
waitAnimationFinish(elem: HTMLElement, eventHandler: AnimationEndCallback) {
|
|
146
|
-
if (this.shouldDisableTransitionMotion()) {
|
|
147
|
-
eventHandler();
|
|
99
|
+
const fallbackTransition = useTimeout(finishTransition, platform === IOS ? 600 : 300);
|
|
100
|
+
React.useEffect(() => {
|
|
101
|
+
if (!transition) {
|
|
102
|
+
fallbackTransition.clear();
|
|
148
103
|
return;
|
|
149
104
|
}
|
|
105
|
+
disableAnimation ? finishTransition() : fallbackTransition.set();
|
|
106
|
+
}, [transition]);
|
|
150
107
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
elem.addEventListener(animationEvent.name, eventHandler);
|
|
154
|
-
} else {
|
|
155
|
-
clearTimeout(this.animationFinishTimeout);
|
|
156
|
-
this.animationFinishTimeout = setTimeout(eventHandler.bind(this), this.props.platform === ANDROID || this.props.platform === VKCOM ? 300 : 600);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
onAnimationEnd: AnimationEndCallback = (e?: AnimationEvent) => {
|
|
161
|
-
if (!e || [
|
|
108
|
+
const onAnimationEnd = (e: React.AnimationEvent) => {
|
|
109
|
+
if ([
|
|
162
110
|
'vkui-root-android-animation-hide-back',
|
|
163
111
|
'vkui-root-android-animation-show-forward',
|
|
164
112
|
'vkui-root-ios-animation-hide-back',
|
|
165
113
|
'vkui-root-ios-animation-show-forward',
|
|
166
114
|
].includes(e.animationName)) {
|
|
167
|
-
|
|
168
|
-
const prevView = this.state.prevView;
|
|
169
|
-
const nextView = this.state.nextView;
|
|
170
|
-
this.setState({
|
|
171
|
-
activeView: nextView,
|
|
172
|
-
prevView: null,
|
|
173
|
-
nextView: null,
|
|
174
|
-
visibleViews: [nextView],
|
|
175
|
-
transition: false,
|
|
176
|
-
isBack: undefined,
|
|
177
|
-
}, () => {
|
|
178
|
-
this.props.scroll.scrollTo(0, isBack ? this.state.scrolls[this.state.activeView] : 0);
|
|
179
|
-
this.props.onTransition && this.props.onTransition({ isBack, from: prevView, to: nextView });
|
|
180
|
-
});
|
|
115
|
+
finishTransition();
|
|
181
116
|
}
|
|
182
117
|
};
|
|
183
118
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
{
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
})}
|
|
225
|
-
<AppRootPortal>
|
|
226
|
-
{!!popout && <div vkuiClass="Root__popout">{popout}</div>}
|
|
227
|
-
{!!modal && <div vkuiClass="Root__modal">{modal}</div>}
|
|
228
|
-
</AppRootPortal>
|
|
229
|
-
</div>
|
|
230
|
-
);
|
|
231
|
-
}
|
|
119
|
+
return (
|
|
120
|
+
<div {...restProps} vkuiClass={classNames(getClassName('Root', platform), {
|
|
121
|
+
'Root--transition': !disableAnimation && transition,
|
|
122
|
+
'Root--no-motion': disableAnimation,
|
|
123
|
+
})}>
|
|
124
|
+
{views.map((view) => {
|
|
125
|
+
const viewId = getNavId(view.props, warn);
|
|
126
|
+
if (viewId !== activeView && !(transition && viewId === prevView)) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);
|
|
130
|
+
return (
|
|
131
|
+
<div
|
|
132
|
+
key={viewId}
|
|
133
|
+
ref={(e) => viewNodes[viewId] = e}
|
|
134
|
+
onAnimationEnd={isTransitionTarget ? onAnimationEnd : null}
|
|
135
|
+
vkuiClass={classNames('Root__view', {
|
|
136
|
+
'Root__view--hide-back': transition && viewId === prevView && isBack,
|
|
137
|
+
'Root__view--hide-forward': transition && viewId === prevView && !isBack,
|
|
138
|
+
'Root__view--show-back': transition && viewId === activeView && isBack,
|
|
139
|
+
'Root__view--show-forward': transition && viewId === activeView && !isBack,
|
|
140
|
+
'Root__view--active': !transition && viewId === activeView,
|
|
141
|
+
})}
|
|
142
|
+
>{view}</div>
|
|
143
|
+
);
|
|
144
|
+
})}
|
|
145
|
+
<AppRootPortal>
|
|
146
|
+
{!!popout && <div vkuiClass="Root__popout">{popout}</div>}
|
|
147
|
+
{!!modal && <div vkuiClass="Root__modal">{modal}</div>}
|
|
148
|
+
</AppRootPortal>
|
|
149
|
+
</div>
|
|
150
|
+
);
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export default Root;
|
|
154
|
+
|
|
155
|
+
function setPanelScroll(e: HTMLElement, scroll: number) {
|
|
156
|
+
// eslint-disable-next-line no-restricted-properties
|
|
157
|
+
const pan: HTMLElement | null = e.querySelector('[data-vkui-active-panel=true]');
|
|
158
|
+
pan && (pan.scrollTop = scroll);
|
|
232
159
|
}
|
|
233
|
-
|
|
234
|
-
export default withContext(withContext(withContext(
|
|
235
|
-
withPlatform(withDOM<RootProps>(Root)),
|
|
236
|
-
SplitColContext,
|
|
237
|
-
'splitCol',
|
|
238
|
-
), ConfigProviderContext, 'configProvider'), ScrollContext, 'scroll');
|
|
@@ -5,7 +5,7 @@ import { getClassName } from '../../helpers/getClassName';
|
|
|
5
5
|
import { Icon16SearchOutline, Icon16Clear, Icon24Cancel } from '@vkontakte/icons';
|
|
6
6
|
import { IOS, VKCOM } from '../../lib/platform';
|
|
7
7
|
import { HasPlatform, HasRef } from '../../types';
|
|
8
|
-
import Touch,
|
|
8
|
+
import { Touch, TouchEvent } from '../Touch/Touch';
|
|
9
9
|
import { VKUITouchEvent } from '../../lib/touch';
|
|
10
10
|
import { noop } from '../../lib/utils';
|
|
11
11
|
import Text from '../Typography/Text/Text';
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
> **Важно**
|
|
2
|
+
>
|
|
3
|
+
>Компонент устарел. Предпочтительнее использовать компонент [Spacing](#!/Spacing)
|
|
2
4
|
|
|
3
5
|
Используется для разделения какого-либо контента. Отступы справа и слева контролируются свойством `wide`.
|
|
4
6
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Надстройка над `<input type="checkbox" />`. Компонент принимает все валидные для этого элемента свойства.
|
|
2
|
+
|
|
3
|
+
Компонент является упрощенной версией обычного чекбокса `Checkbox` и предназначен для использования внутри других блоков таких как таблицы
|
|
4
|
+
|
|
5
|
+
>**Важно**
|
|
6
|
+
>
|
|
7
|
+
>Это нестабильный компонент. Его API может меняться в рамках одной мажорной версии. [Подробнее про нестабильный компоненты](#/Unstable).
|
|
8
|
+
|
|
9
|
+
```jsx { "props": { "layout": false, "iframe": false } }
|
|
10
|
+
<div style={{ display: 'flex', alignItems: 'center', flexDirection: 'row', padding: '24px 16px', background: 'white' }}>
|
|
11
|
+
<SimpleCheckbox defaultChecked style={{ margin: '0 10px' }} />
|
|
12
|
+
<SimpleCheckbox style={{ margin: '0 10px' }} />
|
|
13
|
+
<SimpleCheckbox defaultChecked style={{ margin: '0 10px' }} />
|
|
14
|
+
<SimpleCheckbox indeterminate style={{ margin: '0 10px' }} />
|
|
15
|
+
<SimpleCheckbox defaultIndeterminate style={{ margin: '0 10px' }} />
|
|
16
|
+
</div>
|
|
17
|
+
```
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
.SimpleCheckbox {
|
|
2
|
+
display: block;
|
|
3
|
+
margin: -10px;
|
|
4
|
+
padding: 10px;
|
|
5
|
+
width: 24px;
|
|
6
|
+
height: 24px;
|
|
7
|
+
border-radius: 50%;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.SimpleCheckbox__input {
|
|
11
|
+
position: absolute;
|
|
12
|
+
-webkit-appearance: none;
|
|
13
|
+
-moz-appearance: none;
|
|
14
|
+
appearance: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.SimpleCheckbox__container {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: flex-start;
|
|
20
|
+
justify-content: flex-start;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.SimpleCheckbox__icon {
|
|
24
|
+
flex-shrink: 0;
|
|
25
|
+
margin: 0;
|
|
26
|
+
box-sizing: border-box;
|
|
27
|
+
border-radius: 4px;
|
|
28
|
+
display: flex;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.SimpleCheckbox__icon--on {
|
|
32
|
+
color: var(--accent);
|
|
33
|
+
display: none;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.SimpleCheckbox__icon--indeterminate {
|
|
37
|
+
color: var(--accent);
|
|
38
|
+
display: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.SimpleCheckbox__icon--off {
|
|
42
|
+
color: var(--icon_tertiary);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.SimpleCheckbox__input:checked ~ .SimpleCheckbox__container .SimpleCheckbox__icon--on {
|
|
46
|
+
display: flex;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.SimpleCheckbox__input:indeterminate ~ .SimpleCheckbox__container .SimpleCheckbox__icon--indeterminate,
|
|
50
|
+
.SimpleCheckbox__input:checked ~ .SimpleCheckbox__container .SimpleCheckbox__icon--off {
|
|
51
|
+
display: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.SimpleCheckbox__input:indeterminate ~ .SimpleCheckbox__container .SimpleCheckbox__icon--indeterminate {
|
|
55
|
+
display: flex;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.SimpleCheckbox__input:indeterminate ~ .SimpleCheckbox__container .SimpleCheckbox__icon--on,
|
|
59
|
+
.SimpleCheckbox__input:indeterminate ~ .SimpleCheckbox__container .SimpleCheckbox__icon--off {
|
|
60
|
+
display: none;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.SimpleCheckbox__input[disabled] ~ .SimpleCheckbox__container {
|
|
64
|
+
opacity: .6;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.SimpleCheckbox--ios.SimpleCheckbox--sizeY-compact,
|
|
68
|
+
.SimpleCheckbox--android.SimpleCheckbox--sizeY-compact {
|
|
69
|
+
margin: -8px;
|
|
70
|
+
padding: 8px;
|
|
71
|
+
width: 20px;
|
|
72
|
+
height: 20px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.SimpleCheckbox--vkcom {
|
|
76
|
+
margin: 0;
|
|
77
|
+
padding: 0;
|
|
78
|
+
width: 22px;
|
|
79
|
+
height: 22px;
|
|
80
|
+
border-radius: 4px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.SimpleCheckbox--vkcom .SimpleCheckbox__activeShadow,
|
|
84
|
+
.SimpleCheckbox--vkcom .SimpleCheckbox__hoverShadow {
|
|
85
|
+
margin: 3px;
|
|
86
|
+
width: 16px;
|
|
87
|
+
height: 16px;
|
|
88
|
+
position: absolute;
|
|
89
|
+
top: 0;
|
|
90
|
+
right: 0;
|
|
91
|
+
bottom: 0;
|
|
92
|
+
left: 0;
|
|
93
|
+
pointer-events: none;
|
|
94
|
+
overflow: hidden;
|
|
95
|
+
border-radius: inherit;
|
|
96
|
+
transition: inherit;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.SimpleCheckbox--vkcom.SimpleCheckbox--active .SimpleCheckbox__activeShadow {
|
|
100
|
+
background-color: var(--background_highlighted);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.SimpleCheckbox--vkcom.SimpleCheckbox--hover .SimpleCheckbox__hoverShadow {
|
|
104
|
+
background-color: var(--background_hover);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.SimpleCheckbox--vkcom .SimpleCheckbox__icon {
|
|
108
|
+
border-radius: 3px;
|
|
109
|
+
padding: 1px;
|
|
110
|
+
border-width: 1px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.SimpleCheckbox--vkcom .SimpleCheckbox__input[disabled] ~ .SimpleCheckbox__container {
|
|
114
|
+
opacity: .4;
|
|
115
|
+
}
|