import * as React from 'react' import { DropdownProps, Dropdown } from '../Dropdown/Dropdown' import { Header } from '../Header/Header' import './TagField.css' export type TagFieldProps = DropdownProps & { label?: string error?: boolean message?: string value?: (string | number | boolean)[] } export class TagField extends React.PureComponent { containerRef = React.createRef() getOptions = (): Array<{ text: string; value: string }> => { const value = this.props.value ?? [] return value.map((value) => ({ text: value.toString(), value: value.toString() })) } handleScrollToEnd = (): void => { const el = this.containerRef.current if (el) { setTimeout(() => (el.scrollLeft = el.scrollWidth), 0) } } handleChange = ( e: React.SyntheticEvent, dropdownProps: DropdownProps ): void => { const { onChange } = this.props this.handleScrollToEnd() if (onChange) { onChange(e, dropdownProps) } } render(): JSX.Element { const { label, error, message, ...rest } = this.props let classes = 'dcl tag-field' if (error) { classes += ' error' } return (
{label ?
{label}
: null}

{message}  

) } }