11import * as React from 'react' ;
22import { classNames } from '@vkontakte/vkjs' ;
3- import { getViewWidthClassName } from '../../helpers/getViewWidthClassName' ;
43import { useAdaptivity } from '../../hooks/useAdaptivity' ;
54import { useMediaQueries } from '../../hooks/useMediaQueries' ;
65import { useObjectMemo } from '../../hooks/useObjectMemo' ;
@@ -9,6 +8,14 @@ import { matchMediaListAddListener, matchMediaListRemoveListener } from '../../l
98import { SplitColContext } from './SplitColContext' ;
109import styles from './SplitCol.module.css' ;
1110
11+ const viewWidthClassNames = {
12+ none : styles [ 'SplitCol--viewWidth-none' ] ,
13+ [ ViewWidth . SMALL_MOBILE ] : styles [ 'SplitCol--viewWidth-smallMobile' ] ,
14+ [ ViewWidth . MOBILE ] : styles [ 'SplitCol--viewWidth-mobile' ] ,
15+ [ ViewWidth . SMALL_TABLET ] : styles [ 'SplitCol--viewWidth-smallTablet' ] ,
16+ [ ViewWidth . TABLET ] : styles [ 'SplitCol--viewWidth-tabletPlus' ] ,
17+ } ;
18+
1219function useTransitionAnimate ( animateProp ?: boolean ) {
1320 const { viewWidth } = useAdaptivity ( ) ;
1421 const [ animate , setAnimate ] = React . useState ( Boolean ( animateProp ) ) ;
@@ -80,7 +87,7 @@ export const SplitCol = (props: SplitColProps) => {
8087 ...restProps
8188 } = props ;
8289 const baseRef = React . useRef < HTMLDivElement > ( null ) ;
83- const { viewWidth } = useAdaptivity ( ) ;
90+ const { viewWidth = 'none' } = useAdaptivity ( ) ;
8491 const animate = useTransitionAnimate ( animateProp ) ;
8592
8693 const contextValue = useObjectMemo ( {
@@ -100,7 +107,7 @@ export const SplitCol = (props: SplitColProps) => {
100107 ref = { baseRef }
101108 className = { classNames (
102109 styles [ 'SplitCol' ] ,
103- getViewWidthClassName ( styles [ 'SplitCol' ] , viewWidth ) ,
110+ viewWidthClassNames . hasOwnProperty ( viewWidth ) && viewWidthClassNames [ viewWidth ] ,
104111 spaced && styles [ 'SplitCol--spaced' ] ,
105112 spaced === undefined && styles [ 'SplitCol--spaced-none' ] ,
106113 autoSpaced && styles [ 'SplitCol--spaced-auto' ] ,
0 commit comments