naive-ui 2.19.7 → 2.19.11
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/es/_internal/icons/Add.js +2 -3
- package/es/_internal/selection/src/Selection.d.ts +4 -1
- package/es/_internal/selection/src/Selection.js +3 -3
- package/es/anchor/src/AnchorAdapter.d.ts +5 -0
- package/es/anchor/src/BaseAnchor.d.ts +6 -1
- package/es/anchor/src/BaseAnchor.js +8 -3
- package/es/auto-complete/src/AutoComplete.d.ts +4 -0
- package/es/auto-complete/src/AutoComplete.js +9 -2
- package/es/calendar/src/Calendar.d.ts +1 -0
- package/es/cascader/src/Cascader.js +1 -1
- package/es/cascader/src/CascaderSelectMenu.d.ts +16 -7
- package/es/cascader/src/CascaderSelectMenu.js +23 -10
- package/es/cascader/src/utils.d.ts +2 -1
- package/es/cascader/src/utils.js +5 -2
- package/es/collapse/src/Collapse.d.ts +0 -1
- package/es/collapse/src/Collapse.js +2 -5
- package/es/collapse/src/CollapseItem.js +0 -2
- package/es/color-picker/src/ColorPicker.d.ts +4 -0
- package/es/color-picker/src/ColorPicker.js +5 -2
- package/es/color-picker/src/ColorPickerSwatches.d.ts +39 -0
- package/es/color-picker/src/ColorPickerSwatches.js +142 -0
- package/es/color-picker/src/styles/index.cssr.js +20 -0
- package/es/config-provider/src/ConfigProvider.d.ts +8 -1
- package/es/config-provider/src/ConfigProvider.js +8 -2
- package/es/config-provider/src/config.d.ts +8 -0
- package/es/config-provider/src/config.js +8 -0
- package/es/config-provider/src/internal-interface.d.ts +4 -0
- package/es/data-table/src/TableParts/Body.d.ts +8 -2
- package/es/data-table/src/TableParts/Body.js +4 -4
- package/es/data-table/src/TableParts/Header.d.ts +8 -2
- package/es/data-table/src/TableParts/Header.js +7 -4
- package/es/data-table/src/interface.d.ts +8 -2
- package/es/data-table/src/use-group-header.js +12 -8
- package/es/data-table/src/use-scroll.d.ts +11 -5
- package/es/data-table/src/use-scroll.js +37 -10
- package/es/date-picker/src/DatePicker.js +3 -0
- package/es/date-picker/src/panel/date.d.ts +1 -0
- package/es/date-picker/src/panel/daterange.d.ts +1 -0
- package/es/date-picker/src/panel/datetime.d.ts +1 -0
- package/es/date-picker/src/panel/datetimerange.d.ts +1 -0
- package/es/date-picker/src/panel/month.d.ts +1 -0
- package/es/date-picker/src/panel/use-calendar.d.ts +1 -0
- package/es/date-picker/src/panel/use-dual-calendar.d.ts +1 -0
- package/es/date-picker/src/panel/use-panel-common.d.ts +1 -0
- package/es/dialog/src/styles/index.cssr.js +1 -0
- package/es/ellipsis/src/Ellipsis.js +3 -1
- package/es/grid/src/Grid.d.ts +1 -1
- package/es/grid/src/Grid.js +4 -3
- package/es/input/src/Input.d.ts +1 -1
- package/es/input/src/Input.js +3 -8
- package/es/input/src/WordCount.js +22 -7
- package/es/input/src/interface.d.ts +1 -1
- package/es/input-number/index.d.ts +1 -0
- package/es/input-number/src/InputNumber.d.ts +2 -0
- package/es/input-number/src/InputNumber.js +10 -22
- package/es/input-number/src/interface.d.ts +4 -0
- package/es/locales/common/enUS.d.ts +1 -0
- package/es/locales/common/enUS.js +1 -0
- package/es/locales/common/jaJP.d.ts +3 -0
- package/es/locales/common/jaJP.js +93 -0
- package/es/locales/common/ruRU.js +1 -0
- package/es/locales/common/ukUA.js +1 -0
- package/es/locales/common/zhCN.js +1 -0
- package/es/locales/date/jaJP.d.ts +3 -0
- package/es/locales/date/jaJP.js +6 -0
- package/es/locales/index.d.ts +2 -0
- package/es/locales/index.js +2 -0
- package/es/menu/src/Menu.d.ts +8 -1
- package/es/menu/src/Menu.js +4 -2
- package/es/menu/src/MenuOption.d.ts +2 -0
- package/es/menu/src/MenuOptionContent.d.ts +2 -0
- package/es/menu/src/Submenu.d.ts +2 -0
- package/es/menu/src/Submenu.js +3 -2
- package/es/rate/src/Rate.d.ts +2 -2
- package/es/scrollbar/src/ScrollBar.d.ts +14 -4
- package/es/scrollbar/src/ScrollBar.js +13 -3
- package/es/select/src/Select.d.ts +5 -1
- package/es/select/src/Select.js +2 -2
- package/es/table/src/Table.d.ts +2 -8
- package/es/table/src/Table.js +1 -4
- package/es/tabs/src/Tab.js +18 -2
- package/es/tabs/src/Tabs.d.ts +5 -1
- package/es/tabs/src/Tabs.js +4 -1
- package/es/tabs/src/interface.d.ts +6 -0
- package/es/time-picker/src/Panel.d.ts +30 -8
- package/es/time-picker/src/Panel.js +101 -33
- package/es/time-picker/src/PanelCol.d.ts +6 -9
- package/es/time-picker/src/PanelCol.js +7 -9
- package/es/time-picker/src/TimePicker.d.ts +21 -16
- package/es/time-picker/src/TimePicker.js +63 -36
- package/es/time-picker/src/interface.d.ts +7 -0
- package/es/time-picker/src/utils.d.ts +4 -1
- package/es/time-picker/src/utils.js +67 -4
- package/es/tree/src/Tree.d.ts +2 -2
- package/es/upload/src/Upload.d.ts +15 -11
- package/es/upload/src/Upload.js +16 -7
- package/es/upload/src/UploadFile.js +1 -1
- package/es/upload/src/UploadFileList.js +1 -3
- package/es/upload/src/UploadTrigger.js +13 -5
- package/es/upload/src/interface.d.ts +1 -1
- package/es/upload/src/styles/index.cssr.js +3 -1
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_internal/icons/Add.js +2 -3
- package/lib/_internal/selection/src/Selection.d.ts +4 -1
- package/lib/_internal/selection/src/Selection.js +3 -3
- package/lib/anchor/src/AnchorAdapter.d.ts +5 -0
- package/lib/anchor/src/BaseAnchor.d.ts +6 -1
- package/lib/anchor/src/BaseAnchor.js +7 -2
- package/lib/auto-complete/src/AutoComplete.d.ts +4 -0
- package/lib/auto-complete/src/AutoComplete.js +9 -2
- package/lib/calendar/src/Calendar.d.ts +1 -0
- package/lib/cascader/src/Cascader.js +1 -1
- package/lib/cascader/src/CascaderSelectMenu.d.ts +16 -7
- package/lib/cascader/src/CascaderSelectMenu.js +23 -10
- package/lib/cascader/src/utils.d.ts +2 -1
- package/lib/cascader/src/utils.js +5 -2
- package/lib/collapse/src/Collapse.d.ts +0 -1
- package/lib/collapse/src/Collapse.js +2 -5
- package/lib/collapse/src/CollapseItem.js +0 -2
- package/lib/color-picker/src/ColorPicker.d.ts +4 -0
- package/lib/color-picker/src/ColorPicker.js +5 -2
- package/lib/color-picker/src/ColorPickerSwatches.d.ts +39 -0
- package/lib/color-picker/src/ColorPickerSwatches.js +144 -0
- package/lib/color-picker/src/styles/index.cssr.js +20 -0
- package/lib/config-provider/src/ConfigProvider.d.ts +8 -1
- package/lib/config-provider/src/ConfigProvider.js +8 -2
- package/lib/config-provider/src/config.d.ts +8 -0
- package/lib/config-provider/src/config.js +11 -0
- package/lib/config-provider/src/internal-interface.d.ts +4 -0
- package/lib/data-table/src/TableParts/Body.d.ts +8 -2
- package/lib/data-table/src/TableParts/Body.js +4 -4
- package/lib/data-table/src/TableParts/Header.d.ts +8 -2
- package/lib/data-table/src/TableParts/Header.js +7 -4
- package/lib/data-table/src/interface.d.ts +8 -2
- package/lib/data-table/src/use-group-header.js +12 -8
- package/lib/data-table/src/use-scroll.d.ts +11 -5
- package/lib/data-table/src/use-scroll.js +37 -10
- package/lib/date-picker/src/DatePicker.js +3 -0
- package/lib/date-picker/src/panel/date.d.ts +1 -0
- package/lib/date-picker/src/panel/daterange.d.ts +1 -0
- package/lib/date-picker/src/panel/datetime.d.ts +1 -0
- package/lib/date-picker/src/panel/datetimerange.d.ts +1 -0
- package/lib/date-picker/src/panel/month.d.ts +1 -0
- package/lib/date-picker/src/panel/use-calendar.d.ts +1 -0
- package/lib/date-picker/src/panel/use-dual-calendar.d.ts +1 -0
- package/lib/date-picker/src/panel/use-panel-common.d.ts +1 -0
- package/lib/dialog/src/styles/index.cssr.js +1 -0
- package/lib/ellipsis/src/Ellipsis.js +3 -1
- package/lib/grid/src/Grid.d.ts +1 -1
- package/lib/grid/src/Grid.js +4 -3
- package/lib/input/src/Input.d.ts +1 -1
- package/lib/input/src/Input.js +2 -7
- package/lib/input/src/WordCount.js +21 -6
- package/lib/input/src/interface.d.ts +1 -1
- package/lib/input-number/index.d.ts +1 -0
- package/lib/input-number/src/InputNumber.d.ts +2 -0
- package/lib/input-number/src/InputNumber.js +10 -22
- package/lib/input-number/src/interface.d.ts +4 -0
- package/lib/locales/common/enUS.d.ts +1 -0
- package/lib/locales/common/enUS.js +1 -0
- package/lib/locales/common/jaJP.d.ts +3 -0
- package/lib/locales/common/jaJP.js +95 -0
- package/lib/locales/common/ruRU.js +1 -0
- package/lib/locales/common/ukUA.js +1 -0
- package/lib/locales/common/zhCN.js +1 -0
- package/lib/locales/date/jaJP.d.ts +3 -0
- package/lib/locales/date/jaJP.js +8 -0
- package/lib/locales/index.d.ts +2 -0
- package/lib/locales/index.js +5 -1
- package/lib/menu/src/Menu.d.ts +8 -1
- package/lib/menu/src/Menu.js +4 -2
- package/lib/menu/src/MenuOption.d.ts +2 -0
- package/lib/menu/src/MenuOptionContent.d.ts +2 -0
- package/lib/menu/src/Submenu.d.ts +2 -0
- package/lib/menu/src/Submenu.js +3 -2
- package/lib/rate/src/Rate.d.ts +2 -2
- package/lib/scrollbar/src/ScrollBar.d.ts +14 -4
- package/lib/scrollbar/src/ScrollBar.js +12 -2
- package/lib/select/src/Select.d.ts +5 -1
- package/lib/select/src/Select.js +2 -2
- package/lib/table/src/Table.d.ts +2 -8
- package/lib/table/src/Table.js +1 -4
- package/lib/tabs/src/Tab.js +18 -2
- package/lib/tabs/src/Tabs.d.ts +5 -1
- package/lib/tabs/src/Tabs.js +4 -1
- package/lib/tabs/src/interface.d.ts +6 -0
- package/lib/time-picker/src/Panel.d.ts +30 -8
- package/lib/time-picker/src/Panel.js +100 -32
- package/lib/time-picker/src/PanelCol.d.ts +6 -9
- package/lib/time-picker/src/PanelCol.js +7 -9
- package/lib/time-picker/src/TimePicker.d.ts +21 -16
- package/lib/time-picker/src/TimePicker.js +61 -34
- package/lib/time-picker/src/interface.d.ts +7 -0
- package/lib/time-picker/src/utils.d.ts +4 -1
- package/lib/time-picker/src/utils.js +69 -5
- package/lib/tree/src/Tree.d.ts +2 -2
- package/lib/upload/src/Upload.d.ts +15 -11
- package/lib/upload/src/Upload.js +16 -7
- package/lib/upload/src/UploadFile.js +1 -1
- package/lib/upload/src/UploadFileList.js +1 -3
- package/lib/upload/src/UploadTrigger.js +13 -5
- package/lib/upload/src/interface.d.ts +1 -1
- package/lib/upload/src/styles/index.cssr.js +3 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +7 -4
- package/web-types.json +68 -1
package/es/upload/src/Upload.js
CHANGED
|
@@ -50,8 +50,7 @@ function createXhrHandlers(inst, file, XHR) {
|
|
|
50
50
|
handleXHRError(e) {
|
|
51
51
|
const fileAfterChange = Object.assign({}, file, {
|
|
52
52
|
status: 'error',
|
|
53
|
-
percentage
|
|
54
|
-
file: null
|
|
53
|
+
percentage
|
|
55
54
|
});
|
|
56
55
|
XhrMap.delete(file.id);
|
|
57
56
|
doChange(fileAfterChange, e);
|
|
@@ -162,7 +161,7 @@ const uploadProps = Object.assign(Object.assign({}, useTheme.props), { name: {
|
|
|
162
161
|
}, listType: {
|
|
163
162
|
type: String,
|
|
164
163
|
default: 'text'
|
|
165
|
-
}, onPreview: Function, createThumbnailUrl: Function, abstract: Boolean });
|
|
164
|
+
}, onPreview: Function, createThumbnailUrl: Function, abstract: Boolean, max: Number });
|
|
166
165
|
export default defineComponent({
|
|
167
166
|
name: 'Upload',
|
|
168
167
|
props: uploadProps,
|
|
@@ -173,7 +172,13 @@ export default defineComponent({
|
|
|
173
172
|
const { mergedClsPrefixRef } = useConfig(props);
|
|
174
173
|
const themeRef = useTheme('Upload', 'Upload', style, uploadLight, props, mergedClsPrefixRef);
|
|
175
174
|
const formItem = useFormItem(props);
|
|
176
|
-
const
|
|
175
|
+
const maxReachedRef = computed(() => {
|
|
176
|
+
const { max } = props;
|
|
177
|
+
if (max !== undefined) {
|
|
178
|
+
return mergedFileListRef.value.length >= max;
|
|
179
|
+
}
|
|
180
|
+
return false;
|
|
181
|
+
});
|
|
177
182
|
const uncontrolledFileListRef = ref(props.defaultFileList);
|
|
178
183
|
const controlledFileListRef = toRef(props, 'fileList');
|
|
179
184
|
const inputElRef = ref(null);
|
|
@@ -205,7 +210,11 @@ export default defineComponent({
|
|
|
205
210
|
if (!files || files.length === 0)
|
|
206
211
|
return;
|
|
207
212
|
const { onBeforeUpload } = props;
|
|
208
|
-
|
|
213
|
+
let filesAsArray = props.multiple ? Array.from(files) : [files[0]];
|
|
214
|
+
const { max } = props;
|
|
215
|
+
if (max) {
|
|
216
|
+
filesAsArray = filesAsArray.slice(0, max - mergedFileListRef.value.length);
|
|
217
|
+
}
|
|
209
218
|
void Promise.all(filesAsArray.map((file) => __awaiter(this, void 0, void 0, function* () {
|
|
210
219
|
const fileInfo = {
|
|
211
220
|
id: createId(),
|
|
@@ -332,7 +341,6 @@ export default defineComponent({
|
|
|
332
341
|
provide(uploadInjectionKey, {
|
|
333
342
|
mergedClsPrefixRef,
|
|
334
343
|
mergedThemeRef: themeRef,
|
|
335
|
-
disabledRef: mergedDisabledRef,
|
|
336
344
|
showCancelButtonRef: toRef(props, 'showCancelButton'),
|
|
337
345
|
showDownloadButtonRef: toRef(props, 'showDownloadButton'),
|
|
338
346
|
showRemoveButtonRef: toRef(props, 'showRemoveButton'),
|
|
@@ -351,7 +359,8 @@ export default defineComponent({
|
|
|
351
359
|
openFileDialog,
|
|
352
360
|
draggerInsideRef,
|
|
353
361
|
handleFileAddition,
|
|
354
|
-
mergedDisabledRef,
|
|
362
|
+
mergedDisabledRef: formItem.mergedDisabledRef,
|
|
363
|
+
maxReachedRef,
|
|
355
364
|
fileListStyleRef: toRef(props, 'fileListStyle'),
|
|
356
365
|
abstractRef: toRef(props, 'abstract'),
|
|
357
366
|
cssVarsRef
|
|
@@ -169,7 +169,7 @@ export default defineComponent({
|
|
|
169
169
|
progressStatus: progressStatusRef,
|
|
170
170
|
buttonType: buttonTypeRef,
|
|
171
171
|
showProgress: showProgressRef,
|
|
172
|
-
disabled: NUpload.
|
|
172
|
+
disabled: NUpload.mergedDisabledRef,
|
|
173
173
|
showCancelButton: showCancelButtonRef,
|
|
174
174
|
showRemoveButton: showRemoveButtonRef,
|
|
175
175
|
showDownloadButton: showDownloadButtonRef,
|
|
@@ -12,7 +12,7 @@ export default defineComponent({
|
|
|
12
12
|
if (!NUpload) {
|
|
13
13
|
throwError('upload-file-list', '`n-upload-file-list` must be placed inside `n-upload`.');
|
|
14
14
|
}
|
|
15
|
-
const { mergedClsPrefixRef, listTypeRef, mergedFileListRef, fileListStyleRef, cssVarsRef
|
|
15
|
+
const { mergedClsPrefixRef, listTypeRef, mergedFileListRef, fileListStyleRef, cssVarsRef } = NUpload;
|
|
16
16
|
const isImageCardTypeRef = computed(() => listTypeRef.value === 'image-card');
|
|
17
17
|
const renderFileList = () => mergedFileListRef.value.map((file) => (h(NUploadFile, { clsPrefix: mergedClsPrefixRef.value, key: file.id, file: file, listType: listTypeRef.value })));
|
|
18
18
|
const renderUploadFileList = () => isImageCardTypeRef.value ? (h(NImageGroup, null, { default: renderFileList })) : (h(NFadeInExpandTransition, { group: true }, {
|
|
@@ -22,8 +22,6 @@ export default defineComponent({
|
|
|
22
22
|
const { value: mergedClsPrefix } = mergedClsPrefixRef;
|
|
23
23
|
return (h("div", { class: [
|
|
24
24
|
`${mergedClsPrefix}-upload-file-list`,
|
|
25
|
-
mergedDisabledRef.value &&
|
|
26
|
-
`${mergedClsPrefix}-upload-file-list--disabled`,
|
|
27
25
|
isImageCardTypeRef.value &&
|
|
28
26
|
`${mergedClsPrefix}-upload-file-list--grid`
|
|
29
27
|
], style: [cssVarsRef.value, fileListStyleRef.value] },
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { h, defineComponent, inject, computed } from 'vue';
|
|
2
|
+
import { AddIcon } from '../../_internal/icons';
|
|
3
|
+
import { NBaseIcon } from '../../_internal';
|
|
2
4
|
import { throwError } from '../../_utils';
|
|
3
5
|
import { uploadInjectionKey } from './interface';
|
|
4
6
|
import NUploadDragger from './UploadDragger';
|
|
@@ -12,10 +14,10 @@ export default defineComponent({
|
|
|
12
14
|
if (!NUpload) {
|
|
13
15
|
throwError('upload-trigger', '`n-upload-trigger` must be placed inside `n-upload`.');
|
|
14
16
|
}
|
|
15
|
-
const { mergedClsPrefixRef, mergedDisabledRef,
|
|
17
|
+
const { mergedClsPrefixRef, mergedDisabledRef, maxReachedRef, listTypeRef, dragOverRef, openFileDialog, draggerInsideRef, handleFileAddition } = NUpload;
|
|
16
18
|
const isImageCardTypeRef = computed(() => listTypeRef.value === 'image-card');
|
|
17
19
|
function handleTriggerClick() {
|
|
18
|
-
if (
|
|
20
|
+
if (mergedDisabledRef.value || maxReachedRef.value)
|
|
19
21
|
return;
|
|
20
22
|
openFileDialog();
|
|
21
23
|
}
|
|
@@ -33,8 +35,11 @@ export default defineComponent({
|
|
|
33
35
|
}
|
|
34
36
|
function handleTriggerDrop(e) {
|
|
35
37
|
e.preventDefault();
|
|
36
|
-
if (!draggerInsideRef.value ||
|
|
38
|
+
if (!draggerInsideRef.value ||
|
|
39
|
+
mergedDisabledRef.value ||
|
|
40
|
+
maxReachedRef.value) {
|
|
37
41
|
return;
|
|
42
|
+
}
|
|
38
43
|
const dataTransfer = e.dataTransfer;
|
|
39
44
|
const files = dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files;
|
|
40
45
|
if (files) {
|
|
@@ -53,11 +58,14 @@ export default defineComponent({
|
|
|
53
58
|
handleDragLeave: handleTriggerDragLeave
|
|
54
59
|
})) : (h("div", { class: [
|
|
55
60
|
`${mergedClsPrefix}-upload-trigger`,
|
|
56
|
-
mergedDisabledRef.value &&
|
|
61
|
+
(mergedDisabledRef.value || maxReachedRef.value) &&
|
|
57
62
|
`${mergedClsPrefix}-upload-trigger--disabled`,
|
|
58
63
|
isImageCardTypeRef.value &&
|
|
59
64
|
`${mergedClsPrefix}-upload-trigger--image-card`
|
|
60
|
-
], onClick: handleTriggerClick, onDrop: handleTriggerDrop, onDragover: handleTriggerDragOver, onDragenter: handleTriggerDragEnter, onDragleave: handleTriggerDragLeave }, isImageCardTypeRef.value ? (h(NUploadDragger, null,
|
|
65
|
+
], onClick: handleTriggerClick, onDrop: handleTriggerDrop, onDragover: handleTriggerDragOver, onDragenter: handleTriggerDragEnter, onDragleave: handleTriggerDragLeave }, isImageCardTypeRef.value ? (h(NUploadDragger, null, {
|
|
66
|
+
default: slots.default ||
|
|
67
|
+
(() => (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(AddIcon, null) })))
|
|
68
|
+
})) : (slots)));
|
|
61
69
|
};
|
|
62
70
|
}
|
|
63
71
|
});
|
|
@@ -41,7 +41,6 @@ export declare type OnUpdateFileList = (fileList: FileInfo[]) => void;
|
|
|
41
41
|
export interface UploadInjection {
|
|
42
42
|
mergedClsPrefixRef: Ref<string>;
|
|
43
43
|
mergedThemeRef: Ref<MergedTheme<UploadTheme>>;
|
|
44
|
-
disabledRef: Ref<boolean>;
|
|
45
44
|
showCancelButtonRef: Ref<boolean>;
|
|
46
45
|
showRemoveButtonRef: Ref<boolean>;
|
|
47
46
|
showDownloadButtonRef: Ref<boolean>;
|
|
@@ -60,6 +59,7 @@ export interface UploadInjection {
|
|
|
60
59
|
};
|
|
61
60
|
fileListStyleRef: Ref<string | CSSProperties | undefined>;
|
|
62
61
|
mergedDisabledRef: Ref<boolean>;
|
|
62
|
+
maxReachedRef: Ref<boolean>;
|
|
63
63
|
abstractRef: Ref<boolean>;
|
|
64
64
|
cssVarsRef: Ref<CSSProperties>;
|
|
65
65
|
submit: (fileId?: string) => void;
|
|
@@ -35,7 +35,9 @@ export default c([cB('upload', [cM('dragger-inside', [cE('trigger', `
|
|
|
35
35
|
`), cM('image-card', `
|
|
36
36
|
width: 96px;
|
|
37
37
|
height: 96px;
|
|
38
|
-
`, [cB('
|
|
38
|
+
`, [cB('base-icon', `
|
|
39
|
+
font-size: 24px;
|
|
40
|
+
`), cB('upload-dragger', `
|
|
39
41
|
padding: 0;
|
|
40
42
|
height: 100%;
|
|
41
43
|
width: 100%;
|
package/es/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "2.19.
|
|
1
|
+
declare const _default: "2.19.11";
|
|
2
2
|
export default _default;
|
package/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '2.19.
|
|
1
|
+
export default '2.19.11';
|
|
@@ -4,8 +4,7 @@ const vue_1 = require("vue");
|
|
|
4
4
|
exports.default = (0, vue_1.defineComponent)({
|
|
5
5
|
name: 'Add',
|
|
6
6
|
render() {
|
|
7
|
-
return ((0, vue_1.h)("svg", {
|
|
8
|
-
(0, vue_1.h)("
|
|
9
|
-
(0, vue_1.h)("line", { x1: "400", y1: "256", x2: "112", y2: "256", style: "fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;" })));
|
|
7
|
+
return ((0, vue_1.h)("svg", { width: "512", height: "512", viewBox: "0 0 512 512", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
8
|
+
(0, vue_1.h)("path", { d: "M256 112V400M400 256H112", stroke: "currentColor", "stroke-width": "32", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
10
9
|
}
|
|
11
10
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropType } from 'vue';
|
|
1
|
+
import { PropType, InputHTMLAttributes } from 'vue';
|
|
2
2
|
import type { SelectBaseOption } from '../../../select/src/interface';
|
|
3
3
|
import { RenderTag } from './interface';
|
|
4
4
|
import type { RenderLabel, RenderLabelImpl } from '../../select-menu/src/interface';
|
|
@@ -44,6 +44,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
44
44
|
type: BooleanConstructor;
|
|
45
45
|
default: boolean;
|
|
46
46
|
};
|
|
47
|
+
inputProps: PropType<InputHTMLAttributes>;
|
|
47
48
|
focused: BooleanConstructor;
|
|
48
49
|
renderTag: PropType<RenderTag>;
|
|
49
50
|
onKeyup: PropType<(e: KeyboardEvent) => void>;
|
|
@@ -545,6 +546,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
545
546
|
loading?: unknown;
|
|
546
547
|
autofocus?: unknown;
|
|
547
548
|
showArrow?: unknown;
|
|
549
|
+
inputProps?: unknown;
|
|
548
550
|
focused?: unknown;
|
|
549
551
|
renderTag?: unknown;
|
|
550
552
|
onKeyup?: unknown;
|
|
@@ -789,6 +791,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
789
791
|
bordered?: boolean | undefined;
|
|
790
792
|
renderLabel?: RenderLabel | undefined;
|
|
791
793
|
onClear?: ((e: MouseEvent) => void) | undefined;
|
|
794
|
+
inputProps?: InputHTMLAttributes | undefined;
|
|
792
795
|
renderTag?: RenderTag | undefined;
|
|
793
796
|
onDeleteOption?: ((option: SelectBaseOption) => void) | undefined;
|
|
794
797
|
maxTagCount?: number | "responsive" | undefined;
|
|
@@ -33,7 +33,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
33
33
|
}, loading: Boolean, autofocus: Boolean, showArrow: {
|
|
34
34
|
type: Boolean,
|
|
35
35
|
default: true
|
|
36
|
-
}, focused: Boolean, renderTag: Function, onKeyup: Function, onKeydown: Function, onClick: Function, onBlur: Function, onFocus: Function, onDeleteOption: Function, maxTagCount: [String, Number], onClear: Function, onPatternInput: Function, renderLabel: Function }),
|
|
36
|
+
}, inputProps: Object, focused: Boolean, renderTag: Function, onKeyup: Function, onKeydown: Function, onClick: Function, onBlur: Function, onFocus: Function, onDeleteOption: Function, maxTagCount: [String, Number], onClear: Function, onPatternInput: Function, renderLabel: Function }),
|
|
37
37
|
setup(props) {
|
|
38
38
|
const patternInputMirrorRef = (0, vue_1.ref)(null);
|
|
39
39
|
const patternInputRef = (0, vue_1.ref)(null);
|
|
@@ -410,7 +410,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
410
410
|
? this.selectedOptions.slice(0, maxTagCount)
|
|
411
411
|
: this.selectedOptions).map(createTag);
|
|
412
412
|
const input = filterable ? ((0, vue_1.h)("div", { class: `${clsPrefix}-base-selection-input-tag`, ref: "inputTagElRef", key: "__input-tag__" },
|
|
413
|
-
(0, vue_1.h)("input", { ref: "patternInputRef", tabindex: -1, disabled: disabled, value: this.pattern, autofocus: this.autofocus, class: `${clsPrefix}-base-selection-input-tag__input`, onBlur: this.handlePatternInputBlur, onFocus: this.handlePatternInputFocus, onKeydown: this.handlePatternKeyDown, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd }),
|
|
413
|
+
(0, vue_1.h)("input", Object.assign({}, this.inputProps, { ref: "patternInputRef", tabindex: -1, disabled: disabled, value: this.pattern, autofocus: this.autofocus, class: `${clsPrefix}-base-selection-input-tag__input`, onBlur: this.handlePatternInputBlur, onFocus: this.handlePatternInputFocus, onKeydown: this.handlePatternKeyDown, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd })),
|
|
414
414
|
(0, vue_1.h)("span", { ref: "patternInputMirrorRef", class: `${clsPrefix}-base-selection-input-tag__mirror` }, this.pattern ? this.pattern : ''))) : null;
|
|
415
415
|
// May Overflow
|
|
416
416
|
const renderCounter = maxTagCountResponsive
|
|
@@ -491,7 +491,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
491
491
|
(this.active || !this.selected) &&
|
|
492
492
|
!this.isCompositing;
|
|
493
493
|
body = ((0, vue_1.h)("div", { ref: "patternInputWrapperRef", class: `${clsPrefix}-base-selection-label` },
|
|
494
|
-
(0, vue_1.h)("input", { ref: "patternInputRef", class: `${clsPrefix}-base-selection-input`, value: this.patternInputFocused && this.active ? this.pattern : '', placeholder: "", readonly: disabled, disabled: disabled, tabindex: -1, autofocus: this.autofocus, onFocus: this.handlePatternInputFocus, onBlur: this.handlePatternInputBlur, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd }),
|
|
494
|
+
(0, vue_1.h)("input", Object.assign({}, this.inputProps, { ref: "patternInputRef", class: `${clsPrefix}-base-selection-input`, value: this.patternInputFocused && this.active ? this.pattern : '', placeholder: "", readonly: disabled, disabled: disabled, tabindex: -1, autofocus: this.autofocus, onFocus: this.handlePatternInputFocus, onBlur: this.handlePatternInputBlur, onInput: this.handlePatternInputInput, onCompositionstart: this.handleCompositionStart, onCompositionend: this.handleCompositionEnd })),
|
|
495
495
|
showPlaceholder ? null : this.patternInputFocused &&
|
|
496
496
|
this.active ? null : ((0, vue_1.h)("div", { class: `${clsPrefix}-base-selection-label__render-label ${clsPrefix}-base-selection-overlay`, key: "input" }, renderTag
|
|
497
497
|
? renderTag({
|
|
@@ -19,6 +19,7 @@ declare const anchorProps: {
|
|
|
19
19
|
readonly type: NumberConstructor;
|
|
20
20
|
readonly default: 12;
|
|
21
21
|
};
|
|
22
|
+
readonly internalScrollable: BooleanConstructor;
|
|
22
23
|
readonly ignoreGap: BooleanConstructor;
|
|
23
24
|
readonly offsetTarget: import("vue").PropType<string | import("./utils").OffsetTarget | (() => HTMLElement)>;
|
|
24
25
|
readonly listenTo: import("vue").PropType<string | import("../../affix/src/utils").ScrollTarget | (() => HTMLElement) | undefined>;
|
|
@@ -104,6 +105,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
104
105
|
readonly type: NumberConstructor;
|
|
105
106
|
readonly default: 12;
|
|
106
107
|
};
|
|
108
|
+
readonly internalScrollable: BooleanConstructor;
|
|
107
109
|
readonly ignoreGap: BooleanConstructor;
|
|
108
110
|
readonly offsetTarget: import("vue").PropType<string | import("./utils").OffsetTarget | (() => HTMLElement)>;
|
|
109
111
|
readonly listenTo: import("vue").PropType<string | import("../../affix/src/utils").ScrollTarget | (() => HTMLElement) | undefined>;
|
|
@@ -178,6 +180,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
178
180
|
readonly showRail?: unknown;
|
|
179
181
|
readonly showBackground?: unknown;
|
|
180
182
|
readonly bound?: unknown;
|
|
183
|
+
readonly internalScrollable?: unknown;
|
|
181
184
|
readonly ignoreGap?: unknown;
|
|
182
185
|
readonly offsetTarget?: unknown;
|
|
183
186
|
readonly listenTo?: unknown;
|
|
@@ -200,6 +203,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
200
203
|
affix: boolean;
|
|
201
204
|
showRail: boolean;
|
|
202
205
|
showBackground: boolean;
|
|
206
|
+
internalScrollable: boolean;
|
|
203
207
|
ignoreGap: boolean;
|
|
204
208
|
} & {
|
|
205
209
|
bottom?: number | undefined;
|
|
@@ -260,6 +264,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
260
264
|
offsetBottom: number | undefined;
|
|
261
265
|
showRail: boolean;
|
|
262
266
|
showBackground: boolean;
|
|
267
|
+
internalScrollable: boolean;
|
|
263
268
|
ignoreGap: boolean;
|
|
264
269
|
}>;
|
|
265
270
|
export default _default;
|
|
@@ -20,10 +20,11 @@ export declare const baseAnchorProps: {
|
|
|
20
20
|
readonly type: NumberConstructor;
|
|
21
21
|
readonly default: 12;
|
|
22
22
|
};
|
|
23
|
+
readonly internalScrollable: BooleanConstructor;
|
|
23
24
|
readonly ignoreGap: BooleanConstructor;
|
|
24
25
|
readonly offsetTarget: PropType<string | OffsetTarget | (() => HTMLElement)>;
|
|
25
26
|
};
|
|
26
|
-
export declare const baseAnchorPropKeys: ("type" | "bound" | "showRail" | "showBackground" | "ignoreGap" | "offsetTarget")[];
|
|
27
|
+
export declare const baseAnchorPropKeys: ("type" | "bound" | "showRail" | "showBackground" | "internalScrollable" | "ignoreGap" | "offsetTarget")[];
|
|
27
28
|
declare const _default: import("vue").DefineComponent<{
|
|
28
29
|
mergedClsPrefix: {
|
|
29
30
|
type: StringConstructor;
|
|
@@ -45,6 +46,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
45
46
|
readonly type: NumberConstructor;
|
|
46
47
|
readonly default: 12;
|
|
47
48
|
};
|
|
49
|
+
internalScrollable: BooleanConstructor;
|
|
48
50
|
ignoreGap: BooleanConstructor;
|
|
49
51
|
offsetTarget: PropType<string | OffsetTarget | (() => HTMLElement)>;
|
|
50
52
|
}, {
|
|
@@ -61,6 +63,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
61
63
|
showRail?: unknown;
|
|
62
64
|
showBackground?: unknown;
|
|
63
65
|
bound?: unknown;
|
|
66
|
+
internalScrollable?: unknown;
|
|
64
67
|
ignoreGap?: unknown;
|
|
65
68
|
offsetTarget?: unknown;
|
|
66
69
|
} & {
|
|
@@ -69,6 +72,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
69
72
|
mergedClsPrefix: string;
|
|
70
73
|
showRail: boolean;
|
|
71
74
|
showBackground: boolean;
|
|
75
|
+
internalScrollable: boolean;
|
|
72
76
|
ignoreGap: boolean;
|
|
73
77
|
} & {
|
|
74
78
|
offsetTarget?: string | OffsetTarget | (() => HTMLElement) | undefined;
|
|
@@ -77,6 +81,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
77
81
|
bound: number;
|
|
78
82
|
showRail: boolean;
|
|
79
83
|
showBackground: boolean;
|
|
84
|
+
internalScrollable: boolean;
|
|
80
85
|
ignoreGap: boolean;
|
|
81
86
|
}>;
|
|
82
87
|
export default _default;
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.baseAnchorPropKeys = exports.baseAnchorProps = void 0;
|
|
4
4
|
const vue_1 = require("vue");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
5
6
|
const seemly_1 = require("seemly");
|
|
6
7
|
const vooks_1 = require("vooks");
|
|
8
|
+
const _internal_1 = require("../../_internal");
|
|
7
9
|
const _utils_1 = require("../../_utils");
|
|
8
10
|
const Link_1 = require("./Link");
|
|
9
|
-
const lodash_1 = require("lodash");
|
|
10
11
|
const utils_1 = require("./utils");
|
|
11
12
|
exports.baseAnchorProps = {
|
|
12
13
|
type: {
|
|
@@ -25,6 +26,7 @@ exports.baseAnchorProps = {
|
|
|
25
26
|
type: Number,
|
|
26
27
|
default: 12
|
|
27
28
|
},
|
|
29
|
+
internalScrollable: Boolean,
|
|
28
30
|
ignoreGap: Boolean,
|
|
29
31
|
offsetTarget: [String, Object, Function]
|
|
30
32
|
};
|
|
@@ -238,7 +240,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
238
240
|
render() {
|
|
239
241
|
var _a;
|
|
240
242
|
const { mergedClsPrefix, mergedShowRail, isBlockType, $slots } = this;
|
|
241
|
-
|
|
243
|
+
const Anchor = ((0, vue_1.h)("div", { class: [
|
|
242
244
|
`${mergedClsPrefix}-anchor`,
|
|
243
245
|
isBlockType && `${mergedClsPrefix}-anchor--block`,
|
|
244
246
|
mergedShowRail && `${mergedClsPrefix}-anchor--show-rail`
|
|
@@ -251,5 +253,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
251
253
|
`${mergedClsPrefix}-anchor-rail__bar--active`
|
|
252
254
|
] }))) : null, (_a = $slots.default) === null || _a === void 0 ? void 0 :
|
|
253
255
|
_a.call($slots)));
|
|
256
|
+
return this.internalScrollable ? ((0, vue_1.h)(_internal_1.NScrollbar, null, {
|
|
257
|
+
default: () => Anchor
|
|
258
|
+
})) : (Anchor);
|
|
254
259
|
}
|
|
255
260
|
});
|
|
@@ -33,6 +33,7 @@ declare const autoCompleteProps: {
|
|
|
33
33
|
readonly value: StringConstructor;
|
|
34
34
|
readonly blurAfterSelect: BooleanConstructor;
|
|
35
35
|
readonly clearAfterSelect: BooleanConstructor;
|
|
36
|
+
readonly getShow: PropType<(inputValue: string) => boolean>;
|
|
36
37
|
readonly size: PropType<"small" | "medium" | "large">;
|
|
37
38
|
readonly options: {
|
|
38
39
|
readonly type: PropType<AutoCompleteOptions>;
|
|
@@ -428,6 +429,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
428
429
|
readonly value: StringConstructor;
|
|
429
430
|
readonly blurAfterSelect: BooleanConstructor;
|
|
430
431
|
readonly clearAfterSelect: BooleanConstructor;
|
|
432
|
+
readonly getShow: PropType<(inputValue: string) => boolean>;
|
|
431
433
|
readonly size: PropType<"small" | "medium" | "large">;
|
|
432
434
|
readonly options: {
|
|
433
435
|
readonly type: PropType<AutoCompleteOptions>;
|
|
@@ -1081,6 +1083,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1081
1083
|
readonly value?: unknown;
|
|
1082
1084
|
readonly blurAfterSelect?: unknown;
|
|
1083
1085
|
readonly clearAfterSelect?: unknown;
|
|
1086
|
+
readonly getShow?: unknown;
|
|
1084
1087
|
readonly size?: unknown;
|
|
1085
1088
|
readonly options?: unknown;
|
|
1086
1089
|
readonly zIndex?: unknown;
|
|
@@ -1462,6 +1465,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1462
1465
|
clearable?: boolean | undefined;
|
|
1463
1466
|
"onUpdate:value"?: MaybeArray<OnUpdateValue> | undefined;
|
|
1464
1467
|
onUpdateValue?: MaybeArray<OnUpdateValue> | undefined;
|
|
1468
|
+
getShow?: ((inputValue: string) => boolean) | undefined;
|
|
1465
1469
|
}>, {
|
|
1466
1470
|
disabled: boolean | undefined;
|
|
1467
1471
|
onInput: MaybeArray<OnUpdateValue> | undefined;
|
|
@@ -28,7 +28,7 @@ const autoCompleteProps = Object.assign(Object.assign({}, _mixins_1.useTheme.pro
|
|
|
28
28
|
}, disabled: {
|
|
29
29
|
type: Boolean,
|
|
30
30
|
default: undefined
|
|
31
|
-
}, placeholder: String, value: String, blurAfterSelect: Boolean, clearAfterSelect: Boolean, size: String, options: {
|
|
31
|
+
}, placeholder: String, value: String, blurAfterSelect: Boolean, clearAfterSelect: Boolean, getShow: Function, size: String, options: {
|
|
32
32
|
type: Array,
|
|
33
33
|
default: () => []
|
|
34
34
|
}, zIndex: Number, 'onUpdate:value': [Function, Array], onUpdateValue: [Function, Array], onSelect: [Function, Array], onBlur: [Function, Array], onFocus: [Function, Array],
|
|
@@ -61,8 +61,15 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
61
61
|
const selectOptionsRef = (0, vue_1.computed)(() => {
|
|
62
62
|
return (0, utils_1.mapAutoCompleteOptionsToSelectOptions)(props.options);
|
|
63
63
|
});
|
|
64
|
+
const mergedShowOptionsRef = (0, vue_1.computed)(() => {
|
|
65
|
+
const { getShow } = props;
|
|
66
|
+
if (getShow) {
|
|
67
|
+
return getShow(mergedValueRef.value || '');
|
|
68
|
+
}
|
|
69
|
+
return !!mergedValueRef.value;
|
|
70
|
+
});
|
|
64
71
|
const activeRef = (0, vue_1.computed)(() => {
|
|
65
|
-
return (
|
|
72
|
+
return (mergedShowOptionsRef.value &&
|
|
66
73
|
canBeActivatedRef.value &&
|
|
67
74
|
!!selectOptionsRef.value.length);
|
|
68
75
|
});
|
|
@@ -1342,6 +1342,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1342
1342
|
selectDate: string;
|
|
1343
1343
|
datePlaceholder: string;
|
|
1344
1344
|
datetimePlaceholder: string;
|
|
1345
|
+
monthPlaceholder: string;
|
|
1345
1346
|
startDatePlaceholder: string;
|
|
1346
1347
|
endDatePlaceholder: string;
|
|
1347
1348
|
startDatetimePlaceholder: string;
|
|
@@ -732,7 +732,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
732
732
|
}))
|
|
733
733
|
}),
|
|
734
734
|
(0, vue_1.h)(vueuc_1.VFollower, { key: "selectMenu", ref: "selectMenuFollowerRef", show: this.mergedShow && this.showSelectMenu, containerClass: this.namespace, width: "target", placement: "bottom-start", to: this.adjustedTo, teleportDisabled: this.adjustedTo === _utils_1.useAdjustedTo.tdkey }, {
|
|
735
|
-
default: () => ((0, vue_1.h)(CascaderSelectMenu_1.default, { ref: "selectMenuInstRef", value: this.mergedValue, show: this.mergedShow && this.showSelectMenu, pattern: this.pattern, multiple: this.multiple, tmNodes: this.treeMate.treeNodes, style: this.cssVars }))
|
|
735
|
+
default: () => ((0, vue_1.h)(CascaderSelectMenu_1.default, { ref: "selectMenuInstRef", value: this.mergedValue, show: this.mergedShow && this.showSelectMenu, pattern: this.pattern, multiple: this.multiple, tmNodes: this.treeMate.treeNodes, filter: this.filter, labelField: this.labelField, separator: this.separator, style: this.cssVars }))
|
|
736
736
|
})
|
|
737
737
|
]
|
|
738
738
|
})));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
import { TreeNode } from 'treemate';
|
|
3
3
|
import type { SelectBaseOption, SelectGroupOption, SelectIgnoredOption } from '../../select/src/interface';
|
|
4
|
-
import { TmNode, Value, Filter
|
|
4
|
+
import { TmNode, Value, Filter } from './interface';
|
|
5
5
|
declare const _default: import("vue").DefineComponent<{
|
|
6
6
|
value: {
|
|
7
7
|
type: PropType<Value | null>;
|
|
@@ -17,9 +17,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
17
17
|
type: PropType<TmNode[]>;
|
|
18
18
|
default: () => never[];
|
|
19
19
|
};
|
|
20
|
-
filter:
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
filter: PropType<Filter>;
|
|
21
|
+
labelField: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
separator: {
|
|
26
|
+
type: StringConstructor;
|
|
27
|
+
required: true;
|
|
23
28
|
};
|
|
24
29
|
}, {
|
|
25
30
|
prev: () => void;
|
|
@@ -366,17 +371,21 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
366
371
|
multiple?: unknown;
|
|
367
372
|
tmNodes?: unknown;
|
|
368
373
|
filter?: unknown;
|
|
374
|
+
labelField?: unknown;
|
|
375
|
+
separator?: unknown;
|
|
369
376
|
} & {
|
|
370
377
|
value: Value | null;
|
|
371
378
|
pattern: string;
|
|
372
|
-
filter: Filter;
|
|
373
379
|
show: boolean;
|
|
380
|
+
separator: string;
|
|
374
381
|
multiple: boolean;
|
|
382
|
+
labelField: string;
|
|
375
383
|
tmNodes: TmNode[];
|
|
376
|
-
} & {
|
|
384
|
+
} & {
|
|
385
|
+
filter?: Filter | undefined;
|
|
386
|
+
}>, {
|
|
377
387
|
value: Value | null;
|
|
378
388
|
pattern: string;
|
|
379
|
-
filter: Filter;
|
|
380
389
|
show: boolean;
|
|
381
390
|
multiple: boolean;
|
|
382
391
|
tmNodes: TmNode[];
|
|
@@ -24,9 +24,14 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
24
24
|
type: Array,
|
|
25
25
|
default: () => []
|
|
26
26
|
},
|
|
27
|
-
filter:
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
filter: Function,
|
|
28
|
+
labelField: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true
|
|
31
|
+
},
|
|
32
|
+
separator: {
|
|
33
|
+
type: String,
|
|
34
|
+
required: true
|
|
30
35
|
}
|
|
31
36
|
},
|
|
32
37
|
setup(props) {
|
|
@@ -35,15 +40,23 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
35
40
|
} = (0, vue_1.inject)(interface_1.cascaderInjectionKey);
|
|
36
41
|
const menuInstRef = (0, vue_1.ref)(null);
|
|
37
42
|
const selectOptionsRef = (0, vue_1.computed)(() => {
|
|
38
|
-
return (0, utils_1.createSelectOptions)(props.tmNodes, mergedCheckStrategyRef.value === 'child');
|
|
43
|
+
return (0, utils_1.createSelectOptions)(props.tmNodes, mergedCheckStrategyRef.value === 'child', props.labelField, props.separator);
|
|
44
|
+
});
|
|
45
|
+
const mergedFilterRef = (0, vue_1.computed)(() => {
|
|
46
|
+
const { filter } = props;
|
|
47
|
+
if (filter)
|
|
48
|
+
return filter;
|
|
49
|
+
const { labelField } = props;
|
|
50
|
+
return (pattern, _, path) => path.some((option) => option[labelField] && ~option[labelField].indexOf(pattern));
|
|
39
51
|
});
|
|
40
52
|
const filteredSelectOptionsRef = (0, vue_1.computed)(() => {
|
|
41
|
-
const {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
53
|
+
const { pattern } = props;
|
|
54
|
+
const { value: mergedFilter } = mergedFilterRef;
|
|
55
|
+
return (pattern
|
|
56
|
+
? selectOptionsRef.value.filter((option) => {
|
|
57
|
+
return mergedFilter(pattern, option.rawNode, option.path);
|
|
58
|
+
})
|
|
59
|
+
: selectOptionsRef.value).map((option) => ({
|
|
47
60
|
value: option.value,
|
|
48
61
|
label: option.label
|
|
49
62
|
}));
|
|
@@ -6,7 +6,8 @@ declare function traverseWithCallback<T extends {
|
|
|
6
6
|
children?: T[];
|
|
7
7
|
}>(options: T[], beforeCallback: (node: T) => void, afterCallback: (node: T) => void): void;
|
|
8
8
|
export { getRawNodePath };
|
|
9
|
-
declare function createSelectOptions(tmNodes: TmNode[], checkStrategyIsChild: boolean): Array<SelectBaseOption & {
|
|
9
|
+
declare function createSelectOptions(tmNodes: TmNode[], checkStrategyIsChild: boolean, labelField: string, separator: string): Array<SelectBaseOption & {
|
|
10
|
+
rawNode: CascaderOption;
|
|
10
11
|
path: CascaderOption[];
|
|
11
12
|
}>;
|
|
12
13
|
declare function getPathLabel(node: TmNode | null, separator: string, labelField: string): string;
|
|
@@ -21,7 +21,7 @@ function traverseWithCallback(options, beforeCallback, afterCallback) {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
exports.traverseWithCallback = traverseWithCallback;
|
|
24
|
-
function createSelectOptions(tmNodes, checkStrategyIsChild) {
|
|
24
|
+
function createSelectOptions(tmNodes, checkStrategyIsChild, labelField, separator) {
|
|
25
25
|
const selectOptions = [];
|
|
26
26
|
const path = [];
|
|
27
27
|
traverseWithCallback(tmNodes, (tmNode) => {
|
|
@@ -31,8 +31,11 @@ function createSelectOptions(tmNodes, checkStrategyIsChild) {
|
|
|
31
31
|
const { rawNode } = tmNode;
|
|
32
32
|
path.push(rawNode);
|
|
33
33
|
selectOptions.push({
|
|
34
|
-
label: path
|
|
34
|
+
label: path
|
|
35
|
+
.map((rawNodeInPath) => rawNodeInPath[labelField])
|
|
36
|
+
.join(separator),
|
|
35
37
|
value: tmNode.key,
|
|
38
|
+
rawNode: tmNode.rawNode,
|
|
36
39
|
path: Array.from(path)
|
|
37
40
|
});
|
|
38
41
|
}
|
|
@@ -61,7 +61,6 @@ export interface NCollapseInjection {
|
|
|
61
61
|
props: ExtractPropTypes<typeof collapseProps>;
|
|
62
62
|
expandedNamesRef: Ref<string | number | Array<string | number> | null>;
|
|
63
63
|
mergedClsPrefixRef: Ref<string>;
|
|
64
|
-
collectedItemNames: Array<string | number>;
|
|
65
64
|
slots: Slots;
|
|
66
65
|
toggleItem: (collapse: boolean, name: string | number, event: MouseEvent) => void;
|
|
67
66
|
}
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.collapseInjectionKey = void 0;
|
|
4
4
|
const vue_1 = require("vue");
|
|
5
|
-
const
|
|
5
|
+
const vooks_1 = require("vooks");
|
|
6
6
|
const _mixins_1 = require("../../_mixins");
|
|
7
7
|
const _utils_1 = require("../../_utils");
|
|
8
8
|
const styles_1 = require("../styles");
|
|
9
9
|
const index_cssr_1 = require("./styles/index.cssr");
|
|
10
|
-
const vooks_1 = require("vooks");
|
|
11
10
|
const collapseProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { defaultExpandedNames: {
|
|
12
11
|
type: [Array, String],
|
|
13
12
|
default: null
|
|
@@ -41,7 +40,6 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
41
40
|
const uncontrolledExpandedNamesRef = (0, vue_1.ref)(props.defaultExpandedNames);
|
|
42
41
|
const controlledExpandedNamesRef = (0, vue_1.computed)(() => props.expandedNames);
|
|
43
42
|
const mergedExpandedNamesRef = (0, vooks_1.useMergedState)(controlledExpandedNamesRef, uncontrolledExpandedNamesRef);
|
|
44
|
-
const collectedItemNames = [];
|
|
45
43
|
const themeRef = (0, _mixins_1.useTheme)('Collapse', 'Collapse', index_cssr_1.default, styles_1.collapseLight, props, mergedClsPrefixRef);
|
|
46
44
|
function doUpdateExpandedNames(names) {
|
|
47
45
|
const { 'onUpdate:expandedNames': _onUpdateExpandedNames, onUpdateExpandedNames, onExpandedNamesChange } = props;
|
|
@@ -81,7 +79,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
81
79
|
doItemHeaderClick({ name, expanded: true, event });
|
|
82
80
|
}
|
|
83
81
|
else {
|
|
84
|
-
const activeNames =
|
|
82
|
+
const activeNames = expandedNames.slice();
|
|
85
83
|
const index = activeNames.findIndex((activeName) => name === activeName);
|
|
86
84
|
if (~index) {
|
|
87
85
|
activeNames.splice(index, 1);
|
|
@@ -100,7 +98,6 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
100
98
|
props,
|
|
101
99
|
mergedClsPrefixRef,
|
|
102
100
|
expandedNamesRef: mergedExpandedNamesRef,
|
|
103
|
-
collectedItemNames,
|
|
104
101
|
slots,
|
|
105
102
|
toggleItem
|
|
106
103
|
});
|