11import * as React from "react" ;
22import { classNames } from "../../lib/classNames" ;
3- import { getClassName } from "../../helpers/getClassName" ;
43import { IOS } from "../../lib/platform" ;
54import { ConfigProviderContext } from "../ConfigProvider/ConfigProviderContext" ;
65import { SplitColContext } from "../SplitCol/SplitCol" ;
@@ -46,7 +45,7 @@ const warn = warnOnce("Root");
4645/**
4746 * @see https://vkcom.github.io/VKUI/#/Root
4847 */
49- const Root : React . FC < RootProps > = ( {
48+ export const Root : React . FC < RootProps > = ( {
5049 popout = null ,
5150 modal,
5251 children,
@@ -152,10 +151,11 @@ const Root: React.FC<RootProps> = ({
152151 return (
153152 < div
154153 { ...restProps }
155- // eslint-disable-next-line vkui/no-object-expression-in-arguments
156- vkuiClass = { classNames ( getClassName ( "Root" , platform ) , {
157- "Root--transition" : transition ,
158- } ) }
154+ vkuiClass = { classNames (
155+ "Root" ,
156+ platform === IOS && "Root--ios" ,
157+ transition && "Root--transition"
158+ ) }
159159 >
160160 { views . map ( ( view ) => {
161161 const viewId = getNavId ( view . props , warn ) ;
@@ -172,18 +172,26 @@ const Root: React.FC<RootProps> = ({
172172 key = { viewId }
173173 ref = { ( e ) => viewId && ( viewNodes [ viewId ] = e ) }
174174 onAnimationEnd = { isTransitionTarget ? onAnimationEnd : undefined }
175- // eslint-disable-next-line vkui/no-object-expression-in-arguments
176- vkuiClass = { classNames ( "Root__view" , {
177- "Root__view--hide-back" :
178- transition && viewId === prevView && isBack ,
179- "Root__view--hide-forward" :
180- transition && viewId === prevView && ! isBack ,
181- "Root__view--show-back" :
182- transition && viewId === activeView && isBack ,
183- "Root__view--show-forward" :
184- transition && viewId === activeView && ! isBack ,
185- "Root__view--active" : ! transition && viewId === activeView ,
186- } ) }
175+ vkuiClass = { classNames (
176+ "Root__view" ,
177+ transition &&
178+ viewId === prevView &&
179+ isBack &&
180+ "Root__view--hide-back" ,
181+ transition &&
182+ viewId === prevView &&
183+ ! isBack &&
184+ "Root__view--hide-forward" ,
185+ transition &&
186+ viewId === activeView &&
187+ isBack &&
188+ "Root__view--show-back" ,
189+ transition &&
190+ viewId === activeView &&
191+ ! isBack &&
192+ "Root__view--show-forward" ,
193+ ! transition && viewId === activeView && "Root__view--active"
194+ ) }
187195 >
188196 < NavTransitionProvider
189197 entering = { transition && viewId === activeView }
@@ -209,6 +217,3 @@ const Root: React.FC<RootProps> = ({
209217 </ div >
210218 ) ;
211219} ;
212-
213- // eslint-disable-next-line import/no-default-export
214- export default Root ;
0 commit comments