import React from "react";
import { DropDownList as KendoDropDownList } from "@progress/kendo-react-dropdowns";
import { DropDownListProps } from "./DropDownListProps";

const DropDownList: React.FC<DropDownListProps> = ({
  dataTestId,
  accessKey,
  adaptive,
  adaptiveTitle,
  ariaDescribedBy,
  ariaLabel,
  ariaLabelledBy,
  className,
  data,
  dataItemKey,
  defaultItem,
  defaultValue,
  delay,
  dir,
  disabled,
  fillMode,
  filter,
  filterable,
  footer,
  groupField,
  header,
  iconClassName,
  id,
  ignoreCase,
  label,
  leftRightKeysNavigation,
  loading,
  name,
  opened,
  popupSettings,
  required,
  rounded,
  size,
  skipDisabledItems,
  style,
  svgIcon,
  tabIndex,
  textField,
  title,
  valid,
  validationMessage,
  validityStyles,
  value,
  virtual,
  focusedItemIndex,
  groupHeaderItemRender,
  groupStickyHeaderItemRender,
  itemRender,
  listNoDataRender,
  onBlur,
  onChange,
  onClose,
  onFilterChange,
  onFocus,
  onOpen,
  onPageChange,
  valueMap,
  valueRender,
}) => (
  <div data-test-id={dataTestId}>
    <KendoDropDownList
      accessKey={accessKey}
      adaptive={adaptive}
      adaptiveTitle={adaptiveTitle}
      ariaDescribedBy={ariaDescribedBy}
      ariaLabel={ariaLabel}
      ariaLabelledBy={ariaLabelledBy}
      className={className}
      data={data}
      dataItemKey={dataItemKey}
      defaultItem={defaultItem}
      defaultValue={defaultValue}
      delay={delay}
      dir={dir}
      disabled={disabled}
      fillMode={fillMode}
      filter={filter}
      filterable={filterable}
      footer={footer}
      groupField={groupField}
      header={header}
      iconClassName={iconClassName}
      id={id}
      ignoreCase={ignoreCase}
      label={label}
      leftRightKeysNavigation={leftRightKeysNavigation}
      loading={loading}
      name={name}
      opened={opened}
      popupSettings={popupSettings}
      required={required}
      rounded={rounded}
      size={size}
      skipDisabledItems={skipDisabledItems}
      style={style}
      svgIcon={svgIcon}
      tabIndex={tabIndex}
      textField={textField}
      title={title}
      valid={valid}
      validationMessage={validationMessage}
      validityStyles={validityStyles}
      value={value}
      virtual={virtual}
      focusedItemIndex={focusedItemIndex}
      groupHeaderItemRender={groupHeaderItemRender}
      groupStickyHeaderItemRender={groupStickyHeaderItemRender}
      itemRender={itemRender}
      listNoDataRender={listNoDataRender}
      onBlur={onBlur}
      onChange={onChange}
      onClose={onClose}
      onFilterChange={onFilterChange}
      onFocus={onFocus}
      onOpen={onOpen}
      onPageChange={onPageChange}
      valueMap={valueMap}
      valueRender={valueRender}
    />
  </div>
);
export default DropDownList;
