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