@v-c/select 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/BaseSelect/Polite.cjs +37 -0
- package/dist/BaseSelect/Polite.d.ts +7 -0
- package/dist/BaseSelect/Polite.js +34 -0
- package/dist/BaseSelect/index.cjs +763 -0
- package/dist/BaseSelect/index.d.ts +133 -0
- package/dist/BaseSelect/index.js +759 -0
- package/dist/OptGroup.cjs +5 -0
- package/dist/OptGroup.d.ts +6 -0
- package/dist/OptGroup.js +4 -0
- package/dist/Option.cjs +5 -0
- package/dist/Option.d.ts +8 -0
- package/dist/Option.js +4 -0
- package/dist/OptionList.cjs +255 -0
- package/dist/OptionList.d.ts +17 -0
- package/dist/OptionList.js +249 -0
- package/dist/Select.cjs +833 -0
- package/dist/Select.d.ts +96 -0
- package/dist/Select.js +828 -0
- package/dist/SelectContext.cjs +11 -0
- package/dist/SelectContext.d.ts +32 -0
- package/dist/SelectContext.js +9 -0
- package/dist/SelectInput/Affix.cjs +16 -0
- package/dist/SelectInput/Affix.d.ts +2 -0
- package/dist/SelectInput/Affix.js +13 -0
- package/dist/SelectInput/Content/MultipleContent.cjs +142 -0
- package/dist/SelectInput/Content/MultipleContent.d.ts +3 -0
- package/dist/SelectInput/Content/MultipleContent.js +138 -0
- package/dist/SelectInput/Content/Placeholder.cjs +33 -0
- package/dist/SelectInput/Content/Placeholder.d.ts +5 -0
- package/dist/SelectInput/Content/Placeholder.js +30 -0
- package/dist/SelectInput/Content/SingleContent.cjs +80 -0
- package/dist/SelectInput/Content/SingleContent.d.ts +3 -0
- package/dist/SelectInput/Content/SingleContent.js +77 -0
- package/dist/SelectInput/Content/index.cjs +40 -0
- package/dist/SelectInput/Content/index.d.ts +6 -0
- package/dist/SelectInput/Content/index.js +36 -0
- package/dist/SelectInput/Input.cjs +176 -0
- package/dist/SelectInput/Input.d.ts +22 -0
- package/dist/SelectInput/Input.js +173 -0
- package/dist/SelectInput/context.cjs +11 -0
- package/dist/SelectInput/context.d.ts +5 -0
- package/dist/SelectInput/context.js +9 -0
- package/dist/SelectInput/index.cjs +330 -0
- package/dist/SelectInput/index.d.ts +44 -0
- package/dist/SelectInput/index.js +325 -0
- package/dist/SelectTrigger.cjs +189 -0
- package/dist/SelectTrigger.d.ts +26 -0
- package/dist/SelectTrigger.js +185 -0
- package/dist/TransBtn.cjs +69 -0
- package/dist/TransBtn.d.ts +22 -0
- package/dist/TransBtn.js +66 -0
- package/dist/_virtual/rolldown_runtime.cjs +21 -0
- package/dist/hooks/index.cjs +23 -0
- package/dist/hooks/index.d.ts +17 -0
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/useAllowClear.cjs +17 -0
- package/dist/hooks/useAllowClear.d.ts +9 -0
- package/dist/hooks/useAllowClear.js +16 -0
- package/dist/hooks/useBaseProps.cjs +12 -0
- package/dist/hooks/useBaseProps.d.ts +10 -0
- package/dist/hooks/useBaseProps.js +9 -0
- package/dist/hooks/useCache.cjs +36 -0
- package/dist/hooks/useCache.d.ts +7 -0
- package/dist/hooks/useCache.js +34 -0
- package/dist/hooks/useComponents.cjs +15 -0
- package/dist/hooks/useComponents.d.ts +8 -0
- package/dist/hooks/useComponents.js +13 -0
- package/dist/hooks/useFilterOptions.cjs +39 -0
- package/dist/hooks/useFilterOptions.d.ts +3 -0
- package/dist/hooks/useFilterOptions.js +37 -0
- package/dist/hooks/useLock.cjs +26 -0
- package/dist/hooks/useLock.d.ts +1 -0
- package/dist/hooks/useLock.js +24 -0
- package/dist/hooks/useOpen.cjs +58 -0
- package/dist/hooks/useOpen.d.ts +19 -0
- package/dist/hooks/useOpen.js +56 -0
- package/dist/hooks/useOptions.cjs +38 -0
- package/dist/hooks/useOptions.d.ts +13 -0
- package/dist/hooks/useOptions.js +36 -0
- package/dist/hooks/useRefFunc.cjs +12 -0
- package/dist/hooks/useRefFunc.d.ts +6 -0
- package/dist/hooks/useRefFunc.js +10 -0
- package/dist/hooks/useSearchConfig.cjs +21 -0
- package/dist/hooks/useSearchConfig.d.ts +11 -0
- package/dist/hooks/useSearchConfig.js +19 -0
- package/dist/hooks/useSelectTriggerControl.cjs +18 -0
- package/dist/hooks/useSelectTriggerControl.d.ts +2 -0
- package/dist/hooks/useSelectTriggerControl.js +16 -0
- package/dist/index.cjs +16 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +8 -0
- package/dist/interface.cjs +0 -0
- package/dist/interface.d.ts +23 -0
- package/dist/interface.js +0 -0
- package/dist/utils/commonUtil.cjs +37 -0
- package/dist/utils/commonUtil.d.ts +12 -0
- package/dist/utils/commonUtil.js +30 -0
- package/dist/utils/keyUtil.cjs +36 -0
- package/dist/utils/keyUtil.d.ts +2 -0
- package/dist/utils/keyUtil.js +34 -0
- package/dist/utils/legacyUtil.cjs +32 -0
- package/dist/utils/legacyUtil.d.ts +3 -0
- package/dist/utils/legacyUtil.js +31 -0
- package/dist/utils/platformUtil.cjs +5 -0
- package/dist/utils/platformUtil.d.ts +1 -0
- package/dist/utils/platformUtil.js +5 -0
- package/dist/utils/valueUtil.cjs +79 -0
- package/dist/utils/valueUtil.d.ts +18 -0
- package/dist/utils/valueUtil.js +75 -0
- package/package.json +43 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { AlignType, BuildInPlacements } from '@v-c/trigger';
|
|
2
|
+
import { VueNode } from '@v-c/util/dist/type';
|
|
3
|
+
import { ScrollConfig, ScrollTo } from '@v-c/virtual-list';
|
|
4
|
+
import { CSSProperties } from 'vue';
|
|
5
|
+
import { ComponentsConfig } from '../hooks/useComponents';
|
|
6
|
+
import { DisplayInfoType, DisplayValueType, Mode, Placement, RawValueType, RenderDOMFunc, RenderNode } from '../interface';
|
|
7
|
+
export type BaseSelectSemanticName = 'prefix' | 'suffix' | 'input' | 'clear' | 'placeholder' | 'content' | 'item' | 'itemContent' | 'itemRemove';
|
|
8
|
+
/**
|
|
9
|
+
* ZombieJ:
|
|
10
|
+
* We are currently refactoring the semantic structure of the component. Changelog:
|
|
11
|
+
* - Remove `suffixIcon` and change to `suffix`.
|
|
12
|
+
* - Add `components.root` for replacing response element.
|
|
13
|
+
* - Remove `getInputElement` and `getRawInputElement` since we can use `components.input` instead.
|
|
14
|
+
*/
|
|
15
|
+
export type { DisplayInfoType, DisplayValueType, Mode, Placement, RawValueType, RenderDOMFunc, RenderNode, };
|
|
16
|
+
export interface RefOptionListProps {
|
|
17
|
+
onKeyDown: (event: KeyboardEvent) => void;
|
|
18
|
+
onKeyUp: (event: KeyboardEvent) => void;
|
|
19
|
+
scrollTo: (args: number | ScrollConfig) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface CustomTagProps {
|
|
22
|
+
label: VueNode;
|
|
23
|
+
value: any;
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
onClose: (event?: MouseEvent) => void;
|
|
26
|
+
closable: boolean;
|
|
27
|
+
isMaxTag: boolean;
|
|
28
|
+
index: number;
|
|
29
|
+
}
|
|
30
|
+
export interface BaseSelectRef {
|
|
31
|
+
focus: (options?: FocusOptions) => void;
|
|
32
|
+
blur: () => void;
|
|
33
|
+
scrollTo: ScrollTo;
|
|
34
|
+
nativeElement: HTMLElement;
|
|
35
|
+
}
|
|
36
|
+
export interface BaseSelectPrivateProps {
|
|
37
|
+
id: string;
|
|
38
|
+
prefixCls: string;
|
|
39
|
+
omitDomProps?: string[];
|
|
40
|
+
displayValues: DisplayValueType[];
|
|
41
|
+
onDisplayValuesChange: (values: DisplayValueType[], info: {
|
|
42
|
+
type: DisplayInfoType;
|
|
43
|
+
values: DisplayValueType[];
|
|
44
|
+
}) => void;
|
|
45
|
+
/** Current dropdown list active item string value */
|
|
46
|
+
activeValue?: string;
|
|
47
|
+
/** Link search input with target element */
|
|
48
|
+
activeDescendantId?: string;
|
|
49
|
+
onActiveValueChange?: (value: string | null) => void;
|
|
50
|
+
searchValue: string;
|
|
51
|
+
autoClearSearchValue?: boolean;
|
|
52
|
+
/** Trigger onSearch, return false to prevent trigger open event */
|
|
53
|
+
onSearch: (searchValue: string, info: {
|
|
54
|
+
source: 'typing' | 'effect' | 'submit' | 'blur';
|
|
55
|
+
}) => void;
|
|
56
|
+
/** Trigger when search text match the `tokenSeparators`. Will provide split content */
|
|
57
|
+
onSearchSplit?: (words: string[]) => void;
|
|
58
|
+
OptionList: any;
|
|
59
|
+
/** Tell if provided `options` is empty */
|
|
60
|
+
emptyOptions: boolean;
|
|
61
|
+
}
|
|
62
|
+
export type BaseSelectPropsWithoutPrivate = Omit<BaseSelectProps, keyof BaseSelectPrivateProps>;
|
|
63
|
+
export interface BaseSelectProps extends BaseSelectPrivateProps {
|
|
64
|
+
className?: string;
|
|
65
|
+
style?: CSSProperties;
|
|
66
|
+
classNames?: Partial<Record<BaseSelectSemanticName, string>>;
|
|
67
|
+
styles?: Partial<Record<BaseSelectSemanticName, CSSProperties>>;
|
|
68
|
+
showSearch?: boolean;
|
|
69
|
+
tagRender?: (props: CustomTagProps) => any;
|
|
70
|
+
direction?: 'ltr' | 'rtl';
|
|
71
|
+
autoFocus?: boolean;
|
|
72
|
+
placeholder?: VueNode;
|
|
73
|
+
maxCount?: number;
|
|
74
|
+
title?: string;
|
|
75
|
+
tabIndex?: number;
|
|
76
|
+
notFoundContent?: VueNode;
|
|
77
|
+
onClear?: () => void;
|
|
78
|
+
maxLength?: number;
|
|
79
|
+
showScrollBar?: boolean | 'optional';
|
|
80
|
+
choiceTransitionName?: string;
|
|
81
|
+
mode?: Mode;
|
|
82
|
+
disabled?: boolean;
|
|
83
|
+
loading?: boolean;
|
|
84
|
+
open?: boolean;
|
|
85
|
+
defaultOpen?: boolean;
|
|
86
|
+
onPopupVisibleChange?: (open: boolean) => void;
|
|
87
|
+
/** @private Internal usage. Do not use in your production. */
|
|
88
|
+
getInputElement?: () => any;
|
|
89
|
+
/** @private Internal usage. Do not use in your production. */
|
|
90
|
+
getRawInputElement?: () => any;
|
|
91
|
+
maxTagTextLength?: number;
|
|
92
|
+
maxTagCount?: number | 'responsive';
|
|
93
|
+
maxTagPlaceholder?: VueNode | ((omittedValues: DisplayValueType[]) => any);
|
|
94
|
+
tokenSeparators?: string[];
|
|
95
|
+
allowClear?: boolean | {
|
|
96
|
+
clearIcon?: VueNode;
|
|
97
|
+
};
|
|
98
|
+
prefix?: VueNode;
|
|
99
|
+
/** @deprecated Please use `suffix` instead. */
|
|
100
|
+
suffixIcon?: RenderNode;
|
|
101
|
+
suffix?: RenderNode;
|
|
102
|
+
/**
|
|
103
|
+
* Clear all icon
|
|
104
|
+
* @deprecated Please use `allowClear` instead
|
|
105
|
+
*/
|
|
106
|
+
clearIcon?: VueNode;
|
|
107
|
+
/** Selector remove icon */
|
|
108
|
+
removeIcon?: RenderNode;
|
|
109
|
+
animation?: string;
|
|
110
|
+
transitionName?: string;
|
|
111
|
+
popupStyle?: CSSProperties;
|
|
112
|
+
popupClassName?: string;
|
|
113
|
+
popupMatchSelectWidth?: boolean | number;
|
|
114
|
+
popupRender?: (menu: any) => any;
|
|
115
|
+
popupAlign?: AlignType;
|
|
116
|
+
placement?: Placement;
|
|
117
|
+
builtinPlacements?: BuildInPlacements;
|
|
118
|
+
getPopupContainer?: RenderDOMFunc;
|
|
119
|
+
showAction?: ('focus' | 'click')[];
|
|
120
|
+
onBlur?: (event: FocusEvent) => void;
|
|
121
|
+
onFocus?: (event: FocusEvent) => void;
|
|
122
|
+
onKeyUp?: (event: KeyboardEvent) => void;
|
|
123
|
+
onKeyDown?: (event: KeyboardEvent) => void;
|
|
124
|
+
onMouseDown?: (event: MouseEvent) => void;
|
|
125
|
+
onPopupScroll?: (e: Event) => void;
|
|
126
|
+
onInputKeyDown?: (event: KeyboardEvent) => void;
|
|
127
|
+
onMouseEnter?: (event: MouseEvent) => void;
|
|
128
|
+
onMouseLeave?: (event: MouseEvent) => void;
|
|
129
|
+
onClick?: (event: MouseEvent) => void;
|
|
130
|
+
components?: ComponentsConfig;
|
|
131
|
+
}
|
|
132
|
+
export declare const isMultiple: (mode: Mode) => mode is "multiple" | "tags";
|
|
133
|
+
export declare const BaseSelect: import('vue').DefineSetupFnComponent<BaseSelectProps, {}, {}, BaseSelectProps & {}, import('vue').PublicProps>;
|