@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
package/package.json
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import * as React from 'react';
|
|
2
|
-
import { classNames } from '@vkontakte/vkjs';
|
|
4
|
+
import { classNames, noop } from '@vkontakte/vkjs';
|
|
5
|
+
import { useFocusVisible } from '../../hooks/useFocusVisible';
|
|
3
6
|
import { type FocusVisibleModeProps } from '../../hooks/useFocusVisibleClassName';
|
|
7
|
+
import { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';
|
|
8
|
+
import { mergeCalls } from '../../lib/mergeCalls';
|
|
9
|
+
import { clickByKeyboardHandler } from '../../lib/utils';
|
|
4
10
|
import { RootComponent, type RootComponentProps } from '../RootComponent/RootComponent';
|
|
5
|
-
import { RealClickable } from './RealClickable';
|
|
6
11
|
import { type StateProps } from './useState';
|
|
12
|
+
import { ClickableLockStateContext, DEFAULT_ACTIVE_EFFECT_DELAY, useState } from './useState';
|
|
7
13
|
import styles from './Clickable.module.css';
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
extends RootComponentProps<T>,
|
|
11
|
-
FocusVisibleModeProps,
|
|
12
|
-
StateProps {
|
|
13
|
-
/**
|
|
14
|
-
* Компонент который будет при передаче `onClick`. По умолчанию `"div"`.
|
|
15
|
-
*/
|
|
16
|
-
DefaultComponent?: React.ElementType;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Некликабельный компонент. Отключаем возможность нажимать на компонент.
|
|
21
|
-
*/
|
|
22
|
-
const NonClickable = <T,>({
|
|
15
|
+
function nonClickableProps<T>({
|
|
23
16
|
href,
|
|
24
17
|
onClick,
|
|
25
18
|
onClickCapture,
|
|
@@ -35,7 +28,132 @@ const NonClickable = <T,>({
|
|
|
35
28
|
DefaultComponent,
|
|
36
29
|
Component,
|
|
37
30
|
...restProps
|
|
38
|
-
}: ClickableProps<T>)
|
|
31
|
+
}: ClickableProps<T>) {
|
|
32
|
+
return {
|
|
33
|
+
Component: Component || DefaultComponent,
|
|
34
|
+
...restProps,
|
|
35
|
+
lockStateContextValue: {
|
|
36
|
+
lockHoverStateBubbling: undefined,
|
|
37
|
+
lockActiveStateBubbling: undefined,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function useClickableProps<T>({
|
|
43
|
+
baseClassName,
|
|
44
|
+
focusVisibleMode = 'inside',
|
|
45
|
+
activeClassName,
|
|
46
|
+
hoverClassName,
|
|
47
|
+
activeEffectDelay = DEFAULT_ACTIVE_EFFECT_DELAY,
|
|
48
|
+
hasHover = true,
|
|
49
|
+
hasActive = true,
|
|
50
|
+
hovered,
|
|
51
|
+
activated,
|
|
52
|
+
hasHoverWithChildren,
|
|
53
|
+
unlockParentHover,
|
|
54
|
+
onPointerEnter,
|
|
55
|
+
onPointerLeave,
|
|
56
|
+
onPointerDown,
|
|
57
|
+
onPointerCancel,
|
|
58
|
+
onPointerUp,
|
|
59
|
+
onBlur,
|
|
60
|
+
onFocus,
|
|
61
|
+
onKeyDown,
|
|
62
|
+
DefaultComponent,
|
|
63
|
+
...restProps
|
|
64
|
+
}: ClickableProps<T>) {
|
|
65
|
+
const { focusVisible, ...focusEvents } = useFocusVisible();
|
|
66
|
+
const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: focusVisibleMode });
|
|
67
|
+
|
|
68
|
+
const {
|
|
69
|
+
stateClassName,
|
|
70
|
+
setLockHoverBubblingImmediate,
|
|
71
|
+
setLockActiveBubblingImmediate,
|
|
72
|
+
...stateEvents
|
|
73
|
+
} = useState({
|
|
74
|
+
activeClassName,
|
|
75
|
+
hoverClassName,
|
|
76
|
+
activeEffectDelay,
|
|
77
|
+
hasHover,
|
|
78
|
+
hasActive,
|
|
79
|
+
hovered,
|
|
80
|
+
activated,
|
|
81
|
+
unlockParentHover,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const handlers = mergeCalls(
|
|
85
|
+
focusEvents,
|
|
86
|
+
stateEvents,
|
|
87
|
+
{ onKeyDown: clickByKeyboardHandler },
|
|
88
|
+
{
|
|
89
|
+
onPointerEnter,
|
|
90
|
+
onPointerLeave,
|
|
91
|
+
onPointerDown,
|
|
92
|
+
onPointerCancel,
|
|
93
|
+
onPointerUp,
|
|
94
|
+
onBlur,
|
|
95
|
+
onFocus,
|
|
96
|
+
onKeyDown,
|
|
97
|
+
},
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
const lockStateContextValue = React.useMemo(
|
|
101
|
+
() => ({
|
|
102
|
+
lockHoverStateBubbling: hasHoverWithChildren ? noop : setLockHoverBubblingImmediate,
|
|
103
|
+
lockActiveStateBubbling: setLockActiveBubblingImmediate,
|
|
104
|
+
}),
|
|
105
|
+
[setLockHoverBubblingImmediate, setLockActiveBubblingImmediate, hasHoverWithChildren],
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
baseClassName: classNames(
|
|
110
|
+
baseClassName,
|
|
111
|
+
styles.realClickable,
|
|
112
|
+
focusVisibleClassNames,
|
|
113
|
+
stateClassName,
|
|
114
|
+
),
|
|
115
|
+
...handlers,
|
|
116
|
+
...restProps,
|
|
117
|
+
lockStateContextValue,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function useProps<T>(props: ClickableProps<T>): RootComponentProps<T> & {
|
|
122
|
+
lockStateContextValue: {
|
|
123
|
+
lockHoverStateBubbling: undefined | ((...args: any[]) => void);
|
|
124
|
+
lockActiveStateBubbling: undefined | ((...args: any[]) => void);
|
|
125
|
+
};
|
|
126
|
+
} {
|
|
127
|
+
const commonProps = component(props);
|
|
128
|
+
const isClickable = checkClickable(props);
|
|
129
|
+
|
|
130
|
+
const {
|
|
131
|
+
baseClassName,
|
|
132
|
+
disabled, // Игнорируем disabled из пропсов, т.к. он обрабатывается в commonProps
|
|
133
|
+
Component,
|
|
134
|
+
...restProps
|
|
135
|
+
} = props;
|
|
136
|
+
|
|
137
|
+
const nextProps = {
|
|
138
|
+
baseClassName: classNames(baseClassName, styles.host),
|
|
139
|
+
...commonProps,
|
|
140
|
+
...restProps,
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
const clickableProps = useClickableProps(nextProps);
|
|
144
|
+
|
|
145
|
+
return isClickable ? clickableProps : nonClickableProps(nextProps);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface ClickableProps<T = HTMLElement>
|
|
149
|
+
extends RootComponentProps<T>,
|
|
150
|
+
FocusVisibleModeProps,
|
|
151
|
+
StateProps {
|
|
152
|
+
/**
|
|
153
|
+
* Компонент который будет при передаче `onClick`. По умолчанию `"div"`.
|
|
154
|
+
*/
|
|
155
|
+
DefaultComponent?: React.ElementType;
|
|
156
|
+
}
|
|
39
157
|
|
|
40
158
|
/**
|
|
41
159
|
* Проверяем, является ли компонент кликабельным.
|
|
@@ -113,22 +231,13 @@ function component<T>({
|
|
|
113
231
|
* - a11y компонентов.
|
|
114
232
|
*/
|
|
115
233
|
export const Clickable = <T,>(props: ClickableProps<T>): React.ReactNode => {
|
|
116
|
-
const
|
|
117
|
-
const isClickable = checkClickable(props);
|
|
118
|
-
const Component = isClickable ? RealClickable : NonClickable;
|
|
119
|
-
|
|
120
|
-
const {
|
|
121
|
-
baseClassName,
|
|
122
|
-
disabled, // Игнорируем disabled из пропсов, т.к. он обрабатывается в commonProps
|
|
123
|
-
Component: ignore,
|
|
124
|
-
...restProps
|
|
125
|
-
} = props;
|
|
234
|
+
const { lockStateContextValue, children, ...restProps } = useProps(props);
|
|
126
235
|
|
|
127
236
|
return (
|
|
128
|
-
<
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
237
|
+
<RootComponent {...restProps}>
|
|
238
|
+
<ClickableLockStateContext.Provider value={lockStateContextValue}>
|
|
239
|
+
{children}
|
|
240
|
+
</ClickableLockStateContext.Provider>
|
|
241
|
+
</RootComponent>
|
|
133
242
|
);
|
|
134
243
|
};
|
|
@@ -45,6 +45,13 @@
|
|
|
45
45
|
display: block;
|
|
46
46
|
inline-size: 100%;
|
|
47
47
|
block-size: 100%;
|
|
48
|
+
/* Скрывает текст из атрибута alt. */
|
|
49
|
+
color: transparent;
|
|
50
|
+
/*
|
|
51
|
+
Скрывает альтернативную иконку, которая появляется когда нет атрибута alt.
|
|
52
|
+
Работает только в Chromium. В остальных ситуациях сработает `.imgHiddenAlt`, который добавляется на `onError`.
|
|
53
|
+
*/
|
|
54
|
+
text-indent: 10000px;
|
|
48
55
|
border: 0;
|
|
49
56
|
border-radius: inherit;
|
|
50
57
|
}
|
|
@@ -88,8 +95,8 @@
|
|
|
88
95
|
);
|
|
89
96
|
}
|
|
90
97
|
|
|
91
|
-
.
|
|
92
|
-
|
|
98
|
+
.imgHiddenAlt {
|
|
99
|
+
opacity: 0;
|
|
93
100
|
}
|
|
94
101
|
|
|
95
102
|
.fallback {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["./ImageBase.module.css"],"names":["host","loaded","transparentBackground","children","border","img","imgKeepRatio","imgObjectFitContain","imgObjectFitCover","imgObjectFitNone","imgObjectFitScaleDown","withObjectPosition","withFilter","fallback"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAaAC,Q,WAbA;AAAA,E,aAcAC,uB,WAdA;AAAA,E,aAkBAC,U,WAlBA;AAAA,E,aAmBAC,Q,WAnBA;AAAA,E,aA2BAD,U,WA3BA;AAAA,E,aAkCAC,Q,WAlCA;AAAA,E,aA2CAC,K,WA3CA;AAAA,E,
|
|
1
|
+
{"version":3,"sources":["./ImageBase.module.css"],"names":["host","loaded","transparentBackground","children","border","img","imgKeepRatio","imgObjectFitContain","imgObjectFitCover","imgObjectFitNone","imgObjectFitScaleDown","withObjectPosition","withFilter","imgHiddenAlt","fallback"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAaAC,Q,WAbA;AAAA,E,aAcAC,uB,WAdA;AAAA,E,aAkBAC,U,WAlBA;AAAA,E,aAmBAC,Q,WAnBA;AAAA,E,aA2BAD,U,WA3BA;AAAA,E,aAkCAC,Q,WAlCA;AAAA,E,aA2CAC,K,WA3CA;AAAA,E,aA0DAC,c,WA1DA;AAAA,E,aA+DAC,qB,WA/DA;AAAA,E,aAmEAC,mB,WAnEA;AAAA,E,aAuEAC,kB,WAvEA;AAAA,E,aA2EAC,uB,WA3EA;AAAA,E,aA+EAC,oB,WA/EA;AAAA,E,aAwFAC,Y,WAxFA;AAAA,E,aAiGAC,c,WAjGA;AAAA,E,aAqGAC,U,WArGA;AAAA,E,aAkH4Cd,M,WAlH5C;AAAA,E,aAuH2CA,M,WAvH3C;AAAA;AAAA","file":"ImageBase.module.css.d.ts","sourceRoot":""}
|
|
@@ -202,13 +202,11 @@ export const ImageBase: React.FC<ImageBaseProps> & {
|
|
|
202
202
|
const mouseOutHandlersRef = useRef<VoidFunction[]>([]);
|
|
203
203
|
|
|
204
204
|
const hasSrc = src || srcSet;
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;
|
|
205
|
+
const fallbackIcon = failed || !hasSrc ? fallbackIconProp : null;
|
|
208
206
|
|
|
209
207
|
if (process.env.NODE_ENV === 'development') {
|
|
210
208
|
validateSize(size);
|
|
211
|
-
if (fallbackIcon) {
|
|
209
|
+
if (React.isValidElement(fallbackIcon)) {
|
|
212
210
|
validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });
|
|
213
211
|
}
|
|
214
212
|
}
|
|
@@ -304,6 +302,7 @@ export const ImageBase: React.FC<ImageBaseProps> & {
|
|
|
304
302
|
objectPosition && styles.withObjectPosition,
|
|
305
303
|
filter && styles.withFilter,
|
|
306
304
|
keepAspectRatio && styles.imgKeepRatio,
|
|
305
|
+
failed && styles.imgHiddenAlt,
|
|
307
306
|
)}
|
|
308
307
|
crossOrigin={crossOrigin}
|
|
309
308
|
decoding={decoding}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
.host {
|
|
2
|
-
inline-size: 100%;
|
|
3
|
-
padding: var(--vkui--spacing_size_m);
|
|
4
2
|
margin-inline: auto;
|
|
5
3
|
}
|
|
6
4
|
|
|
@@ -26,16 +24,22 @@
|
|
|
26
24
|
--vkui_internal_ModalCard--safeAreaInsetBottom: var(--vkui_internal--safe_area_inset_bottom);
|
|
27
25
|
|
|
28
26
|
position: absolute;
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
/*
|
|
28
|
+
* Используем inset вместо padding, чтобы срабатывала логика с закрытие с Click Outside.
|
|
29
|
+
* Для этого также нужны `inline-size: auto` и `margin-inline: auto`.
|
|
30
|
+
*/
|
|
31
|
+
inset-block-end: calc(
|
|
32
|
+
var(--vkui--spacing_size_m) + var(--vkui_internal_ModalCard--safeAreaInsetBottom)
|
|
33
|
+
);
|
|
34
|
+
inset-inline: var(--vkui--spacing_size_m);
|
|
31
35
|
box-sizing: border-box;
|
|
32
|
-
|
|
36
|
+
inline-size: auto;
|
|
33
37
|
transform: translate3d(0, calc(100% - var(--vkui_internal_ModalCard--translateY)), 0);
|
|
34
38
|
transition: transform 0.4s var(--vkui_internal--spring-easing);
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
.hostMobile.hostStateEnter {
|
|
38
|
-
transform: translate3d(0, 100
|
|
42
|
+
transform: translate3d(0, calc(100% + var(--vkui_internal_ModalCard--safeAreaInsetBottom)), 0);
|
|
39
43
|
transition: none;
|
|
40
44
|
}
|
|
41
45
|
|
|
@@ -44,18 +48,20 @@
|
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
.hostMobile.hostStateExiting {
|
|
47
|
-
transform: translate3d(0, 100
|
|
51
|
+
transform: translate3d(0, calc(100% + var(--vkui_internal_ModalCard--safeAreaInsetBottom)), 0);
|
|
48
52
|
transition: transform 0.2s ease;
|
|
49
53
|
}
|
|
50
54
|
|
|
51
55
|
.hostMobile.hostStateExited {
|
|
52
|
-
transform: translate3d(0, 100
|
|
56
|
+
transform: translate3d(0, calc(100% + var(--vkui_internal_ModalCard--safeAreaInsetBottom)), 0);
|
|
53
57
|
transition: none;
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
/* Desktop */
|
|
57
61
|
.hostDesktop {
|
|
58
62
|
box-sizing: content-box;
|
|
63
|
+
inline-size: 100%;
|
|
64
|
+
padding: var(--vkui--spacing_size_m);
|
|
59
65
|
margin-block: auto;
|
|
60
66
|
opacity: 1;
|
|
61
67
|
transition: opacity 340ms var(--vkui--animation_easing_platform);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["./ModalCard.module.css"],"names":["host","hostMaxWidthS","hostMaxWidthM","hostMaxWidthL","hostMobile","hostStateEnter","hostStateEntering","hostStateExiting","hostStateExited","hostDesktop"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,
|
|
1
|
+
{"version":3,"sources":["./ModalCard.module.css"],"names":["host","hostMaxWidthS","hostMaxWidthM","hostMaxWidthL","hostMobile","hostStateEnter","hostStateEntering","hostStateExiting","hostStateExited","hostDesktop"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aAIAA,M,WAJA;AAAA,E,aAQAC,e,WARA;AAAA,E,aAYAC,e,WAZA;AAAA,E,aAgBAC,e,WAhBA;AAAA,E,aAqBAC,Y,WArBA;AAAA,E,aAwCAA,Y,WAxCA;AAAA,E,aAwCWC,gB,WAxCX;AAAA,E,aA6CAD,Y,WA7CA;AAAA,E,aA6CWE,mB,WA7CX;AAAA,E,aAiDAF,Y,WAjDA;AAAA,E,aAiDWG,kB,WAjDX;AAAA,E,aAsDAH,Y,WAtDA;AAAA,E,aAsDWI,iB,WAtDX;AAAA,E,aA4DAC,a,WA5DA;AAAA,E,aAqEAA,a,WArEA;AAAA,E,aAqEYJ,gB,WArEZ;AAAA,E,aA0EAI,a,WA1EA;AAAA,E,aA0EYH,mB,WA1EZ;AAAA,E,aA8EAG,a,WA9EA;AAAA,E,aA8EYF,kB,WA9EZ;AAAA,E,aAkFAE,a,WAlFA;AAAA,E,aAkFYD,iB,WAlFZ;AAAA;AAAA","file":"ModalCard.module.css.d.ts","sourceRoot":""}
|
|
@@ -89,7 +89,6 @@
|
|
|
89
89
|
inset-inline-start: 0;
|
|
90
90
|
block-size: var(--vkui_internal_ModalPageDocument--snapPoint);
|
|
91
91
|
max-block-size: 100%;
|
|
92
|
-
padding-block-end: var(--vkui_internal_ModalPageDocument--safeAreaInsetBottom);
|
|
93
92
|
pointer-events: auto;
|
|
94
93
|
touch-action: pan-y;
|
|
95
94
|
transform: translate3d(0, 0, 0);
|
|
@@ -139,6 +138,7 @@
|
|
|
139
138
|
}
|
|
140
139
|
|
|
141
140
|
.children {
|
|
141
|
+
box-sizing: border-box;
|
|
142
142
|
/*
|
|
143
143
|
* Удерживает высоту в пределах 100% родителя при переполнении контента.
|
|
144
144
|
*
|
|
@@ -157,6 +157,10 @@
|
|
|
157
157
|
border-start-end-radius: var(--vkui--size_border_radius_paper--regular);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
+
.childrenMobile {
|
|
161
|
+
padding-block-end: var(--vkui_internal_ModalPageDocument--safeAreaInsetBottom);
|
|
162
|
+
}
|
|
163
|
+
|
|
160
164
|
/* Desktop */
|
|
161
165
|
.childrenDesktop {
|
|
162
166
|
border-end-start-radius: var(--vkui--size_border_radius_paper--regular);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["./ModalPage.module.css"],"names":["host","hostMobile","hostMobileSafeAreaInsetTop","hostMobileSafeAreaInsetTopWithCustomOffset","hostDesktop","hostDesktopMaxWidthS","hostDesktopMaxWidthM","hostDesktopMaxWidthL","document","documentMobile","documentStateEnter","documentStateEntering","documentStateExiting","documentStateExited","documentDesktop","children","childrenDesktop"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aASAC,Y,WATA;AAAA,E,aAoBAC,4B,WApBA;AAAA,E,aAwBAC,4C,WAxBA;AAAA,E,aA+BAC,a,WA/BA;AAAA,E,aAgDEA,a,WAhDF;AAAA,E,aAuDAC,sB,WAvDA;AAAA,E,aA2DAC,sB,WA3DA;AAAA,E,aA+DAC,sB,WA/DA;AAAA,E,aAmEAC,U,WAnEA;AAAA,E,aAgFAC,gB,WAhFA;AAAA,E,
|
|
1
|
+
{"version":3,"sources":["./ModalPage.module.css"],"names":["host","hostMobile","hostMobileSafeAreaInsetTop","hostMobileSafeAreaInsetTopWithCustomOffset","hostDesktop","hostDesktopMaxWidthS","hostDesktopMaxWidthM","hostDesktopMaxWidthL","document","documentMobile","documentStateEnter","documentStateEntering","documentStateExiting","documentStateExited","documentDesktop","children","childrenMobile","childrenDesktop"],"mappings":"AAAA;AAAA,E,aAAAA,M,WAAA;AAAA,E,aASAC,Y,WATA;AAAA,E,aAoBAC,4B,WApBA;AAAA,E,aAwBAC,4C,WAxBA;AAAA,E,aA+BAC,a,WA/BA;AAAA,E,aAgDEA,a,WAhDF;AAAA,E,aAuDAC,sB,WAvDA;AAAA,E,aA2DAC,sB,WA3DA;AAAA,E,aA+DAC,sB,WA/DA;AAAA,E,aAmEAC,U,WAnEA;AAAA,E,aAgFAC,gB,WAhFA;AAAA,E,aAiGAA,gB,WAjGA;AAAA,E,aAiGeC,oB,WAjGf;AAAA,E,aAqGAD,gB,WArGA;AAAA,E,aAqGeE,uB,WArGf;AAAA,E,aA0GAF,gB,WA1GA;AAAA,E,aA0GeG,sB,WA1Gf;AAAA,E,aA+GAH,gB,WA/GA;AAAA,E,aA+GeI,qB,WA/Gf;AAAA,E,aAoHAC,iB,WApHA;AAAA,E,aAyHAA,iB,WAzHA;AAAA,E,aAyHgBJ,oB,WAzHhB;AAAA,E,aA6HAI,iB,WA7HA;AAAA,E,aA6HgBH,uB,WA7HhB;AAAA,E,aAkIAG,iB,WAlIA;AAAA,E,aAkIgBF,sB,WAlIhB;AAAA,E,aAuIAE,iB,WAvIA;AAAA,E,aAuIgBD,qB,WAvIhB;AAAA,E,aA2IAE,U,WA3IA;AAAA,E,aA+JAC,gB,WA/JA;AAAA,E,aAoKAC,iB,WApKA;AAAA;AAAA","file":"ModalPage.module.css.d.ts","sourceRoot":""}
|
|
@@ -61,7 +61,7 @@ export const ModalPageBase = ({
|
|
|
61
61
|
? function handleDismissButtonClick(event) {
|
|
62
62
|
onClose('click-close-button', event);
|
|
63
63
|
}
|
|
64
|
-
:
|
|
64
|
+
: noop
|
|
65
65
|
}
|
|
66
66
|
aria-label={modalDismissButtonLabel}
|
|
67
67
|
>
|
|
@@ -71,7 +71,12 @@ export const ModalPageBase = ({
|
|
|
71
71
|
|
|
72
72
|
return (
|
|
73
73
|
<RootComponent role="document" baseClassName={styles.document} {...restProps}>
|
|
74
|
-
<div
|
|
74
|
+
<div
|
|
75
|
+
className={classNames(
|
|
76
|
+
styles.children,
|
|
77
|
+
isDesktop ? styles.childrenDesktop : styles.childrenMobile,
|
|
78
|
+
)}
|
|
79
|
+
>
|
|
75
80
|
{hasReactNode(header) && header}
|
|
76
81
|
<ModalPageContent
|
|
77
82
|
getRootRef={getRef}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type ClickableProps } from './Clickable';
|
|
2
|
-
/**
|
|
3
|
-
* Кликабельный компонент. Добавляем кучу обвесов.
|
|
4
|
-
*/
|
|
5
|
-
export declare const RealClickable: <T>({ baseClassName, children, focusVisibleMode, activeClassName, hoverClassName, activeEffectDelay, hasHover, hasActive, hovered, activated, hasHoverWithChildren, unlockParentHover, onPointerEnter, onPointerLeave, onPointerDown, onPointerCancel, onPointerUp, onBlur, onFocus, onKeyDown, DefaultComponent, ...restProps }: ClickableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
//# sourceMappingURL=RealClickable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RealClickable.d.ts","sourceRoot":"","sources":["../../../src/components/Clickable/RealClickable.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAG,8TAuB/B,cAAc,CAAC,CAAC,CAAC,4CA4DnB,CAAC"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
-
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
|
-
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
5
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
import * as React from "react";
|
|
7
|
-
import { classNames, noop } from "@vkontakte/vkjs";
|
|
8
|
-
import { useFocusVisible } from "../../hooks/useFocusVisible.js";
|
|
9
|
-
import { useFocusVisibleClassName } from "../../hooks/useFocusVisibleClassName.js";
|
|
10
|
-
import { mergeCalls } from "../../lib/mergeCalls.js";
|
|
11
|
-
import { clickByKeyboardHandler } from "../../lib/utils.js";
|
|
12
|
-
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
13
|
-
import { ClickableLockStateContext, DEFAULT_ACTIVE_EFFECT_DELAY, useState } from "./useState.js";
|
|
14
|
-
/**
|
|
15
|
-
* Кликабельный компонент. Добавляем кучу обвесов.
|
|
16
|
-
*/ export const RealClickable = (_param)=>{
|
|
17
|
-
var { baseClassName, children, focusVisibleMode = 'inside', activeClassName, hoverClassName, activeEffectDelay = DEFAULT_ACTIVE_EFFECT_DELAY, hasHover = true, hasActive = true, hovered, activated, hasHoverWithChildren, unlockParentHover, onPointerEnter, onPointerLeave, onPointerDown, onPointerCancel, onPointerUp, onBlur, onFocus, onKeyDown, DefaultComponent } = _param, restProps = _object_without_properties(_param, [
|
|
18
|
-
"baseClassName",
|
|
19
|
-
"children",
|
|
20
|
-
"focusVisibleMode",
|
|
21
|
-
"activeClassName",
|
|
22
|
-
"hoverClassName",
|
|
23
|
-
"activeEffectDelay",
|
|
24
|
-
"hasHover",
|
|
25
|
-
"hasActive",
|
|
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
|
-
]);
|
|
40
|
-
const _useFocusVisible = useFocusVisible(), { focusVisible } = _useFocusVisible, focusEvents = _object_without_properties(_useFocusVisible, [
|
|
41
|
-
"focusVisible"
|
|
42
|
-
]);
|
|
43
|
-
const focusVisibleClassNames = useFocusVisibleClassName({
|
|
44
|
-
focusVisible,
|
|
45
|
-
mode: focusVisibleMode
|
|
46
|
-
});
|
|
47
|
-
const _useState = useState({
|
|
48
|
-
activeClassName,
|
|
49
|
-
hoverClassName,
|
|
50
|
-
activeEffectDelay,
|
|
51
|
-
hasHover,
|
|
52
|
-
hasActive,
|
|
53
|
-
hovered,
|
|
54
|
-
activated,
|
|
55
|
-
unlockParentHover
|
|
56
|
-
}), { stateClassName, setLockHoverBubblingImmediate, setLockActiveBubblingImmediate } = _useState, stateEvents = _object_without_properties(_useState, [
|
|
57
|
-
"stateClassName",
|
|
58
|
-
"setLockHoverBubblingImmediate",
|
|
59
|
-
"setLockActiveBubblingImmediate"
|
|
60
|
-
]);
|
|
61
|
-
const handlers = mergeCalls(focusEvents, stateEvents, {
|
|
62
|
-
onKeyDown: clickByKeyboardHandler
|
|
63
|
-
}, {
|
|
64
|
-
onPointerEnter,
|
|
65
|
-
onPointerLeave,
|
|
66
|
-
onPointerDown,
|
|
67
|
-
onPointerCancel,
|
|
68
|
-
onPointerUp,
|
|
69
|
-
onBlur,
|
|
70
|
-
onFocus,
|
|
71
|
-
onKeyDown
|
|
72
|
-
});
|
|
73
|
-
const lockStateContextValue = React.useMemo(()=>({
|
|
74
|
-
lockHoverStateBubbling: hasHoverWithChildren ? noop : setLockHoverBubblingImmediate,
|
|
75
|
-
lockActiveStateBubbling: setLockActiveBubblingImmediate
|
|
76
|
-
}), [
|
|
77
|
-
setLockHoverBubblingImmediate,
|
|
78
|
-
setLockActiveBubblingImmediate,
|
|
79
|
-
hasHoverWithChildren
|
|
80
|
-
]);
|
|
81
|
-
return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({
|
|
82
|
-
baseClassName: classNames(baseClassName, "vkuiClickable__realClickable", focusVisibleClassNames, stateClassName)
|
|
83
|
-
}, handlers, restProps), {
|
|
84
|
-
children: /*#__PURE__*/ _jsx(ClickableLockStateContext.Provider, {
|
|
85
|
-
value: lockStateContextValue,
|
|
86
|
-
children: children
|
|
87
|
-
})
|
|
88
|
-
}));
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
//# sourceMappingURL=RealClickable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Clickable/RealClickable.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';\nimport { mergeCalls } from '../../lib/mergeCalls';\nimport { clickByKeyboardHandler } from '../../lib/utils';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { type ClickableProps } from './Clickable';\nimport { ClickableLockStateContext, DEFAULT_ACTIVE_EFFECT_DELAY, useState } from './useState';\nimport styles from './Clickable.module.css';\n\n/**\n * Кликабельный компонент. Добавляем кучу обвесов.\n */\nexport const RealClickable = <T,>({\n baseClassName,\n children,\n focusVisibleMode = 'inside',\n activeClassName,\n hoverClassName,\n activeEffectDelay = DEFAULT_ACTIVE_EFFECT_DELAY,\n hasHover = true,\n hasActive = true,\n hovered,\n activated,\n hasHoverWithChildren,\n unlockParentHover,\n onPointerEnter,\n onPointerLeave,\n onPointerDown,\n onPointerCancel,\n onPointerUp,\n onBlur,\n onFocus,\n onKeyDown,\n DefaultComponent,\n ...restProps\n}: ClickableProps<T>) => {\n const { focusVisible, ...focusEvents } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: focusVisibleMode });\n\n const {\n stateClassName,\n setLockHoverBubblingImmediate,\n setLockActiveBubblingImmediate,\n ...stateEvents\n } = useState({\n activeClassName,\n hoverClassName,\n activeEffectDelay,\n hasHover,\n hasActive,\n hovered,\n activated,\n unlockParentHover,\n });\n\n const handlers = mergeCalls(\n focusEvents,\n stateEvents,\n { onKeyDown: clickByKeyboardHandler },\n {\n onPointerEnter,\n onPointerLeave,\n onPointerDown,\n onPointerCancel,\n onPointerUp,\n onBlur,\n onFocus,\n onKeyDown,\n },\n );\n\n const lockStateContextValue = React.useMemo(\n () => ({\n lockHoverStateBubbling: hasHoverWithChildren ? noop : setLockHoverBubblingImmediate,\n lockActiveStateBubbling: setLockActiveBubblingImmediate,\n }),\n [setLockHoverBubblingImmediate, setLockActiveBubblingImmediate, hasHoverWithChildren],\n );\n\n return (\n <RootComponent\n baseClassName={classNames(\n baseClassName,\n styles.realClickable,\n focusVisibleClassNames,\n stateClassName,\n )}\n {...handlers}\n {...restProps}\n >\n <ClickableLockStateContext.Provider value={lockStateContextValue}>\n {children}\n </ClickableLockStateContext.Provider>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","noop","useFocusVisible","useFocusVisibleClassName","mergeCalls","clickByKeyboardHandler","RootComponent","ClickableLockStateContext","DEFAULT_ACTIVE_EFFECT_DELAY","useState","RealClickable","baseClassName","children","focusVisibleMode","activeClassName","hoverClassName","activeEffectDelay","hasHover","hasActive","hovered","activated","hasHoverWithChildren","unlockParentHover","onPointerEnter","onPointerLeave","onPointerDown","onPointerCancel","onPointerUp","onBlur","onFocus","onKeyDown","DefaultComponent","restProps","focusVisible","focusEvents","focusVisibleClassNames","mode","stateClassName","setLockHoverBubblingImmediate","setLockActiveBubblingImmediate","stateEvents","handlers","lockStateContextValue","useMemo","lockHoverStateBubbling","lockActiveStateBubbling","Provider","value"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,wBAAwB,QAAQ,0CAAuC;AAChF,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,sBAAsB,QAAQ,qBAAkB;AACzD,SAASC,aAAa,QAAQ,oCAAiC;AAE/D,SAASC,yBAAyB,EAAEC,2BAA2B,EAAEC,QAAQ,QAAQ,gBAAa;AAG9F;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAK,EAChCC,aAAa,EACbC,QAAQ,EACRC,mBAAmB,QAAQ,EAC3BC,eAAe,EACfC,cAAc,EACdC,oBAAoBR,2BAA2B,EAC/CS,WAAW,IAAI,EACfC,YAAY,IAAI,EAChBC,OAAO,EACPC,SAAS,EACTC,oBAAoB,EACpBC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,eAAe,EACfC,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,gBAAgB,EAEE,WADfC;QArBHrB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAyC7B,mBAAAA,mBAAnC,EAAE+B,YAAY,EAAkB,GAAG/B,kBAAhBgC,yCAAgBhC;QAAjC+B;;IACR,MAAME,yBAAyBhC,yBAAyB;QAAE8B;QAAcG,MAAMvB;IAAiB;IAE/F,MAKIJ,YAAAA,SAAS;QACXK;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;IACF,IAdM,EACJe,cAAc,EACdC,6BAA6B,EAC7BC,8BAA8B,EAE/B,GAAG9B,WADC+B,yCACD/B;QAJF4B;QACAC;QACAC;;IAaF,MAAME,WAAWrC,WACf8B,aACAM,aACA;QAAEV,WAAWzB;IAAuB,GACpC;QACEkB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAGF,MAAMY,wBAAwB3C,MAAM4C,OAAO,CACzC,IAAO,CAAA;YACLC,wBAAwBvB,uBAAuBpB,OAAOqC;YACtDO,yBAAyBN;QAC3B,CAAA,GACA;QAACD;QAA+BC;QAAgClB;KAAqB;IAGvF,qBACE,KAACf;QACCK,eAAeX,WACbW,+CAEAwB,wBACAE;OAEEI,UACAT;kBAEJ,cAAA,KAACzB,0BAA0BuC,QAAQ;YAACC,OAAOL;sBACxC9B;;;AAIT,EAAE"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { classNames, noop } from "@vkontakte/vkjs";
|
|
5
|
-
import { useFocusVisible } from "../../hooks/useFocusVisible.js";
|
|
6
|
-
import { useFocusVisibleClassName } from "../../hooks/useFocusVisibleClassName.js";
|
|
7
|
-
import { mergeCalls } from "../../lib/mergeCalls.js";
|
|
8
|
-
import { clickByKeyboardHandler } from "../../lib/utils.js";
|
|
9
|
-
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
10
|
-
import { ClickableLockStateContext, DEFAULT_ACTIVE_EFFECT_DELAY, useState } from "./useState.js";
|
|
11
|
-
import styles from "./Clickable.module.css";
|
|
12
|
-
/**
|
|
13
|
-
* Кликабельный компонент. Добавляем кучу обвесов.
|
|
14
|
-
*/ export const RealClickable = ({ baseClassName, children, focusVisibleMode = 'inside', activeClassName, hoverClassName, activeEffectDelay = DEFAULT_ACTIVE_EFFECT_DELAY, hasHover = true, hasActive = true, hovered, activated, hasHoverWithChildren, unlockParentHover, onPointerEnter, onPointerLeave, onPointerDown, onPointerCancel, onPointerUp, onBlur, onFocus, onKeyDown, DefaultComponent, ...restProps })=>{
|
|
15
|
-
const { focusVisible, ...focusEvents } = useFocusVisible();
|
|
16
|
-
const focusVisibleClassNames = useFocusVisibleClassName({
|
|
17
|
-
focusVisible,
|
|
18
|
-
mode: focusVisibleMode
|
|
19
|
-
});
|
|
20
|
-
const { stateClassName, setLockHoverBubblingImmediate, setLockActiveBubblingImmediate, ...stateEvents } = useState({
|
|
21
|
-
activeClassName,
|
|
22
|
-
hoverClassName,
|
|
23
|
-
activeEffectDelay,
|
|
24
|
-
hasHover,
|
|
25
|
-
hasActive,
|
|
26
|
-
hovered,
|
|
27
|
-
activated,
|
|
28
|
-
unlockParentHover
|
|
29
|
-
});
|
|
30
|
-
const handlers = mergeCalls(focusEvents, stateEvents, {
|
|
31
|
-
onKeyDown: clickByKeyboardHandler
|
|
32
|
-
}, {
|
|
33
|
-
onPointerEnter,
|
|
34
|
-
onPointerLeave,
|
|
35
|
-
onPointerDown,
|
|
36
|
-
onPointerCancel,
|
|
37
|
-
onPointerUp,
|
|
38
|
-
onBlur,
|
|
39
|
-
onFocus,
|
|
40
|
-
onKeyDown
|
|
41
|
-
});
|
|
42
|
-
const lockStateContextValue = React.useMemo(()=>({
|
|
43
|
-
lockHoverStateBubbling: hasHoverWithChildren ? noop : setLockHoverBubblingImmediate,
|
|
44
|
-
lockActiveStateBubbling: setLockActiveBubblingImmediate
|
|
45
|
-
}), [
|
|
46
|
-
setLockHoverBubblingImmediate,
|
|
47
|
-
setLockActiveBubblingImmediate,
|
|
48
|
-
hasHoverWithChildren
|
|
49
|
-
]);
|
|
50
|
-
return /*#__PURE__*/ _jsx(RootComponent, {
|
|
51
|
-
baseClassName: classNames(baseClassName, styles.realClickable, focusVisibleClassNames, stateClassName),
|
|
52
|
-
...handlers,
|
|
53
|
-
...restProps,
|
|
54
|
-
children: /*#__PURE__*/ _jsx(ClickableLockStateContext.Provider, {
|
|
55
|
-
value: lockStateContextValue,
|
|
56
|
-
children: children
|
|
57
|
-
})
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=RealClickable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Clickable/RealClickable.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';\nimport { mergeCalls } from '../../lib/mergeCalls';\nimport { clickByKeyboardHandler } from '../../lib/utils';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { type ClickableProps } from './Clickable';\nimport { ClickableLockStateContext, DEFAULT_ACTIVE_EFFECT_DELAY, useState } from './useState';\nimport styles from './Clickable.module.css';\n\n/**\n * Кликабельный компонент. Добавляем кучу обвесов.\n */\nexport const RealClickable = <T,>({\n baseClassName,\n children,\n focusVisibleMode = 'inside',\n activeClassName,\n hoverClassName,\n activeEffectDelay = DEFAULT_ACTIVE_EFFECT_DELAY,\n hasHover = true,\n hasActive = true,\n hovered,\n activated,\n hasHoverWithChildren,\n unlockParentHover,\n onPointerEnter,\n onPointerLeave,\n onPointerDown,\n onPointerCancel,\n onPointerUp,\n onBlur,\n onFocus,\n onKeyDown,\n DefaultComponent,\n ...restProps\n}: ClickableProps<T>) => {\n const { focusVisible, ...focusEvents } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: focusVisibleMode });\n\n const {\n stateClassName,\n setLockHoverBubblingImmediate,\n setLockActiveBubblingImmediate,\n ...stateEvents\n } = useState({\n activeClassName,\n hoverClassName,\n activeEffectDelay,\n hasHover,\n hasActive,\n hovered,\n activated,\n unlockParentHover,\n });\n\n const handlers = mergeCalls(\n focusEvents,\n stateEvents,\n { onKeyDown: clickByKeyboardHandler },\n {\n onPointerEnter,\n onPointerLeave,\n onPointerDown,\n onPointerCancel,\n onPointerUp,\n onBlur,\n onFocus,\n onKeyDown,\n },\n );\n\n const lockStateContextValue = React.useMemo(\n () => ({\n lockHoverStateBubbling: hasHoverWithChildren ? noop : setLockHoverBubblingImmediate,\n lockActiveStateBubbling: setLockActiveBubblingImmediate,\n }),\n [setLockHoverBubblingImmediate, setLockActiveBubblingImmediate, hasHoverWithChildren],\n );\n\n return (\n <RootComponent\n baseClassName={classNames(\n baseClassName,\n styles.realClickable,\n focusVisibleClassNames,\n stateClassName,\n )}\n {...handlers}\n {...restProps}\n >\n <ClickableLockStateContext.Provider value={lockStateContextValue}>\n {children}\n </ClickableLockStateContext.Provider>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","noop","useFocusVisible","useFocusVisibleClassName","mergeCalls","clickByKeyboardHandler","RootComponent","ClickableLockStateContext","DEFAULT_ACTIVE_EFFECT_DELAY","useState","styles","RealClickable","baseClassName","children","focusVisibleMode","activeClassName","hoverClassName","activeEffectDelay","hasHover","hasActive","hovered","activated","hasHoverWithChildren","unlockParentHover","onPointerEnter","onPointerLeave","onPointerDown","onPointerCancel","onPointerUp","onBlur","onFocus","onKeyDown","DefaultComponent","restProps","focusVisible","focusEvents","focusVisibleClassNames","mode","stateClassName","setLockHoverBubblingImmediate","setLockActiveBubblingImmediate","stateEvents","handlers","lockStateContextValue","useMemo","lockHoverStateBubbling","lockActiveStateBubbling","realClickable","Provider","value"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,wBAAwB,QAAQ,0CAAuC;AAChF,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,sBAAsB,QAAQ,qBAAkB;AACzD,SAASC,aAAa,QAAQ,oCAAiC;AAE/D,SAASC,yBAAyB,EAAEC,2BAA2B,EAAEC,QAAQ,QAAQ,gBAAa;AAC9F,OAAOC,YAAY,yBAAyB;AAE5C;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAK,EAChCC,aAAa,EACbC,QAAQ,EACRC,mBAAmB,QAAQ,EAC3BC,eAAe,EACfC,cAAc,EACdC,oBAAoBT,2BAA2B,EAC/CU,WAAW,IAAI,EACfC,YAAY,IAAI,EAChBC,OAAO,EACPC,SAAS,EACTC,oBAAoB,EACpBC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,eAAe,EACfC,WAAW,EACXC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,gBAAgB,EAChB,GAAGC,WACe;IAClB,MAAM,EAAEC,YAAY,EAAE,GAAGC,aAAa,GAAGjC;IACzC,MAAMkC,yBAAyBjC,yBAAyB;QAAE+B;QAAcG,MAAMvB;IAAiB;IAE/F,MAAM,EACJwB,cAAc,EACdC,6BAA6B,EAC7BC,8BAA8B,EAC9B,GAAGC,aACJ,GAAGhC,SAAS;QACXM;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;IACF;IAEA,MAAMmB,WAAWtC,WACf+B,aACAM,aACA;QAAEV,WAAW1B;IAAuB,GACpC;QACEmB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAGF,MAAMY,wBAAwB5C,MAAM6C,OAAO,CACzC,IAAO,CAAA;YACLC,wBAAwBvB,uBAAuBrB,OAAOsC;YACtDO,yBAAyBN;QAC3B,CAAA,GACA;QAACD;QAA+BC;QAAgClB;KAAqB;IAGvF,qBACE,KAAChB;QACCM,eAAeZ,WACbY,eACAF,OAAOqC,aAAa,EACpBX,wBACAE;QAED,GAAGI,QAAQ;QACX,GAAGT,SAAS;kBAEb,cAAA,KAAC1B,0BAA0ByC,QAAQ;YAACC,OAAON;sBACxC9B;;;AAIT,EAAE"}
|