diff --git a/packages/orbit-components/src/Checkbox/Checkbox.stories.tsx b/packages/orbit-components/src/Checkbox/Checkbox.stories.tsx index 62fcf09d10..8507a4912a 100644 --- a/packages/orbit-components/src/Checkbox/Checkbox.stories.tsx +++ b/packages/orbit-components/src/Checkbox/Checkbox.stories.tsx @@ -126,7 +126,7 @@ export const Playground = () => { dataTest={dataTest} info={info} readOnly={readOnly} - onChange={!readOnly ? action("changed") : undefined} + onChange={action("changed")} /> ); }; diff --git a/packages/orbit-components/src/Checkbox/index.tsx b/packages/orbit-components/src/Checkbox/index.tsx index 2a93cbbbf7..d6d4955447 100644 --- a/packages/orbit-components/src/Checkbox/index.tsx +++ b/packages/orbit-components/src/Checkbox/index.tsx @@ -60,7 +60,8 @@ const Checkbox = React.forwardRef((props, ref) => { name={name} tabIndex={tabIndex ? Number(tabIndex) : undefined} checked={checked} - onChange={onChange} + onChange={!readOnly ? onChange : undefined} + onClick={e => readOnly && e.stopPropagation()} ref={ref} readOnly={readOnly} /> diff --git a/packages/orbit-components/src/ListChoice/ListChoice.stories.tsx b/packages/orbit-components/src/ListChoice/ListChoice.stories.tsx index bbb0ac64a7..6960b0119c 100644 --- a/packages/orbit-components/src/ListChoice/ListChoice.stories.tsx +++ b/packages/orbit-components/src/ListChoice/ListChoice.stories.tsx @@ -130,6 +130,26 @@ Playground.story = { }, }; +export const Controlled = () => { + const [selected, setSelected] = React.useState(false); + + const Icon = getIcon(getIcons("icon", "Accommodation")); + + return ( + } + selectable + selected={selected} + onClick={e => { + action("onClick")(e); + setSelected(!selected); + }} + /> + ); +}; + export const Rtl = () => ( <>