|  | 
| 27 | 27 | 
 | 
| 28 | 28 | import inspect | 
| 29 | 29 | import os | 
| 30 |  | -import sys | 
| 31 | 30 | from collections.abc import Sequence | 
| 32 | 31 | from functools import partial | 
| 33 |  | -from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, TypeVar, overload | 
|  | 32 | +from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, overload | 
|  | 33 | + | 
|  | 34 | +from typing_extensions import Self, TypeVar | 
| 34 | 35 | 
 | 
| 35 | 36 | from ..channel import _threaded_guild_channel_factory | 
| 36 | 37 | from ..components import SelectDefaultValue, SelectMenu, SelectOption | 
|  | 
| 62 | 63 | ) | 
| 63 | 64 | 
 | 
| 64 | 65 | if TYPE_CHECKING: | 
| 65 |  | -    from typing_extensions import Self | 
| 66 |  | - | 
| 67 | 66 |     from ..abc import GuildChannel, Snowflake | 
| 68 | 67 |     from ..types.components import SelectMenu as SelectMenuPayload | 
| 69 | 68 |     from ..types.interactions import ComponentInteractionData | 
| 70 | 69 |     from .view import View | 
| 71 | 70 | 
 | 
| 72 |  | -    ST = TypeVar("ST", bound=Snowflake | str, covariant=True, default=Any) | 
| 73 |  | -else: | 
| 74 |  | -    if sys.version_info >= (3, 13): | 
| 75 |  | -        ST = TypeVar("ST", bound="Snowflake | str", covariant=True, default=Any) | 
| 76 |  | -    else: | 
| 77 |  | -        ST = TypeVar("ST", bound="Snowflake | str", covariant=True) | 
| 78 |  | - | 
|  | 71 | +ST = TypeVar("ST", bound="Snowflake | str", covariant=True, default=Any) | 
| 79 | 72 | S = TypeVar("S", bound="Select") | 
| 80 | 73 | V = TypeVar("V", bound="View", covariant=True) | 
| 81 | 74 | 
 | 
| 82 | 75 | 
 | 
| 83 |  | -class Select(Generic[V, ST], Item[V]): | 
|  | 76 | +class Select(Item[V], Generic[V, ST]): | 
| 84 | 77 |     """Represents a UI select menu. | 
| 85 | 78 | 
 | 
| 86 | 79 |     This is usually represented as a drop down menu. | 
|  | 
0 commit comments