Skip to content

Commit

Permalink
Allow className to be passed to Spinner (#523)
Browse files Browse the repository at this point in the history
* add classname to destructured props and test to add custom classname

* remove linting change

* find spinner by id in test

* incrementing package.json version for backwards compatible patch
  • Loading branch information
ghrlee authored Jan 11, 2022
1 parent 91925ef commit 2758543
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@launchpadlab/lp-components",
"version": "5.4.6",
"version": "5.4.7",
"engines": {
"node": "^8.0.0 || ^10.13.0 || ^12.0.0"
},
Expand Down
4 changes: 2 additions & 2 deletions src/indicators/spinner.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ const propTypes = {}

const defaultProps = {}

function Spinner (props) {
return <div id="spinner" { ...filterInvalidDOMProps(props) } />
function Spinner({ className, ...rest }) {
return <div id="spinner" className={className} {...filterInvalidDOMProps(rest)} />
}

Spinner.propTypes = propTypes
Expand Down
9 changes: 8 additions & 1 deletion test/indicators/spinner.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Spinner } from '../../src/'

test('Spinner creates div with id "spinner"', () => {
const wrapper = mount(
<Spinner/>
<Spinner />
)
expect(wrapper.find('div#spinner').exists()).toBe(true)
})
Expand All @@ -22,4 +22,11 @@ test('Spinner filters invalid props', () => {
<Spinner name="Bob" someInvalidProp="I am not a valid DOM prop" />
)
expect(wrapper.find('div#spinner').props().someInvalidProp).not.toBeDefined()
})

test('Spinner can have custom className', () => {
const wrapper = mount(
<Spinner className="custom" />
)
expect(wrapper.find('div#spinner.custom').exists()).toBe(true)
})

0 comments on commit 2758543

Please sign in to comment.