niuma-ui 2.0.2 → 2.0.4
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/CHANGELOG.md +61 -0
- package/README.md +2 -0
- package/README.zh-CN.md +2 -0
- package/dist/components/_shared/src/reka.d.ts +1 -1
- package/dist/components/_shared/src/reka.js +2 -2
- package/dist/components/anchor/index.d.ts +1 -1
- package/dist/components/anchor/src/RsAnchor.css +63 -32
- package/dist/components/anchor/src/RsAnchor.d.ts +29 -2
- package/dist/components/anchor/src/RsAnchor.impl.js +199 -81
- package/dist/components/anchor/src/RsAnchor.js +1 -1
- package/dist/components/anchor/src/anchor-utils.d.ts +36 -4
- package/dist/components/anchor/src/anchor-utils.js +81 -19
- package/dist/components/auto-complete/index.d.ts +2 -0
- package/dist/components/auto-complete/src/RsAutoComplete.css +122 -0
- package/dist/components/auto-complete/src/RsAutoComplete.d.ts +47 -7
- package/dist/components/auto-complete/src/RsAutoComplete.impl.js +180 -72
- package/dist/components/auto-complete/src/RsAutoComplete.js +4 -1
- package/dist/components/auto-complete/src/auto-complete-utils.d.ts +7 -0
- package/dist/components/auto-complete/src/auto-complete-utils.js +17 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/avatar/src/RsAvatar.css +36 -19
- package/dist/components/avatar/src/RsAvatar.d.ts +9 -3
- package/dist/components/avatar/src/RsAvatar.impl.js +57 -33
- package/dist/components/avatar/src/RsAvatar.js +2 -1
- package/dist/components/avatar/src/avatar-utils.d.ts +16 -7
- package/dist/components/avatar/src/avatar-utils.js +41 -3
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/badge/src/RsBadge.css +61 -8
- package/dist/components/badge/src/RsBadge.d.ts +19 -3
- package/dist/components/badge/src/RsBadge.impl.js +46 -3
- package/dist/components/badge/src/RsBadge.js +1 -1
- package/dist/components/badge/src/badge-utils.d.ts +11 -0
- package/dist/components/badge/src/badge-utils.js +32 -0
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/breadcrumb/src/RsBreadcrumb.css +50 -17
- package/dist/components/breadcrumb/src/RsBreadcrumb.d.ts +45 -6
- package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +111 -12
- package/dist/components/breadcrumb/src/RsBreadcrumb.js +2 -1
- package/dist/components/breadcrumb/src/breadcrumb-utils.d.ts +37 -5
- package/dist/components/breadcrumb/src/breadcrumb-utils.js +70 -9
- package/dist/components/button/src/RsButton.css +87 -71
- package/dist/components/button/src/RsButton.d.ts +7 -3
- package/dist/components/button/src/RsButton.impl.js +43 -31
- package/dist/components/button/src/RsButton.js +1 -1
- package/dist/components/button/src/button-utils.d.ts +17 -0
- package/dist/components/button/src/button-utils.js +14 -1
- package/dist/components/calendar-grid/index.d.ts +2 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.css +105 -45
- package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +62 -2
- package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +265 -94
- package/dist/components/calendar-grid/src/RsCalendarGrid.js +1 -1
- package/dist/components/calendar-grid/src/calendar-grid-utils.d.ts +72 -0
- package/dist/components/calendar-grid/src/calendar-grid-utils.js +122 -0
- package/dist/components/card/index.d.ts +1 -1
- package/dist/components/card/src/RsCard.css +108 -98
- package/dist/components/card/src/RsCard.d.ts +3 -12
- package/dist/components/card/src/RsCard.impl.js +29 -25
- package/dist/components/card/src/RsCard.js +2 -1
- package/dist/components/card/src/card-utils.d.ts +25 -0
- package/dist/components/card/src/card-utils.js +10 -0
- package/dist/components/cascader/index.d.ts +1 -0
- package/dist/components/cascader/src/RsCascader.css +175 -30
- package/dist/components/cascader/src/RsCascader.d.ts +14 -2
- package/dist/components/cascader/src/RsCascader.impl.js +277 -48
- package/dist/components/cascader/src/RsCascader.js +1 -1
- package/dist/components/cascader/src/cascader-utils.d.ts +2 -0
- package/dist/components/cascader/src/cascader-utils.js +8 -1
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/src/RsCheckbox.css +46 -23
- package/dist/components/checkbox/src/RsCheckbox.d.ts +11 -1
- package/dist/components/checkbox/src/RsCheckbox.impl.js +37 -9
- package/dist/components/checkbox/src/RsCheckbox.js +2 -1
- package/dist/components/checkbox/src/checkbox-utils.d.ts +4 -0
- package/dist/components/checkbox/src/checkbox-utils.js +12 -0
- package/dist/components/container/index.d.ts +1 -1
- package/dist/components/container/src/RsContainer.css +11 -11
- package/dist/components/container/src/RsContainer.d.ts +2 -12
- package/dist/components/container/src/RsContainer.impl.js +10 -57
- package/dist/components/container/src/RsContainer.js +1 -1
- package/dist/components/container/src/container-utils.d.ts +23 -0
- package/dist/components/container/src/container-utils.js +51 -0
- package/dist/components/date-picker/index.d.ts +4 -2
- package/dist/components/date-picker/src/RsDatePicker.css +42 -22
- package/dist/components/date-picker/src/RsDatePicker.d.ts +44 -20
- package/dist/components/date-picker/src/RsDatePicker.impl.js +484 -222
- package/dist/components/date-picker/src/RsDatePicker.js +1 -3
- package/dist/components/date-picker/src/RsDateTimePicker.d.ts +33 -6
- package/dist/components/date-picker/src/RsDateTimePicker.impl.js +47 -6
- package/dist/components/date-picker/src/date-picker-utils.d.ts +19 -0
- package/dist/components/date-picker/src/date-picker-utils.js +33 -10
- package/dist/components/divider/index.d.ts +1 -0
- package/dist/components/divider/src/RsDivider.css +37 -22
- package/dist/components/divider/src/RsDivider.d.ts +4 -2
- package/dist/components/divider/src/RsDivider.impl.js +26 -12
- package/dist/components/divider/src/RsDivider.js +1 -1
- package/dist/components/divider/src/divider-utils.d.ts +4 -0
- package/dist/components/dynamic-tags/index.d.ts +1 -1
- package/dist/components/dynamic-tags/src/RsDynamicTags.css +115 -38
- package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +59 -18
- package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +269 -106
- package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
- package/dist/components/dynamic-tags/src/dynamic-tags-utils.d.ts +19 -0
- package/dist/components/dynamic-tags/src/dynamic-tags-utils.js +60 -0
- package/dist/components/fieldset/src/RsFieldset.css +71 -41
- package/dist/components/fieldset/src/RsFieldset.d.ts +21 -2
- package/dist/components/fieldset/src/RsFieldset.impl.js +93 -26
- package/dist/components/fieldset/src/RsFieldset.js +1 -1
- package/dist/components/fieldset/src/fieldset-utils.d.ts +4 -0
- package/dist/components/fieldset/src/fieldset-utils.js +9 -1
- package/dist/components/form/index.d.ts +1 -0
- package/dist/components/form/src/RsForm.css +15 -12
- package/dist/components/form/src/RsForm.d.ts +20 -22
- package/dist/components/form/src/RsForm.impl.js +33 -20
- package/dist/components/form/src/RsForm.js +1 -1
- package/dist/components/form/src/form-utils.d.ts +7 -0
- package/dist/components/form/src/form-utils.js +28 -1
- package/dist/components/icon/src/RsIcon.css +9 -4
- package/dist/components/icon/src/RsIcon.d.ts +4 -3
- package/dist/components/icon/src/RsIcon.impl.js +9 -32
- package/dist/components/icon/src/RsIcon.js +1 -1
- package/dist/components/icon/src/icon-utils.d.ts +17 -0
- package/dist/components/icon/src/icon-utils.js +39 -0
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input/src/RsInput.css +78 -260
- package/dist/components/input/src/RsInput.d.ts +5 -3
- package/dist/components/input/src/RsInput.impl.js +8 -16
- package/dist/components/input/src/RsInput.js +1 -1
- package/dist/components/input/src/input-utils.d.ts +11 -0
- package/dist/components/input/src/input-utils.js +22 -0
- package/dist/components/input-number/index.d.ts +1 -0
- package/dist/components/input-number/src/RsInputNumber.css +31 -31
- package/dist/components/input-number/src/RsInputNumber.d.ts +15 -13
- package/dist/components/input-number/src/RsInputNumber.impl.js +17 -4
- package/dist/components/input-number/src/RsInputNumber.js +1 -1
- package/dist/components/label/src/RsLabel.css +30 -11
- package/dist/components/label/src/RsLabel.d.ts +18 -1
- package/dist/components/label/src/RsLabel.impl.js +63 -10
- package/dist/components/label/src/RsLabel.js +1 -1
- package/dist/components/label/src/label-utils.d.ts +6 -0
- package/dist/components/label/src/label-utils.js +16 -0
- package/dist/components/link/index.d.ts +1 -0
- package/dist/components/link/src/RsLink.css +58 -17
- package/dist/components/link/src/RsLink.d.ts +12 -4
- package/dist/components/link/src/RsLink.impl.js +26 -25
- package/dist/components/link/src/RsLink.js +2 -1
- package/dist/components/link/src/link-utils.d.ts +9 -0
- package/dist/components/link/src/link-utils.js +15 -0
- package/dist/components/loading/src/RsLoading.d.ts +2 -2
- package/dist/components/mentions/index.d.ts +2 -1
- package/dist/components/mentions/src/RsMentions.css +119 -3
- package/dist/components/mentions/src/RsMentions.d.ts +56 -4
- package/dist/components/mentions/src/RsMentions.impl.js +298 -79
- package/dist/components/mentions/src/RsMentions.js +1 -3
- package/dist/components/mentions/src/mentions-utils.d.ts +5 -1
- package/dist/components/mentions/src/mentions-utils.js +28 -9
- package/dist/components/popover/src/RsPopover.d.ts +1 -1
- package/dist/components/radio/index.d.ts +1 -1
- package/dist/components/radio/src/RsRadio.css +7 -6
- package/dist/components/radio/src/RsRadio.d.ts +8 -5
- package/dist/components/radio/src/RsRadio.impl.js +34 -24
- package/dist/components/radio/src/RsRadio.js +2 -1
- package/dist/components/radio/src/RsRadioItem.css +61 -44
- package/dist/components/radio/src/RsRadioItem.d.ts +2 -2
- package/dist/components/radio/src/RsRadioItem.impl.js +53 -20
- package/dist/components/radio/src/RsRadioItem.js +2 -1
- package/dist/components/radio/src/radio-utils.d.ts +12 -1
- package/dist/components/radio/src/radio-utils.js +15 -1
- package/dist/components/scrollbar/src/RsScrollbar.css +71 -24
- package/dist/components/scrollbar/src/RsScrollbar.d.ts +9 -5
- package/dist/components/scrollbar/src/RsScrollbar.impl.js +372 -47
- package/dist/components/scrollbar/src/RsScrollbar.js +2 -1
- package/dist/components/scrollbar/src/scrollbar-utils.d.ts +34 -2
- package/dist/components/scrollbar/src/scrollbar-utils.js +64 -1
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/src/RsSelect.css +54 -42
- package/dist/components/select/src/RsSelect.d.ts +19 -2
- package/dist/components/select/src/RsSelect.impl.js +727 -312
- package/dist/components/select/src/RsSelect.js +1 -1
- package/dist/components/select/src/select-utils.d.ts +4 -2
- package/dist/components/select/src/select-utils.js +8 -3
- package/dist/components/select/src/use-rs-select.d.ts +1 -0
- package/dist/components/select/src/use-rs-select.js +23 -17
- package/dist/components/switch/index.d.ts +2 -1
- package/dist/components/switch/src/RsSwitch.css +36 -18
- package/dist/components/switch/src/RsSwitch.d.ts +18 -5
- package/dist/components/switch/src/RsSwitch.impl.js +61 -29
- package/dist/components/switch/src/RsSwitch.js +2 -1
- package/dist/components/switch/src/switch-utils.d.ts +4 -0
- package/dist/components/switch/src/switch-utils.js +9 -0
- package/dist/components/tag/index.d.ts +1 -1
- package/dist/components/tag/src/RsTag.css +42 -38
- package/dist/components/tag/src/RsTag.d.ts +3 -2
- package/dist/components/tag/src/RsTag.impl.js +18 -9
- package/dist/components/tag/src/RsTag.js +1 -1
- package/dist/components/tag/src/tag-utils.d.ts +8 -0
- package/dist/components/terminal/src/RsTerminal.d.ts +1 -1
- package/dist/components/textarea/src/RsTextarea.css +23 -23
- package/dist/components/textarea/src/RsTextarea.d.ts +6 -12
- package/dist/components/textarea/src/RsTextarea.impl.js +37 -46
- package/dist/components/textarea/src/RsTextarea.js +1 -1
- package/dist/components/textarea/src/textarea-utils.d.ts +27 -0
- package/dist/components/textarea/src/textarea-utils.js +61 -0
- package/dist/components/time-picker/index.d.ts +3 -2
- package/dist/components/time-picker/src/RsTimePicker.css +41 -24
- package/dist/components/time-picker/src/RsTimePicker.d.ts +52 -7
- package/dist/components/time-picker/src/RsTimePicker.impl.js +520 -156
- package/dist/components/time-picker/src/RsTimePicker.js +1 -3
- package/dist/components/time-picker/src/RsTimePickerColumns.css +26 -18
- package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +3 -1
- package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +62 -9
- package/dist/components/time-picker/src/RsTimePickerColumns.js +1 -1
- package/dist/components/time-picker/src/time-picker-utils.d.ts +38 -0
- package/dist/components/time-picker/src/time-picker-utils.js +97 -5
- package/dist/components/toaster/src/RsToaster.d.ts +1 -1
- package/dist/components/tooltip/src/RsTooltip.d.ts +1 -1
- package/dist/components/tree/src/RsTree.d.ts +3 -3
- package/dist/components/tree-select/index.d.ts +2 -0
- package/dist/components/tree-select/src/RsTreeSelect.css +100 -25
- package/dist/components/tree-select/src/RsTreeSelect.d.ts +91 -7
- package/dist/components/tree-select/src/RsTreeSelect.impl.js +464 -79
- package/dist/components/tree-select/src/RsTreeSelect.js +1 -1
- package/dist/components/tree-select/src/tree-select-utils.d.ts +20 -0
- package/dist/components/tree-select/src/tree-select-utils.js +60 -0
- package/dist/components/upload/index.d.ts +2 -1
- package/dist/components/upload/src/RsUpload.css +223 -75
- package/dist/components/upload/src/RsUpload.d.ts +77 -1
- package/dist/components/upload/src/RsUpload.impl.js +404 -90
- package/dist/components/upload/src/RsUpload.js +1 -1
- package/dist/components/upload/src/upload-utils.d.ts +21 -2
- package/dist/components/upload/src/upload-utils.js +139 -9
- package/dist/index.d.ts +24 -11
- package/dist/index.js +6 -0
- package/dist/locale/messages.js +46 -2
- package/dist/styles.css +518 -154
- package/dist/theme/brand.example.css +1 -1
- package/package.json +9 -8
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.d.ts +0 -8
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +0 -40
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +0 -5
- package/dist/components/date-picker/src/RsDatePicker-1.css +0 -157
- package/dist/components/mentions/src/RsMentions-1.css +0 -29
- package/dist/components/time-picker/src/RsTimePicker-1.css +0 -98
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
//#region src/components/upload/src/upload-utils.ts
|
|
2
|
-
function formatFileSize(size) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
function formatFileSize(size, locale) {
|
|
3
|
+
const abs = Number.isFinite(size) ? Math.max(0, size) : 0;
|
|
4
|
+
const units = [
|
|
5
|
+
"B",
|
|
6
|
+
"KB",
|
|
7
|
+
"MB",
|
|
8
|
+
"GB",
|
|
9
|
+
"TB"
|
|
10
|
+
];
|
|
11
|
+
let value = abs;
|
|
12
|
+
let unit = 0;
|
|
13
|
+
while (value >= 1024 && unit < units.length - 1) {
|
|
14
|
+
value /= 1024;
|
|
15
|
+
unit += 1;
|
|
16
|
+
}
|
|
17
|
+
if (unit === 0) return `${Math.round(value)} B`;
|
|
18
|
+
return `${locale ? new Intl.NumberFormat(locale, {
|
|
19
|
+
minimumFractionDigits: 1,
|
|
20
|
+
maximumFractionDigits: 1
|
|
21
|
+
}).format(value) : value.toFixed(1)} ${units[unit]}`;
|
|
6
22
|
}
|
|
7
23
|
function isFileAccepted(file, accept) {
|
|
8
24
|
if (!accept) return true;
|
|
@@ -40,17 +56,131 @@ function mergeUploadFiles(current, next, maxCount) {
|
|
|
40
56
|
function removeUploadFileAt(files, index) {
|
|
41
57
|
return files.filter((_, currentIndex) => currentIndex !== index);
|
|
42
58
|
}
|
|
43
|
-
|
|
59
|
+
function isSameUploadFile(left, right) {
|
|
60
|
+
return left.name === right.name && left.size === right.size && left.lastModified === right.lastModified && left.type === right.type;
|
|
61
|
+
}
|
|
62
|
+
function skipDuplicateUploadFiles(current, incoming) {
|
|
63
|
+
return incoming.filter((file) => !current.some((item) => isSameUploadFile(item, file)));
|
|
64
|
+
}
|
|
65
|
+
function resolveUploadCapture(capture) {
|
|
66
|
+
if (capture === true) return "environment";
|
|
67
|
+
if (capture === "user" || capture === "environment") return capture;
|
|
68
|
+
}
|
|
69
|
+
function isImageUploadFile(file) {
|
|
70
|
+
if (file.type.startsWith("image/")) return true;
|
|
71
|
+
return resolveUploadFileIcon(file) === "file-image";
|
|
72
|
+
}
|
|
73
|
+
function asFileSystemEntry(item) {
|
|
74
|
+
const getter = item.webkitGetAsEntry;
|
|
75
|
+
if (typeof getter !== "function") return null;
|
|
76
|
+
return getter.call(item);
|
|
77
|
+
}
|
|
78
|
+
function droppedDataHasDirectory(data) {
|
|
79
|
+
const items = data?.items;
|
|
80
|
+
if (!items?.length) return false;
|
|
81
|
+
return Array.from(items).some((item) => asFileSystemEntry(item)?.isDirectory);
|
|
82
|
+
}
|
|
83
|
+
function readFileEntry(entry) {
|
|
84
|
+
return new Promise((resolve) => {
|
|
85
|
+
if (!entry.file) {
|
|
86
|
+
resolve(null);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
entry.file((file) => resolve(file), () => resolve(null));
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function readDirectoryEntries(entry) {
|
|
93
|
+
const reader = entry.createReader?.();
|
|
94
|
+
if (!reader) return Promise.resolve([]);
|
|
95
|
+
const collected = [];
|
|
96
|
+
return new Promise((resolve) => {
|
|
97
|
+
const pump = () => {
|
|
98
|
+
reader.readEntries((batch) => {
|
|
99
|
+
if (!batch.length) {
|
|
100
|
+
resolve(collected);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
collected.push(...batch);
|
|
104
|
+
pump();
|
|
105
|
+
}, () => resolve(collected));
|
|
106
|
+
};
|
|
107
|
+
pump();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
async function collectEntryFiles(entry, output) {
|
|
111
|
+
if (entry.isFile) {
|
|
112
|
+
const file = await readFileEntry(entry);
|
|
113
|
+
if (file) output.push(file);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (!entry.isDirectory) return;
|
|
117
|
+
const children = await readDirectoryEntries(entry);
|
|
118
|
+
for (const child of children) await collectEntryFiles(child, output);
|
|
119
|
+
}
|
|
120
|
+
/** 读取拖入的 File。文件夹走 webkitGetAsEntry;否则回退 dataTransfer.files。 */
|
|
121
|
+
async function collectDroppedFiles(data) {
|
|
122
|
+
if (!data) return [];
|
|
123
|
+
const fromList = Array.from(data.files ?? []);
|
|
124
|
+
const items = data.items;
|
|
125
|
+
if (!items?.length) return fromList;
|
|
126
|
+
const entries = Array.from(items).map((item) => asFileSystemEntry(item)).filter((entry) => Boolean(entry));
|
|
127
|
+
if (!entries.length) return fromList;
|
|
128
|
+
const files = [];
|
|
129
|
+
for (const entry of entries) await collectEntryFiles(entry, files);
|
|
130
|
+
return files.length ? files : fromList;
|
|
131
|
+
}
|
|
132
|
+
function nextUploadPreviewUrls(current, files, enabled, createUrl) {
|
|
133
|
+
const live = new Set(files);
|
|
134
|
+
const next = /* @__PURE__ */ new Map();
|
|
135
|
+
const revoked = [];
|
|
136
|
+
if (!enabled) {
|
|
137
|
+
revoked.push(...current.values());
|
|
138
|
+
return {
|
|
139
|
+
next,
|
|
140
|
+
revoked
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
for (const [file, url] of current) if (live.has(file)) next.set(file, url);
|
|
144
|
+
else revoked.push(url);
|
|
145
|
+
for (const file of files) {
|
|
146
|
+
if (!isImageUploadFile(file) || next.has(file)) continue;
|
|
147
|
+
const url = createUrl(file);
|
|
148
|
+
if (url) next.set(file, url);
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
next,
|
|
152
|
+
revoked
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
function pruneBrokenUploadPreview(broken, files) {
|
|
156
|
+
const live = new Set(files);
|
|
157
|
+
return new Set([...broken].filter((file) => live.has(file)));
|
|
158
|
+
}
|
|
159
|
+
function createUploadObjectUrl(file) {
|
|
160
|
+
if (typeof URL === "undefined" || typeof URL.createObjectURL !== "function") return "";
|
|
161
|
+
return URL.createObjectURL(file);
|
|
162
|
+
}
|
|
163
|
+
function revokeUploadObjectUrl(url) {
|
|
164
|
+
if (!url || typeof URL === "undefined" || typeof URL.revokeObjectURL !== "function") return;
|
|
165
|
+
URL.revokeObjectURL(url);
|
|
166
|
+
}
|
|
167
|
+
/** 触发浏览器下载指定 File / Blob。无 document 时空操作。延迟 revoke,避免下载被中断。 */
|
|
44
168
|
function downloadUploadFile(file, filename) {
|
|
169
|
+
if (typeof document === "undefined" || typeof URL === "undefined") return;
|
|
45
170
|
const name = filename || (file instanceof File ? file.name : "download");
|
|
46
|
-
const url =
|
|
171
|
+
const url = createUploadObjectUrl(file);
|
|
172
|
+
if (!url) return;
|
|
47
173
|
const link = document.createElement("a");
|
|
48
174
|
link.href = url;
|
|
49
175
|
link.download = name;
|
|
50
176
|
document.body.appendChild(link);
|
|
51
177
|
link.click();
|
|
52
|
-
|
|
53
|
-
|
|
178
|
+
link.remove();
|
|
179
|
+
if (typeof window === "undefined") {
|
|
180
|
+
revokeUploadObjectUrl(url);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
window.setTimeout(() => revokeUploadObjectUrl(url), 1500);
|
|
54
184
|
}
|
|
55
185
|
/** 将文本等内容还原为可回显的 File(编辑态回填) */
|
|
56
186
|
function createUploadFileFromContent(name, content, type = "application/octet-stream") {
|
|
@@ -174,4 +304,4 @@ function resolveUploadFileIcon(file) {
|
|
|
174
304
|
return "file";
|
|
175
305
|
}
|
|
176
306
|
//#endregion
|
|
177
|
-
export { createUploadFileFromContent, downloadUploadFile, formatFileSize, isFileAccepted, mergeUploadFiles, removeUploadFileAt, resolveUploadFileIcon, validateUploadFiles };
|
|
307
|
+
export { collectDroppedFiles, createUploadFileFromContent, createUploadObjectUrl, downloadUploadFile, droppedDataHasDirectory, formatFileSize, isFileAccepted, isImageUploadFile, isSameUploadFile, mergeUploadFiles, nextUploadPreviewUrls, pruneBrokenUploadPreview, removeUploadFileAt, resolveUploadCapture, resolveUploadFileIcon, revokeUploadObjectUrl, skipDuplicateUploadFiles, validateUploadFiles };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
export { RsConfigProvider } from './components/config-provider';
|
|
2
2
|
export { RsBadge } from './components/badge';
|
|
3
|
+
export type { RsBadgeVariant } from './components/badge';
|
|
3
4
|
export { RsContainer } from './components/container';
|
|
4
5
|
export { RsBreadcrumb } from './components/breadcrumb';
|
|
5
6
|
export { RsAnchor } from './components/anchor';
|
|
6
|
-
export type { RsAnchorFlatItem, RsAnchorItem } from './components/anchor';
|
|
7
|
+
export type { RsAnchorDirection, RsAnchorExpose, RsAnchorFlatItem, RsAnchorInstance, RsAnchorItem, RsAnchorScrollBehavior, } from './components/anchor';
|
|
7
8
|
export { flattenAnchorItems, hrefToAnchorId, pickActiveAnchorHref, } from './components/anchor';
|
|
8
9
|
export { RsToolbar } from './components/toolbar';
|
|
9
10
|
export { RsButton } from './components/button';
|
|
10
11
|
export type { RsButtonTone, RsButtonVariant } from './components/button';
|
|
11
12
|
export { isRsButtonFilledVariant, resolveRsButtonTone, resolveRsButtonVariant, supportsRsButtonTone, } from './components/button';
|
|
12
13
|
export { RsCheckbox } from './components/checkbox';
|
|
14
|
+
export type { RsCheckboxExpose, RsCheckboxInstance } from './components/checkbox';
|
|
13
15
|
export { RsSwitch } from './components/switch';
|
|
14
|
-
export type { RsSwitchValue } from './components/switch';
|
|
16
|
+
export type { RsSwitchExpose, RsSwitchInstance, RsSwitchValue } from './components/switch';
|
|
15
17
|
export { RsRadio } from './components/radio';
|
|
16
18
|
export { RsRadioItem } from './components/radio';
|
|
17
|
-
export type { RsRadioValue } from './components/radio';
|
|
19
|
+
export type { RsRadioOrientation, RsRadioValue } from './components/radio';
|
|
18
20
|
export { RsTag } from './components/tag';
|
|
19
21
|
export type { RsTagVariant } from './components/tag';
|
|
20
22
|
export { RsDynamicTags } from './components/dynamic-tags';
|
|
21
|
-
export type { RsDynamicTagsInputMode, RsDynamicTagsRejectReason, } from './components/dynamic-tags';
|
|
23
|
+
export type { RsDynamicTagsExpose, RsDynamicTagsInputMode, RsDynamicTagsInstance, RsDynamicTagsParse, RsDynamicTagsRejectReason, } from './components/dynamic-tags';
|
|
22
24
|
export { RsAlert } from './components/alert';
|
|
23
25
|
export { RsDivider } from './components/divider';
|
|
26
|
+
export type { RsDividerOrientation } from './components/divider';
|
|
24
27
|
export { RsDescriptions } from './components/descriptions';
|
|
25
28
|
export { RsDescriptionsItem } from './components/descriptions';
|
|
26
29
|
export type { RsDescriptionsItem as RsDescriptionsItemData, RsDescriptionsLabelPlacement, RsDescriptionsSize, } from './components/descriptions';
|
|
@@ -30,22 +33,29 @@ export type { RsLoadingBarApi } from './composables/useRsLoadingBar';
|
|
|
30
33
|
export { RsDropdown } from './components/dropdown';
|
|
31
34
|
export { RsIcon } from './components/icon';
|
|
32
35
|
export { RsInput } from './components/input';
|
|
33
|
-
export type { RsInputExpose, RsInputInstance } from './components/input';
|
|
36
|
+
export type { RsInputExpose, RsInputInstance, RsInputType } from './components/input';
|
|
34
37
|
export { RsTextarea } from './components/textarea';
|
|
35
38
|
export type { RsTextareaAutosize, RsTextareaExpose, RsTextareaInstance, RsTextareaResize, } from './components/textarea';
|
|
36
39
|
export { RsInputNumber } from './components/input-number';
|
|
37
|
-
export type { RsInputNumberValue } from './components/input-number';
|
|
40
|
+
export type { RsInputNumberExpose, RsInputNumberInstance, RsInputNumberValue, } from './components/input-number';
|
|
38
41
|
export { clampNumber, formatNumberValue, fromModelValue, isNumberInputInterim, normalizeCommittedNumber, parseNumberInput, resolveNumberPrecision, roundToPrecision, stepNumberValue, toModelValue, } from './components/input-number';
|
|
39
42
|
export { RsLabel } from './components/label';
|
|
40
43
|
export { RsLink } from './components/link';
|
|
44
|
+
export type { RsLinkTone, RsLinkUnderline } from './components/link';
|
|
41
45
|
export { RsMenu } from './components/menu';
|
|
42
46
|
export { RsSelect } from './components/select';
|
|
47
|
+
export type { RsSelectExpose, RsSelectInstance } from './components/select';
|
|
43
48
|
export { RsAutoComplete } from './components/auto-complete';
|
|
49
|
+
export type { RsAutoCompleteExpose, RsAutoCompleteInstance, RsAutoCompleteFilterOption, RsAutoCompleteOption, RsAutoCompleteOptionInput, } from './components/auto-complete';
|
|
44
50
|
export { RsCascader } from './components/cascader';
|
|
51
|
+
export type { RsCascaderExpose, RsCascaderInstance } from './components/cascader';
|
|
45
52
|
export { RsTreeSelect } from './components/tree-select';
|
|
53
|
+
export type { RsTreeSelectExpose, RsTreeSelectGetPopupContainer, RsTreeSelectInstance, RsTreeSelectModelValue, RsTreeSelectShowCheckedStrategy, } from './components/tree-select';
|
|
46
54
|
export { RsMentions } from './components/mentions';
|
|
55
|
+
export type { RsMentionsExpose, RsMentionsInstance } from './components/mentions';
|
|
47
56
|
export { RsScrollbar } from './components/scrollbar';
|
|
48
57
|
export { RsAvatar } from './components/avatar';
|
|
58
|
+
export type { RsAvatarShape, RsAvatarSize, RsAvatarTone } from './components/avatar';
|
|
49
59
|
export { RsCard } from './components/card';
|
|
50
60
|
export type { RsCardSize, RsCardVariant } from './components/card';
|
|
51
61
|
export { RsEmpty } from './components/empty';
|
|
@@ -74,6 +84,7 @@ export { RsDatePicker } from './components/date-picker';
|
|
|
74
84
|
export { RsDateTimePicker } from './components/date-picker';
|
|
75
85
|
export { RsTimePicker } from './components/time-picker';
|
|
76
86
|
export { RsCalendarGrid } from './components/calendar-grid';
|
|
87
|
+
export type { RsCalendarCell, RsCalendarGridCellSlot, RsCalendarGridExpose, RsCalendarGridInstance, } from './components/calendar-grid';
|
|
77
88
|
export { RsTimePickerColumns } from './components/time-picker';
|
|
78
89
|
export { RsSidebar } from './components/sidebar';
|
|
79
90
|
export { RsSidebarGroup } from './components/sidebar';
|
|
@@ -87,6 +98,7 @@ export { RsPagination } from './components/pagination';
|
|
|
87
98
|
export type { RsPaginationSize } from './components/pagination';
|
|
88
99
|
export { RsTree } from './components/tree';
|
|
89
100
|
export { RsUpload } from './components/upload';
|
|
101
|
+
export type { RsUploadBeforeRemove, RsUploadBeforeSelect, RsUploadCapture, RsUploadExpose, RsUploadInstance, RsUploadListType, RsUploadVariant, } from './components/upload';
|
|
90
102
|
export { RsVirtualList } from './components/virtual-list';
|
|
91
103
|
export { RsCodeEditor } from './components/code-editor';
|
|
92
104
|
export { RsMonacoEditor } from './components/monaco-editor';
|
|
@@ -117,11 +129,12 @@ export type { RsMenuItem, RsMenuItemGroup, RsMenuItems } from './components/menu
|
|
|
117
129
|
export type { RsScrollbarOrientation, RsScrollbarType } from './components/scrollbar';
|
|
118
130
|
export type { RsSelectFieldNames, RsSelectFilterOption, RsSelectFilterSort, RsSelectGetPopupContainer, RsSelectLabeledValue, RsSelectModelValue, RsSelectResolvedModel, RsSelectOption, RsSelectOptionFilterProp, RsSelectOptionGroup, RsSelectOptionInput, RsSelectOptions, RsSelectOptionsInput, RsSelectPlacement, RsSelectStatus, RsSelectMaxTagCount, RsSelectVariant, RsSelectValue, } from './components/select';
|
|
119
131
|
export type { RsCascaderExpandTrigger, RsCascaderOption, RsCascaderPath, } from './components/cascader';
|
|
120
|
-
export type { RsMentionActive, RsMentionCaretBox, RsMentionOption, RsMentionPopupBox, } from './components/mentions';
|
|
132
|
+
export type { RsMentionActive, RsMentionCaretBox, RsMentionFilterOption, RsMentionOption, RsMentionOptionInput, RsMentionPopupBox, } from './components/mentions';
|
|
121
133
|
export { RS_SELECT_EMPTY_VALUE, fromComboboxValue, isSelectLabeledValue, normalizeSelectOptions, optionDisplayLabel, packSelectModel, restoreSelectValue, toComboboxValue, unwrapSelectEntry, } from './components/select';
|
|
122
134
|
export type { RsFeedbackTone, RsToastPosition, RsToastType, RsOverlayAnchorBox, RsOverlayBox } from './components/_shared';
|
|
123
135
|
export { RS_TOAST_DEFAULT_GAP, RS_TOAST_DEFAULT_POSITION, rsToastPositions, rsFeedbackIconClass, placeAnchoredPopup, stepEnabledIndex } from './components/_shared';
|
|
124
136
|
export type { RsFormContext, RsFormErrorRender, RsFormErrorRenderContext, RsFormFieldExpose, RsFormItemContext, RsFormListContext, RsFormListField, RsFormListOperations, RsFormFieldValidationResult, RsFormGap, RsFormLabelAlign, RsFormLabelPosition, RsFormMaxWidth, RsFormSize, RsFormValidateStatus, RsFormValidationResult, } from './components/form';
|
|
137
|
+
export type { RsFormExpose, RsFormInstance } from './components/form';
|
|
125
138
|
export { cloneFormFieldValue, isRsFormItemBoundControl, provideRsFormItemContext, provideRsFormListContext, RS_FORM_INJECTION_KEY, RS_FORM_ITEM_INJECTION_KEY, RS_FORM_LIST_INJECTION_KEY, resolveFieldRules, useRsFormContext, useRsFormField, useRsFormItemContext, useRsFormListContext, } from './components/form';
|
|
126
139
|
export type { RsFormNamePath } from './components/form';
|
|
127
140
|
export { concatNamePath, getByNamePath, hasByNamePath, isIndexSegment, namePathKey, normalizeNamePath, setByNamePath, } from './components/form';
|
|
@@ -193,12 +206,12 @@ export type { RsVirtualListItemSize } from './components/virtual-list';
|
|
|
193
206
|
export { resolveItemSize, resolveVirtualListHeight } from './components/virtual-list';
|
|
194
207
|
export type { RsCodeEditorDiagnostic, RsCodeEditorLanguage, RsCodeEditorSqlColumn, RsCodeEditorSqlConfig, RsCodeEditorSqlDialect, RsCodeEditorSqlNamespace, RsCodeEditorTheme, RsResolvedCodeEditorTheme, } from './components/code-editor';
|
|
195
208
|
export { codeEditorLanguageLabel, readDocumentTheme, resolveCodeEditorLanguage, resolveCodeEditorSize, resolveCodeEditorTheme, } from './components/code-editor';
|
|
196
|
-
export type { RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerTimestampRange, RsDatePickerValueConvertOptions, RsDatePickerValueFormat, RsDatePickerValueFormatPreset, RsDateRangeValue, RsParsedDate, RsParsedDateTime, } from './components/date-picker';
|
|
197
|
-
export { EMPTY_DATE_RANGE, formatDateDisplay, formatDateParts, formatDateRangeDisplay, formatDateTimeDisplay, formatDateTimeValue, formatDateValue, fromInternalPickerValue, isDateRangeEmpty, isDateRangeOrdered, isDateTimeRangeOrdered, parseDateTimeValue, parseDateValue, RS_DATE_PICKER_VALUE_FORMAT_PRESETS, toInternalPickerValue, toRangeEndpointString, } from './components/date-picker';
|
|
209
|
+
export type { RsDatePickerDisabledDate, RsDatePickerExpose, RsDatePickerGetPopupContainer, RsDatePickerInstance, RsDatePickerLabelPosition, RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerTimestampRange, RsDatePickerValueConvertOptions, RsDatePickerValueFormat, RsDatePickerValueFormatPreset, RsDateRangeValue, RsDateTimePickerExpose, RsDateTimePickerInstance, RsDateTimePickerLabelPosition, RsDateTimeRangeValue, RsParsedDate, RsParsedDateTime, RsWeekStartsOn, } from './components/date-picker';
|
|
210
|
+
export { EMPTY_DATE_RANGE, formatDateDisplay, formatDateParts, formatDateRangeDisplay, formatDateTimeDisplay, formatDateTimeValue, formatDateValue, formatPickerDisplay, fromInternalPickerValue, isDateRangeEmpty, isDateRangeOrdered, isDateTimeRangeOrdered, parseDateTimeValue, parseDateValue, resolveWeekStartsOn, RS_DATE_PICKER_VALUE_FORMAT_PRESETS, toInternalPickerValue, toRangeEndpointString, } from './components/date-picker';
|
|
198
211
|
export { RS_DATE_FORMAT, RS_DATETIME_FORMAT, RS_TIME_MINUTE_FORMAT, RS_TIME_SECONDS_FORMAT, } from './utils/rs-dayjs';
|
|
199
212
|
export { formatIsoUtcToLocal, looksLikeIsoDateTimeWithTz, parseLocalDateTimeToUtcIso, } from './utils/iso-local-datetime';
|
|
200
|
-
export type { RsParsedTime, RsTimeRangeValue, RsTimeUnit, RsTimeUnitOption } from './components/time-picker';
|
|
201
|
-
export { EMPTY_TIME_RANGE, TIME_HOUR_OPTIONS, TIME_SECOND_OPTIONS, formatTimeFromParts, formatTimeParts, formatTimeRangeDisplay, formatTimeUnitLabel, formatTimeValue, getTimeMinuteOptions, isTimeRangeEmpty, isTimeRangeOrdered, isTimeWithinBounds, parseTimeValue, scrollTimeColumnToValue, } from './components/time-picker';
|
|
213
|
+
export type { RsParsedTime, RsTimePickerDisabledTime, RsTimePickerExpose, RsTimePickerGetPopupContainer, RsTimePickerHourCycle, RsTimePickerInstance, RsTimePickerLabelPosition, RsTimePickerModelValue, RsTimePickerShortcut, RsTimeRangeValue, RsTimeUnit, RsTimeUnitOption, } from './components/time-picker';
|
|
214
|
+
export { EMPTY_TIME_RANGE, TIME_HOUR12_OPTIONS, TIME_HOUR_OPTIONS, TIME_SECOND_OPTIONS, formatTimeDisplay, formatTimeFromParts, formatTimeParts, formatTimeRangeDisplay, formatTimeUnitLabel, formatTimeValue, getTimeMinuteOptions, isTimeRangeEmpty, isTimeRangeOrdered, isTimeWithinBounds, parseTimeValue, scrollTimeColumnToValue, toHour12, toHour24, } from './components/time-picker';
|
|
202
215
|
export type { RsDateTimeValidationError, RsDateTimeValidationResult, RsDateTimeValidationRules, RsDateValidationError, RsDateValidationResult, RsDateValidationRules, } from './components/date-picker';
|
|
203
216
|
export { validateDateTimeValue, validateDateValue } from './components/date-picker';
|
|
204
217
|
export type { RsTimeValidationError, RsTimeValidationResult, RsTimeValidationRules } from './components/time-picker';
|
package/dist/index.js
CHANGED
|
@@ -126,6 +126,7 @@ export { default as RsTree } from './components/tree/src/RsTree.js'
|
|
|
126
126
|
export { default as RsTreeSelect } from './components/tree-select/src/RsTreeSelect.js'
|
|
127
127
|
export { default as RsUpload } from './components/upload/src/RsUpload.js'
|
|
128
128
|
export { default as RsVirtualList } from './components/virtual-list/src/RsVirtualList.js'
|
|
129
|
+
export { TIME_HOUR12_OPTIONS } from './components/time-picker/src/time-picker-utils.js'
|
|
129
130
|
export { TIME_HOUR_OPTIONS } from './components/time-picker/src/time-picker-utils.js'
|
|
130
131
|
export { TIME_SECOND_OPTIONS } from './components/time-picker/src/time-picker-utils.js'
|
|
131
132
|
export { aggregateColumnSummary } from './components/table/src/utils/table-summary-utils.js'
|
|
@@ -210,6 +211,8 @@ export { formatFileSize } from './components/upload/src/upload-utils.js'
|
|
|
210
211
|
export { formatIsoUtcToLocal } from './utils/iso-local-datetime.js'
|
|
211
212
|
export { formatLogTime } from './components/log/src/log-utils.js'
|
|
212
213
|
export { formatNumberValue } from './components/input-number/src/input-number-utils.js'
|
|
214
|
+
export { formatPickerDisplay } from './components/date-picker/src/date-picker-utils.js'
|
|
215
|
+
export { formatTimeDisplay } from './components/time-picker/src/time-picker-utils.js'
|
|
213
216
|
export { formatTimeFromParts } from './components/time-picker/src/time-picker-utils.js'
|
|
214
217
|
export { formatTimeParts } from './components/time-picker/src/time-picker-utils.js'
|
|
215
218
|
export { formatTimeRangeDisplay } from './components/time-picker/src/time-picker-utils.js'
|
|
@@ -395,6 +398,7 @@ export { resolveTreeVirtualEnabled } from './components/tree/src/tree-utils.js'
|
|
|
395
398
|
export { resolveUploadFileIcon } from './components/upload/src/upload-utils.js'
|
|
396
399
|
export { resolveVirtualListHeight } from './components/virtual-list/src/virtual-list-utils.js'
|
|
397
400
|
export { resolveVisibleTabValues } from './components/tabs/src/tabs-utils.js'
|
|
401
|
+
export { resolveWeekStartsOn } from './components/date-picker/src/date-picker-utils.js'
|
|
398
402
|
export { restoreSelectValue } from './components/select/src/select-utils.js'
|
|
399
403
|
export { roundToPrecision } from './components/input-number/src/input-number-utils.js'
|
|
400
404
|
export { rsBrandIconAccentVar } from './icons/brand.js'
|
|
@@ -435,6 +439,8 @@ export { syslogSeverityOf } from './components/log/src/log-utils.js'
|
|
|
435
439
|
export { terminalShortcutLabel } from './components/terminal/src/terminal-utils.js'
|
|
436
440
|
export { themePresets } from './theme/presets.js'
|
|
437
441
|
export { toComboboxValue } from './components/select/src/select-utils.js'
|
|
442
|
+
export { toHour12 } from './components/time-picker/src/time-picker-utils.js'
|
|
443
|
+
export { toHour24 } from './components/time-picker/src/time-picker-utils.js'
|
|
438
444
|
export { toInternalPickerValue } from './components/date-picker/src/date-picker-utils.js'
|
|
439
445
|
export { toLogLineInput } from './components/log/src/log-utils.js'
|
|
440
446
|
export { toModelValue } from './components/input-number/src/input-number-utils.js'
|
package/dist/locale/messages.js
CHANGED
|
@@ -7,17 +7,23 @@ var zhCN = {
|
|
|
7
7
|
"select.clear": "清空",
|
|
8
8
|
"select.createOption": "使用 “{query}”",
|
|
9
9
|
"select.maxTagPlaceholder": "+{count}",
|
|
10
|
+
"select.listbox": "选项列表",
|
|
10
11
|
"mentions.placeholder": "输入 @ 提及",
|
|
11
12
|
"mentions.suggestions": "提及建议",
|
|
13
|
+
"autocomplete.placeholder": "输入以搜索",
|
|
12
14
|
"autocomplete.suggestions": "自动完成建议",
|
|
13
15
|
"dropdown.placeholder": "请选择",
|
|
14
16
|
"breadcrumb.label": "面包屑",
|
|
15
|
-
"anchor.label": "本页目录",
|
|
16
17
|
"breadcrumb.separator": "分隔符",
|
|
18
|
+
"breadcrumb.more": "显示更多层级",
|
|
19
|
+
"anchor.label": "本页目录",
|
|
17
20
|
"menu.label": "导航菜单",
|
|
18
21
|
"menu.expandSubmenu": "展开子菜单",
|
|
19
22
|
"menu.collapseSubmenu": "收起子菜单",
|
|
20
23
|
"input.required": "此项为必填",
|
|
24
|
+
"label.required": "必填",
|
|
25
|
+
"label.optional": "(选填)",
|
|
26
|
+
"label.colon": ":",
|
|
21
27
|
"form.field": "此项",
|
|
22
28
|
"form.validate.required": "请填写{label}",
|
|
23
29
|
"form.list.add": "添加",
|
|
@@ -43,12 +49,15 @@ var zhCN = {
|
|
|
43
49
|
"dialog.fullscreen": "全屏",
|
|
44
50
|
"dialog.restore": "还原",
|
|
45
51
|
"tag.close": "关闭标签",
|
|
52
|
+
"scrollbar.viewport": "滚动区域",
|
|
46
53
|
"alert.close": "关闭提示",
|
|
47
54
|
"dynamicTags.label": "标签编辑",
|
|
48
55
|
"dynamicTags.placeholder": "输入后回车添加",
|
|
49
56
|
"dynamicTags.add": "添加标签",
|
|
57
|
+
"dynamicTags.clear": "清空标签",
|
|
50
58
|
"dynamicTags.duplicate": "标签已存在",
|
|
51
59
|
"dynamicTags.maxReached": "已达数量上限",
|
|
60
|
+
"dynamicTags.invalid": "标签无效",
|
|
52
61
|
"confirm.title": "确认操作?",
|
|
53
62
|
"confirm.description": "此操作可能无法撤销,请确认后继续。",
|
|
54
63
|
"loading.label": "加载中",
|
|
@@ -103,6 +112,16 @@ var zhCN = {
|
|
|
103
112
|
"upload.browse": "或点击浏览本地文件",
|
|
104
113
|
"upload.download": "下载文件",
|
|
105
114
|
"upload.dropActive": "松开以添加文件",
|
|
115
|
+
"upload.button": "选择文件",
|
|
116
|
+
"upload.add": "添加文件",
|
|
117
|
+
"upload.preview": "预览文件",
|
|
118
|
+
"upload.fileList": "已选文件",
|
|
119
|
+
"calendarGrid.label": "月历",
|
|
120
|
+
"calendarGrid.prevYear": "上一年",
|
|
121
|
+
"calendarGrid.nextYear": "下一年",
|
|
122
|
+
"calendarGrid.prevMonth": "上个月",
|
|
123
|
+
"calendarGrid.nextMonth": "下个月",
|
|
124
|
+
"calendarGrid.week": "周",
|
|
106
125
|
"datePicker.placeholder": "选择日期",
|
|
107
126
|
"datePicker.rangePlaceholder": "选择日期范围",
|
|
108
127
|
"datePicker.clear": "清空日期",
|
|
@@ -137,6 +156,9 @@ var zhCN = {
|
|
|
137
156
|
"timePicker.separator": " ~ ",
|
|
138
157
|
"timePicker.rangeStart": "开始时间",
|
|
139
158
|
"timePicker.rangeEnd": "结束时间",
|
|
159
|
+
"timePicker.am": "上午",
|
|
160
|
+
"timePicker.pm": "下午",
|
|
161
|
+
"timePicker.period": "上午/下午",
|
|
140
162
|
"tree.label": "树形控件",
|
|
141
163
|
"tree.expand": "展开节点",
|
|
142
164
|
"tree.collapse": "收起节点",
|
|
@@ -240,17 +262,23 @@ var enUS = {
|
|
|
240
262
|
"select.clear": "Clear",
|
|
241
263
|
"select.createOption": "Use “{query}”",
|
|
242
264
|
"select.maxTagPlaceholder": "+{count}",
|
|
265
|
+
"select.listbox": "Options",
|
|
243
266
|
"mentions.placeholder": "Type @ to mention",
|
|
244
267
|
"mentions.suggestions": "Mention suggestions",
|
|
268
|
+
"autocomplete.placeholder": "Type to search",
|
|
245
269
|
"autocomplete.suggestions": "Autocomplete suggestions",
|
|
246
270
|
"dropdown.placeholder": "Select",
|
|
247
271
|
"breadcrumb.label": "Breadcrumb",
|
|
248
|
-
"anchor.label": "On this page",
|
|
249
272
|
"breadcrumb.separator": "Separator",
|
|
273
|
+
"breadcrumb.more": "Show more levels",
|
|
274
|
+
"anchor.label": "On this page",
|
|
250
275
|
"menu.label": "Navigation menu",
|
|
251
276
|
"menu.expandSubmenu": "Expand submenu",
|
|
252
277
|
"menu.collapseSubmenu": "Collapse submenu",
|
|
253
278
|
"input.required": "This field is required",
|
|
279
|
+
"label.required": "required",
|
|
280
|
+
"label.optional": "(optional)",
|
|
281
|
+
"label.colon": ":",
|
|
254
282
|
"form.field": "This field",
|
|
255
283
|
"form.validate.required": "Please enter {label}",
|
|
256
284
|
"form.list.add": "Add",
|
|
@@ -276,12 +304,15 @@ var enUS = {
|
|
|
276
304
|
"dialog.fullscreen": "Fullscreen",
|
|
277
305
|
"dialog.restore": "Restore",
|
|
278
306
|
"tag.close": "Close tag",
|
|
307
|
+
"scrollbar.viewport": "Scrollable area",
|
|
279
308
|
"alert.close": "Dismiss alert",
|
|
280
309
|
"dynamicTags.label": "Editable tags",
|
|
281
310
|
"dynamicTags.placeholder": "Type and press Enter",
|
|
282
311
|
"dynamicTags.add": "Add tag",
|
|
312
|
+
"dynamicTags.clear": "Clear tags",
|
|
283
313
|
"dynamicTags.duplicate": "Tag already exists",
|
|
284
314
|
"dynamicTags.maxReached": "Maximum number of tags reached",
|
|
315
|
+
"dynamicTags.invalid": "Invalid tag",
|
|
285
316
|
"confirm.title": "Confirm action?",
|
|
286
317
|
"confirm.description": "This action may not be reversible. Please confirm before continuing.",
|
|
287
318
|
"loading.label": "Loading",
|
|
@@ -336,6 +367,16 @@ var enUS = {
|
|
|
336
367
|
"upload.browse": "or click to browse files",
|
|
337
368
|
"upload.download": "Download file",
|
|
338
369
|
"upload.dropActive": "Drop files to upload",
|
|
370
|
+
"upload.button": "Choose files",
|
|
371
|
+
"upload.add": "Add files",
|
|
372
|
+
"upload.preview": "Preview file",
|
|
373
|
+
"upload.fileList": "Selected files",
|
|
374
|
+
"calendarGrid.label": "Calendar",
|
|
375
|
+
"calendarGrid.prevYear": "Previous year",
|
|
376
|
+
"calendarGrid.nextYear": "Next year",
|
|
377
|
+
"calendarGrid.prevMonth": "Previous month",
|
|
378
|
+
"calendarGrid.nextMonth": "Next month",
|
|
379
|
+
"calendarGrid.week": "Wk",
|
|
339
380
|
"datePicker.placeholder": "Select date",
|
|
340
381
|
"datePicker.rangePlaceholder": "Select date range",
|
|
341
382
|
"datePicker.clear": "Clear date",
|
|
@@ -370,6 +411,9 @@ var enUS = {
|
|
|
370
411
|
"timePicker.separator": " – ",
|
|
371
412
|
"timePicker.rangeStart": "Start time",
|
|
372
413
|
"timePicker.rangeEnd": "End time",
|
|
414
|
+
"timePicker.am": "AM",
|
|
415
|
+
"timePicker.pm": "PM",
|
|
416
|
+
"timePicker.period": "AM/PM",
|
|
373
417
|
"tree.label": "Tree",
|
|
374
418
|
"tree.expand": "Expand node",
|
|
375
419
|
"tree.collapse": "Collapse node",
|