mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Add Checkbox id
prop (#8553)
This prop allows associating the checkbox with a label.
This commit is contained in:
parent
4a065cc8c8
commit
5e5215f907
@ -10,7 +10,7 @@ const CHECKBOX_STATE = {
|
|||||||
|
|
||||||
export const { CHECKED, INDETERMINATE, UNCHECKED } = CHECKBOX_STATE
|
export const { CHECKED, INDETERMINATE, UNCHECKED } = CHECKBOX_STATE
|
||||||
|
|
||||||
const CheckBox = ({ className, disabled, onClick, checked }) => {
|
const CheckBox = ({ className, disabled, id, onClick, checked }) => {
|
||||||
if (typeof checked === 'boolean') {
|
if (typeof checked === 'boolean') {
|
||||||
checked = checked
|
checked = checked
|
||||||
? CHECKBOX_STATE.CHECKED
|
? CHECKBOX_STATE.CHECKED
|
||||||
@ -30,6 +30,7 @@ const CheckBox = ({ className, disabled, onClick, checked }) => {
|
|||||||
'fa fa-minus-square': checked === CHECKBOX_STATE.INDETERMINATE,
|
'fa fa-minus-square': checked === CHECKBOX_STATE.INDETERMINATE,
|
||||||
})}
|
})}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
id={id}
|
||||||
onClick={
|
onClick={
|
||||||
onClick
|
onClick
|
||||||
? (event) => {
|
? (event) => {
|
||||||
@ -48,6 +49,7 @@ const CheckBox = ({ className, disabled, onClick, checked }) => {
|
|||||||
CheckBox.propTypes = {
|
CheckBox.propTypes = {
|
||||||
className: PropTypes.string,
|
className: PropTypes.string,
|
||||||
disabled: PropTypes.bool,
|
disabled: PropTypes.bool,
|
||||||
|
id: PropTypes.string,
|
||||||
onClick: PropTypes.func,
|
onClick: PropTypes.func,
|
||||||
checked: PropTypes.oneOf([...Object.keys(CHECKBOX_STATE), true, false]).isRequired,
|
checked: PropTypes.oneOf([...Object.keys(CHECKBOX_STATE), true, false]).isRequired,
|
||||||
}
|
}
|
||||||
@ -55,6 +57,7 @@ CheckBox.propTypes = {
|
|||||||
CheckBox.defaultProps = {
|
CheckBox.defaultProps = {
|
||||||
className: undefined,
|
className: undefined,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
|
id: undefined,
|
||||||
}
|
}
|
||||||
|
|
||||||
export default CheckBox
|
export default CheckBox
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import { action } from '@storybook/addon-actions'
|
import { action } from '@storybook/addon-actions'
|
||||||
import CheckBox, { CHECKED, INDETERMINATE, UNCHECKED } from './check-box.component'
|
import CheckBox, { CHECKED, INDETERMINATE, UNCHECKED } from './check-box.component'
|
||||||
import { boolean, select } from '@storybook/addon-knobs/react'
|
import { boolean, select, text } from '@storybook/addon-knobs/react'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
title: 'Check Box',
|
title: 'Check Box',
|
||||||
@ -19,6 +19,7 @@ export const primaryType = () => (
|
|||||||
<CheckBox
|
<CheckBox
|
||||||
checked={select('checked state', checkboxOptions, UNCHECKED)}
|
checked={select('checked state', checkboxOptions, UNCHECKED)}
|
||||||
disabled={boolean('Disabled', false)}
|
disabled={boolean('Disabled', false)}
|
||||||
|
id={text('ID', 'checkboxId')}
|
||||||
onClick={action('checkbox clicked')}
|
onClick={action('checkbox clicked')}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user