@@ -21,7 +21,8 @@ function useRuntimeAiDrawer(
2121 isEnabled : boolean ,
2222 activeAiDrawerId : string | null ,
2323 onActiveAiDrawerChange : ( newDrawerId : string | null , { initiatedByUserAction } : OnChangeParams ) => void ,
24- onActiveAiDrawerResize : ( size : number ) => void
24+ onActiveAiDrawerResize : ( size : number ) => void ,
25+ setExpandedDrawerId : ( value : string | null ) => void
2526) {
2627 const [ aiDrawer , setAiDrawer ] = useState < RuntimeAiDrawerConfig | null > ( null ) ;
2728 const appLayoutMessageHandler = useStableCallback ( ( event : AppLayoutMessage ) => {
@@ -32,7 +33,7 @@ function useRuntimeAiDrawer(
3233 }
3334 return ;
3435 }
35- if ( aiDrawer && aiDrawer . id !== event . payload . id ) {
36+ if ( aiDrawer && 'payload' in event && aiDrawer . id !== event . payload . id ) {
3637 metrics . sendOpsMetricObject ( 'awsui-widget-drawer-incorrect-id' , { oldId : aiDrawer ?. id , newId : event . payload . id } ) ;
3738 return ;
3839 }
@@ -49,6 +50,12 @@ function useRuntimeAiDrawer(
4950 case 'resizeDrawer' :
5051 onActiveAiDrawerResizeStable ( event . payload . size ) ;
5152 break ;
53+ case 'expandDrawer' :
54+ setExpandedDrawerIdStable ( event . payload . id ) ;
55+ break ;
56+ case 'exitExpandedMode' :
57+ setExpandedDrawerIdStable ( null ) ;
58+ break ;
5259 /* istanbul ignore next: this code is not intended to be visited */
5360 default :
5461 assertNever ( event ) ;
@@ -57,6 +64,7 @@ function useRuntimeAiDrawer(
5764 const onAiDrawersChangeStable = useStableCallback ( onActiveAiDrawerChange ) ;
5865 const onActiveAiDrawerResizeStable = useStableCallback ( onActiveAiDrawerResize ) ;
5966 const onActiveAiDrawerChangeStable = useStableCallback ( onActiveAiDrawerChange ) ;
67+ const setExpandedDrawerIdStable = useStableCallback ( setExpandedDrawerId ) ;
6068 const aiDrawerWasOpenRef = useRef ( false ) ;
6169 aiDrawerWasOpenRef . current = aiDrawerWasOpenRef . current || ! ! activeAiDrawerId ;
6270
@@ -122,7 +130,13 @@ export function useAiDrawer({ isEnabled, onAiDrawerFocus, expandedDrawerId, setE
122130 onAiDrawerFocus ?.( ) ;
123131 }
124132
125- const aiDrawer = useRuntimeAiDrawer ( isEnabled , activeAiDrawerId , onActiveAiDrawerChange , onActiveAiDrawerResize ) ;
133+ const aiDrawer = useRuntimeAiDrawer (
134+ isEnabled ,
135+ activeAiDrawerId ,
136+ onActiveAiDrawerChange ,
137+ onActiveAiDrawerResize ,
138+ setExpandedDrawerId
139+ ) ;
126140 const activeAiDrawer = activeAiDrawerId && activeAiDrawerId === aiDrawer ?. id ? aiDrawer : null ;
127141 const activeAiDrawerSize = activeAiDrawerId ? ( size ?? activeAiDrawer ?. defaultSize ?? MIN_DRAWER_SIZE ) : 0 ;
128142 const minAiDrawerSize = Math . min ( activeAiDrawer ?. defaultSize ?? MIN_DRAWER_SIZE , MIN_DRAWER_SIZE ) ;
0 commit comments