diff --git a/src/components/core/button/segmented-control.js b/src/components/core/button/segmented-control.js
new file mode 100644
index 0000000..ef8cd78
--- /dev/null
+++ b/src/components/core/button/segmented-control.js
@@ -0,0 +1,55 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import cn from 'classnames';
+
+const SegmentedControl = ({ items, value, onChange, 'aria-label': ariaLabel, buttonClassName }) => {
+ return (
+
+ {items.map((item) => {
+ const isSelected = item.id === value;
+ return (
+ -
+
+
+ );
+ })}
+
+ );
+};
+
+SegmentedControl.propTypes = {
+ items: PropTypes.arrayOf(
+ PropTypes.shape({
+ id: PropTypes.string.isRequired,
+ label: PropTypes.string.isRequired,
+ ariaLabel: PropTypes.string,
+ icon: PropTypes.node,
+ })
+ ).isRequired,
+ value: PropTypes.string.isRequired,
+ onChange: PropTypes.func.isRequired,
+ 'aria-label': PropTypes.string,
+ buttonClassName: PropTypes.string,
+};
+
+export default SegmentedControl;