@vkontakte/vkui 4.22.2 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +193 -30
- package/.cache/ts/src/components/ActionSheet/ActionSheetContext.d.ts +1 -1
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +7 -0
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityContext.d.ts +5 -0
- package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
- package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +1 -0
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +21 -0
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +8 -0
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +49 -0
- package/.cache/ts/src/components/Footer/Footer.d.ts +3 -3
- package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +29 -0
- package/.cache/ts/src/components/Popper/Popper.d.ts +27 -0
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +46 -0
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +49 -0
- package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -0
- package/.cache/ts/src/hooks/usePatchChildrenRef.d.ts +6 -0
- package/.cache/ts/src/index.d.ts +2 -1
- package/.cache/ts/src/unstable/index.d.ts +8 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +21 -7
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -3
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +7 -0
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +4 -3
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +5 -0
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js +5 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +10 -5
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +3 -6
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -0
- package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +1 -0
- package/dist/cjs/components/AppRoot/AppRootPortal.js +7 -3
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.js +3 -1
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +21 -0
- package/dist/cjs/components/ClickPopper/ClickPopper.js +92 -0
- package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -0
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +8 -0
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.d.ts +49 -0
- package/dist/cjs/components/Dropdown/Dropdown.js +56 -0
- package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/cjs/components/Footer/Footer.d.ts +3 -3
- package/dist/cjs/components/Footer/Footer.js +2 -3
- package/dist/cjs/components/Footer/Footer.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +29 -0
- package/dist/cjs/components/HoverPopper/HoverPopper.js +97 -0
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -0
- package/dist/cjs/components/Popper/Popper.d.ts +27 -0
- package/dist/cjs/components/Popper/Popper.js +153 -0
- package/dist/cjs/components/Popper/Popper.js.map +1 -0
- package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +46 -0
- package/dist/cjs/components/RichTooltip/RichTooltip.js +47 -0
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -0
- package/dist/cjs/components/Tappable/Tappable.js +6 -4
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +49 -0
- package/dist/cjs/components/TextTooltip/TextTooltip.js +57 -0
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -0
- package/dist/cjs/hoc/withAdaptivity.d.ts +1 -0
- package/dist/cjs/hoc/withAdaptivity.js +5 -2
- package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.d.ts +6 -0
- package/dist/cjs/hooks/usePatchChildrenRef.js +38 -0
- package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/unstable/index.d.ts +8 -0
- package/dist/cjs/unstable/index.js +32 -0
- package/dist/cjs/unstable/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +22 -8
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -3
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +7 -0
- package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +5 -0
- package/dist/components/AdaptivityProvider/AdaptivityContext.js +4 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +11 -6
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +3 -6
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +1 -0
- package/dist/components/AppRoot/AppRootPortal.js +7 -3
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/Cell/Cell.js +3 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/ClickPopper/ClickPopper.d.ts +21 -0
- package/dist/components/ClickPopper/ClickPopper.js +67 -0
- package/dist/components/ClickPopper/ClickPopper.js.map +1 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +8 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +49 -0
- package/dist/components/Dropdown/Dropdown.js +38 -0
- package/dist/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/components/Footer/Footer.d.ts +3 -3
- package/dist/components/Footer/Footer.js +1 -4
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.d.ts +29 -0
- package/dist/components/HoverPopper/HoverPopper.js +73 -0
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -0
- package/dist/components/Popper/Popper.d.ts +27 -0
- package/dist/components/Popper/Popper.js +127 -0
- package/dist/components/Popper/Popper.js.map +1 -0
- package/dist/components/RichTooltip/RichTooltip.d.ts +46 -0
- package/dist/components/RichTooltip/RichTooltip.js +26 -0
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -0
- package/dist/components/Tappable/Tappable.js +7 -5
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.d.ts +49 -0
- package/dist/components/TextTooltip/TextTooltip.js +34 -0
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -0
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +22 -8
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js +4 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +11 -6
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +3 -6
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js +7 -3
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +3 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/ClickPopper/ClickPopper.js +67 -0
- package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.css +1 -0
- package/dist/cssm/components/Dropdown/Dropdown.js +41 -0
- package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/cssm/components/Footer/Footer.js +1 -4
- package/dist/cssm/components/Footer/Footer.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js +73 -0
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -0
- package/dist/cssm/components/Popper/Popper.css +1 -0
- package/dist/cssm/components/Popper/Popper.js +128 -0
- package/dist/cssm/components/Popper/Popper.js.map +1 -0
- package/dist/cssm/components/RichTooltip/RichTooltip.css +1 -0
- package/dist/cssm/components/RichTooltip/RichTooltip.js +29 -0
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -0
- package/dist/cssm/components/Tappable/Tappable.js +7 -5
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -0
- package/dist/cssm/components/TextTooltip/TextTooltip.js +37 -0
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -0
- package/dist/cssm/hoc/withAdaptivity.js +5 -2
- package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js +21 -0
- package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -0
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.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/unstable.css +1 -1
- package/dist/cssm/unstable/index.js +4 -0
- package/dist/cssm/unstable/index.js.map +1 -1
- package/dist/hoc/withAdaptivity.d.ts +1 -0
- package/dist/hoc/withAdaptivity.js +5 -2
- package/dist/hoc/withAdaptivity.js.map +1 -1
- package/dist/hooks/usePatchChildrenRef.d.ts +6 -0
- package/dist/hooks/usePatchChildrenRef.js +21 -0
- package/dist/hooks/usePatchChildrenRef.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/unstable/index.d.ts +8 -0
- package/dist/unstable/index.js +4 -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 +2 -2
- package/src/components/ActionSheet/ActionSheet.tsx +16 -9
- package/src/components/ActionSheet/ActionSheetContext.ts +1 -1
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -3
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +10 -2
- package/src/components/AdaptivityProvider/AdaptivityContext.tsx +8 -0
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +8 -6
- package/src/components/AdaptivityProvider/Readme.md +3 -3
- package/src/components/AppRoot/AppRoot.tsx +4 -5
- package/src/components/AppRoot/AppRootContext.ts +1 -0
- package/src/components/AppRoot/AppRootPortal.tsx +5 -3
- package/src/components/Cell/Cell.tsx +2 -1
- package/src/components/ChipsSelect/Readme.md +1 -1
- package/src/components/ClickPopper/ClickPopper.tsx +82 -0
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +8 -0
- package/src/components/Dropdown/Dropdown.css +19 -0
- package/src/components/Dropdown/Dropdown.tsx +74 -0
- package/src/components/Dropdown/Readme.md +39 -0
- package/src/components/Footer/Footer.tsx +6 -4
- package/src/components/HoverPopper/HoverPopper.tsx +100 -0
- package/src/components/PanelHeader/Readme.md +4 -0
- package/src/components/Popper/Popper.css +39 -0
- package/src/components/Popper/Popper.tsx +147 -0
- package/src/components/Popper/Readme.md +23 -0
- package/src/components/RichTooltip/Readme.md +55 -0
- package/src/components/RichTooltip/RichTooltip.css +10 -0
- package/src/components/RichTooltip/RichTooltip.tsx +70 -0
- package/src/components/Tappable/Tappable.tsx +5 -4
- package/src/components/TextTooltip/Readme.md +7 -0
- package/src/components/TextTooltip/TextTooltip.css +12 -0
- package/src/components/TextTooltip/TextTooltip.tsx +76 -0
- package/src/components/Tooltip/Readme.md +2 -0
- package/src/hoc/withAdaptivity.tsx +5 -1
- package/src/hooks/usePatchChildrenRef.ts +24 -0
- package/src/index.ts +2 -1
- package/src/styles/animations.css +5 -0
- package/src/styles/common.css +7 -2
- package/src/styles/unstable.css +4 -0
- package/src/unstable/index.ts +12 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PopperCommonProps } from '../Popper/Popper';
|
|
3
|
+
export interface ClickPopperProps extends PopperCommonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Содержимое `ClickPopper`
|
|
6
|
+
*/
|
|
7
|
+
content?: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Если передан, то тултип будет показыван/скрыт в зависимости от значения свойства
|
|
10
|
+
*/
|
|
11
|
+
shown?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Вызывается при каждом изменении видимости тултипа
|
|
14
|
+
*/
|
|
15
|
+
onShownChange?: (shown: boolean) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элемнету компонента
|
|
18
|
+
*/
|
|
19
|
+
children?: React.ReactElement;
|
|
20
|
+
}
|
|
21
|
+
export declare const ClickPopper: React.FC<ClickPopperProps>;
|
|
@@ -6,7 +6,15 @@ export declare enum Appearance {
|
|
|
6
6
|
LIGHT = "light"
|
|
7
7
|
}
|
|
8
8
|
export declare enum Scheme {
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated будет удалено в 5.0.0
|
|
11
|
+
* версия оставлена для совместимости со старыми версиями клиентов
|
|
12
|
+
*/
|
|
9
13
|
DEPRECATED_CLIENT_LIGHT = "client_light",
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated будет удалено в 5.0.0
|
|
16
|
+
* версия оставлена для совместимости со старыми версиями клиентов
|
|
17
|
+
*/
|
|
10
18
|
DEPRECATED_CLIENT_DARK = "client_dark",
|
|
11
19
|
/**
|
|
12
20
|
* @deprecated будет удалено в 5.0.0
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HoverPopperProps } from '../HoverPopper/HoverPopper';
|
|
3
|
+
import { Placement } from '../Popper/Popper';
|
|
4
|
+
import './Dropdown.css';
|
|
5
|
+
export interface DropdownProps {
|
|
6
|
+
/**
|
|
7
|
+
* По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства
|
|
8
|
+
*/
|
|
9
|
+
placement?: Placement;
|
|
10
|
+
/**
|
|
11
|
+
* Отступ по вспомогательной оси
|
|
12
|
+
*/
|
|
13
|
+
offsetSkidding?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Отступ по главной оси
|
|
16
|
+
*/
|
|
17
|
+
offsetDistance?: number;
|
|
18
|
+
onPlacementChange?: (data: {
|
|
19
|
+
placement?: Placement;
|
|
20
|
+
}) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Содержимое тултипа
|
|
23
|
+
*/
|
|
24
|
+
content?: React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Если передан, то тултип будет показыван/скрыт в зависимости от значения свойства
|
|
27
|
+
*/
|
|
28
|
+
shown?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Вызывается при каждом изменении видимости тултипа
|
|
31
|
+
*/
|
|
32
|
+
onShownChange?: (shown: boolean) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
|
|
35
|
+
*/
|
|
36
|
+
children?: React.ReactElement;
|
|
37
|
+
action?: 'click' | 'hover';
|
|
38
|
+
/**
|
|
39
|
+
* Актуально только для action="hover"
|
|
40
|
+
* Количество миллисекунд, после которых произойдет показ дропдауна
|
|
41
|
+
*/
|
|
42
|
+
showDelay?: HoverPopperProps['showDelay'];
|
|
43
|
+
/**
|
|
44
|
+
* Актуально только для action="hover"
|
|
45
|
+
* Количество миллисекунд, после которых произойдет скрытие дропдауна
|
|
46
|
+
*/
|
|
47
|
+
hideDelay?: HoverPopperProps['hideDelay'];
|
|
48
|
+
}
|
|
49
|
+
export declare const Dropdown: React.FC<DropdownProps>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { HasComponent } from '../../types';
|
|
2
3
|
import './Footer.css';
|
|
3
|
-
declare type FooterProps = React.AllHTMLAttributes<HTMLElement
|
|
4
|
-
declare const Footer: React.FC<FooterProps>;
|
|
5
|
-
export default Footer;
|
|
4
|
+
export declare type FooterProps = React.AllHTMLAttributes<HTMLElement> & HasComponent;
|
|
5
|
+
export declare const Footer: React.FC<FooterProps>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PopperCommonProps } from '../Popper/Popper';
|
|
3
|
+
export interface HoverPopperProps extends PopperCommonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Содержимое тултипа
|
|
6
|
+
*/
|
|
7
|
+
content?: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Если передан, то тултип будет показыван/скрыт в зависимости от значения свойства
|
|
10
|
+
*/
|
|
11
|
+
shown?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Вызывается при каждом изменении видимости тултипа
|
|
14
|
+
*/
|
|
15
|
+
onShownChange?: (shown: boolean) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Количество миллисекунд, после которых произойдет показ дропдауна
|
|
18
|
+
*/
|
|
19
|
+
showDelay?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Количество миллисекунд, после которых произойдет скрытие дропдауна
|
|
22
|
+
*/
|
|
23
|
+
hideDelay?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
|
|
26
|
+
*/
|
|
27
|
+
children?: React.ReactElement;
|
|
28
|
+
}
|
|
29
|
+
export declare const HoverPopper: React.FC<HoverPopperProps>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HasRef } from '../../types';
|
|
3
|
+
import './Popper.css';
|
|
4
|
+
export declare type Placement = 'auto' | 'auto-start' | 'auto-end' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'right-start' | 'right-end' | 'left-start' | 'left-end' | 'top' | 'bottom' | 'left' | 'right';
|
|
5
|
+
export interface PopperCommonProps extends React.HTMLAttributes<HTMLElement>, HasRef<HTMLElement> {
|
|
6
|
+
/**
|
|
7
|
+
* По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства
|
|
8
|
+
*/
|
|
9
|
+
placement?: Placement;
|
|
10
|
+
/**
|
|
11
|
+
* Отступ по вспомогательной оси
|
|
12
|
+
*/
|
|
13
|
+
offsetSkidding?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Отступ по главной оси
|
|
16
|
+
*/
|
|
17
|
+
offsetDistance?: number;
|
|
18
|
+
arrow?: boolean;
|
|
19
|
+
arrowClassName?: string;
|
|
20
|
+
onPlacementChange?: (data: {
|
|
21
|
+
placement?: Placement;
|
|
22
|
+
}) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface PopperProps extends PopperCommonProps {
|
|
25
|
+
targetRef?: React.RefObject<HTMLElement>;
|
|
26
|
+
}
|
|
27
|
+
export declare const Popper: React.FC<PopperProps>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Placement } from '../Popper/Popper';
|
|
3
|
+
import './RichTooltip.css';
|
|
4
|
+
export interface RichTooltipProps {
|
|
5
|
+
/**
|
|
6
|
+
* Содержимое тултипа
|
|
7
|
+
*/
|
|
8
|
+
content?: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Если передан, то тултип будет показыван/скрыт в зависимости от значения свойства
|
|
11
|
+
*/
|
|
12
|
+
shown?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Вызывается при каждом изменении видимости тултипа
|
|
15
|
+
*/
|
|
16
|
+
onShownChange?: (shown: boolean) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Количество миллисекунд, после которых произойдет показ дропдауна
|
|
19
|
+
*/
|
|
20
|
+
showDelay?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Количество миллисекунд, после которых произойдет скрытие дропдауна
|
|
23
|
+
*/
|
|
24
|
+
hideDelay?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
|
|
27
|
+
*/
|
|
28
|
+
children?: React.ReactElement;
|
|
29
|
+
/**
|
|
30
|
+
* По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства
|
|
31
|
+
*/
|
|
32
|
+
placement?: Placement;
|
|
33
|
+
/**
|
|
34
|
+
* Отступ по вспомогательной оси
|
|
35
|
+
*/
|
|
36
|
+
offsetSkidding?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Отступ по главной оси
|
|
39
|
+
*/
|
|
40
|
+
offsetDistance?: number;
|
|
41
|
+
onPlacementChange?: (data: {
|
|
42
|
+
placement?: Placement;
|
|
43
|
+
}) => void;
|
|
44
|
+
arrow?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare const RichTooltip: React.FC<RichTooltipProps>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Placement } from '../Popper/Popper';
|
|
3
|
+
import './TextTooltip.css';
|
|
4
|
+
export interface TextTooltipProps {
|
|
5
|
+
/**
|
|
6
|
+
* Если передан, то тултип будет показыван/скрыт в зависимости от значения свойства
|
|
7
|
+
*/
|
|
8
|
+
shown?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Вызывается при каждом изменении видимости тултипа
|
|
11
|
+
*/
|
|
12
|
+
onShownChange?: (shown: boolean) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Количество миллисекунд, после которых произойдет показ дропдауна
|
|
15
|
+
*/
|
|
16
|
+
showDelay?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Количество миллисекунд, после которых произойдет скрытие дропдауна
|
|
19
|
+
*/
|
|
20
|
+
hideDelay?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Либо jsx-элемент (div, button, etc.), либо компонент со свойством `getRootRef`, которое применяется к корневому элементу компонента
|
|
23
|
+
*/
|
|
24
|
+
children?: React.ReactElement;
|
|
25
|
+
/**
|
|
26
|
+
* По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства
|
|
27
|
+
*/
|
|
28
|
+
placement?: Placement;
|
|
29
|
+
/**
|
|
30
|
+
* Отступ по вспомогательной оси
|
|
31
|
+
*/
|
|
32
|
+
offsetSkidding?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Отступ по главной оси
|
|
35
|
+
*/
|
|
36
|
+
offsetDistance?: number;
|
|
37
|
+
onPlacementChange?: (data: {
|
|
38
|
+
placement?: Placement;
|
|
39
|
+
}) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Текст тултипа
|
|
42
|
+
*/
|
|
43
|
+
text?: React.ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Заголовок тултипа
|
|
46
|
+
*/
|
|
47
|
+
header?: React.ReactNode;
|
|
48
|
+
}
|
|
49
|
+
export declare const TextTooltip: React.FC<TextTooltipProps>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare type ChildrenElement<T> = React.ReactElement<{
|
|
3
|
+
getRootRef?: React.Ref<T>;
|
|
4
|
+
}>;
|
|
5
|
+
export declare const usePatchChildrenRef: <T = HTMLElement>(children: ChildrenElement<T>) => [React.MutableRefObject<T>, ChildrenElement<T>];
|
|
6
|
+
export {};
|
package/.cache/ts/src/index.d.ts
CHANGED
|
@@ -97,7 +97,8 @@ export { default as SimpleCell } from './components/SimpleCell/SimpleCell';
|
|
|
97
97
|
export type { SimpleCellProps } from './components/SimpleCell/SimpleCell';
|
|
98
98
|
export { HorizontalCell } from './components/HorizontalCell/HorizontalCell';
|
|
99
99
|
export type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';
|
|
100
|
-
export {
|
|
100
|
+
export { Footer } from './components/Footer/Footer';
|
|
101
|
+
export type { FooterProps } from './components/Footer/Footer';
|
|
101
102
|
export { default as InfoRow } from './components/InfoRow/InfoRow';
|
|
102
103
|
export type { InfoRowProps } from './components/InfoRow/InfoRow';
|
|
103
104
|
export { default as Gallery } from './components/Gallery/Gallery';
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { default as ChipsSelect } from './../components/ChipsSelect/ChipsSelect';
|
|
5
5
|
export type { ChipsSelectProps } from './../components/ChipsSelect/ChipsSelect';
|
|
6
|
+
export { Dropdown } from '../components/Dropdown/Dropdown';
|
|
7
|
+
export type { DropdownProps } from '../components/Dropdown/Dropdown';
|
|
8
|
+
export { TextTooltip } from '../components/TextTooltip/TextTooltip';
|
|
9
|
+
export type { TextTooltipProps } from '../components/TextTooltip/TextTooltip';
|
|
10
|
+
export { RichTooltip } from '../components/RichTooltip/RichTooltip';
|
|
11
|
+
export type { RichTooltipProps } from '../components/RichTooltip/RichTooltip';
|
|
12
|
+
export { Popper } from '../components/Popper/Popper';
|
|
13
|
+
export type { PopperProps } from '../components/Popper/Popper';
|
|
6
14
|
export { default as ViewInfinite } from './../components/View/ViewInfinite';
|
|
7
15
|
export type { ViewInfiniteProps } from './../components/View/ViewInfinite';
|
|
8
16
|
export { default as SimpleCheckbox } from './../components/SimpleCheckbox/SimpleCheckbox';
|
|
@@ -67,8 +67,14 @@ var ActionSheet = function ActionSheet(_ref) {
|
|
|
67
67
|
return setClosing(true);
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
+
var _action = React.useRef(_utils.noop);
|
|
71
|
+
|
|
70
72
|
var afterClose = function afterClose() {
|
|
71
73
|
restProps.onClose();
|
|
74
|
+
|
|
75
|
+
_action.current();
|
|
76
|
+
|
|
77
|
+
_action.current = _utils.noop;
|
|
72
78
|
};
|
|
73
79
|
|
|
74
80
|
if (process.env.NODE_ENV === 'development' && !restProps.onClose) {
|
|
@@ -82,24 +88,32 @@ var ActionSheet = function ActionSheet(_ref) {
|
|
|
82
88
|
|
|
83
89
|
var isDesktop = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= _withAdaptivity.ViewHeight.MEDIUM);
|
|
84
90
|
var timeout = platform === _platform.IOS ? 300 : 200;
|
|
91
|
+
|
|
92
|
+
if (isDesktop) {
|
|
93
|
+
timeout = 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
85
96
|
var fallbackTransitionFinish = (0, _useTimeout.useTimeout)(afterClose, timeout);
|
|
86
97
|
React.useEffect(function () {
|
|
87
98
|
if (closing) {
|
|
88
|
-
|
|
89
|
-
afterClose();
|
|
90
|
-
} else {
|
|
91
|
-
fallbackTransitionFinish.set();
|
|
92
|
-
}
|
|
99
|
+
fallbackTransitionFinish.set();
|
|
93
100
|
} else {
|
|
94
101
|
fallbackTransitionFinish.clear();
|
|
95
102
|
}
|
|
96
103
|
}, [closing]);
|
|
97
|
-
var onItemClick = React.useCallback(function (action, autoclose) {
|
|
104
|
+
var onItemClick = React.useCallback(function (action, immediateAction, autoclose) {
|
|
98
105
|
return function (event) {
|
|
99
|
-
|
|
106
|
+
event.persist();
|
|
107
|
+
immediateAction && immediateAction(event);
|
|
100
108
|
|
|
101
109
|
if (autoclose) {
|
|
110
|
+
_action.current = function () {
|
|
111
|
+
return action && action(event);
|
|
112
|
+
};
|
|
113
|
+
|
|
102
114
|
setClosing(true);
|
|
115
|
+
} else {
|
|
116
|
+
action && action(event);
|
|
103
117
|
}
|
|
104
118
|
};
|
|
105
119
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","React","useState","closing","setClosing","onClose","afterClose","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","ViewWidth","SMALL_TABLET","ViewHeight","MEDIUM","timeout","IOS","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","autoclose","event","contextValue","DropdownComponent","ActionSheetDropdownDesktop","ActionSheetDropdown","defaultProps","popupDirection"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AA2BA,IAAMA,IAAI,GAAG,wBAAS,aAAT,CAAb;;AAEO,IAAMC,WAAuC,GAAG,SAA1CA,WAA0C,OAQ/B;AAAA,MAPtBC,QAOsB,QAPtBA,QAOsB;AAAA,MANtBC,SAMsB,QANtBA,SAMsB;AAAA,MALtBC,MAKsB,QALtBA,MAKsB;AAAA,MAJtBC,IAIsB,QAJtBA,IAIsB;AAAA,MAHtBC,KAGsB,QAHtBA,KAGsB;AAAA,MAFtBC,YAEsB,QAFtBA,YAEsB;AAAA,MADnBC,SACmB;AACtB,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,wBAA8BC,KAAK,CAACC,QAAN,CAAe,KAAf,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA,WAAMD,UAAU,CAAC,IAAD,CAAhB;AAAA,GAAhB;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":["warn","ActionSheet","children","className","header","text","style","iosCloseItem","restProps","platform","React","useState","closing","setClosing","onClose","_action","useRef","noop","afterClose","current","process","env","NODE_ENV","viewWidth","viewHeight","hasMouse","isDesktop","ViewWidth","SMALL_TABLET","ViewHeight","MEDIUM","timeout","IOS","fallbackTransitionFinish","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoclose","event","persist","contextValue","DropdownComponent","ActionSheetDropdownDesktop","ActionSheetDropdown","defaultProps","popupDirection"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { ViewWidth, ViewHeight } from '../../hoc/withAdaptivity';\nimport { IOS } from '../../lib/platform';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { hasReactNode, noop } from '../../lib/utils';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { SharedDropdownProps, PopupDirection, ToggleRef } from './types';\nimport './ActionSheet.css';\n\nexport interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи. В v5 будет обязательным.\n */\n onClose?: VoidFunction;\n /**\n * Элемент, рядом с которым вылезает попап на десктопе.\n * Лучше передавать RefObject c current.\n * В v5 будет обязательным.\n */\n toggleRef?: ToggleRef;\n /**\n * Направление на десктопе\n */\n popupDirection?: PopupDirection;\n /**\n * Только iOS. В v5 будет обязательным.\n */\n iosCloseItem?: React.ReactNode;\n}\n\nconst warn = warnOnce('ActionSheet');\n\nexport const ActionSheet: React.FC<ActionSheetProps> = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose();\n _action.current();\n _action.current = noop;\n };\n\n if (process.env.NODE_ENV === 'development' && !restProps.onClose) {\n warn('can\\'t close on outer click without onClose');\n }\n\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= ViewHeight.MEDIUM);\n\n let timeout = platform === IOS ? 300 : 200;\n\n if (isDesktop) {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing]);\n\n const onItemClick = React.useCallback<ItemClickHandler>((action, immediateAction, autoclose) => (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoclose) {\n _action.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n }, []);\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop\n ? ActionSheetDropdownDesktop\n : ActionSheetDropdown;\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={!isDesktop ? onClose : null}\n hasMask={!isDesktop}\n fixed={!isDesktop}\n >\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...restProps as Omit<SharedDropdownProps, 'closing'>}\n onClose={onClose}\n >\n {(hasReactNode(header) || hasReactNode(text)) &&\n <header vkuiClass=\"ActionSheet__header\">\n {hasReactNode(header) &&\n <Caption level=\"1\" weight={platform === IOS ? 'semibold' : 'medium'} vkuiClass=\"ActionSheet__title\">\n {header}\n </Caption>\n }\n {hasReactNode(text) && <Caption level=\"1\" weight=\"regular\" vkuiClass=\"ActionSheet__text\">{text}</Caption>}\n </header>\n }\n {children}\n {platform === IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n </PopoutWrapper>\n );\n};\n\nActionSheet.defaultProps = {\n popupDirection: 'bottom',\n};\n"],"file":"ActionSheet.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export declare type ActionType = (event: React.MouseEvent) => void;
|
|
3
|
-
export declare type ItemClickHandler = (action: ActionType, autoclose: boolean) => (event: React.MouseEvent) => void;
|
|
3
|
+
export declare type ItemClickHandler = (action: ActionType, immediateAction: ActionType, autoclose: boolean) => (event: React.MouseEvent) => void;
|
|
4
4
|
export declare const ActionSheetContext: React.Context<{
|
|
5
5
|
onItemClick?: ItemClickHandler;
|
|
6
6
|
isDesktop?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetContext.ts"],"names":["ActionSheetContext","React","createContext"],"mappings":";;;;;;;;;AAAA;;AAMO,IAAMA,kBAAkB,gBAAGC,KAAK,CAACC,aAAN,CAG/B,EAH+B,CAA3B","sourcesContent":["import * as React from 'react';\n\nexport type ActionType = (event: React.MouseEvent) => void;\n\nexport type ItemClickHandler = (action: ActionType, autoclose: boolean) => (event: React.MouseEvent) => void;\n\nexport const ActionSheetContext = React.createContext<{\n onItemClick?: ItemClickHandler;\n isDesktop?: boolean;\n}>({});\n"],"file":"ActionSheetContext.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetContext.ts"],"names":["ActionSheetContext","React","createContext"],"mappings":";;;;;;;;;AAAA;;AAMO,IAAMA,kBAAkB,gBAAGC,KAAK,CAACC,aAAN,CAG/B,EAH+B,CAA3B","sourcesContent":["import * as React from 'react';\n\nexport type ActionType = (event: React.MouseEvent) => void;\n\nexport type ItemClickHandler = (action: ActionType, immediateAction: ActionType, autoclose: boolean) => (event: React.MouseEvent) => void;\n\nexport const ActionSheetContext = React.createContext<{\n onItemClick?: ItemClickHandler;\n isDesktop?: boolean;\n}>({});\n"],"file":"ActionSheetContext.js"}
|
|
@@ -113,9 +113,7 @@ var ActionSheetDropdownDesktop = function ActionSheetDropdownDesktop(_ref) {
|
|
|
113
113
|
getRootRef: elementRef,
|
|
114
114
|
onClick: onClick,
|
|
115
115
|
style: dropdownStyles,
|
|
116
|
-
vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)('ActionSheet', platform), 'ActionSheet--desktop',
|
|
117
|
-
'ActionSheet--closing': closing
|
|
118
|
-
}, "ActionSheet--sizeY-".concat(sizeY))
|
|
116
|
+
vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)('ActionSheet', platform), 'ActionSheet--desktop', "ActionSheet--sizeY-".concat(sizeY))
|
|
119
117
|
}), children);
|
|
120
118
|
};
|
|
121
119
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","restProps","window","document","platform","sizeY","elementRef","React","useRef","useState","left","top","opacity","pointerEvents","dropdownStyles","setDropdownStyles","toggleEl","process","env","NODE_ENV","toggleRect","getBoundingClientRect","elementRect","isTop","width","pageXOffset","pageYOffset","height","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"names":["warn","getEl","ref","current","ActionSheetDropdownDesktop","children","toggleRef","closing","popupDirection","onClose","restProps","window","document","platform","sizeY","elementRef","React","useRef","useState","left","top","opacity","pointerEvents","dropdownStyles","setDropdownStyles","toggleEl","process","env","NODE_ENV","toggleRect","getBoundingClientRect","elementRect","isTop","width","pageXOffset","pageYOffset","height","bodyClickListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { getClassName } from '../../helpers/getClassName';\nimport { classNames } from '../../lib/classNames';\nimport { useDOM } from '../../lib/dom';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { SharedDropdownProps } from './types';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport './ActionSheet.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref as Element | null | undefined;\n}\n\nexport const ActionSheetDropdownDesktop: React.FC<SharedDropdownProps> = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n ...restProps\n}) => {\n const { window, document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const elementRef = React.useRef<HTMLDivElement>();\n\n const [dropdownStyles, setDropdownStyles] = React.useState<React.CSSProperties>({\n left: 0,\n top: 0,\n opacity: 0,\n pointerEvents: 'none',\n });\n useIsomorphicLayoutEffect(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n if (process.env.NODE_ENV === 'development') {\n warn('toggleRef not passed');\n }\n return;\n }\n\n const toggleRect = toggleEl.getBoundingClientRect();\n const elementRect = elementRef.current.getBoundingClientRect();\n const isTop = popupDirection === 'top' || typeof popupDirection === 'function' && popupDirection(elementRef) === 'top';\n\n setDropdownStyles({\n left: toggleRect.left + toggleRect.width - elementRect.width + window.pageXOffset,\n top: toggleRect.top + window.pageYOffset + (isTop ? -elementRect.height : toggleRect.height),\n });\n }, [toggleRef]);\n\n const bodyClickListener = useEventListener('click', (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document.body);\n });\n }, []);\n\n const onClick = React.useCallback((e) => e.stopPropagation(), []);\n\n return (\n <FocusTrap\n onClose={onClose}\n {...restProps}\n getRootRef={elementRef}\n onClick={onClick}\n style={dropdownStyles}\n vkuiClass={classNames(getClassName('ActionSheet', platform), 'ActionSheet--desktop', `ActionSheet--sizeY-${sizeY}`)}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"file":"ActionSheetDropdownDesktop.js"}
|
|
@@ -9,6 +9,13 @@ export interface ActionSheetItemProps extends React.HTMLAttributes<HTMLElement>,
|
|
|
9
9
|
autoclose?: boolean;
|
|
10
10
|
selectable?: boolean;
|
|
11
11
|
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.
|
|
14
|
+
* Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.
|
|
15
|
+
* Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.
|
|
16
|
+
*/
|
|
17
|
+
onClick?: React.MouseEventHandler<HTMLElement>;
|
|
18
|
+
onImmediateClick?: React.MouseEventHandler<HTMLElement>;
|
|
12
19
|
}
|
|
13
20
|
declare const _default: React.FC<ActionSheetItemProps>;
|
|
14
21
|
export default _default;
|
|
@@ -43,7 +43,7 @@ var _Caption = _interopRequireDefault(require("../Typography/Caption/Caption"));
|
|
|
43
43
|
|
|
44
44
|
var _withAdaptivity = require("../../hoc/withAdaptivity");
|
|
45
45
|
|
|
46
|
-
var _excluded = ["children", "autoclose", "mode", "meta", "subtitle", "before", "selectable", "value", "name", "checked", "defaultChecked", "onChange", "onClick", "sizeY"];
|
|
46
|
+
var _excluded = ["children", "autoclose", "mode", "meta", "subtitle", "before", "selectable", "value", "name", "checked", "defaultChecked", "onChange", "onClick", "sizeY", "onImmediateClick"];
|
|
47
47
|
|
|
48
48
|
var ActionSheetItem = function ActionSheetItem(_ref) {
|
|
49
49
|
var children = _ref.children,
|
|
@@ -60,6 +60,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
|
|
|
60
60
|
onChange = _ref.onChange,
|
|
61
61
|
onClick = _ref.onClick,
|
|
62
62
|
sizeY = _ref.sizeY,
|
|
63
|
+
onImmediateClick = _ref.onImmediateClick,
|
|
63
64
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
64
65
|
var platform = (0, _usePlatform.usePlatform)();
|
|
65
66
|
|
|
@@ -78,7 +79,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
|
|
|
78
79
|
|
|
79
80
|
var isCompact = (0, _utils.hasReactNode)(subtitle) || (0, _utils.hasReactNode)(meta) || selectable;
|
|
80
81
|
return (0, _jsxRuntime.createScopedElement)(_Tappable.default, (0, _extends2.default)({}, restProps, {
|
|
81
|
-
onClick: selectable ? onClick : onItemClick(onClick, autoclose),
|
|
82
|
+
onClick: selectable ? onClick : onItemClick(onClick, onImmediateClick, autoclose),
|
|
82
83
|
activeMode: "ActionSheetItem--active",
|
|
83
84
|
vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)('ActionSheetItem', platform), "ActionSheetItem--".concat(mode), "ActionSheetItem--sizeY-".concat(sizeY), {
|
|
84
85
|
'ActionSheetItem--compact': isCompact,
|
|
@@ -121,7 +122,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
|
|
|
121
122
|
name: name,
|
|
122
123
|
value: value,
|
|
123
124
|
onChange: onChange,
|
|
124
|
-
onClick: onItemClick(_utils.noop, autoclose),
|
|
125
|
+
onClick: onItemClick(_utils.noop, _utils.noop, autoclose),
|
|
125
126
|
defaultChecked: defaultChecked,
|
|
126
127
|
checked: checked,
|
|
127
128
|
disabled: restProps.disabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItem","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","SizeType","COMPACT","ANDROID","disabled","VKCOM","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItem","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","SizeType","COMPACT","ANDROID","disabled","VKCOM","defaultProps"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { classNames } from '../../lib/classNames';\nimport { getClassName } from '../../helpers/getClassName';\nimport Tappable from '../Tappable/Tappable';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasReactNode, noop } from '../../lib/utils';\nimport Subhead from '../Typography/Subhead/Subhead';\nimport Title from '../Typography/Title/Title';\nimport Text from '../Typography/Text/Text';\nimport { ANDROID, VKCOM } from '../../lib/platform';\nimport { Icon16Done, Icon24Done } from '@vkontakte/icons';\nimport { ActionSheetContext } from '../ActionSheet/ActionSheetContext';\nimport Caption from '../Typography/Caption/Caption';\nimport { withAdaptivity, AdaptivityProps, SizeType } from '../../hoc/withAdaptivity';\nimport './ActionSheetItem.css';\n\nexport interface ActionSheetItemProps extends\n React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<React.InputHTMLAttributes<HTMLInputElement>, 'name' | 'checked' | 'value'>,\n AdaptivityProps {\n mode?: 'default' | 'destructive' | 'cancel';\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItem: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode,\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } = React.useContext(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? 'a' : 'div';\n\n if (selectable) {\n Component = 'label';\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={selectable ? onClick : onItemClick(onClick, onImmediateClick, autoclose)}\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={\n classNames(\n getClassName('ActionSheetItem', platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n 'ActionSheetItem--compact': isCompact,\n 'ActionSheetItem--desktop': isDesktop,\n 'ActionSheetItem--withSubtitle': hasReactNode(subtitle),\n },\n )\n }\n Component={Component}\n >\n {hasReactNode(before) && <div vkuiClass=\"ActionSheetItem__before\">{before}</div>}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ?\n <React.Fragment>\n <Text\n weight={mode === 'cancel' ? 'medium' : 'regular'}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) &&\n <Text\n weight=\"regular\"\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Text>\n }\n </React.Fragment>\n :\n <React.Fragment>\n <Title\n weight={mode === 'cancel' ? 'medium' : 'regular'}\n level={isCompact || hasReactNode(before) || platform === ANDROID ? '3' : '2'}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n {hasReactNode(meta) &&\n <Title\n weight=\"regular\"\n level={isCompact || hasReactNode(before) || platform === ANDROID ? '3' : '2'}\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n }\n </React.Fragment>\n }\n </div>\n {hasReactNode(subtitle) && (sizeY === SizeType.COMPACT ?\n <Caption weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\" level=\"1\">{subtitle}</Caption>\n :\n <Subhead weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</Subhead>\n )}\n </div>\n {selectable &&\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, autoclose)}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n }\n </Tappable>\n );\n};\n\nActionSheetItem.defaultProps = {\n mode: 'default',\n};\n\nexport default withAdaptivity(ActionSheetItem, { sizeY: true });\n"],"file":"ActionSheetItem.js"}
|
|
@@ -32,10 +32,15 @@ export interface AdaptivityProps extends SizeProps {
|
|
|
32
32
|
* @ignore
|
|
33
33
|
*/
|
|
34
34
|
hasMouse?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* @ignore
|
|
37
|
+
*/
|
|
38
|
+
deviceHasHover?: boolean;
|
|
35
39
|
}
|
|
36
40
|
export interface AdaptivityContextInterface extends SizeProps {
|
|
37
41
|
viewWidth?: ViewWidth;
|
|
38
42
|
viewHeight?: ViewHeight;
|
|
39
43
|
hasMouse?: boolean;
|
|
44
|
+
deviceHasHover?: boolean;
|
|
40
45
|
}
|
|
41
46
|
export declare const AdaptivityContext: React.Context<AdaptivityContextInterface>;
|
|
@@ -9,6 +9,8 @@ exports.AdaptivityContext = exports.ViewHeight = exports.ViewWidth = exports.Siz
|
|
|
9
9
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
+
var _vkjs = require("@vkontakte/vkjs");
|
|
13
|
+
|
|
12
14
|
var SizeType;
|
|
13
15
|
exports.SizeType = SizeType;
|
|
14
16
|
|
|
@@ -39,7 +41,9 @@ exports.ViewHeight = ViewHeight;
|
|
|
39
41
|
|
|
40
42
|
var AdaptivityContext = /*#__PURE__*/React.createContext({
|
|
41
43
|
sizeX: SizeType.COMPACT,
|
|
42
|
-
sizeY: SizeType.REGULAR
|
|
44
|
+
sizeY: SizeType.REGULAR,
|
|
45
|
+
hasMouse: _vkjs.hasMouse,
|
|
46
|
+
deviceHasHover: _vkjs.hasHover
|
|
43
47
|
});
|
|
44
48
|
exports.AdaptivityContext = AdaptivityContext;
|
|
45
49
|
//# sourceMappingURL=AdaptivityContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"names":["SizeType","ViewWidth","ViewHeight","AdaptivityContext","React","createContext","sizeX","COMPACT","sizeY","REGULAR"],"mappings":";;;;;;;;;AAAA;;IAEYA,Q;;;WAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,wBAAAA,Q;;IAKAC,S;;;WAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,yBAAAA,S;;IAQAC,U;;;WAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"names":["SizeType","ViewWidth","ViewHeight","AdaptivityContext","React","createContext","sizeX","COMPACT","sizeY","REGULAR","hasMouse","deviceHasHover","hasHover"],"mappings":";;;;;;;;;AAAA;;AACA;;IAEYA,Q;;;WAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,wBAAAA,Q;;IAKAC,S;;;WAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,yBAAAA,S;;IAQAC,U;;;WAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;AAqCL,IAAMC,iBAAiB,gBAAGC,KAAK,CAACC,aAAN,CAAgD;AAC/EC,EAAAA,KAAK,EAAEN,QAAQ,CAACO,OAD+D;AAE/EC,EAAAA,KAAK,EAAER,QAAQ,CAACS,OAF+D;AAG/EC,EAAAA,QAAQ,EAARA,cAH+E;AAI/EC,EAAAA,cAAc,EAAEC;AAJ+D,CAAhD,CAA1B","sourcesContent":["import * as React from 'react';\nimport { hasHover, hasMouse } from '@vkontakte/vkjs';\n\nexport enum SizeType {\n COMPACT = 'compact',\n REGULAR = 'regular',\n}\n\nexport enum ViewWidth {\n SMALL_MOBILE = 1,\n MOBILE,\n SMALL_TABLET,\n TABLET,\n DESKTOP,\n}\n\nexport enum ViewHeight {\n EXTRA_SMALL = 1,\n SMALL,\n MEDIUM\n}\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasMouse?: boolean;\n /**\n * @ignore\n */\n deviceHasHover?: boolean;\n}\n\nexport interface AdaptivityContextInterface extends SizeProps {\n viewWidth?: ViewWidth;\n viewHeight?: ViewHeight;\n hasMouse?: boolean;\n deviceHasHover?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityContextInterface>({\n sizeX: SizeType.COMPACT,\n sizeY: SizeType.REGULAR,\n hasMouse,\n deviceHasHover: hasHover,\n});\n"],"file":"AdaptivityContext.js"}
|