diff --git a/frontend/app/components/shared/Select/Select.tsx b/frontend/app/components/shared/Select/Select.tsx
new file mode 100644
index 000000000..c4523cf25
--- /dev/null
+++ b/frontend/app/components/shared/Select/Select.tsx
@@ -0,0 +1,63 @@
+import React from 'react';
+import Select from 'react-select';
+
+interface Props {
+ options: any[];
+ isSearchable?: boolean;
+ defaultValue?: any;
+ plain?: boolean;
+ [x:string]: any;
+}
+export default function({ plain = false, options, isSearchable = false, defaultValue, ...rest }: Props) {
+ const customStyles = {
+ option: (provided, state) => ({
+ ...provided,
+ whiteSpace: 'nowrap',
+ }),
+ menu: (provided, state) => ({
+ ...provided,
+ top: 31,
+ }),
+ control: (provided) => {
+ const obj = {
+ ...provided,
+ border: 'solid thin #ddd'
+ }
+ if (plain) {
+ obj['border'] = '1px solid transparent'
+ }
+ return obj;
+ },
+ valueContainer: (provided) => ({
+ ...provided,
+ paddingRight: '0px',
+ }),
+ singleValue: (provided, state) => {
+ const opacity = state.isDisabled ? 0.5 : 1;
+ const transition = 'opacity 300ms';
+
+ return { ...provided, opacity, transition };
+ }
+ }
+ return (
+