diff --git a/awx/ui_next/src/components/DetailList/ArrayDetail.jsx b/awx/ui_next/src/components/DetailList/ArrayDetail.jsx
new file mode 100644
index 0000000000..a946a5976f
--- /dev/null
+++ b/awx/ui_next/src/components/DetailList/ArrayDetail.jsx
@@ -0,0 +1,35 @@
+import 'styled-components/macro';
+import React from 'react';
+import styled from 'styled-components';
+import { TextListItemVariants } from '@patternfly/react-core';
+import { DetailName, DetailValue } from './Detail';
+
+const Value = styled(DetailValue)`
+ margin-top: var(--pf-global--spacer--xs);
+ padding: var(--pf-global--spacer--xs);
+ border: 1px solid var(--pf-global--BorderColor--100);
+ max-height: 5.5em;
+ overflow: auto;
+`;
+
+function ArrayDetail({ label, value, dataCy }) {
+ const labelCy = dataCy ? `${dataCy}-label` : null;
+ const valueCy = dataCy ? `${dataCy}-value` : null;
+
+ const vals = Array.isArray(value) ? value : [value];
+
+ return (
+
+
+ {label}
+
+
+ {vals.map(v => (
+ {v}
+ ))}
+
+
+ );
+}
+
+export default ArrayDetail;
diff --git a/awx/ui_next/src/components/DetailList/DetailList.jsx b/awx/ui_next/src/components/DetailList/DetailList.jsx
index 59185b0931..85bde3494a 100644
--- a/awx/ui_next/src/components/DetailList/DetailList.jsx
+++ b/awx/ui_next/src/components/DetailList/DetailList.jsx
@@ -11,7 +11,7 @@ const DetailList = ({ children, stacked, ...props }) => (
export default styled(DetailList)`
display: grid;
grid-gap: 20px;
- align-items: center;
+ align-items: start;
${props =>
props.stacked
? `
diff --git a/awx/ui_next/src/components/DetailList/index.js b/awx/ui_next/src/components/DetailList/index.js
index 8bebb27ce4..332cfa2f6b 100644
--- a/awx/ui_next/src/components/DetailList/index.js
+++ b/awx/ui_next/src/components/DetailList/index.js
@@ -3,6 +3,7 @@ export { default as Detail, DetailName, DetailValue } from './Detail';
export { default as DeletedDetail } from './DeletedDetail';
export { default as UserDateDetail } from './UserDateDetail';
export { default as DetailBadge } from './DetailBadge';
+export { default as ArrayDetail } from './ArrayDetail';
/*
NOTE: ObjectDetail cannot be imported here, as it causes circular
dependencies in testing environment. Import it directly from
diff --git a/awx/ui_next/src/screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.jsx b/awx/ui_next/src/screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.jsx
index a70f691e02..6b19621c54 100644
--- a/awx/ui_next/src/screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.jsx
+++ b/awx/ui_next/src/screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.jsx
@@ -7,6 +7,7 @@ import AlertModal from '../../../components/AlertModal';
import { CardBody, CardActionsRow } from '../../../components/Card';
import {
Detail,
+ ArrayDetail,
DetailList,
DeletedDetail,
} from '../../../components/DetailList';
@@ -81,9 +82,9 @@ function NotificationTemplateDetail({ i18n, template }) {
value={configuration.host}
dataCy="nt-detail-host"
/>
-
-
-
-
-