diff --git a/src/components/FAB/Menu.tsx b/src/components/FAB/Menu.tsx index e4884647d6..f17ca2954e 100644 --- a/src/components/FAB/Menu.tsx +++ b/src/components/FAB/Menu.tsx @@ -454,6 +454,7 @@ const MorphingTrigger = ({ visible={visible} onPress={onPress} aria-label={ariaLabel} + aria-expanded={expanded} testID={testID} widthShared={widthShared} heightShared={heightShared} diff --git a/src/components/__tests__/FABMenu.test.tsx b/src/components/__tests__/FABMenu.test.tsx index 0e03ff6823..dcabf1ae28 100644 --- a/src/components/__tests__/FABMenu.test.tsx +++ b/src/components/__tests__/FABMenu.test.tsx @@ -192,3 +192,20 @@ it('calls onDismiss when trigger is pressed while menu is open', async () => { await userEvent.press(screen.getByTestId('fab-shell')); expect(onDismiss).toHaveBeenCalledTimes(1); }); + +it('exposes the expanded state on the trigger', async () => { + const menu = (expanded: boolean) => ( + + ); + + await render(menu(false)); + expect(screen.getByRole('button', { name: 'Actions' })).toBeCollapsed(); + + await screen.rerender(menu(true)); + expect(screen.getByRole('button', { name: 'Actions' })).toBeExpanded(); +}); diff --git a/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap b/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap index 8b66657112..a53bf5199e 100644 --- a/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap +++ b/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap @@ -588,7 +588,7 @@ exports[`renders FAB.Menu closed 1`] = ` "busy": undefined, "checked": undefined, "disabled": true, - "expanded": undefined, + "expanded": false, "selected": undefined, } } @@ -1365,7 +1365,7 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` "busy": undefined, "checked": undefined, "disabled": true, - "expanded": undefined, + "expanded": false, "selected": undefined, } } @@ -2142,7 +2142,7 @@ exports[`renders FAB.Menu open 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -3623,7 +3623,7 @@ exports[`renders FAB.Menu with 6 items 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -4401,7 +4401,7 @@ exports[`renders FAB.Menu with center alignment 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -5238,7 +5238,7 @@ exports[`renders FAB.Menu with items having icons 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -6015,7 +6015,7 @@ exports[`renders FAB.Menu with start alignment 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } }