+
+ onChange(event.currentTarget.checked, event)}
+ aria-invalid={!isValid}
+ disabled={isDisabled}
+ checked={isChecked || checked}
+ />
+
+
+ );
+}
+DataListRadio.propTypes = {
+ className: string,
+ isValid: bool,
+ isDisabled: bool,
+ isChecked: bool,
+ checked: bool,
+ onChange: func,
+ 'aria-labelledby': string,
+};
+DataListRadio.defaultProps = {
+ className: '',
+ isValid: true,
+ isDisabled: false,
+ isChecked: false,
+ checked: false,
+ onChange: () => {},
+ 'aria-labelledby': '',
+};
+
+export default DataListRadio;
diff --git a/awx/ui_next/src/components/DataListRadio/DataListRadio.test.jsx b/awx/ui_next/src/components/DataListRadio/DataListRadio.test.jsx
new file mode 100644
index 0000000000..b8fa2e4135
--- /dev/null
+++ b/awx/ui_next/src/components/DataListRadio/DataListRadio.test.jsx
@@ -0,0 +1,36 @@
+import React from 'react';
+import { mountWithContexts } from '@testUtils/enzymeHelpers';
+import DataListRadio from './DataListRadio';
+
+describe('DataListRadio', () => {
+ test('should call onChange', () => {
+ const onChange = jest.fn();
+ const wrapper = mountWithContexts(