@@ -5,7 +5,9 @@ import { DialogActionsContext } from '../context/DialogActionsContext.js';
55import type { useDialogLazyReturn } from './types.js' ;
66
77export function useDialogLazy < D , R , DE extends D | undefined > (
8- componentLoader : ( ) => Promise < AsyncDialogComponent < D , R > > ,
8+ componentLoader : ( ) => Promise <
9+ AsyncDialogComponent < D , R > | { default : AsyncDialogComponent < D , R > }
10+ > ,
911 options ?: useDialogOptions < D , DE > ,
1012) : useDialogLazyReturn < D , R , DE > {
1113 const id = useId ( ) ;
@@ -25,7 +27,10 @@ export function useDialogLazy<D, R, DE extends D | undefined>(
2527 // Call the lazy loader function with a callback to load the component
2628 void ctx . lazyLoaderFn ( async ( ) => {
2729 if ( ! componentRef . current ) {
28- componentRef . current = await componentLoader ( ) ;
30+ const loaderResult = await componentLoader ( ) ;
31+
32+ componentRef . current =
33+ 'default' in loaderResult ? loaderResult . default : loaderResult ;
2934 }
3035 } ) ;
3136 }
@@ -42,7 +47,10 @@ export function useDialogLazy<D, R, DE extends D | undefined>(
4247 const open = useCallback (
4348 async ( data ?: D ) : Promise < R | undefined > => {
4449 if ( ! componentRef . current ) {
45- componentRef . current = await componentLoader ( ) ;
50+ const loaderResult = await componentLoader ( ) ;
51+
52+ componentRef . current =
53+ 'default' in loaderResult ? loaderResult . default : loaderResult ;
4654 }
4755
4856 return ctx . show (
@@ -66,7 +74,10 @@ export function useDialogLazy<D, R, DE extends D | undefined>(
6674
6775 const preload = async ( ) => {
6876 if ( ! componentRef . current ) {
69- componentRef . current = await componentLoader ( ) ;
77+ const loaderResult = await componentLoader ( ) ;
78+
79+ componentRef . current =
80+ 'default' in loaderResult ? loaderResult . default : loaderResult ;
7081 }
7182 } ;
7283
0 commit comments