@vkontakte/vkui 7.5.1 → 7.5.3
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/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +13 -3
- package/dist/components/HorizontalScroll/HorizontalScroll.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.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +9 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.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/ModalPage/ModalPage.module.css +9 -15
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +1 -1
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +13 -1
- 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/ModalPage/ModalPage.module.css +9 -14
- package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -5,6 +5,8 @@ import { classNames, noop } from '@vkontakte/vkjs';
|
|
|
5
5
|
import { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';
|
|
6
6
|
import { useConfigDirection } from '../../hooks/useConfigDirection';
|
|
7
7
|
import { useExternRef } from '../../hooks/useExternRef';
|
|
8
|
+
import { useFocusVisible } from '../../hooks/useFocusVisible';
|
|
9
|
+
import { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';
|
|
8
10
|
import { easeInOutSine } from '../../lib/fx';
|
|
9
11
|
import { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';
|
|
10
12
|
import type { HasRef, HTMLAttributesWithRootRef } from '../../types';
|
|
@@ -216,6 +218,11 @@ export const HorizontalScroll = ({
|
|
|
216
218
|
}: HorizontalScrollProps): React.ReactNode => {
|
|
217
219
|
const [canScrollStart, setCanScrollStart] = React.useState(false);
|
|
218
220
|
const [canScrollEnd, setCanScrollEnd] = React.useState(false);
|
|
221
|
+
const { focusVisible, ...focusEvents } = useFocusVisible();
|
|
222
|
+
const focusVisibleClassNames = useFocusVisibleClassName({
|
|
223
|
+
focusVisible,
|
|
224
|
+
});
|
|
225
|
+
|
|
219
226
|
const direction = useConfigDirection();
|
|
220
227
|
const isRtl = direction === 'rtl';
|
|
221
228
|
|
|
@@ -346,7 +353,12 @@ export const HorizontalScroll = ({
|
|
|
346
353
|
onClick={scrollToEnd}
|
|
347
354
|
/>
|
|
348
355
|
)}
|
|
349
|
-
<div
|
|
356
|
+
<div
|
|
357
|
+
className={classNames(styles.in, focusVisibleClassNames)}
|
|
358
|
+
ref={scrollerRef}
|
|
359
|
+
tabIndex={0}
|
|
360
|
+
{...focusEvents}
|
|
361
|
+
>
|
|
350
362
|
<ContentWrapperComponent
|
|
351
363
|
className={classNames(styles.inWrapper, contentWrapperClassName)}
|
|
352
364
|
ref={contentWrapperRef}
|
|
@@ -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}
|
|
@@ -30,29 +30,24 @@
|
|
|
30
30
|
|
|
31
31
|
/* Desktop */
|
|
32
32
|
.hostDesktop {
|
|
33
|
-
--vkui_internal_ModalPage--
|
|
33
|
+
--vkui_internal_ModalPage--desktopStretchedSize: calc(100% - var(--vkui--spacing_size_2xl) * 2);
|
|
34
34
|
--vkui_internal_ModalPage--desktopMaxWidth: 100%;
|
|
35
35
|
--vkui_internal_ModalPage--desktopMaxHeight: 640px;
|
|
36
36
|
--vkui_internal_ModalPage--userHeight: auto;
|
|
37
37
|
|
|
38
38
|
position: relative;
|
|
39
39
|
box-sizing: content-box;
|
|
40
|
-
max-inline-size:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
max-inline-size: min(
|
|
41
|
+
var(--vkui_internal_ModalPage--desktopMaxWidth),
|
|
42
|
+
var(--vkui_internal_ModalPage--desktopStretchedSize)
|
|
43
|
+
);
|
|
44
|
+
max-block-size: min(
|
|
45
|
+
var(--vkui_internal_ModalPage--desktopMaxHeight),
|
|
46
|
+
var(--vkui_internal_ModalPage--desktopStretchedSize)
|
|
47
|
+
);
|
|
44
48
|
margin-block: auto;
|
|
45
49
|
}
|
|
46
50
|
|
|
47
|
-
/* Неизвестный брейкпоинт */
|
|
48
|
-
@media (max-height: 672px) {
|
|
49
|
-
.hostDesktop {
|
|
50
|
-
--vkui_internal_ModalPage--desktopMaxHeight: calc(
|
|
51
|
-
100% - var(--vkui_internal_ModalPage--desktopSafeInsetBlock) * 2
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
51
|
.hostDesktopMaxWidthS {
|
|
57
52
|
--vkui_internal_ModalPage--desktopMaxWidth: var(--vkui--size_popup_small--regular);
|
|
58
53
|
}
|
|
@@ -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","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,
|
|
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,aAkDAC,sB,WAlDA;AAAA,E,aAsDAC,sB,WAtDA;AAAA,E,aA0DAC,sB,WA1DA;AAAA,E,aA8DAC,U,WA9DA;AAAA,E,aA2EAC,gB,WA3EA;AAAA,E,aA4FAA,gB,WA5FA;AAAA,E,aA4FeC,oB,WA5Ff;AAAA,E,aAgGAD,gB,WAhGA;AAAA,E,aAgGeE,uB,WAhGf;AAAA,E,aAqGAF,gB,WArGA;AAAA,E,aAqGeG,sB,WArGf;AAAA,E,aA0GAH,gB,WA1GA;AAAA,E,aA0GeI,qB,WA1Gf;AAAA,E,aA+GAC,iB,WA/GA;AAAA,E,aAoHAA,iB,WApHA;AAAA,E,aAoHgBJ,oB,WApHhB;AAAA,E,aAwHAI,iB,WAxHA;AAAA,E,aAwHgBH,uB,WAxHhB;AAAA,E,aA6HAG,iB,WA7HA;AAAA,E,aA6HgBF,sB,WA7HhB;AAAA,E,aAkIAE,iB,WAlIA;AAAA,E,aAkIgBD,qB,WAlIhB;AAAA,E,aAsIAE,U,WAtIA;AAAA,E,aA0JAC,gB,WA1JA;AAAA,E,aA+JAC,iB,WA/JA;AAAA;AAAA","file":"ModalPage.module.css.d.ts","sourceRoot":""}
|