@central-design-system/components 3.0.0-alpha.17 → 3.0.0-alpha.18
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/dist/cds.css +1 -1
- package/dist/cds.d.ts +7 -1
- package/dist/cds.es.js +8169 -6441
- package/dist/cds.umd.js +3 -3
- package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +4 -16
- package/dist/components/CdsContainer/CdsContainer.vue.d.ts +1 -13
- package/dist/components/CdsContainer/CdsContainerItem.vue.d.ts +54 -0
- package/dist/components/CdsContainer/context.d.ts +15 -0
- package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +24 -30
- package/dist/components/CdsInput/CdsInput.vue.d.ts +8 -0
- package/dist/components/CdsNotification/CdsNotification.vue.d.ts +2 -6
- package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +15 -1
- package/dist/components/CdsProgress/CdsProgress.vue.d.ts +145 -0
- package/dist/components/CdsProgress/index.d.ts +1 -0
- package/dist/components/CdsSkeletonLoader/CdsSkeletonLoader.vue.d.ts +121 -0
- package/dist/components/CdsSkeletonLoader/index.d.ts +1 -0
- package/dist/components/CdsSkeletonLoader/types.d.ts +37 -0
- package/dist/components/CdsSteps/CdsSteps.vue.d.ts +167 -0
- package/dist/components/CdsSteps/CdsStepsItem.vue.d.ts +84 -0
- package/dist/components/CdsSteps/context.d.ts +11 -0
- package/dist/components/CdsSteps/index.d.ts +2 -0
- package/dist/components/CdsSteps/svg/_CdsStepCurrentIcon.vue.d.ts +2 -0
- package/dist/components/CdsSteps/svg/_CdsStepsIconIncomplete.vue.d.ts +2 -0
- package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +8 -24
- package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +4 -12
- package/dist/components/CdsToggle/CdsToggle.vue.d.ts +192 -0
- package/dist/components/CdsToggle/index.d.ts +1 -0
- package/dist/components/CdsUploader/CdsUploader.vue.d.ts +876 -0
- package/dist/components/CdsUploader/components/AjaxUploader.d.ts +342 -0
- package/dist/components/CdsUploader/components/UploadList/ListItem.d.ts +400 -0
- package/dist/components/CdsUploader/components/UploadList/UploadList.d.ts +403 -0
- package/dist/components/CdsUploader/components/index.d.ts +2 -0
- package/dist/components/CdsUploader/composable/index.d.ts +2 -0
- package/dist/components/CdsUploader/composable/request.d.ts +4 -0
- package/dist/components/CdsUploader/composable/upload.d.ts +360 -0
- package/dist/components/CdsUploader/index.d.ts +1 -0
- package/dist/components/CdsUploader/interface.d.ts +98 -0
- package/dist/components/CdsUploader/utils/accept.d.ts +2 -0
- package/dist/components/CdsUploader/utils/helpers.d.ts +5 -0
- package/dist/components/CdsUploader/utils/index.d.ts +4 -0
- package/dist/components/CdsUploader/utils/traverseFileTree.d.ts +14 -0
- package/dist/components/CdsUploader/utils/uid.d.ts +1 -0
- package/dist/components/index.d.ts +12 -1
- package/dist/composable/index.d.ts +1 -0
- package/dist/composable/intersectionObserver.d.ts +4 -0
- package/dist/composable/text.d.ts +3 -1
- package/dist/locale/index.d.ts +2 -0
- package/dist/utils/dom/classNames.d.ts +3 -0
- package/dist/utils/helpers.d.ts +6 -0
- package/package.json +1 -1
- package/src/scss/themes/index.ts +1 -1
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import type { ExtractPropTypes, PropType } from 'vue';
|
|
2
|
+
import type { NUploader } from '../interface';
|
|
3
|
+
import type { TCdsIconsName } from '@central-design-system/icons';
|
|
4
|
+
export declare const makeUploadProps: <Defaults extends {
|
|
5
|
+
name?: unknown;
|
|
6
|
+
capture?: unknown;
|
|
7
|
+
multiple?: unknown;
|
|
8
|
+
action?: unknown;
|
|
9
|
+
method?: unknown;
|
|
10
|
+
directory?: unknown;
|
|
11
|
+
defaultFileList?: unknown;
|
|
12
|
+
showUploadList?: unknown;
|
|
13
|
+
itemRender?: unknown;
|
|
14
|
+
listType?: unknown;
|
|
15
|
+
data?: unknown;
|
|
16
|
+
headers?: unknown;
|
|
17
|
+
accept?: unknown;
|
|
18
|
+
customRequest?: unknown;
|
|
19
|
+
withCredentials?: unknown;
|
|
20
|
+
openFileDialogOnClick?: unknown;
|
|
21
|
+
beforeUpload?: unknown;
|
|
22
|
+
maxCount?: unknown;
|
|
23
|
+
isImageUrl?: unknown;
|
|
24
|
+
showTooltipWithError?: unknown;
|
|
25
|
+
removeIcon?: unknown;
|
|
26
|
+
downloadIcon?: unknown;
|
|
27
|
+
uploadIcon?: unknown;
|
|
28
|
+
} = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
|
|
29
|
+
name: {
|
|
30
|
+
type: PropType<string>;
|
|
31
|
+
default: undefined;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Тип носителя откуда захватывать файл для загрузки на мобильных устройствах
|
|
35
|
+
*/
|
|
36
|
+
capture: {
|
|
37
|
+
type: PropType<boolean | "user" | "environment">;
|
|
38
|
+
default: undefined;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Множественная загрузка файлов
|
|
42
|
+
*/
|
|
43
|
+
multiple: {
|
|
44
|
+
type: PropType<boolean>;
|
|
45
|
+
default: boolean;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* URL куда загружать файлы
|
|
49
|
+
*/
|
|
50
|
+
action: {
|
|
51
|
+
type: PropType<NUploader.TAction>;
|
|
52
|
+
default: undefined;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Тип http запроса для загрузки файлов
|
|
56
|
+
*/
|
|
57
|
+
method: {
|
|
58
|
+
type: PropType<NUploader.TUploadRequestMethod>;
|
|
59
|
+
default: undefined;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Загружать директории
|
|
63
|
+
*/
|
|
64
|
+
directory: {
|
|
65
|
+
type: PropType<boolean>;
|
|
66
|
+
default: undefined;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Список файлов по-умолчанию
|
|
70
|
+
*/
|
|
71
|
+
defaultFileList: {
|
|
72
|
+
type: PropType<NUploader.IUploadFile<any>[]>;
|
|
73
|
+
default: undefined;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Показывать список загруженных файлов
|
|
77
|
+
*/
|
|
78
|
+
showUploadList: {
|
|
79
|
+
type: PropType<boolean | NUploader.TShowUploadList>;
|
|
80
|
+
default: undefined;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Функция рендера для отображения элемента списка загружаемых файлов
|
|
84
|
+
*/
|
|
85
|
+
itemRender: {
|
|
86
|
+
type: PropType<NUploader.TItemRender<any>>;
|
|
87
|
+
default: undefined;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Тип списка загружаемых файлов (поддерживается только 'text')
|
|
91
|
+
*/
|
|
92
|
+
listType: {
|
|
93
|
+
type: PropType<NUploader.TUploadListType>;
|
|
94
|
+
default: undefined;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Параметры загрузки файла или функция возвращающая параметры загрузки файла
|
|
98
|
+
*/
|
|
99
|
+
data: {
|
|
100
|
+
type: PropType<Record<string, unknown> | ((file: NUploader.IRcFile | string | Blob) => Record<string, unknown>)>;
|
|
101
|
+
default: undefined;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Заголовки запроса
|
|
105
|
+
*/
|
|
106
|
+
headers: {
|
|
107
|
+
type: PropType<NUploader.TUploadRequestHeaders>;
|
|
108
|
+
default: undefined;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Типы разрешенных файлов
|
|
112
|
+
*/
|
|
113
|
+
accept: {
|
|
114
|
+
type: PropType<string | string[]>;
|
|
115
|
+
default: undefined;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Собственный запрос на загрузку файла. Переопределяет xhr по-умолчанию
|
|
119
|
+
*/
|
|
120
|
+
customRequest: {
|
|
121
|
+
type: PropType<(options: NUploader.IUploadRequestOption) => void>;
|
|
122
|
+
default: undefined;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Запрос с передачей cookie
|
|
126
|
+
*/
|
|
127
|
+
withCredentials: {
|
|
128
|
+
type: PropType<boolean>;
|
|
129
|
+
default: undefined;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Открывать ли системное окно при клике на загрузчик файлов
|
|
133
|
+
*/
|
|
134
|
+
openFileDialogOnClick: {
|
|
135
|
+
type: PropType<boolean>;
|
|
136
|
+
default: undefined;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Хук жизненного цикла перед загрузкой файла
|
|
140
|
+
*/
|
|
141
|
+
beforeUpload: {
|
|
142
|
+
type: PropType<(file: NUploader.IUploadFile, fileList: NUploader.IUploadFile[]) => NUploader.TBeforeUploadFileType | Promise<void | NUploader.TBeforeUploadFileType>>;
|
|
143
|
+
default: undefined;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Максимальное количество загружаемых файлов
|
|
147
|
+
*/
|
|
148
|
+
maxCount: {
|
|
149
|
+
type: PropType<number>;
|
|
150
|
+
default: undefined;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Настройка отображения миниатюр загружаемых файлов (пока не поддерживается)
|
|
154
|
+
*/
|
|
155
|
+
isImageUrl: {
|
|
156
|
+
type: PropType<(file: NUploader.IUploadFile) => boolean>;
|
|
157
|
+
default: undefined;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Показывать ли тултип с ошибкой возле каждого файла
|
|
161
|
+
*/
|
|
162
|
+
showTooltipWithError: {
|
|
163
|
+
type: PropType<boolean>;
|
|
164
|
+
default: boolean;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Иконка удаления файла
|
|
168
|
+
*/
|
|
169
|
+
removeIcon: {
|
|
170
|
+
type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "funnel" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
|
|
171
|
+
default: string;
|
|
172
|
+
validator: (value: TCdsIconsName) => boolean;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Иконка скачивания файла
|
|
176
|
+
*/
|
|
177
|
+
downloadIcon: {
|
|
178
|
+
type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "funnel" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
|
|
179
|
+
default: string;
|
|
180
|
+
validator: (value: TCdsIconsName) => boolean;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Иконка загрузки файла
|
|
184
|
+
*/
|
|
185
|
+
uploadIcon: {
|
|
186
|
+
type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "funnel" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
|
|
187
|
+
default: string;
|
|
188
|
+
validator: (value: TCdsIconsName) => boolean;
|
|
189
|
+
};
|
|
190
|
+
}, Defaults>;
|
|
191
|
+
export interface IUploadProps<T = any> extends Partial<ExtractPropTypes<ReturnType<typeof makeUploadProps>>> {
|
|
192
|
+
onReject?: (file: NUploader.IUploadFile<T>) => void;
|
|
193
|
+
onChange?: (info: NUploader.IUploadChangeParam<NUploader.IUploadFile<T>>) => void;
|
|
194
|
+
onDrop?: (event: DragEvent) => void;
|
|
195
|
+
onPreview?: (file: NUploader.IUploadFile<T>) => void;
|
|
196
|
+
onDownload?: (file: NUploader.IUploadFile<T>) => void;
|
|
197
|
+
onRemove?: (file: NUploader.IUploadFile<T>) => void | boolean | Promise<void | boolean>;
|
|
198
|
+
'onUpdate:modelValue'?: (fileList: NUploader.IUploadChangeParam<NUploader.IUploadFile<T>>['fileList']) => void;
|
|
199
|
+
}
|
|
200
|
+
export declare const makeUploadListProps: <Defaults extends {
|
|
201
|
+
items?: unknown;
|
|
202
|
+
listType?: unknown;
|
|
203
|
+
itemRender?: unknown;
|
|
204
|
+
showRemoveIcon?: unknown;
|
|
205
|
+
showDownloadIcon?: unknown;
|
|
206
|
+
showPreviewIcon?: unknown;
|
|
207
|
+
showTooltipWithError?: unknown;
|
|
208
|
+
removeIcon?: unknown;
|
|
209
|
+
downloadIcon?: unknown;
|
|
210
|
+
uploadIcon?: unknown;
|
|
211
|
+
isImageUrl?: unknown;
|
|
212
|
+
progress?: unknown;
|
|
213
|
+
onDownload?: unknown;
|
|
214
|
+
onPreview?: unknown;
|
|
215
|
+
onRemove?: unknown;
|
|
216
|
+
} = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
|
|
217
|
+
items: {
|
|
218
|
+
type: PropType<NUploader.IUploadFile<any>[]>;
|
|
219
|
+
default: undefined;
|
|
220
|
+
};
|
|
221
|
+
listType: {
|
|
222
|
+
type: PropType<NUploader.TUploadListType>;
|
|
223
|
+
default: undefined;
|
|
224
|
+
};
|
|
225
|
+
itemRender: {
|
|
226
|
+
type: PropType<NUploader.TItemRender<any>>;
|
|
227
|
+
default: undefined;
|
|
228
|
+
};
|
|
229
|
+
showRemoveIcon: {
|
|
230
|
+
type: PropType<boolean>;
|
|
231
|
+
default: undefined;
|
|
232
|
+
};
|
|
233
|
+
showDownloadIcon: {
|
|
234
|
+
type: PropType<boolean>;
|
|
235
|
+
default: undefined;
|
|
236
|
+
};
|
|
237
|
+
showPreviewIcon: {
|
|
238
|
+
type: PropType<boolean>;
|
|
239
|
+
default: undefined;
|
|
240
|
+
};
|
|
241
|
+
showTooltipWithError: {
|
|
242
|
+
type: PropType<boolean>;
|
|
243
|
+
default: boolean;
|
|
244
|
+
};
|
|
245
|
+
removeIcon: {
|
|
246
|
+
type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "funnel" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
|
|
247
|
+
default: string;
|
|
248
|
+
validator: (value: TCdsIconsName) => boolean;
|
|
249
|
+
};
|
|
250
|
+
downloadIcon: {
|
|
251
|
+
type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "funnel" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
|
|
252
|
+
default: string;
|
|
253
|
+
validator: (value: TCdsIconsName) => boolean;
|
|
254
|
+
};
|
|
255
|
+
uploadIcon: {
|
|
256
|
+
type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "checkbox-fill" | "checkbox" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "funnel" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
|
|
257
|
+
default: string;
|
|
258
|
+
validator: (value: TCdsIconsName) => boolean;
|
|
259
|
+
};
|
|
260
|
+
isImageUrl: {
|
|
261
|
+
type: PropType<(file: NUploader.IUploadFile) => boolean>;
|
|
262
|
+
default: undefined;
|
|
263
|
+
};
|
|
264
|
+
progress: {
|
|
265
|
+
type: PropType<Omit<Partial<{
|
|
266
|
+
reverse: boolean;
|
|
267
|
+
tag: string;
|
|
268
|
+
location: NonNullable<import('../../../utils').TAnchor>;
|
|
269
|
+
active: boolean;
|
|
270
|
+
indeterminate: boolean;
|
|
271
|
+
modelValue: string | number;
|
|
272
|
+
max: string | number;
|
|
273
|
+
height: string | number;
|
|
274
|
+
absolute: boolean;
|
|
275
|
+
bgColor: string;
|
|
276
|
+
bgOpacity: string | number;
|
|
277
|
+
bufferValue: string | number;
|
|
278
|
+
clickable: boolean;
|
|
279
|
+
stream: boolean;
|
|
280
|
+
}> & Omit<Readonly<ExtractPropTypes<{
|
|
281
|
+
location: Omit<{
|
|
282
|
+
type: PropType<import('../../../utils').TAnchor>;
|
|
283
|
+
default: string;
|
|
284
|
+
}, "default" | "type"> & {
|
|
285
|
+
type: PropType<NonNullable<import('../../../utils').TAnchor>>;
|
|
286
|
+
default: NonNullable<import('../../../utils').TAnchor>;
|
|
287
|
+
};
|
|
288
|
+
tag: {
|
|
289
|
+
type: PropType<string>;
|
|
290
|
+
default: string;
|
|
291
|
+
description: string;
|
|
292
|
+
};
|
|
293
|
+
modelValue: {
|
|
294
|
+
type: PropType<string | number>;
|
|
295
|
+
default: number;
|
|
296
|
+
};
|
|
297
|
+
absolute: {
|
|
298
|
+
type: PropType<boolean>;
|
|
299
|
+
default: boolean;
|
|
300
|
+
};
|
|
301
|
+
active: {
|
|
302
|
+
type: PropType<boolean>;
|
|
303
|
+
default: boolean;
|
|
304
|
+
};
|
|
305
|
+
bgColor: {
|
|
306
|
+
type: PropType<string>;
|
|
307
|
+
default: undefined;
|
|
308
|
+
};
|
|
309
|
+
bgOpacity: {
|
|
310
|
+
type: PropType<string | number>;
|
|
311
|
+
default: undefined;
|
|
312
|
+
}; /**
|
|
313
|
+
* Тип http запроса для загрузки файлов
|
|
314
|
+
*/
|
|
315
|
+
bufferValue: {
|
|
316
|
+
type: PropType<string | number>;
|
|
317
|
+
default: number;
|
|
318
|
+
};
|
|
319
|
+
height: {
|
|
320
|
+
type: PropType<string | number>;
|
|
321
|
+
default: number;
|
|
322
|
+
};
|
|
323
|
+
indeterminate: {
|
|
324
|
+
type: PropType<boolean>;
|
|
325
|
+
default: boolean;
|
|
326
|
+
};
|
|
327
|
+
clickable: {
|
|
328
|
+
type: PropType<boolean>;
|
|
329
|
+
default: boolean;
|
|
330
|
+
};
|
|
331
|
+
max: {
|
|
332
|
+
type: PropType<string | number>;
|
|
333
|
+
default: number;
|
|
334
|
+
};
|
|
335
|
+
stream: {
|
|
336
|
+
type: PropType<boolean>;
|
|
337
|
+
default: boolean;
|
|
338
|
+
};
|
|
339
|
+
reverse: {
|
|
340
|
+
type: PropType<boolean>;
|
|
341
|
+
default: boolean;
|
|
342
|
+
};
|
|
343
|
+
}>> & {
|
|
344
|
+
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
345
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "reverse" | "tag" | "location" | "active" | "indeterminate" | "modelValue" | "max" | "height" | "absolute" | "bgColor" | "bgOpacity" | "bufferValue" | "clickable" | "stream">, keyof import("vue").VNodeProps | keyof import("vue").AllowedComponentProps>>;
|
|
346
|
+
default: undefined;
|
|
347
|
+
};
|
|
348
|
+
onDownload: {
|
|
349
|
+
type: PropType<(file: NUploader.IUploadFile) => void>;
|
|
350
|
+
default: undefined;
|
|
351
|
+
};
|
|
352
|
+
onPreview: {
|
|
353
|
+
type: PropType<(file: NUploader.IUploadFile) => void>;
|
|
354
|
+
default: undefined;
|
|
355
|
+
};
|
|
356
|
+
onRemove: {
|
|
357
|
+
type: PropType<(file: NUploader.IUploadFile) => void>;
|
|
358
|
+
default: undefined;
|
|
359
|
+
};
|
|
360
|
+
}, Defaults>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CdsUploader } from './CdsUploader.vue';
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { CdsProgress } from '../CdsProgress';
|
|
2
|
+
import type { ImgHTMLAttributes, VNode } from 'vue';
|
|
3
|
+
import type { ComponentProps } from '../../utils';
|
|
4
|
+
export declare namespace NUploader {
|
|
5
|
+
type TBeforeUploadFileType = File | Blob | boolean | string;
|
|
6
|
+
type TAction = string | ((file: IRcFile) => string | PromiseLike<string>);
|
|
7
|
+
type TUploadRequestMethod = 'POST' | 'PUT' | 'PATCH' | 'post' | 'put' | 'patch';
|
|
8
|
+
type TUploadRequestHeaders = Record<string, string>;
|
|
9
|
+
type TUploadFileStatus = 'error' | 'success' | 'done' | 'uploading' | 'removed';
|
|
10
|
+
type TUploadListType = 'text' | 'picture' | 'picture-card';
|
|
11
|
+
type TPreviewFileHandler = (file: IFileType | Blob) => PromiseLike<string>;
|
|
12
|
+
type TUploadListProgressProps = ComponentProps<typeof CdsProgress>;
|
|
13
|
+
type TItemRender<T = any> = (options: {
|
|
14
|
+
originNode: VNode;
|
|
15
|
+
file?: IUploadFile<T>;
|
|
16
|
+
fileList?: IUploadFile<T>[];
|
|
17
|
+
actions: {
|
|
18
|
+
download?: () => void;
|
|
19
|
+
preview?: () => void;
|
|
20
|
+
remove?: () => void;
|
|
21
|
+
};
|
|
22
|
+
}) => VNode;
|
|
23
|
+
interface IRcFile extends File {
|
|
24
|
+
uid: string;
|
|
25
|
+
}
|
|
26
|
+
interface IUploadRequestError extends Error {
|
|
27
|
+
status?: number;
|
|
28
|
+
method?: TUploadRequestMethod;
|
|
29
|
+
url?: string;
|
|
30
|
+
}
|
|
31
|
+
interface IUploadProgressEvent extends Partial<ProgressEvent> {
|
|
32
|
+
percent?: number;
|
|
33
|
+
}
|
|
34
|
+
interface IUploadRequestOption<T = any> {
|
|
35
|
+
data?: Record<string, unknown> | null;
|
|
36
|
+
filename?: string;
|
|
37
|
+
file: Exclude<TBeforeUploadFileType, File | boolean> | IRcFile | null;
|
|
38
|
+
withCredentials?: boolean;
|
|
39
|
+
action?: string | null;
|
|
40
|
+
headers?: TUploadRequestHeaders;
|
|
41
|
+
method?: TUploadRequestMethod;
|
|
42
|
+
onProgress?: (event: IUploadProgressEvent) => void;
|
|
43
|
+
onError?: (event: IUploadRequestError | ProgressEvent, body?: T) => void;
|
|
44
|
+
onSuccess?: (body: T, xhr?: XMLHttpRequest) => void;
|
|
45
|
+
}
|
|
46
|
+
interface IFileType extends IRcFile {
|
|
47
|
+
readonly lastModifiedDate: Date;
|
|
48
|
+
}
|
|
49
|
+
interface IParsedFile {
|
|
50
|
+
origin: IRcFile;
|
|
51
|
+
action?: string | null;
|
|
52
|
+
data?: Record<string, unknown> | null;
|
|
53
|
+
parsedFile: IRcFile | null;
|
|
54
|
+
}
|
|
55
|
+
interface IUploadFile<T = any> {
|
|
56
|
+
uid: string;
|
|
57
|
+
size?: number;
|
|
58
|
+
name: string;
|
|
59
|
+
fileName?: string;
|
|
60
|
+
lastModified?: number;
|
|
61
|
+
lastModifiedDate?: Date;
|
|
62
|
+
url?: string;
|
|
63
|
+
status?: TUploadFileStatus;
|
|
64
|
+
percent?: number;
|
|
65
|
+
thumbUrl?: string;
|
|
66
|
+
crossOrigin?: ImgHTMLAttributes['crossorigin'];
|
|
67
|
+
originFileObj?: File;
|
|
68
|
+
response?: T;
|
|
69
|
+
error?: any;
|
|
70
|
+
linkProps?: any;
|
|
71
|
+
type?: string;
|
|
72
|
+
xhr?: T;
|
|
73
|
+
preview?: string;
|
|
74
|
+
}
|
|
75
|
+
interface IInternalUploadFile<T = any> extends IUploadFile<T> {
|
|
76
|
+
originFileObj: IFileType;
|
|
77
|
+
}
|
|
78
|
+
interface IUploadChangeParam<T = IUploadFile> {
|
|
79
|
+
file: T;
|
|
80
|
+
fileList: T[];
|
|
81
|
+
event?: {
|
|
82
|
+
percent: number;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
interface TShowUploadList {
|
|
86
|
+
showRemoveIcon?: boolean;
|
|
87
|
+
showPreviewIcon?: boolean;
|
|
88
|
+
showDownloadIcon?: boolean;
|
|
89
|
+
}
|
|
90
|
+
interface ILocale {
|
|
91
|
+
uploading?: string;
|
|
92
|
+
uploadFile?: string;
|
|
93
|
+
downloadFile?: string;
|
|
94
|
+
removeFile?: string;
|
|
95
|
+
uploadError?: string;
|
|
96
|
+
previewFile?: string;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { NUploader } from '../interface';
|
|
2
|
+
export declare function fileToObject(file: NUploader.IFileType | null): NUploader.IInternalUploadFile | null;
|
|
3
|
+
export declare function updateFileList(file: NUploader.IUploadFile, fileList: NUploader.IUploadFile[]): NUploader.IUploadFile<any>[];
|
|
4
|
+
export declare function getFileItem(file: NUploader.IFileType, fileList: NUploader.IUploadFile[]): NUploader.IUploadFile<any>;
|
|
5
|
+
export declare function removeFileItem(file: NUploader.IUploadFile, fileList: NUploader.IUploadFile[]): NUploader.IUploadFile<any>[] | null;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NUploader } from '../../../components/CdsUploader/interface';
|
|
2
|
+
interface InternalDataTransferItem extends DataTransferItem {
|
|
3
|
+
isFile: boolean;
|
|
4
|
+
file: (cd: (file: NUploader.IRcFile & {
|
|
5
|
+
webkitRelativePath: string;
|
|
6
|
+
}) => void) => void;
|
|
7
|
+
createReader: () => any;
|
|
8
|
+
fullPath: string;
|
|
9
|
+
isDirectory: boolean;
|
|
10
|
+
name: string;
|
|
11
|
+
path: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function traverseFileTree(files: InternalDataTransferItem[], callback: (fileList: NUploader.IRcFile[]) => void, isAccepted: (file: NUploader.IRcFile) => boolean): void;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getUid(): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Automatically generated by CDS CLI
|
|
3
|
-
* Generated on
|
|
3
|
+
* Generated on 9/14/2023, 12:22:32 PM
|
|
4
4
|
**/
|
|
5
5
|
export { default as CdsBadge } from './CdsBadge/CdsBadge.vue';
|
|
6
6
|
export { default as CdsBreadcrumbs } from './CdsBreadcrumbs/CdsBreadcrumbs.vue';
|
|
@@ -45,14 +45,18 @@ export { default as CdsNotificationAlert } from './CdsNotification/CdsNotificati
|
|
|
45
45
|
export { default as CdsOverlay } from './CdsOverlay/CdsOverlay.vue';
|
|
46
46
|
export { default as CdsPage } from './CdsPage/CdsPage.vue';
|
|
47
47
|
export { default as CdsPagination } from './CdsPagination/CdsPagination.vue';
|
|
48
|
+
export { default as CdsProgress } from './CdsProgress/CdsProgress.vue';
|
|
48
49
|
export { default as CdsRadio } from './CdsRadioButton/CdsRadio.vue';
|
|
49
50
|
export { default as CdsRadioButton } from './CdsRadioButton/CdsRadioButton.vue';
|
|
50
51
|
export { default as CdsSelect } from './CdsSelect/CdsSelect.vue';
|
|
51
52
|
export { default as CdsSidebar } from './CdsSidebar/CdsSidebar.vue';
|
|
53
|
+
export { default as CdsSkeletonLoader } from './CdsSkeletonLoader/CdsSkeletonLoader.vue';
|
|
52
54
|
export { default as CdsSlideGroup } from './CdsSlideGroup/CdsSlideGroup.vue';
|
|
53
55
|
export { default as CdsSlideGroupItem } from './CdsSlideGroup/CdsSlideGroupItem.vue';
|
|
54
56
|
export { default as CdsStages } from './CdsStages/CdsStages.vue';
|
|
55
57
|
export { default as CdsStatus } from './CdsStatus/CdsStatus.vue';
|
|
58
|
+
export { default as CdsSteps } from './CdsSteps/CdsSteps.vue';
|
|
59
|
+
export { default as CdsStepsItem } from './CdsSteps/CdsStepsItem.vue';
|
|
56
60
|
export { default as CdsTable } from './CdsTable/CdsTable.vue';
|
|
57
61
|
export { default as CdsTableColumn } from './CdsTable/CdsTableColumn.vue';
|
|
58
62
|
export { default as CdsTableColumnGroup } from './CdsTable/CdsTableColumnGroup.vue';
|
|
@@ -64,7 +68,9 @@ export { default as CdsTextInput } from './CdsTextInput/CdsTextInput.vue';
|
|
|
64
68
|
export { default as CdsTimePicker } from './CdsTimePicker/CdsTimePicker.vue';
|
|
65
69
|
export { default as CdsToolbar } from './CdsToolbar/CdsToolbar.vue';
|
|
66
70
|
export { default as CdsToolbarTitle } from './CdsToolbar/CdsToolbarTitle.vue';
|
|
71
|
+
export { default as CdsToggle } from './CdsToggle/CdsToggle.vue';
|
|
67
72
|
export { default as CdsTooltip } from './CdsTooltip/CdsTooltip.vue';
|
|
73
|
+
export { default as CdsUploader } from './CdsUploader/CdsUploader.vue';
|
|
68
74
|
export * from './CdsBadge';
|
|
69
75
|
export * from './CdsBreadcrumbs';
|
|
70
76
|
export * from './CdsButton';
|
|
@@ -93,12 +99,15 @@ export * from './CdsNotification';
|
|
|
93
99
|
export * from './CdsOverlay';
|
|
94
100
|
export * from './CdsPage';
|
|
95
101
|
export * from './CdsPagination';
|
|
102
|
+
export * from './CdsProgress';
|
|
96
103
|
export * from './CdsRadioButton';
|
|
97
104
|
export * from './CdsSelect';
|
|
98
105
|
export * from './CdsSidebar';
|
|
106
|
+
export * from './CdsSkeletonLoader';
|
|
99
107
|
export * from './CdsSlideGroup';
|
|
100
108
|
export * from './CdsStages';
|
|
101
109
|
export * from './CdsStatus';
|
|
110
|
+
export * from './CdsSteps';
|
|
102
111
|
export * from './CdsTable';
|
|
103
112
|
export * from './CdsTabs';
|
|
104
113
|
export * from './CdsTag';
|
|
@@ -106,4 +115,6 @@ export * from './CdsTextArea';
|
|
|
106
115
|
export * from './CdsTextInput';
|
|
107
116
|
export * from './CdsTimePicker';
|
|
108
117
|
export * from './CdsToolbar';
|
|
118
|
+
export * from './CdsToggle';
|
|
109
119
|
export * from './CdsTooltip';
|
|
120
|
+
export * from './CdsUploader';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { PropType } from 'vue';
|
|
1
|
+
import type { PropType, ComputedRef } from 'vue';
|
|
2
2
|
export interface ITextProps {
|
|
3
3
|
text: string | undefined;
|
|
4
4
|
}
|
|
5
5
|
export interface IUseText {
|
|
6
|
+
hasText: ComputedRef<boolean>;
|
|
6
7
|
}
|
|
7
8
|
export declare const makeTextProps: <Defaults extends {
|
|
8
9
|
text?: unknown;
|
|
@@ -15,3 +16,4 @@ export declare const makeTextProps: <Defaults extends {
|
|
|
15
16
|
default: undefined;
|
|
16
17
|
};
|
|
17
18
|
}, Defaults>;
|
|
19
|
+
export declare function useText(props: ITextProps, slots: Record<string, unknown>): IUseText;
|
package/dist/locale/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NTable } from '../components/CdsTable/interface';
|
|
2
|
+
import type { NUploader } from '../components/CdsUploader/interface';
|
|
2
3
|
import type { TNotificationLocale } from '../components/CdsNotification/composable';
|
|
3
4
|
import type { TDateLocale } from '../utils';
|
|
4
5
|
export interface ILocale {
|
|
@@ -9,6 +10,7 @@ export interface ILocale {
|
|
|
9
10
|
prev?: string;
|
|
10
11
|
next?: string;
|
|
11
12
|
};
|
|
13
|
+
uploader: NUploader.ILocale;
|
|
12
14
|
}
|
|
13
15
|
export declare const availableLocale: readonly ["ru", "en"];
|
|
14
16
|
export declare type TAvailableLocale = typeof availableLocale[number];
|
|
@@ -1 +1,4 @@
|
|
|
1
1
|
export declare function classNames(...args: any[]): any;
|
|
2
|
+
export declare function hasClass(node: HTMLDivElement, className: string): boolean;
|
|
3
|
+
export declare function addClass(node: HTMLDivElement, className: string): void;
|
|
4
|
+
export declare function removeClass(node: HTMLDivElement, className: string): void;
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -150,6 +150,12 @@ export declare function findChildrenWithProvide(key: InjectionKey<any> | symbol,
|
|
|
150
150
|
[key: string]: any;
|
|
151
151
|
}): ComponentInternalInstance[];
|
|
152
152
|
export declare function focusableChildren(el: Element): HTMLElement[];
|
|
153
|
+
/**
|
|
154
|
+
* https://github.com/lodash/lodash/blob/master/partition.js
|
|
155
|
+
* @param items
|
|
156
|
+
* @param predicates
|
|
157
|
+
*/
|
|
158
|
+
export declare function partition<T>(items: T[], predicates: (item: T) => boolean): [T[], T[]];
|
|
153
159
|
export declare function noop(): void;
|
|
154
160
|
/**
|
|
155
161
|
* Types
|
package/package.json
CHANGED