diff --git a/docs/app/Examples/elements/Button/Usage/ButtonExampleFocus.js b/docs/app/Examples/elements/Button/Usage/ButtonExampleFocus.js new file mode 100644 index 0000000000..0f0d1ea2b1 --- /dev/null +++ b/docs/app/Examples/elements/Button/Usage/ButtonExampleFocus.js @@ -0,0 +1,28 @@ +import React, { Component } from 'react' +import { Button, Grid } from 'semantic-ui-react' + +export default class ButtonExampleFocus extends Component { + handleClick = () => this.ref.focus() + + handleRef = c => (this.ref = c) + + render() { + return ( + + + {(labelPosition === 'right' || !labelPosition) && labelElement} @@ -290,7 +294,7 @@ class Button extends Component { debug('render icon && !label:', { classes }) return ( - + {Icon.create(icon)} {content} ) @@ -300,7 +304,7 @@ class Button extends Component { debug('render default:', { classes }) return ( - + {content} ) diff --git a/test/specs/elements/Button/Button-test.js b/test/specs/elements/Button/Button-test.js index f90b509ea6..201024ca00 100644 --- a/test/specs/elements/Button/Button-test.js +++ b/test/specs/elements/Button/Button-test.js @@ -71,6 +71,22 @@ describe('Button', () => { }) }) + describe('focus', () => { + it('can be set via a ref', () => { + const mountNode = document.createElement('div') + document.body.appendChild(mountNode) + + const wrapper = mount(