TEXT   5

Untitled

Guest on 22nd September 2022 05:11:54 PM

  1. import { Select } from '@mantine/core';
  2. import { PropTypes } from 'prop-types';
  3. import React, { forwardRef } from 'react';
  4. import { styles } from './Dropdown.styles';
  5.  
  6. const Dropdown = forwardRef((props, ref) => {
  7.     const {
  8.         data,
  9.         disabled,
  10.         error,
  11.         hideBlankRow,
  12.         label,
  13.         name,
  14.         onBlur,
  15.         onChange,
  16.         onClose,
  17.         testId,
  18.         value,
  19.     } = props;
  20.  
  21.     const finalData = hideBlankRow
  22.         ? data
  23.         : [{ label: ' ', value: '' }, ...data];
  24.  
  25.     return (
  26.         <Select
  27.             data={finalData}
  28.             disabled={disabled}
  29.             error={error}
  30.             label={label}
  31.             name={name}
  32.             onBlur={onBlur}
  33.             onChange={onChange}
  34.             onDropdownClose={onClose}
  35.             ref={ref}
  36.             searchable
  37.             testId={testId}
  38.             value={value}
  39.             radius='none'
  40.             size='sm'
  41.             styles={styles}
  42.         />
  43.     );
  44. });
  45.  
  46. Dropdown.displayName = 'Dropdown2';
  47.  
  48. Dropdown.propTypes = {
  49.     data: PropTypes.array.isRequired,
  50.     disabled: PropTypes.bool,
  51.     error: PropTypes.string,
  52.     hideBlankRow: PropTypes.bool,
  53.     label: PropTypes.string.isRequired,
  54.     name: PropTypes.string.isRequired,
  55.     onBlur: PropTypes.func,
  56.     onChange: PropTypes.func.isRequired,
  57.     onClose: PropTypes.func,
  58.     testId: PropTypes.string,
  59.     value: PropTypes.string,
  60. };
  61.  
  62. export { Dropdown as Dropdown2 };

Raw Paste


Login or Register to edit or fork this paste. It's free.