From 854eb5e4ce7e44d354c6f081d79f6153833ef92d Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Wed, 24 Aug 2022 15:03:14 -0700 Subject: [PATCH] [fix] CheckBox supports readOnly on native control Fix #2359 --- .../pages/checkbox/index.js | 2 ++ .../__tests__/__snapshots__/index-test.js.snap | 16 ++++++++++++++++ .../src/exports/CheckBox/__tests__/index-test.js | 7 +++++++ .../src/exports/CheckBox/index.js | 14 ++++++++++++-- 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/packages/react-native-web-examples/pages/checkbox/index.js b/packages/react-native-web-examples/pages/checkbox/index.js index f834c229..d7965cee 100644 --- a/packages/react-native-web-examples/pages/checkbox/index.js +++ b/packages/react-native-web-examples/pages/checkbox/index.js @@ -24,6 +24,8 @@ export default function CheckboxPage() { + + diff --git a/packages/react-native-web/src/exports/CheckBox/__tests__/__snapshots__/index-test.js.snap b/packages/react-native-web/src/exports/CheckBox/__tests__/__snapshots__/index-test.js.snap index b2380954..f80cca9c 100644 --- a/packages/react-native-web/src/exports/CheckBox/__tests__/__snapshots__/index-test.js.snap +++ b/packages/react-native-web/src/exports/CheckBox/__tests__/__snapshots__/index-test.js.snap @@ -15,6 +15,22 @@ exports[`CheckBox prop "accessibilityLabel" value is set 1`] = ` `; +exports[`CheckBox prop "accessibilityReadOnly" value is set 1`] = ` +
+
+ +
+`; + exports[`CheckBox prop "color" value is set 1`] = `
{ }); }); + describe('prop "accessibilityReadOnly"', () => { + test('value is set', () => { + const { container } = render(); + expect(container.firstChild).toMatchSnapshot(); + }); + }); + describe('prop "color"', () => { test('value is set', () => { const { container } = render(); diff --git a/packages/react-native-web/src/exports/CheckBox/index.js b/packages/react-native-web/src/exports/CheckBox/index.js index c6adcda4..26b1c214 100644 --- a/packages/react-native-web/src/exports/CheckBox/index.js +++ b/packages/react-native-web/src/exports/CheckBox/index.js @@ -29,8 +29,16 @@ const CheckBox: React.AbstractComponent< CheckBoxProps, React.ElementRef > = React.forwardRef((props, forwardedRef) => { - const { color, disabled, onChange, onValueChange, style, value, ...other } = - props; + const { + accessibilityReadOnly, + color, + disabled, + onChange, + onValueChange, + style, + value, + ...other + } = props; function handleChange(event: Object) { const value = event.nativeEvent.target.checked; @@ -56,6 +64,7 @@ const CheckBox: React.AbstractComponent< checked: value, disabled: disabled, onChange: handleChange, + readOnly: accessibilityReadOnly, ref: forwardedRef, style: [styles.nativeControl, styles.cursorInherit], type: 'checkbox' @@ -65,6 +74,7 @@ const CheckBox: React.AbstractComponent< {fakeControl}