Skip to content

Commit

Permalink
Merge pull request #25 from dshk0718/main
Browse files Browse the repository at this point in the history
Wrap `text-field` with `Autocomplete` to provide a way to add text suggestions
  • Loading branch information
rvsia authored Jun 25, 2024
2 parents e2a692d + f23a512 commit 8a12363
Showing 1 changed file with 21 additions and 12 deletions.
33 changes: 21 additions & 12 deletions packages/evergreen-component-mapper/src/text-field/text-field.tsx
Original file line number Diff line number Diff line change
@@ -1,25 +1,34 @@
import React from 'react';

import { TextInputField } from 'evergreen-ui';
import { Autocomplete, TextInputField } from 'evergreen-ui';

import useFieldApi from '@data-driven-forms/react-form-renderer/use-field-api';
import { UseFieldApiProps } from '@data-driven-forms/react-form-renderer';

export interface TextFieldProps extends UseFieldApiProps<string> {
name: string;
isRequired?: boolean;
};
name: string;
items?: string[];
isRequired?: boolean;
}

const TextField: React.FC<TextFieldProps> = (props) => {
const { input, meta, isRequired, ...rest } = useFieldApi(props);
const { input, meta, isRequired, items, ...rest } = useFieldApi(props) as TextFieldProps;

return <TextInputField
{...input}
required={isRequired}
isInvalid={Boolean(meta.error)}
validationMessage={meta.error}
{...rest}
/>;
return (
<Autocomplete {...input} items={items || []}>
{({ getInputProps, getRef, inputValue, openMenu }) => (
<TextInputField
ref={getRef}
required={isRequired}
isInvalid={Boolean(meta.error)}
validationMessage={meta.error}
{...getInputProps({ onFocus: () => openMenu() })}
value={inputValue}
{...rest}
/>
)}
</Autocomplete>
);
};

export default TextField;

0 comments on commit 8a12363

Please sign in to comment.