11import { observer } from 'mobx-react-lite' ;
2- import {
3- type ComponentClass ,
4- type ComponentType ,
5- type ReactNode ,
6- useContext ,
7- } from 'react' ;
2+ import { useContext } from 'react' ;
83import type {
94 AnyObject ,
105 Class ,
@@ -33,7 +28,7 @@ type FixedComponentType<P extends AnyObject = {}> =
3328 /**
3429 * Fixes typings loss with use `withViewModel` with inline function component
3530 */
36- ( ( props : P ) => ReactNode ) | ComponentClass < P > ;
31+ ( ( props : P ) => React . ReactNode ) | React . ComponentClass < P > ;
3732
3833declare const process : { env : { NODE_ENV ?: string } } ;
3934
@@ -68,7 +63,7 @@ export interface ViewModelHocConfig<VM extends AnyViewModel>
6863 /**
6964 * Component to render if the view model initialization takes too long
7065 */
71- fallback ?: ComponentType ;
66+ fallback ?: React . ComponentType ;
7267
7368 /**
7469 * Function to invoke additional React hooks in the resulting component
@@ -90,7 +85,7 @@ export interface ViewModelSimpleHocConfig<_VM> {
9085 /**
9186 * Component to render if the view model initialization takes too long
9287 */
93- fallback ?: ComponentType ;
88+ fallback ?: React . ComponentType ;
9489
9590 /**
9691 * Function to invoke additional React hooks in the resulting component
@@ -116,7 +111,9 @@ export type VMComponentProps<
116111export type VMComponent <
117112 TViewModel ,
118113 TComponentOriginProps extends AnyObject = ViewModelProps < TViewModel > ,
119- > = ( props : VMComponentProps < TViewModel , TComponentOriginProps > ) => ReactNode ;
114+ > = (
115+ props : VMComponentProps < TViewModel , TComponentOriginProps > ,
116+ ) => React . ReactNode ;
120117
121118/**
122119 * A Higher-Order Component that connects React components to their ViewModels, providing seamless MobX integration.
@@ -128,7 +125,9 @@ export function withViewModel<
128125 TComponentOriginProps extends AnyObject = ViewModelProps < TViewModel > ,
129126> (
130127 model : Class < TViewModel > ,
131- component : ComponentType < TComponentOriginProps & ViewModelProps < TViewModel > > ,
128+ component : React . ComponentType <
129+ TComponentOriginProps & ViewModelProps < TViewModel >
130+ > ,
132131 config ?: ViewModelHocConfig < TViewModel > ,
133132) : VMComponent < TViewModel , TComponentOriginProps > ;
134133
@@ -141,7 +140,9 @@ export function withViewModel<TViewModel extends AnyViewModel>(
141140 model : Class < TViewModel > ,
142141 config ?: ViewModelHocConfig < TViewModel > ,
143142) : < TComponentOriginProps extends AnyObject = ViewModelProps < TViewModel > > (
144- Component ?: ComponentType < TComponentOriginProps & ViewModelProps < TViewModel > > ,
143+ Component ?: React . ComponentType <
144+ TComponentOriginProps & ViewModelProps < TViewModel >
145+ > ,
145146) => VMComponent < TViewModel , TComponentOriginProps > ;
146147
147148/**
@@ -228,7 +229,7 @@ export function withViewModel(
228229 } ,
229230 } ;
230231
231- return ( Component : ComponentType < any > ) =>
232+ return ( Component : React . ComponentType < any > ) =>
232233 withViewModelWrapper ( VM , finalConfig , Component ) ;
233234 }
234235}
@@ -238,7 +239,7 @@ const REACT_MEMO_SYMBOL = Symbol.for('react.memo');
238239const withViewModelWrapper = (
239240 VM : Class < any > ,
240241 config : ViewModelHocConfig < any > ,
241- OriginalComponent ?: ComponentType < any > ,
242+ OriginalComponent ?: React . ComponentType < any > ,
242243) => {
243244 const processViewComponent =
244245 config . vmConfig ?. processViewComponent ??
0 commit comments