import { PopupPositionT, PopupTriggerT } from '../popup'; import { ExtractPropTypes, PropType } from 'vue'; import { SizeT, RoundT, VariantT, Color2T } from '../_utils/types'; export declare const OptionWidthModeTypes: readonly ["auto", "min-width", "width"]; export type OptionWidthModeT = (typeof OptionWidthModeTypes)[number]; export interface SelectOptionT { label: string; value: string | number; } export type SelectValueT = string | number | string[] | number[] | (string | number)[]; export declare const selectProps: { /** * @zh-CN 选择框的值 v-model * @en-US Select the value of the box. */ modelValue: { type: PropType; }; /** * @zh-CN 选择框的默认值,非受控 * @en-US The default value of the selection box is uncontrolled. */ defaultValue: { type: PropType; }; /** * @zh-CN 选择框大小 * @en-US Select box size. */ size: { type: PropType; }; /** * @zh-CN 选择框圆角 * @en-US Select the rounded corners of the box */ round: { type: PropType; }; /** * @zh-CN 选择框颜色 * @en-US Select box color. * @default 'normal' */ color: { type: PropType; default: string; }; /** * @zh-CN 选择框变体 * @en-US Selection box variant. * @default 'outline' */ variant: { type: PropType; default: string; }; /** * @zh-CN 选择框提示文本 * @en-US Select box prompt text. */ placeholder: { type: StringConstructor; }; /** * @zh-CN 支持多选 * @en-US Support multiple selections. */ multiple: { type: BooleanConstructor; }; /** * @zh-CN 多选标签最大显示数量 * @en-US Maximum display quantity of multiple selection tags. */ maxTagCount: { type: NumberConstructor; }; /** * @zh-CN 支持快速清除 * @en-US Support quick clearing. */ clearable: { type: BooleanConstructor; }; /** * @zh-CN 支持禁用 * @en-US Support disabling. */ disabled: { type: BooleanConstructor; }; /** * @zh-CN 选项触发方式 * @en-US Option trigger method. * @default 'click' */ trigger: { type: PropType; default: string; }; /** * @zh-CN 选项布局位置 * @en-US Option layout location. * @default 'bl' */ optionPosition: { type: PropType; default: string; }; /** * @zh-CN 选项宽度自适应规则 * 'auto': 自动 * 'min-width': 最小宽度与选择框一致 * 'width': 宽度与选择框一致 * @en-US Option width adaptive rule. * 'auto': auto * 'min-width': The minimum width is consistent with the selection box. * 'width': The width is consistent with the selection box. * @default 'min-width' */ optionWidthMode: { type: PropType; default: string; }; /** * @zh-CN 选项容器自定义类 * @en-US Option container custom class. */ optionWrapClass: { type: PropType>; }; /** * @zh-CN 是否在结束选择时,卸载所有选项,v-model * @en-US Whether to uninstall all options when ending the selection. * @default true */ unmountOnHide: { type: BooleanConstructor; default: boolean; }; /** * @zh-CN 过渡名称 * @en-US Transition name. */ transition: { type: StringConstructor; }; /** * @zh-CN 加载中 * @en-US loading. */ loading: { type: BooleanConstructor; }; /** * @zh-CN 选择前回调,根据返回值判断是否显示 * @en-US Select the pre-callback and determine whether to display based on the return value. */ beforeSelect: { type: PropType<(value: string | number, currentValue: SelectValueT) => Promise | boolean | string | number>; }; /** * @zh-CN 显示前回调,根据返回值判断是否显示 * @en-US Display the callback before display, and determine whether to display based on the return value. */ beforeOptionsShow: { type: PropType<() => Promise | boolean>; }; /** * @zh-CN 隐藏前回调,根据返回值判断是否隐藏 * @en-US Hide the previous callback and determine whether to hide it based on the return value. */ beforeOptionsHide: { type: PropType<() => Promise | boolean>; }; /** * @zh-CN 选项挂载容器,默认为body * @en-US The option mounts the container, with the default being body. * @default 'body' */ optionsWrapper: { type: PropType; default: string; }; /** * @zh-CN 多选超过最大tag时,以文本显示 * @en-US When multiple selections exceed the maximum tag, they will be displayed as text. */ foldLabel: { type: PropType<(tags: Array) => string>; }; /** * @zh-CN 浮层显示收起的多选tag * @en-US The floating layer shows the multiple selected tags that have been folded. * @default 'hover' */ showFoldTags: { type: PropType; default: string; }; /** * @zh-CN 选项标题(pad、phone显示) * @en-US Option title (displayed on pad and phone). */ optionTitle: { type: StringConstructor; }; /** * @zh-CN 支持选项浮层响应式 * @en-US Support option floating layer responsiveness. */ noResponsive: { type: BooleanConstructor; }; }; export type SelectPropsT = ExtractPropTypes;