File tree Expand file tree Collapse file tree
packages/react/src/internals/use-button Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -41,6 +41,19 @@ describe('useButton', () => {
4141 } ) ;
4242 } ) ;
4343
44+ it ( 'does not set a type prop' , async ( ) => {
45+ let buttonProps : Record < string , unknown > | undefined = undefined ;
46+
47+ function Button ( ) {
48+ const { getButtonProps } = useButton ( { native : false } ) ;
49+ buttonProps = getButtonProps ( ) ;
50+ return < span { ...buttonProps } /> ;
51+ }
52+
53+ await render ( < Button /> ) ;
54+ expect ( buttonProps ) . not . toHaveProperty ( 'type' ) ;
55+ } ) ;
56+
4457 it . skipIf ( isJSDOM ) (
4558 'can be activated with Enter when the keyboard event originates inside a shadow root' ,
4659 async ( ) => {
Original file line number Diff line number Diff line change @@ -98,11 +98,8 @@ export function useButton(parameters: UseButtonParameters = {}): UseButtonReturn
9898 ...otherExternalProps
9999 } = externalProps ;
100100
101- const type = isNativeButton ? 'button' : undefined ;
102-
103101 return mergeProps < 'button' > (
104102 {
105- type,
106103 onClick ( event : React . MouseEvent ) {
107104 if ( disabled ) {
108105 event . preventDefault ( ) ;
@@ -209,7 +206,7 @@ export function useButton(parameters: UseButtonParameters = {}): UseButtonReturn
209206 externalOnPointerDown ?.( event ) ;
210207 } ,
211208 } ,
212- ! isNativeButton ? { role : 'button' } : undefined ,
209+ isNativeButton ? { type : 'button' } : { role : 'button' } ,
213210 focusableWhenDisabledProps ,
214211 otherExternalProps ,
215212 ) ;
You can’t perform that action at this time.
0 commit comments