sard-uniapp
Version:
sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库
169 lines (168 loc) • 5.42 kB
TypeScript
import { type StyleValue, type Ref } from 'vue';
import { type TransitionHookEmits } from '../popup/common';
export interface DropdownProps {
rootStyle?: StyleValue;
rootClass?: string;
direction?: 'down' | 'up';
disabled?: boolean;
awayClosable?: boolean;
overlayClosable?: boolean;
duration?: number;
togglable?: boolean;
valueOnClear?: () => any;
}
export declare const defaultDropdownProps: {
rootStyle?: (string | false | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => string | false | import("vue").CSSProperties | StyleValue[]) | null) | undefined;
rootClass?: (string | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => string)) | undefined;
direction?: ("down" | "up" | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => "down" | "up")) | undefined;
disabled?: (boolean | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => boolean)) | undefined;
awayClosable?: (boolean | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => boolean)) | undefined;
overlayClosable?: (boolean | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => boolean)) | undefined;
duration?: (number | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => number)) | undefined;
togglable?: (boolean | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => boolean)) | undefined;
valueOnClear?: ((() => any) | ((props: {
rootStyle: StyleValue;
rootClass: string;
direction: "down" | "up";
disabled: boolean;
awayClosable: boolean;
overlayClosable: boolean;
duration: number;
togglable: boolean;
valueOnClear: () => any;
}) => () => any)) | undefined;
};
export interface DropdownSlots {
default?(props: Record<string, never>): any;
}
export interface DropdownOption {
label?: string;
value?: any;
}
export type DropdownCloseType = 'overlay' | 'away' | 'other-button' | 'option' | 'button';
export type DropdownBeforeClose = (type: DropdownCloseType) => any;
export type DropdownBeforeOpen = () => any;
export interface DropdownItemProps {
rootStyle?: StyleValue;
rootClass?: string;
title?: string;
label?: string;
options?: DropdownOption[];
disabled?: boolean;
modelValue?: any;
visible?: boolean;
separator?: string;
placeholder?: string;
togglable?: boolean;
valueOnClear?: () => any;
beforeClose?: DropdownBeforeClose;
beforeOpen?: DropdownBeforeOpen;
}
export declare const defaultDropdownItemProps: {
options: () => never[];
};
export interface DropdownItemSlots {
default?(props: Record<string, never>): any;
}
export interface DropdownItemEmits extends TransitionHookEmits {
(e: 'update:model-value', value: any): void;
(e: 'change', value: any): void;
(e: 'update:visible', visible: boolean): void;
}
export interface DropdownContext {
direction: DropdownProps['direction'];
disabled: DropdownProps['disabled'];
awayClosable: DropdownProps['awayClosable'];
overlayClosable: DropdownProps['overlayClosable'];
duration: DropdownProps['duration'];
togglable: DropdownProps['togglable'];
valueOnClear: DropdownProps['valueOnClear'];
hideOthers: (instance: any) => void;
register: (instance: any, expose: {
hide: () => void;
visible: Ref<boolean>;
}) => void;
unregister: (instance: any) => void;
}
export declare const dropdownContextSymbol: unique symbol;
export declare const defaultValueOnClear: () => undefined;