+
+ {courseLaunchLoadingMessage}
+
+ {enableQuality ?
{courseBestPracticesLoadingMessage}
: null}
+
+ );
+};
+
+AriaLiveRegion.propTypes = {
+ isCourseLaunchChecklistLoading: PropTypes.bool.isRequired,
+ isCourseBestPracticeChecklistLoading: PropTypes.bool.isRequired,
+ enableQuality: PropTypes.bool.isRequired,
+};
+
+export default injectIntl(AriaLiveRegion);
diff --git a/src/course-checklist/ChecklistSection/ChecklistItemBody.jsx b/src/course-checklist/ChecklistSection/ChecklistItemBody.jsx
new file mode 100644
index 000000000..f48bdc69b
--- /dev/null
+++ b/src/course-checklist/ChecklistSection/ChecklistItemBody.jsx
@@ -0,0 +1,70 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n';
+import {
+ ActionRow,
+ Button,
+ Hyperlink,
+ Icon,
+} from '@openedx/paragon';
+import { CheckCircle, RadioButtonUnchecked } from '@openedx/paragon/icons';
+import messages from './messages';
+
+const ChecklistItemBody = ({
+ checkId,
+ isCompleted,
+ updateLink,
+ // injected
+ intl,
+}) => (
+