@vkontakte/vkui 7.5.0 → 7.5.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/dist/components/Clickable/Clickable.d.ts.map +1 -1
- package/dist/components/Clickable/Clickable.js +110 -18
- package/dist/components/Clickable/Clickable.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +3 -4
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.js +2 -2
- package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/Clickable/Clickable.js +77 -14
- package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +3 -4
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +9 -2
- package/dist/cssm/components/ModalCard/ModalCard.module.css +14 -9
- package/dist/cssm/components/ModalPage/ModalPage.module.css +6 -2
- package/dist/cssm/components/ModalPage/ModalPageBase.js +2 -2
- package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +1 -1
- package/src/components/Clickable/Clickable.tsx +141 -32
- package/src/components/ImageBase/ImageBase.module.css +9 -2
- package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -1
- package/src/components/ImageBase/ImageBase.tsx +3 -4
- package/src/components/ModalCard/ModalCard.module.css +14 -8
- package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -1
- package/src/components/ModalPage/ModalPage.module.css +5 -1
- package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
- package/src/components/ModalPage/ModalPageBase.tsx +7 -2
- package/dist/components/Clickable/RealClickable.d.ts +0 -6
- package/dist/components/Clickable/RealClickable.d.ts.map +0 -1
- package/dist/components/Clickable/RealClickable.js +0 -91
- package/dist/components/Clickable/RealClickable.js.map +0 -1
- package/dist/cssm/components/Clickable/RealClickable.js +0 -61
- package/dist/cssm/components/Clickable/RealClickable.js.map +0 -1
- package/src/components/Clickable/RealClickable.tsx +0 -100
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { classNames, noop } from '@vkontakte/vkjs';
|
|
5
|
-
import { useFocusVisible } from '../../hooks/useFocusVisible';
|
|
6
|
-
import { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';
|
|
7
|
-
import { mergeCalls } from '../../lib/mergeCalls';
|
|
8
|
-
import { clickByKeyboardHandler } from '../../lib/utils';
|
|
9
|
-
import { RootComponent } from '../RootComponent/RootComponent';
|
|
10
|
-
import { type ClickableProps } from './Clickable';
|
|
11
|
-
import { ClickableLockStateContext, DEFAULT_ACTIVE_EFFECT_DELAY, useState } from './useState';
|
|
12
|
-
import styles from './Clickable.module.css';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Кликабельный компонент. Добавляем кучу обвесов.
|
|
16
|
-
*/
|
|
17
|
-
export const RealClickable = <T,>({
|
|
18
|
-
baseClassName,
|
|
19
|
-
children,
|
|
20
|
-
focusVisibleMode = 'inside',
|
|
21
|
-
activeClassName,
|
|
22
|
-
hoverClassName,
|
|
23
|
-
activeEffectDelay = DEFAULT_ACTIVE_EFFECT_DELAY,
|
|
24
|
-
hasHover = true,
|
|
25
|
-
hasActive = true,
|
|
26
|
-
hovered,
|
|
27
|
-
activated,
|
|
28
|
-
hasHoverWithChildren,
|
|
29
|
-
unlockParentHover,
|
|
30
|
-
onPointerEnter,
|
|
31
|
-
onPointerLeave,
|
|
32
|
-
onPointerDown,
|
|
33
|
-
onPointerCancel,
|
|
34
|
-
onPointerUp,
|
|
35
|
-
onBlur,
|
|
36
|
-
onFocus,
|
|
37
|
-
onKeyDown,
|
|
38
|
-
DefaultComponent,
|
|
39
|
-
...restProps
|
|
40
|
-
}: ClickableProps<T>) => {
|
|
41
|
-
const { focusVisible, ...focusEvents } = useFocusVisible();
|
|
42
|
-
const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: focusVisibleMode });
|
|
43
|
-
|
|
44
|
-
const {
|
|
45
|
-
stateClassName,
|
|
46
|
-
setLockHoverBubblingImmediate,
|
|
47
|
-
setLockActiveBubblingImmediate,
|
|
48
|
-
...stateEvents
|
|
49
|
-
} = useState({
|
|
50
|
-
activeClassName,
|
|
51
|
-
hoverClassName,
|
|
52
|
-
activeEffectDelay,
|
|
53
|
-
hasHover,
|
|
54
|
-
hasActive,
|
|
55
|
-
hovered,
|
|
56
|
-
activated,
|
|
57
|
-
unlockParentHover,
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
const handlers = mergeCalls(
|
|
61
|
-
focusEvents,
|
|
62
|
-
stateEvents,
|
|
63
|
-
{ onKeyDown: clickByKeyboardHandler },
|
|
64
|
-
{
|
|
65
|
-
onPointerEnter,
|
|
66
|
-
onPointerLeave,
|
|
67
|
-
onPointerDown,
|
|
68
|
-
onPointerCancel,
|
|
69
|
-
onPointerUp,
|
|
70
|
-
onBlur,
|
|
71
|
-
onFocus,
|
|
72
|
-
onKeyDown,
|
|
73
|
-
},
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
const lockStateContextValue = React.useMemo(
|
|
77
|
-
() => ({
|
|
78
|
-
lockHoverStateBubbling: hasHoverWithChildren ? noop : setLockHoverBubblingImmediate,
|
|
79
|
-
lockActiveStateBubbling: setLockActiveBubblingImmediate,
|
|
80
|
-
}),
|
|
81
|
-
[setLockHoverBubblingImmediate, setLockActiveBubblingImmediate, hasHoverWithChildren],
|
|
82
|
-
);
|
|
83
|
-
|
|
84
|
-
return (
|
|
85
|
-
<RootComponent
|
|
86
|
-
baseClassName={classNames(
|
|
87
|
-
baseClassName,
|
|
88
|
-
styles.realClickable,
|
|
89
|
-
focusVisibleClassNames,
|
|
90
|
-
stateClassName,
|
|
91
|
-
)}
|
|
92
|
-
{...handlers}
|
|
93
|
-
{...restProps}
|
|
94
|
-
>
|
|
95
|
-
<ClickableLockStateContext.Provider value={lockStateContextValue}>
|
|
96
|
-
{children}
|
|
97
|
-
</ClickableLockStateContext.Provider>
|
|
98
|
-
</RootComponent>
|
|
99
|
-
);
|
|
100
|
-
};
|