import React from "react";
import { AutoCompleteProps } from "./AutoCompleteProps";
import { AutoComplete as KendoAutoComplete } from "@progress/kendo-react-dropdowns";

const AutoComplete: React.FC<AutoCompleteProps> = ({
  dataTestId,
  accessKey,
  ariaDescribedBy,
  ariaLabelledBy,
  className,
  clearButton,
  data,
  dataItemKey,
  defaultValue,
  dir,
  disabled,
  fillMode,
  footer,
  groupField,
  header,
  id,
  label,
  loading,
  name,
  opened,
  placeholder,
  popupSettings,
  readonly,
  required,
  rounded,
  size,
  skipDisabledItems,
  style,
  suggest,
  tabIndex,
  textField,
  valid,
  validationMessage,
  validityStyles,
  value,
  focusedItemIndex,
  groupHeaderItemRender,
  groupStickyHeaderItemRender,
  itemRender,
  listNoDataRender,
  onBlur,
  onChange,
  onClose,
  onFocus,
  onOpen,
  valueRender,
}) => (
  <div data-test-id={dataTestId}>
    <KendoAutoComplete
      accessKey={accessKey}
      ariaDescribedBy={ariaDescribedBy}
      ariaLabelledBy={ariaLabelledBy}
      className={className}
      clearButton={clearButton}
      data={data}
      dataItemKey={dataItemKey}
      defaultValue={defaultValue}
      dir={dir}
      disabled={disabled}
      fillMode={fillMode}
      footer={footer}
      groupField={groupField}
      header={header}
      id={id}
      label={label}
      loading={loading}
      name={name}
      opened={opened}
      placeholder={placeholder}
      popupSettings={popupSettings}
      readonly={readonly}
      required={required}
      rounded={rounded}
      size={size}
      skipDisabledItems={skipDisabledItems}
      style={style}
      suggest={suggest}
      tabIndex={tabIndex}
      textField={textField}
      valid={valid}
      validationMessage={validationMessage}
      validityStyles={validityStyles}
      value={value}
      focusedItemIndex={focusedItemIndex}
      groupHeaderItemRender={groupHeaderItemRender}
      groupStickyHeaderItemRender={groupStickyHeaderItemRender}
      itemRender={itemRender}
      listNoDataRender={listNoDataRender}
      onBlur={onBlur}
      onChange={onChange}
      onClose={onClose}
      onFocus={onFocus}
      onOpen={onOpen}
      valueRender={valueRender}
    />
  </div>
);

export default AutoComplete;
