mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2025-07-21 21:49:55 +03:00
Update types
This commit is contained in:
parent
6639216668
commit
5ef51f4322
|
@ -1,6 +1,7 @@
|
|||
import React, { PureComponent, Component, ReactElement } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import ReactSelect, {
|
||||
GroupTypeBase,
|
||||
NamedProps as ReactSelectProps,
|
||||
OptionTypeBase,
|
||||
} from 'react-select';
|
||||
|
@ -8,9 +9,10 @@ import createThemedComponent from '../utils/createThemedComponent';
|
|||
import { Theme } from '../themes/default';
|
||||
|
||||
export interface SelectProps<
|
||||
Option extends OptionTypeBase = OptionTypeBase,
|
||||
IsMulti extends boolean = false
|
||||
> extends Omit<ReactSelectProps<Option, IsMulti>, 'theme'> {
|
||||
Option extends OptionTypeBase,
|
||||
IsMulti extends boolean = false,
|
||||
Group extends GroupTypeBase<Option> = GroupTypeBase<Option>
|
||||
> extends Omit<ReactSelectProps<Option, IsMulti, Group>, 'theme'> {
|
||||
theme: Theme;
|
||||
}
|
||||
|
||||
|
@ -18,9 +20,10 @@ export interface SelectProps<
|
|||
* Wrapper around [React Select](https://github.com/JedWatson/react-select).
|
||||
*/
|
||||
export class Select<
|
||||
Option extends OptionTypeBase = OptionTypeBase,
|
||||
IsMulti extends boolean = false
|
||||
> extends (PureComponent || Component)<SelectProps<Option, IsMulti>> {
|
||||
Option extends OptionTypeBase,
|
||||
IsMulti extends boolean = false,
|
||||
Group extends GroupTypeBase<Option> = GroupTypeBase<Option>
|
||||
> extends (PureComponent || Component)<SelectProps<Option, IsMulti, Group>> {
|
||||
render() {
|
||||
return (
|
||||
<ReactSelect
|
||||
|
@ -88,17 +91,19 @@ export class Select<
|
|||
}
|
||||
|
||||
export interface ExternalSelectProps<
|
||||
Option extends OptionTypeBase = OptionTypeBase,
|
||||
IsMulti extends boolean = false
|
||||
> extends Omit<ReactSelectProps<Option, IsMulti>, 'theme'> {
|
||||
Option extends OptionTypeBase,
|
||||
IsMulti extends boolean = false,
|
||||
Group extends GroupTypeBase<Option> = GroupTypeBase<Option>
|
||||
> extends Omit<ReactSelectProps<Option, IsMulti, Group>, 'theme'> {
|
||||
theme?: Theme;
|
||||
}
|
||||
|
||||
type SelectComponent = <
|
||||
Option extends OptionTypeBase = OptionTypeBase,
|
||||
IsMulti extends boolean = false
|
||||
Option extends OptionTypeBase,
|
||||
IsMulti extends boolean = false,
|
||||
Group extends GroupTypeBase<Option> = GroupTypeBase<Option>
|
||||
>(
|
||||
props: ExternalSelectProps<Option, IsMulti>
|
||||
props: ExternalSelectProps<Option, IsMulti, Group>
|
||||
) => ReactElement;
|
||||
|
||||
export default createThemedComponent(Select) as SelectComponent & {
|
||||
|
|
Loading…
Reference in New Issue
Block a user