diff --git a/src/components/index.ts b/src/components/index.ts index 0186feb291..31e7e2ecf6 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -113,6 +113,9 @@ export * from './radio'; export { default as Section } from './section'; export * from './section'; +export { default as Select } from './select'; +export * from './select'; + export { default as TimeInput } from './time-input'; export * from './time-input'; diff --git a/src/components/select/Select.js b/src/components/select/Select.js.flow similarity index 99% rename from src/components/select/Select.js rename to src/components/select/Select.js.flow index 02bd2953c1..91d9f820e1 100644 --- a/src/components/select/Select.js +++ b/src/components/select/Select.js.flow @@ -22,7 +22,7 @@ type Props = { /** Label displayed for the input */ label: React.Node, labelTooltip?: string, - name: string, + name?: string, /** Handler for the change event on the select element */ onChange?: Function, showErrorOutline?: boolean, diff --git a/src/components/select/Select.stories.js b/src/components/select/Select.stories.tsx similarity index 99% rename from src/components/select/Select.stories.js rename to src/components/select/Select.stories.tsx index ec330e7f49..3b9734092a 100644 --- a/src/components/select/Select.stories.js +++ b/src/components/select/Select.stories.tsx @@ -1,4 +1,3 @@ -// @flow import * as React from 'react'; import Select from './Select'; diff --git a/src/components/select/Select.tsx b/src/components/select/Select.tsx new file mode 100644 index 0000000000..431095b5da --- /dev/null +++ b/src/components/select/Select.tsx @@ -0,0 +1,107 @@ +import React, { useState } from 'react'; +import classNames from 'classnames'; +import { FormattedMessage } from 'react-intl'; + +import IconInfo from '../../icons/general/IconInfo'; +import type { Icon } from '../../icons/iconTypes'; + +import { ButtonType } from '../button'; +import Tooltip, { TooltipPosition, TooltipTheme } from '../tooltip'; +import Label from '../label'; +import PlainButton from '../plain-button'; +import messages from './messages'; +import './Select.scss'; + +export interface SelectProps extends React.SelectHTMLAttributes { + /** Input `