diff --git a/packages/react-integration/demo-app-ts/src/Demos.ts b/packages/react-integration/demo-app-ts/src/Demos.ts
index da3c73365c1..19dc20b683f 100644
--- a/packages/react-integration/demo-app-ts/src/Demos.ts
+++ b/packages/react-integration/demo-app-ts/src/Demos.ts
@@ -142,6 +142,21 @@ export const Demos: DemoInterface[] = [
name: 'Dropdown Demo',
componentType: Examples.DropdownDemo
},
+ {
+ id: 'dual-list-selector-basic-demo',
+ name: 'DualListSelector basic Demo',
+ componentType: Examples.DualListSelectorBasicDemo
+ },
+ {
+ id: 'dual-list-selector-tree-demo',
+ name: 'DualListSelector Tree Demo',
+ componentType: Examples.DualListSelectorTreeDemo
+ },
+ {
+ id: 'dual-list-selector-with-actions-demo',
+ name: 'DualListSelector with actions Demo',
+ componentType: Examples.DualListSelectorWithActionsDemo
+ },
{
id: 'dual-list-selector-deprecated-basic-demo',
name: 'DualListSelector deprecated basic Demo',
diff --git a/packages/react-integration/demo-app-ts/src/components/demos/DualListSelectorDemo/DualListSelectorBasicDemo.tsx b/packages/react-integration/demo-app-ts/src/components/demos/DualListSelectorDemo/DualListSelectorBasicDemo.tsx
new file mode 100644
index 00000000000..784c4c7c96d
--- /dev/null
+++ b/packages/react-integration/demo-app-ts/src/components/demos/DualListSelectorDemo/DualListSelectorBasicDemo.tsx
@@ -0,0 +1,161 @@
+import React from 'react';
+import {
+ DualListSelector,
+ DualListSelectorPane,
+ DualListSelectorList,
+ DualListSelectorListItem,
+ DualListSelectorControlsWrapper,
+ DualListSelectorControl
+} from '@patternfly/react-core';
+import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon';
+import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
+import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon';
+import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
+
+interface Option {
+ text: string;
+ selected: boolean;
+ isVisible: boolean;
+}
+
+export const DualListSelectorBasicDemo: React.FunctionComponent = () => {
+ const [availableOptions, setAvailableOptions] = React.useState