naive-ui
Version:
A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast
700 lines (699 loc) • 24.8 kB
TypeScript
import { type PropType } from 'vue';
import { type TreeNode } from 'treemate';
import type { SelectGroupOption, SelectIgnoredOption, SelectOption, SelectTreeMate, Value } from '../../../select/src/interface';
import type { NodeProps, RenderLabel, RenderOption, Size } from './interface';
declare const _default: import("vue").DefineComponent<{
clsPrefix: {
type: StringConstructor;
required: true;
};
scrollable: {
type: BooleanConstructor;
default: boolean;
};
treeMate: {
type: PropType<SelectTreeMate>;
required: true;
};
multiple: BooleanConstructor;
size: {
type: PropType<Size>;
default: string;
};
value: {
type: PropType<Value | null>;
default: null;
};
autoPending: BooleanConstructor;
virtualScroll: {
type: BooleanConstructor;
default: boolean;
};
show: {
type: BooleanConstructor;
default: boolean;
};
labelField: {
type: StringConstructor;
default: string;
};
valueField: {
type: StringConstructor;
default: string;
};
loading: BooleanConstructor;
focusable: BooleanConstructor;
renderLabel: PropType<RenderLabel>;
renderOption: PropType<RenderOption>;
nodeProps: PropType<NodeProps>;
showCheckmark: {
type: BooleanConstructor;
default: boolean;
};
onMousedown: PropType<(e: MouseEvent) => void>;
onScroll: PropType<(e: Event) => void>;
onFocus: PropType<(e: FocusEvent) => void>;
onBlur: PropType<(e: FocusEvent) => void>;
onKeyup: PropType<(e: KeyboardEvent) => void>;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onTabOut: PropType<() => void>;
onMouseenter: PropType<(e: MouseEvent) => void>;
onMouseleave: PropType<(e: MouseEvent) => void>;
onResize: PropType<() => void>;
resetMenuOnOptionsChange: {
type: BooleanConstructor;
default: boolean;
};
inlineThemeDisabled: BooleanConstructor;
onToggle: PropType<(tmNode: TreeNode<SelectOption>) => void>;
theme: PropType<import("../../../_mixins").Theme<"InternalSelectMenu", {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
}, {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
}>>;
themeOverrides: PropType<import("../../../_mixins/use-theme").ExtractThemeOverrides<import("../../../_mixins").Theme<"InternalSelectMenu", {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
}, {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
}>>>;
builtinThemeOverrides: PropType<import("../../../_mixins/use-theme").ExtractThemeOverrides<import("../../../_mixins").Theme<"InternalSelectMenu", {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
}, {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
}>>>;
}, {
selfRef: import("vue").Ref<HTMLElement | null>;
getPendingTmNode: () => TreeNode<import("../../../select/src/interface").SelectBaseOption> | null;
prev: () => void;
next: () => void;
mergedTheme: import("vue").ComputedRef<{
common: import("../../..").ThemeCommonVars;
self: {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
};
peers: {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
};
peerOverrides: {
Scrollbar?: {
peers?: {
[x: string]: any;
} | undefined;
} | undefined;
Empty?: {
peers?: {
[x: string]: any;
} | undefined;
} | undefined;
};
}>;
mergedClsPrefix: import("vue").Ref<string>;
rtlEnabled: import("vue").Ref<import("../../../config-provider/src/internal-interface").RtlItem | undefined> | undefined;
virtualListRef: import("vue").Ref<{
listElRef: HTMLElement;
itemsElRef: HTMLElement | null;
scrollTo: import("vueuc").VVirtualListScrollTo;
} | null>;
scrollbarRef: import("vue").Ref<{
$el: HTMLElement;
containerRef: HTMLElement | null;
contentRef: HTMLElement | null;
containerScrollTop: number;
syncUnifiedContainer: () => void;
scrollTo: import("../../scrollbar/src/Scrollbar").ScrollTo;
scrollBy: import("../../scrollbar/src/Scrollbar").ScrollBy;
sync: () => void;
handleMouseEnterWrapper: () => void;
handleMouseLeaveWrapper: () => void;
} | null>;
itemSize: import("vue").ComputedRef<number>;
padding: import("vue").ComputedRef<import("seemly").Margin>;
flattenedNodes: import("vue").ComputedRef<TreeNode<import("../../../select/src/interface").SelectBaseOption<string | number, string | ((option: import("../../../select/src/interface").SelectBaseOption<string | number, string | any>, selected: boolean) => import("vue").VNodeChild)>, SelectGroupOption, SelectIgnoredOption>[]>;
empty: import("vue").ComputedRef<boolean>;
virtualListContainer(): HTMLElement | undefined;
virtualListContent(): HTMLElement | null | undefined;
doScroll: (e: Event) => void;
handleFocusin: (e: FocusEvent) => void;
handleFocusout: (e: FocusEvent) => void;
handleKeyUp: (e: KeyboardEvent) => void;
handleKeyDown: (e: KeyboardEvent) => void;
handleMouseDown: (e: MouseEvent) => void;
handleVirtualListResize: () => void;
handleVirtualListScroll: (e: Event) => void;
cssVars: import("vue").ComputedRef<{
'--n-height': string;
'--n-action-divider-color': string;
'--n-action-text-color': string;
'--n-bezier': string;
'--n-border-radius': string;
'--n-color': string;
'--n-option-font-size': string;
'--n-group-header-text-color': string;
'--n-option-check-color': string;
'--n-option-color-pending': string;
'--n-option-color-active': string;
'--n-option-color-active-pending': string;
'--n-option-height': string;
'--n-option-opacity-disabled': string;
'--n-option-text-color': string;
'--n-option-text-color-active': string;
'--n-option-text-color-disabled': string;
'--n-option-text-color-pressed': string;
'--n-option-padding': string;
'--n-option-padding-left': string;
'--n-option-padding-right': string;
'--n-loading-color': string;
'--n-loading-size': string;
}> | undefined;
themeClass: import("vue").Ref<string> | undefined;
onRender: (() => void) | undefined;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
clsPrefix: {
type: StringConstructor;
required: true;
};
scrollable: {
type: BooleanConstructor;
default: boolean;
};
treeMate: {
type: PropType<SelectTreeMate>;
required: true;
};
multiple: BooleanConstructor;
size: {
type: PropType<Size>;
default: string;
};
value: {
type: PropType<Value | null>;
default: null;
};
autoPending: BooleanConstructor;
virtualScroll: {
type: BooleanConstructor;
default: boolean;
};
show: {
type: BooleanConstructor;
default: boolean;
};
labelField: {
type: StringConstructor;
default: string;
};
valueField: {
type: StringConstructor;
default: string;
};
loading: BooleanConstructor;
focusable: BooleanConstructor;
renderLabel: PropType<RenderLabel>;
renderOption: PropType<RenderOption>;
nodeProps: PropType<NodeProps>;
showCheckmark: {
type: BooleanConstructor;
default: boolean;
};
onMousedown: PropType<(e: MouseEvent) => void>;
onScroll: PropType<(e: Event) => void>;
onFocus: PropType<(e: FocusEvent) => void>;
onBlur: PropType<(e: FocusEvent) => void>;
onKeyup: PropType<(e: KeyboardEvent) => void>;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onTabOut: PropType<() => void>;
onMouseenter: PropType<(e: MouseEvent) => void>;
onMouseleave: PropType<(e: MouseEvent) => void>;
onResize: PropType<() => void>;
resetMenuOnOptionsChange: {
type: BooleanConstructor;
default: boolean;
};
inlineThemeDisabled: BooleanConstructor;
onToggle: PropType<(tmNode: TreeNode<SelectOption>) => void>;
theme: PropType<import("../../../_mixins").Theme<"InternalSelectMenu", {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
}, {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
}>>;
themeOverrides: PropType<import("../../../_mixins/use-theme").ExtractThemeOverrides<import("../../../_mixins").Theme<"InternalSelectMenu", {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
}, {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
}>>>;
builtinThemeOverrides: PropType<import("../../../_mixins/use-theme").ExtractThemeOverrides<import("../../../_mixins").Theme<"InternalSelectMenu", {
optionFontSizeTiny: string;
optionFontSizeSmall: string;
optionFontSizeMedium: string;
optionFontSizeLarge: string;
optionFontSizeHuge: string;
optionHeightTiny: string;
optionHeightSmall: string;
optionHeightMedium: string;
optionHeightLarge: string;
optionHeightHuge: string;
borderRadius: string;
color: string;
groupHeaderTextColor: string;
actionDividerColor: string;
optionTextColor: string;
optionTextColorPressed: string;
optionTextColorDisabled: string;
optionTextColorActive: string;
optionOpacityDisabled: string;
optionCheckColor: string;
optionColorPending: string;
optionColorActive: string;
optionColorActivePending: string;
actionTextColor: string;
loadingColor: string;
height: string;
paddingTiny: string;
paddingSmall: string;
paddingMedium: string;
paddingLarge: string;
paddingHuge: string;
optionPaddingTiny: string;
optionPaddingSmall: string;
optionPaddingMedium: string;
optionPaddingLarge: string;
optionPaddingHuge: string;
loadingSize: string;
}, {
Scrollbar: import("../../../_mixins").Theme<"Scrollbar", {
height: string;
width: string;
borderRadius: string;
color: string;
colorHover: string;
railInsetHorizontalBottom: string;
railInsetHorizontalTop: string;
railInsetVerticalRight: string;
railInsetVerticalLeft: string;
railColor: string;
}, any>;
Empty: import("../../../_mixins").Theme<"Empty", {
fontSizeTiny: string;
fontSizeSmall: string;
fontSizeMedium: string;
fontSizeLarge: string;
fontSizeHuge: string;
textColor: string;
iconColor: string;
extraTextColor: string;
iconSizeTiny: string;
iconSizeSmall: string;
iconSizeMedium: string;
iconSizeLarge: string;
iconSizeHuge: string;
}, any>;
}>>>;
}>>, {
value: Value | null;
size: Size;
show: boolean;
multiple: boolean;
loading: boolean;
focusable: boolean;
inlineThemeDisabled: boolean;
scrollable: boolean;
showCheckmark: boolean;
labelField: string;
autoPending: boolean;
virtualScroll: boolean;
valueField: string;
resetMenuOnOptionsChange: boolean;
}, {}>;
export default _default;