@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.
Files changed (51) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +7 -1
  3. package/dist/cds.es.js +8169 -6441
  4. package/dist/cds.umd.js +3 -3
  5. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +4 -16
  6. package/dist/components/CdsContainer/CdsContainer.vue.d.ts +1 -13
  7. package/dist/components/CdsContainer/CdsContainerItem.vue.d.ts +54 -0
  8. package/dist/components/CdsContainer/context.d.ts +15 -0
  9. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +24 -30
  10. package/dist/components/CdsInput/CdsInput.vue.d.ts +8 -0
  11. package/dist/components/CdsNotification/CdsNotification.vue.d.ts +2 -6
  12. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +15 -1
  13. package/dist/components/CdsProgress/CdsProgress.vue.d.ts +145 -0
  14. package/dist/components/CdsProgress/index.d.ts +1 -0
  15. package/dist/components/CdsSkeletonLoader/CdsSkeletonLoader.vue.d.ts +121 -0
  16. package/dist/components/CdsSkeletonLoader/index.d.ts +1 -0
  17. package/dist/components/CdsSkeletonLoader/types.d.ts +37 -0
  18. package/dist/components/CdsSteps/CdsSteps.vue.d.ts +167 -0
  19. package/dist/components/CdsSteps/CdsStepsItem.vue.d.ts +84 -0
  20. package/dist/components/CdsSteps/context.d.ts +11 -0
  21. package/dist/components/CdsSteps/index.d.ts +2 -0
  22. package/dist/components/CdsSteps/svg/_CdsStepCurrentIcon.vue.d.ts +2 -0
  23. package/dist/components/CdsSteps/svg/_CdsStepsIconIncomplete.vue.d.ts +2 -0
  24. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +8 -24
  25. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +4 -12
  26. package/dist/components/CdsToggle/CdsToggle.vue.d.ts +192 -0
  27. package/dist/components/CdsToggle/index.d.ts +1 -0
  28. package/dist/components/CdsUploader/CdsUploader.vue.d.ts +876 -0
  29. package/dist/components/CdsUploader/components/AjaxUploader.d.ts +342 -0
  30. package/dist/components/CdsUploader/components/UploadList/ListItem.d.ts +400 -0
  31. package/dist/components/CdsUploader/components/UploadList/UploadList.d.ts +403 -0
  32. package/dist/components/CdsUploader/components/index.d.ts +2 -0
  33. package/dist/components/CdsUploader/composable/index.d.ts +2 -0
  34. package/dist/components/CdsUploader/composable/request.d.ts +4 -0
  35. package/dist/components/CdsUploader/composable/upload.d.ts +360 -0
  36. package/dist/components/CdsUploader/index.d.ts +1 -0
  37. package/dist/components/CdsUploader/interface.d.ts +98 -0
  38. package/dist/components/CdsUploader/utils/accept.d.ts +2 -0
  39. package/dist/components/CdsUploader/utils/helpers.d.ts +5 -0
  40. package/dist/components/CdsUploader/utils/index.d.ts +4 -0
  41. package/dist/components/CdsUploader/utils/traverseFileTree.d.ts +14 -0
  42. package/dist/components/CdsUploader/utils/uid.d.ts +1 -0
  43. package/dist/components/index.d.ts +12 -1
  44. package/dist/composable/index.d.ts +1 -0
  45. package/dist/composable/intersectionObserver.d.ts +4 -0
  46. package/dist/composable/text.d.ts +3 -1
  47. package/dist/locale/index.d.ts +2 -0
  48. package/dist/utils/dom/classNames.d.ts +3 -0
  49. package/dist/utils/helpers.d.ts +6 -0
  50. package/package.json +1 -1
  51. 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,2 @@
1
+ import type { NUploader } from '../interface';
2
+ export declare function attrAccept(file: NUploader.IRcFile, acceptedFiles?: string | string[]): boolean;
@@ -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,4 @@
1
+ export * from './helpers';
2
+ export * from './accept';
3
+ export * from './traverseFileTree';
4
+ export * from './uid';
@@ -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 8/24/2023, 10:15:26 AM
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';
@@ -36,6 +36,7 @@ export * from './filter';
36
36
  export * from './menu';
37
37
  export * from './datetime';
38
38
  export * from './resizeObserver';
39
+ export * from './intersectionObserver';
39
40
  export * from './refs';
40
41
  export * from './display';
41
42
  export * from './state';
@@ -0,0 +1,4 @@
1
+ export declare function useIntersectionObserver(callback?: IntersectionObserverCallback, options?: IntersectionObserverInit): {
2
+ intersectionRef: import("vue").Ref<HTMLElement | undefined>;
3
+ isIntersection: import("vue").ShallowRef<boolean>;
4
+ };
@@ -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;
@@ -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;
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@central-design-system/components",
3
- "version": "3.0.0-alpha.17",
3
+ "version": "3.0.0-alpha.18",
4
4
  "description": "Central Design System on the Vue 3.0 and TypeScript",
5
5
  "author": "magersoft",
6
6
  "license": "ISC",
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Automatically generated by CDS CLI
3
- * Generated on 8/31/2023, 2:43:54 PM
3
+ * Generated on 9/15/2023, 4:45:22 PM
4
4
  **/
5
5
 
6
6
  /**