@robot-admin/naive-ui-components 0.3.0
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/README.md +257 -0
- package/dist/C_ActionBar-DWN-woTc.css.map +1 -0
- package/dist/C_ActionBar.cjs +5 -0
- package/dist/C_ActionBar.d.cts +2 -0
- package/dist/C_ActionBar.d.ts +2 -0
- package/dist/C_ActionBar.js +4 -0
- package/dist/C_ActionBar2.js +196 -0
- package/dist/C_ActionBar2.js.map +1 -0
- package/dist/C_AntV-AFKyK6hH.css.map +1 -0
- package/dist/C_AntV.cjs +8 -0
- package/dist/C_AntV.d.cts +2 -0
- package/dist/C_AntV.d.ts +2 -0
- package/dist/C_AntV.js +4 -0
- package/dist/C_AntV2.js +3150 -0
- package/dist/C_AntV2.js.map +1 -0
- package/dist/C_Barcode-P_EFj8dC.css.map +1 -0
- package/dist/C_Barcode.cjs +4 -0
- package/dist/C_Barcode.d.cts +2 -0
- package/dist/C_Barcode.d.ts +2 -0
- package/dist/C_Barcode.js +3 -0
- package/dist/C_Barcode2.js +68 -0
- package/dist/C_Barcode2.js.map +1 -0
- package/dist/C_Captcha-C-ef41xw.css.map +1 -0
- package/dist/C_Captcha.cjs +4 -0
- package/dist/C_Captcha.d.cts +2 -0
- package/dist/C_Captcha.d.ts +2 -0
- package/dist/C_Captcha.js +3 -0
- package/dist/C_Captcha2.js +155 -0
- package/dist/C_Captcha2.js.map +1 -0
- package/dist/C_Cascade-D9kNsjsV.css.map +1 -0
- package/dist/C_Cascade.cjs +4 -0
- package/dist/C_Cascade.d.cts +2 -0
- package/dist/C_Cascade.d.ts +2 -0
- package/dist/C_Cascade.js +3 -0
- package/dist/C_Cascade2.js +103 -0
- package/dist/C_Cascade2.js.map +1 -0
- package/dist/C_City-BCQ4ipiK.css.map +1 -0
- package/dist/C_City.cjs +4 -0
- package/dist/C_City.d.cts +2 -0
- package/dist/C_City.d.ts +2 -0
- package/dist/C_City.js +3 -0
- package/dist/C_City2.js +841 -0
- package/dist/C_City2.js.map +1 -0
- package/dist/C_Code-C9kvvEmO.css.map +1 -0
- package/dist/C_Code.cjs +5 -0
- package/dist/C_Code.d.cts +2 -0
- package/dist/C_Code.d.ts +2 -0
- package/dist/C_Code.js +4 -0
- package/dist/C_Code2.js +346 -0
- package/dist/C_Code2.js.map +1 -0
- package/dist/C_CollapsePanel-BUJHuYcU.css.map +1 -0
- package/dist/C_CollapsePanel.cjs +6 -0
- package/dist/C_CollapsePanel.d.cts +2 -0
- package/dist/C_CollapsePanel.d.ts +2 -0
- package/dist/C_CollapsePanel.js +4 -0
- package/dist/C_CollapsePanel2.js +319 -0
- package/dist/C_CollapsePanel2.js.map +1 -0
- package/dist/C_Cron-yx2Ob4Jl.css.map +1 -0
- package/dist/C_Cron.cjs +15 -0
- package/dist/C_Cron.d.cts +2 -0
- package/dist/C_Cron.d.ts +2 -0
- package/dist/C_Cron.js +4 -0
- package/dist/C_Cron2.js +1209 -0
- package/dist/C_Cron2.js.map +1 -0
- package/dist/C_Date.cjs +4 -0
- package/dist/C_Date.d.cts +2 -0
- package/dist/C_Date.d.ts +2 -0
- package/dist/C_Date.js +3 -0
- package/dist/C_Date2.js +219 -0
- package/dist/C_Date2.js.map +1 -0
- package/dist/C_Draggable-C483syRC.css.map +1 -0
- package/dist/C_Draggable.cjs +5 -0
- package/dist/C_Draggable.d.cts +2 -0
- package/dist/C_Draggable.d.ts +2 -0
- package/dist/C_Draggable.js +3 -0
- package/dist/C_Draggable2.js +295 -0
- package/dist/C_Draggable2.js.map +1 -0
- package/dist/C_Editor-Bp0SyIEw.css.map +1 -0
- package/dist/C_Editor.cjs +4 -0
- package/dist/C_Editor.d.cts +2 -0
- package/dist/C_Editor.d.ts +2 -0
- package/dist/C_Editor.js +3 -0
- package/dist/C_Editor2.js +160 -0
- package/dist/C_Editor2.js.map +1 -0
- package/dist/C_FilePreview-CPqvhoCy.css.map +1 -0
- package/dist/C_FilePreview.cjs +6 -0
- package/dist/C_FilePreview.d.cts +2 -0
- package/dist/C_FilePreview.d.ts +2 -0
- package/dist/C_FilePreview.js +3 -0
- package/dist/C_FilePreview2.js +1031 -0
- package/dist/C_FilePreview2.js.map +1 -0
- package/dist/C_Form-Jx7PY3sT.css.map +1 -0
- package/dist/C_Form.cjs +15 -0
- package/dist/C_Form.d.cts +2 -0
- package/dist/C_Form.d.ts +2 -0
- package/dist/C_Form.js +4 -0
- package/dist/C_Form2.js +2510 -0
- package/dist/C_Form2.js.map +1 -0
- package/dist/C_FormSearch-DvRgxlRn.css.map +1 -0
- package/dist/C_FormSearch.cjs +6 -0
- package/dist/C_FormSearch.d.cts +2 -0
- package/dist/C_FormSearch.d.ts +2 -0
- package/dist/C_FormSearch.js +3 -0
- package/dist/C_FormSearch2.js +356 -0
- package/dist/C_FormSearch2.js.map +1 -0
- package/dist/C_FormulaEditor-DtGkt4T_.css.map +1 -0
- package/dist/C_FormulaEditor.cjs +13 -0
- package/dist/C_FormulaEditor.d.cts +2 -0
- package/dist/C_FormulaEditor.d.ts +2 -0
- package/dist/C_FormulaEditor.js +4 -0
- package/dist/C_FormulaEditor2.js +1433 -0
- package/dist/C_FormulaEditor2.js.map +1 -0
- package/dist/C_FullCalendar-BF7H0YIx.css.map +1 -0
- package/dist/C_FullCalendar.cjs +9 -0
- package/dist/C_FullCalendar.d.cts +2 -0
- package/dist/C_FullCalendar.d.ts +2 -0
- package/dist/C_FullCalendar.js +3 -0
- package/dist/C_FullCalendar2.js +377 -0
- package/dist/C_FullCalendar2.js.map +1 -0
- package/dist/C_Guide.cjs +4 -0
- package/dist/C_Guide.d.cts +2 -0
- package/dist/C_Guide.d.ts +2 -0
- package/dist/C_Guide.js +3 -0
- package/dist/C_Guide2.js +58 -0
- package/dist/C_Guide2.js.map +1 -0
- package/dist/C_Icon.cjs +4 -0
- package/dist/C_Icon.d.cts +2 -0
- package/dist/C_Icon.d.ts +2 -0
- package/dist/C_Icon.js +3 -0
- package/dist/C_Icon2.js +286 -0
- package/dist/C_Icon2.js.map +1 -0
- package/dist/C_ImageCropper-BVJfUufl.css.map +1 -0
- package/dist/C_ImageCropper.cjs +6 -0
- package/dist/C_ImageCropper.d.cts +2 -0
- package/dist/C_ImageCropper.d.ts +2 -0
- package/dist/C_ImageCropper.js +4 -0
- package/dist/C_ImageCropper2.js +723 -0
- package/dist/C_ImageCropper2.js.map +1 -0
- package/dist/C_Language.cjs +4 -0
- package/dist/C_Language.d.cts +2 -0
- package/dist/C_Language.d.ts +2 -0
- package/dist/C_Language.js +3 -0
- package/dist/C_Language2.js +72 -0
- package/dist/C_Language2.js.map +1 -0
- package/dist/C_Map-DpzeuWdX.css.map +1 -0
- package/dist/C_Map.cjs +7 -0
- package/dist/C_Map.d.cts +2 -0
- package/dist/C_Map.d.ts +2 -0
- package/dist/C_Map.js +3 -0
- package/dist/C_Map2.js +199 -0
- package/dist/C_Map2.js.map +1 -0
- package/dist/C_Markdown-BEjxknqd.css.map +1 -0
- package/dist/C_Markdown.cjs +4 -0
- package/dist/C_Markdown.d.cts +2 -0
- package/dist/C_Markdown.d.ts +2 -0
- package/dist/C_Markdown.js +3 -0
- package/dist/C_Markdown2.js +186 -0
- package/dist/C_Markdown2.js.map +1 -0
- package/dist/C_NotificationCenter-0l3TY2Gn.css.map +1 -0
- package/dist/C_NotificationCenter.cjs +20 -0
- package/dist/C_NotificationCenter.d.cts +2 -0
- package/dist/C_NotificationCenter.d.ts +2 -0
- package/dist/C_NotificationCenter.js +4 -0
- package/dist/C_NotificationCenter2.js +1383 -0
- package/dist/C_NotificationCenter2.js.map +1 -0
- package/dist/C_Progress.cjs +4 -0
- package/dist/C_Progress.d.cts +2 -0
- package/dist/C_Progress.d.ts +2 -0
- package/dist/C_Progress.js +3 -0
- package/dist/C_Progress2.js +103 -0
- package/dist/C_Progress2.js.map +1 -0
- package/dist/C_QRCode-DbdiAIPg.css.map +1 -0
- package/dist/C_QRCode.cjs +5 -0
- package/dist/C_QRCode.d.cts +2 -0
- package/dist/C_QRCode.d.ts +2 -0
- package/dist/C_QRCode.js +3 -0
- package/dist/C_QRCode2.js +218 -0
- package/dist/C_QRCode2.js.map +1 -0
- package/dist/C_Signature-zhHCbra9.css.map +1 -0
- package/dist/C_Signature.cjs +8 -0
- package/dist/C_Signature.d.cts +2 -0
- package/dist/C_Signature.d.ts +2 -0
- package/dist/C_Signature.js +4 -0
- package/dist/C_Signature2.js +618 -0
- package/dist/C_Signature2.js.map +1 -0
- package/dist/C_SplitPane-C6sBsfKY.css.map +1 -0
- package/dist/C_SplitPane.cjs +6 -0
- package/dist/C_SplitPane.d.cts +2 -0
- package/dist/C_SplitPane.d.ts +2 -0
- package/dist/C_SplitPane.js +4 -0
- package/dist/C_SplitPane2.js +356 -0
- package/dist/C_SplitPane2.js.map +1 -0
- package/dist/C_Steps-CODHN5Hs.css.map +1 -0
- package/dist/C_Steps.cjs +4 -0
- package/dist/C_Steps.d.cts +2 -0
- package/dist/C_Steps.d.ts +2 -0
- package/dist/C_Steps.js +3 -0
- package/dist/C_Steps2.js +82 -0
- package/dist/C_Steps2.js.map +1 -0
- package/dist/C_Table-DSNsntmT.css.map +1 -0
- package/dist/C_Table.cjs +19 -0
- package/dist/C_Table.d.cts +2 -0
- package/dist/C_Table.d.ts +2 -0
- package/dist/C_Table.js +5 -0
- package/dist/C_Table2.js +3009 -0
- package/dist/C_Table2.js.map +1 -0
- package/dist/C_Theme.cjs +4 -0
- package/dist/C_Theme.d.cts +2 -0
- package/dist/C_Theme.d.ts +2 -0
- package/dist/C_Theme.js +3 -0
- package/dist/C_Theme2.js +60 -0
- package/dist/C_Theme2.js.map +1 -0
- package/dist/C_Time-BvZLYraL.css.map +1 -0
- package/dist/C_Time.cjs +5 -0
- package/dist/C_Time.d.cts +2 -0
- package/dist/C_Time.d.ts +2 -0
- package/dist/C_Time.js +3 -0
- package/dist/C_Time2.js +199 -0
- package/dist/C_Time2.js.map +1 -0
- package/dist/C_Tree-0GDv--jX.css.map +1 -0
- package/dist/C_Tree.cjs +7 -0
- package/dist/C_Tree.d.cts +2 -0
- package/dist/C_Tree.d.ts +2 -0
- package/dist/C_Tree.js +4 -0
- package/dist/C_Tree2.js +441 -0
- package/dist/C_Tree2.js.map +1 -0
- package/dist/C_Upload-BXd3YYLx.css.map +1 -0
- package/dist/C_Upload.cjs +12 -0
- package/dist/C_Upload.d.cts +2 -0
- package/dist/C_Upload.d.ts +2 -0
- package/dist/C_Upload.js +4 -0
- package/dist/C_Upload2.js +1388 -0
- package/dist/C_Upload2.js.map +1 -0
- package/dist/C_VideoPlayer-DYG3RL0Q.css.map +1 -0
- package/dist/C_VideoPlayer.cjs +23 -0
- package/dist/C_VideoPlayer.d.cts +2 -0
- package/dist/C_VideoPlayer.d.ts +2 -0
- package/dist/C_VideoPlayer.js +3 -0
- package/dist/C_VideoPlayer2.js +1932 -0
- package/dist/C_VideoPlayer2.js.map +1 -0
- package/dist/C_VtableGantt-fhItIiHE.css.map +1 -0
- package/dist/C_VtableGantt.cjs +6 -0
- package/dist/C_VtableGantt.d.cts +2 -0
- package/dist/C_VtableGantt.d.ts +2 -0
- package/dist/C_VtableGantt.js +4 -0
- package/dist/C_VtableGantt2.js +873 -0
- package/dist/C_VtableGantt2.js.map +1 -0
- package/dist/C_WaterFall-8sQDFXKg.css.map +1 -0
- package/dist/C_WaterFall.cjs +13 -0
- package/dist/C_WaterFall.d.cts +2 -0
- package/dist/C_WaterFall.d.ts +2 -0
- package/dist/C_WaterFall.js +3 -0
- package/dist/C_WaterFall2.js +365 -0
- package/dist/C_WaterFall2.js.map +1 -0
- package/dist/C_WorkFlow-J-dyIuh9.css.map +1 -0
- package/dist/C_WorkFlow.cjs +8 -0
- package/dist/C_WorkFlow.d.cts +2 -0
- package/dist/C_WorkFlow.d.ts +2 -0
- package/dist/C_WorkFlow.js +4 -0
- package/dist/C_WorkFlow2.js +1984 -0
- package/dist/C_WorkFlow2.js.map +1 -0
- package/dist/chunk.js +22 -0
- package/dist/city.js +4817 -0
- package/dist/city.js.map +1 -0
- package/dist/constants.d.ts +273 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants2.d.ts +178 -0
- package/dist/constants2.d.ts.map +1 -0
- package/dist/constants3.d.ts +475 -0
- package/dist/constants3.d.ts.map +1 -0
- package/dist/constants4.d.ts +430 -0
- package/dist/constants4.d.ts.map +1 -0
- package/dist/constants5.d.ts +4283 -0
- package/dist/constants5.d.ts.map +1 -0
- package/dist/data.d.ts +67 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/export-helper.js +9 -0
- package/dist/index.cjs +409 -0
- package/dist/index.d.cts +96 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +103 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +230 -0
- package/dist/index.js.map +1 -0
- package/dist/index.vue.d.ts +80 -0
- package/dist/index.vue.d.ts.map +1 -0
- package/dist/index10.vue.d.ts +72 -0
- package/dist/index10.vue.d.ts.map +1 -0
- package/dist/index11.vue.d.ts +26 -0
- package/dist/index11.vue.d.ts.map +1 -0
- package/dist/index12.vue.d.ts +81 -0
- package/dist/index12.vue.d.ts.map +1 -0
- package/dist/index13.vue.d.ts +55 -0
- package/dist/index13.vue.d.ts.map +1 -0
- package/dist/index14.vue.d.ts +33 -0
- package/dist/index14.vue.d.ts.map +1 -0
- package/dist/index15.vue.d.ts +18 -0
- package/dist/index15.vue.d.ts.map +1 -0
- package/dist/index16.vue.d.ts +662 -0
- package/dist/index16.vue.d.ts.map +1 -0
- package/dist/index2.vue.d.ts +38 -0
- package/dist/index2.vue.d.ts.map +1 -0
- package/dist/index3.vue.d.ts +45 -0
- package/dist/index3.vue.d.ts.map +1 -0
- package/dist/index4.vue.d.ts +31 -0
- package/dist/index4.vue.d.ts.map +1 -0
- package/dist/index5.vue.d.ts +35 -0
- package/dist/index5.vue.d.ts.map +1 -0
- package/dist/index6.vue.d.ts +48 -0
- package/dist/index6.vue.d.ts.map +1 -0
- package/dist/index7.vue.d.ts +56 -0
- package/dist/index7.vue.d.ts.map +1 -0
- package/dist/index8.vue.d.ts +41 -0
- package/dist/index8.vue.d.ts.map +1 -0
- package/dist/index9.vue.d.ts +30 -0
- package/dist/index9.vue.d.ts.map +1 -0
- package/dist/storage.js +31 -0
- package/dist/storage.js.map +1 -0
- package/dist/style.css +7725 -0
- package/dist/useCalendarEvents.d.ts +148 -0
- package/dist/useCalendarEvents.d.ts.map +1 -0
- package/dist/useCollapsePanel.d.ts +132 -0
- package/dist/useCollapsePanel.d.ts.map +1 -0
- package/dist/useCropperCore.d.ts +102 -0
- package/dist/useCropperCore.d.ts.map +1 -0
- package/dist/useDraggableLayout.d.ts +194 -0
- package/dist/useDraggableLayout.d.ts.map +1 -0
- package/dist/useDynamicFormState.d.ts +4248 -0
- package/dist/useDynamicFormState.d.ts.map +1 -0
- package/dist/useEdgeInteraction.d.ts +7614 -0
- package/dist/useEdgeInteraction.d.ts.map +1 -0
- package/dist/useFullscreen.d.ts +166 -0
- package/dist/useFullscreen.d.ts.map +1 -0
- package/dist/useInfiniteScroll.d.ts +169 -0
- package/dist/useInfiniteScroll.d.ts.map +1 -0
- package/dist/useModalEdit.d.ts +960 -0
- package/dist/useModalEdit.d.ts.map +1 -0
- package/dist/useQRCode.d.ts +87 -0
- package/dist/useQRCode.d.ts.map +1 -0
- package/dist/useSearchState.d.ts +180 -0
- package/dist/useSearchState.d.ts.map +1 -0
- package/dist/useSignatureHistory.d.ts +189 -0
- package/dist/useSignatureHistory.d.ts.map +1 -0
- package/dist/useSplitResize.d.ts +158 -0
- package/dist/useSplitResize.d.ts.map +1 -0
- package/dist/useTimeSelection.d.ts +105 -0
- package/dist/useTimeSelection.d.ts.map +1 -0
- package/dist/useTreeOperations.d.ts +183 -0
- package/dist/useTreeOperations.d.ts.map +1 -0
- package/dist/useWorkflowValidation.d.ts +1052 -0
- package/dist/useWorkflowValidation.d.ts.map +1 -0
- package/package.json +342 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import * as vue from "vue";
|
|
2
|
+
import { Ref } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/components/C_Upload/types.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* C_Upload 组件类型定义
|
|
7
|
+
*/
|
|
8
|
+
/** 文件上传状态 */
|
|
9
|
+
type UploadFileStatus = "pending" | "hashing" | "uploading" | "success" | "error" | "paused" | "instant";
|
|
10
|
+
/** 单个分片 */
|
|
11
|
+
interface UploadChunk {
|
|
12
|
+
/** 分片索引 */
|
|
13
|
+
index: number;
|
|
14
|
+
/** 分片 Blob */
|
|
15
|
+
blob: Blob;
|
|
16
|
+
/** 分片大小(bytes) */
|
|
17
|
+
size: number;
|
|
18
|
+
/** 是否已上传 */
|
|
19
|
+
uploaded: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** 分片上传进度 */
|
|
22
|
+
interface ChunkProgress {
|
|
23
|
+
/** 已上传分片数 */
|
|
24
|
+
uploadedChunks: number;
|
|
25
|
+
/** 总分片数 */
|
|
26
|
+
totalChunks: number;
|
|
27
|
+
/** 已上传字节 */
|
|
28
|
+
uploadedBytes: number;
|
|
29
|
+
/** 总字节 */
|
|
30
|
+
totalBytes: number;
|
|
31
|
+
}
|
|
32
|
+
/** 上传文件项 */
|
|
33
|
+
interface UploadFileItem {
|
|
34
|
+
/** 唯一标识 */
|
|
35
|
+
uid: string;
|
|
36
|
+
/** 文件名 */
|
|
37
|
+
name: string;
|
|
38
|
+
/** 文件大小(bytes) */
|
|
39
|
+
size: number;
|
|
40
|
+
/** MIME 类型 */
|
|
41
|
+
type: string;
|
|
42
|
+
/** 上传状态 */
|
|
43
|
+
status: UploadFileStatus;
|
|
44
|
+
/** 上传进度(0-100) */
|
|
45
|
+
percent: number;
|
|
46
|
+
/** 文件 hash(spark-md5) */
|
|
47
|
+
hash?: string;
|
|
48
|
+
/** 分片进度 */
|
|
49
|
+
chunkProgress?: ChunkProgress;
|
|
50
|
+
/** 原生 File 对象 */
|
|
51
|
+
raw?: File;
|
|
52
|
+
/** 缩略图 URL(图片文件) */
|
|
53
|
+
thumbUrl?: string;
|
|
54
|
+
/** 上传成功后的 URL */
|
|
55
|
+
url?: string;
|
|
56
|
+
/** 服务端响应 */
|
|
57
|
+
response?: any;
|
|
58
|
+
/** 错误信息 */
|
|
59
|
+
error?: string;
|
|
60
|
+
}
|
|
61
|
+
/** 自定义上传请求参数 */
|
|
62
|
+
interface UploadRequestOptions {
|
|
63
|
+
/** 上传地址 */
|
|
64
|
+
action: string;
|
|
65
|
+
/** 请求头 */
|
|
66
|
+
headers?: Record<string, string>;
|
|
67
|
+
/** 附加字段 */
|
|
68
|
+
data?: Record<string, any>;
|
|
69
|
+
/** 文件 / 分片 Blob */
|
|
70
|
+
file: File | Blob;
|
|
71
|
+
/** 文件名 */
|
|
72
|
+
filename: string;
|
|
73
|
+
/** 文件 hash */
|
|
74
|
+
hash?: string;
|
|
75
|
+
/** 分片索引(分片模式) */
|
|
76
|
+
chunkIndex?: number;
|
|
77
|
+
/** 总分片数(分片模式) */
|
|
78
|
+
totalChunks?: number;
|
|
79
|
+
/** 进度回调 */
|
|
80
|
+
onProgress?: (percent: number) => void;
|
|
81
|
+
/** 成功回调 */
|
|
82
|
+
onSuccess?: (response: any) => void;
|
|
83
|
+
/** 失败回调 */
|
|
84
|
+
onError?: (error: Error) => void;
|
|
85
|
+
}
|
|
86
|
+
/** 自定义上传函数签名 */
|
|
87
|
+
type CustomUploadRequest = (options: UploadRequestOptions) => {
|
|
88
|
+
abort: () => void;
|
|
89
|
+
};
|
|
90
|
+
/** 秒传检查函数签名 */
|
|
91
|
+
type InstantCheckFn = (hash: string, filename: string) => Promise<{
|
|
92
|
+
exists: boolean;
|
|
93
|
+
url?: string;
|
|
94
|
+
}>;
|
|
95
|
+
/** 已上传分片查询函数签名 */
|
|
96
|
+
type UploadedChunksQueryFn = (hash: string) => Promise<number[]>;
|
|
97
|
+
/** 分片合并函数签名 */
|
|
98
|
+
type MergeChunksFn = (hash: string, filename: string, totalChunks: number) => Promise<{
|
|
99
|
+
url: string;
|
|
100
|
+
}>;
|
|
101
|
+
/** 上传组件 Props */
|
|
102
|
+
interface UploadProps {
|
|
103
|
+
/** 上传地址 */
|
|
104
|
+
action?: string;
|
|
105
|
+
/** 请求头 */
|
|
106
|
+
headers?: Record<string, string>;
|
|
107
|
+
/** 附加字段 */
|
|
108
|
+
data?: Record<string, any>;
|
|
109
|
+
/** 是否多选 */
|
|
110
|
+
multiple?: boolean;
|
|
111
|
+
/** 是否允许目录上传 */
|
|
112
|
+
directory?: boolean;
|
|
113
|
+
/** 接受的文件类型(同 input accept) */
|
|
114
|
+
accept?: string;
|
|
115
|
+
/** 文件大小限制(bytes) */
|
|
116
|
+
maxSize?: number;
|
|
117
|
+
/** 最大文件数 */
|
|
118
|
+
maxCount?: number;
|
|
119
|
+
/** 是否禁用 */
|
|
120
|
+
disabled?: boolean;
|
|
121
|
+
/** 是否启用拖拽上传 */
|
|
122
|
+
draggable?: boolean;
|
|
123
|
+
/** 是否启用粘贴上传 */
|
|
124
|
+
pasteable?: boolean;
|
|
125
|
+
/** 是否分片上传 */
|
|
126
|
+
chunked?: boolean;
|
|
127
|
+
/** 分片大小(bytes,默认 2MB) */
|
|
128
|
+
chunkSize?: number;
|
|
129
|
+
/** 最大并发数 */
|
|
130
|
+
concurrency?: number;
|
|
131
|
+
/** 是否显示文件列表 */
|
|
132
|
+
showFileList?: boolean;
|
|
133
|
+
/** 列表类型 */
|
|
134
|
+
listType?: "text" | "image";
|
|
135
|
+
/** 是否显示图片预览缩略图 */
|
|
136
|
+
showThumbnail?: boolean;
|
|
137
|
+
/** 自定义上传函数 */
|
|
138
|
+
customRequest?: CustomUploadRequest;
|
|
139
|
+
/** 秒传检查函数 */
|
|
140
|
+
instantCheck?: InstantCheckFn;
|
|
141
|
+
/** 已上传分片查询 */
|
|
142
|
+
uploadedChunksQuery?: UploadedChunksQueryFn;
|
|
143
|
+
/** 分片合并函数 */
|
|
144
|
+
mergeChunks?: MergeChunksFn;
|
|
145
|
+
/** 上传前拦截 */
|
|
146
|
+
beforeUpload?: (file: File) => boolean | Promise<boolean | File>;
|
|
147
|
+
/** 提示文本 */
|
|
148
|
+
tip?: string;
|
|
149
|
+
/** 已有文件列表(回显) */
|
|
150
|
+
defaultFileList?: UploadFileItem[];
|
|
151
|
+
}
|
|
152
|
+
/** 上传组件 Events */
|
|
153
|
+
interface UploadEmits {
|
|
154
|
+
/** 文件列表变更 */
|
|
155
|
+
change: [fileList: UploadFileItem[]];
|
|
156
|
+
/** 单文件上传成功 */
|
|
157
|
+
success: [file: UploadFileItem, response: any];
|
|
158
|
+
/** 单文件上传失败 */
|
|
159
|
+
error: [file: UploadFileItem, error: Error];
|
|
160
|
+
/** 单文件进度 */
|
|
161
|
+
progress: [file: UploadFileItem, percent: number];
|
|
162
|
+
/** 文件移除 */
|
|
163
|
+
remove: [file: UploadFileItem];
|
|
164
|
+
/** 全部上传完成 */
|
|
165
|
+
finish: [fileList: UploadFileItem[]];
|
|
166
|
+
/** 超出限制 */
|
|
167
|
+
exceed: [files: File[], fileList: UploadFileItem[]];
|
|
168
|
+
}
|
|
169
|
+
/** 上传组件暴露方法 */
|
|
170
|
+
interface UploadExpose {
|
|
171
|
+
/** 手动触发文件选择 */
|
|
172
|
+
selectFiles: () => void;
|
|
173
|
+
/** 手动开始上传 */
|
|
174
|
+
startUpload: () => void;
|
|
175
|
+
/** 暂停所有上传 */
|
|
176
|
+
pauseAll: () => void;
|
|
177
|
+
/** 恢复所有上传 */
|
|
178
|
+
resumeAll: () => void;
|
|
179
|
+
/** 清空文件列表 */
|
|
180
|
+
clearAll: () => void;
|
|
181
|
+
/** 移除指定文件 */
|
|
182
|
+
removeFile: (uid: string) => void;
|
|
183
|
+
/** 重试失败文件 */
|
|
184
|
+
retryFile: (uid: string) => void;
|
|
185
|
+
/** 获取当前文件列表 */
|
|
186
|
+
getFileList: () => UploadFileItem[];
|
|
187
|
+
/** 获取成功文件列表 */
|
|
188
|
+
getSuccessList: () => UploadFileItem[];
|
|
189
|
+
/** 总体进度(0-100) */
|
|
190
|
+
totalPercent: number;
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
193
|
+
//#region src/components/C_Upload/index.vue.d.ts
|
|
194
|
+
declare var __VLS_11: {};
|
|
195
|
+
type __VLS_Slots = {} & {
|
|
196
|
+
area?: (props: typeof __VLS_11) => any;
|
|
197
|
+
};
|
|
198
|
+
declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
199
|
+
error: (file: UploadFileItem, error: Error) => any;
|
|
200
|
+
change: (fileList: UploadFileItem[]) => any;
|
|
201
|
+
progress: (file: UploadFileItem, percent: number) => any;
|
|
202
|
+
success: (file: UploadFileItem, response: any) => any;
|
|
203
|
+
remove: (file: UploadFileItem) => any;
|
|
204
|
+
finish: (fileList: UploadFileItem[]) => any;
|
|
205
|
+
exceed: (files: File[], fileList: UploadFileItem[]) => any;
|
|
206
|
+
}, string, vue.PublicProps, Readonly<UploadProps> & Readonly<{
|
|
207
|
+
onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
|
|
208
|
+
onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
|
|
209
|
+
onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
|
|
210
|
+
onSuccess?: ((file: UploadFileItem, response: any) => any) | undefined;
|
|
211
|
+
onRemove?: ((file: UploadFileItem) => any) | undefined;
|
|
212
|
+
onFinish?: ((fileList: UploadFileItem[]) => any) | undefined;
|
|
213
|
+
onExceed?: ((files: File[], fileList: UploadFileItem[]) => any) | undefined;
|
|
214
|
+
}>, {
|
|
215
|
+
disabled: boolean;
|
|
216
|
+
data: Record<string, any>;
|
|
217
|
+
multiple: boolean;
|
|
218
|
+
draggable: boolean;
|
|
219
|
+
maxSize: number;
|
|
220
|
+
action: string;
|
|
221
|
+
headers: Record<string, string>;
|
|
222
|
+
directory: boolean;
|
|
223
|
+
accept: string;
|
|
224
|
+
maxCount: number;
|
|
225
|
+
pasteable: boolean;
|
|
226
|
+
chunked: boolean;
|
|
227
|
+
chunkSize: number;
|
|
228
|
+
concurrency: number;
|
|
229
|
+
showFileList: boolean;
|
|
230
|
+
listType: "text" | "image";
|
|
231
|
+
showThumbnail: boolean;
|
|
232
|
+
tip: string;
|
|
233
|
+
defaultFileList: UploadFileItem[];
|
|
234
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
235
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
236
|
+
declare const _default: typeof __VLS_export;
|
|
237
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
238
|
+
new (): {
|
|
239
|
+
$slots: S;
|
|
240
|
+
};
|
|
241
|
+
}; //# sourceMappingURL=index.vue.d.ts.map
|
|
242
|
+
//#endregion
|
|
243
|
+
//#region src/components/C_Upload/composables/useUploadCore.d.ts
|
|
244
|
+
/**
|
|
245
|
+
* 核心上传逻辑
|
|
246
|
+
*
|
|
247
|
+
* 统一调度文件校验、hash 计算、秒传检查、分片/普通上传、
|
|
248
|
+
* 进度汇总和状态管理。
|
|
249
|
+
*/
|
|
250
|
+
declare function useUploadCore(props: UploadProps): {
|
|
251
|
+
/** 文件列表 */fileList: vue.Ref<{
|
|
252
|
+
uid: string;
|
|
253
|
+
name: string;
|
|
254
|
+
size: number;
|
|
255
|
+
type: string;
|
|
256
|
+
status: UploadFileStatus;
|
|
257
|
+
percent: number;
|
|
258
|
+
hash?: string | undefined;
|
|
259
|
+
chunkProgress?: {
|
|
260
|
+
uploadedChunks: number;
|
|
261
|
+
totalChunks: number;
|
|
262
|
+
uploadedBytes: number;
|
|
263
|
+
totalBytes: number;
|
|
264
|
+
} | undefined;
|
|
265
|
+
raw?: {
|
|
266
|
+
readonly lastModified: number;
|
|
267
|
+
readonly name: string;
|
|
268
|
+
readonly webkitRelativePath: string;
|
|
269
|
+
readonly size: number;
|
|
270
|
+
readonly type: string;
|
|
271
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
272
|
+
bytes: () => Promise<Uint8Array<ArrayBuffer>>;
|
|
273
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
274
|
+
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
275
|
+
text: () => Promise<string>;
|
|
276
|
+
} | undefined;
|
|
277
|
+
thumbUrl?: string | undefined;
|
|
278
|
+
url?: string | undefined;
|
|
279
|
+
response?: any;
|
|
280
|
+
error?: string | undefined;
|
|
281
|
+
}[], UploadFileItem[] | {
|
|
282
|
+
uid: string;
|
|
283
|
+
name: string;
|
|
284
|
+
size: number;
|
|
285
|
+
type: string;
|
|
286
|
+
status: UploadFileStatus;
|
|
287
|
+
percent: number;
|
|
288
|
+
hash?: string | undefined;
|
|
289
|
+
chunkProgress?: {
|
|
290
|
+
uploadedChunks: number;
|
|
291
|
+
totalChunks: number;
|
|
292
|
+
uploadedBytes: number;
|
|
293
|
+
totalBytes: number;
|
|
294
|
+
} | undefined;
|
|
295
|
+
raw?: {
|
|
296
|
+
readonly lastModified: number;
|
|
297
|
+
readonly name: string;
|
|
298
|
+
readonly webkitRelativePath: string;
|
|
299
|
+
readonly size: number;
|
|
300
|
+
readonly type: string;
|
|
301
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
302
|
+
bytes: () => Promise<Uint8Array<ArrayBuffer>>;
|
|
303
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
304
|
+
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
305
|
+
text: () => Promise<string>;
|
|
306
|
+
} | undefined;
|
|
307
|
+
thumbUrl?: string | undefined;
|
|
308
|
+
url?: string | undefined;
|
|
309
|
+
response?: any;
|
|
310
|
+
error?: string | undefined;
|
|
311
|
+
}[]>; /** 总进度 */
|
|
312
|
+
totalPercent: vue.ComputedRef<number>; /** 正在计算 hash */
|
|
313
|
+
hashing: Readonly<vue.Ref<boolean, boolean>>; /** hash 进度 */
|
|
314
|
+
hashProgress: Readonly<vue.Ref<number, number>>; /** 添加文件 */
|
|
315
|
+
addFiles: (files: File[]) => UploadFileItem[]; /** 移除文件 */
|
|
316
|
+
removeFile: (uid: string) => void; /** 清空所有 */
|
|
317
|
+
clearAll: () => void; /** 开始上传 */
|
|
318
|
+
startUpload: () => void; /** 暂停所有 */
|
|
319
|
+
pauseAll: () => void; /** 恢复所有 */
|
|
320
|
+
resumeAll: () => void; /** 重试 */
|
|
321
|
+
retryFile: (uid: string) => void; /** 处理单文件 */
|
|
322
|
+
processFile: (item: UploadFileItem) => Promise<void>; /** 获取成功列表 */
|
|
323
|
+
getSuccessList: () => UploadFileItem[];
|
|
324
|
+
};
|
|
325
|
+
//#endregion
|
|
326
|
+
//#region src/components/C_Upload/composables/useDragDrop.d.ts
|
|
327
|
+
/**
|
|
328
|
+
* 拖拽 & 粘贴上传
|
|
329
|
+
*
|
|
330
|
+
* 监听容器的 dragover / drop / paste 事件,
|
|
331
|
+
* 提取文件(含目录遍历)后回调给上层。
|
|
332
|
+
*
|
|
333
|
+
* @param containerRef 容器 DOM
|
|
334
|
+
* @param enabled 是否启用拖拽
|
|
335
|
+
* @param pasteable 是否启用粘贴
|
|
336
|
+
* @param accept 文件类型限制
|
|
337
|
+
* @param onFiles 文件回调
|
|
338
|
+
*/
|
|
339
|
+
declare function useDragDrop(containerRef: Ref<HTMLElement | undefined>, enabled: Ref<boolean>, pasteable: Ref<boolean>, accept: Ref<string>, onFiles: (files: File[]) => void): {
|
|
340
|
+
/** 是否正在拖拽悬停 */isDragOver: Readonly<Ref<boolean, boolean>>;
|
|
341
|
+
};
|
|
342
|
+
//#endregion
|
|
343
|
+
//#region src/components/C_Upload/composables/useFileHash.d.ts
|
|
344
|
+
/**
|
|
345
|
+
* 文件哈希计算
|
|
346
|
+
*
|
|
347
|
+
* 使用 spark-md5 在 Web Worker 中对文件分片计算 MD5 hash,
|
|
348
|
+
* 不阻塞主线程,支持进度回调。
|
|
349
|
+
*
|
|
350
|
+
* @param chunkSize 分片大小(bytes),也用于哈希分块读取
|
|
351
|
+
*/
|
|
352
|
+
declare function useFileHash(chunkSize: Ref<number>): {
|
|
353
|
+
/** 是否正在计算 hash */hashing: Readonly<Ref<boolean, boolean>>; /** 哈希计算进度(0-100) */
|
|
354
|
+
hashProgress: Readonly<Ref<number, number>>; /** 计算文件 hash */
|
|
355
|
+
calculateHash: (file: File) => Promise<string>;
|
|
356
|
+
};
|
|
357
|
+
//#endregion
|
|
358
|
+
//#region src/components/C_Upload/composables/useChunkUpload.d.ts
|
|
359
|
+
interface UseChunkUploadOptions {
|
|
360
|
+
/** 分片大小 */
|
|
361
|
+
chunkSize: Ref<number>;
|
|
362
|
+
/** 最大并发数 */
|
|
363
|
+
concurrency: Ref<number>;
|
|
364
|
+
/** 上传地址 */
|
|
365
|
+
action: Ref<string>;
|
|
366
|
+
/** 请求头 */
|
|
367
|
+
headers: Ref<Record<string, string>>;
|
|
368
|
+
/** 附加字段 */
|
|
369
|
+
data: Ref<Record<string, any>>;
|
|
370
|
+
/** 自定义上传函数 */
|
|
371
|
+
customRequest?: Ref<CustomUploadRequest | undefined>;
|
|
372
|
+
/** 已上传分片查询 */
|
|
373
|
+
uploadedChunksQuery?: Ref<UploadedChunksQueryFn | undefined>;
|
|
374
|
+
/** 分片合并函数 */
|
|
375
|
+
mergeChunks?: Ref<MergeChunksFn | undefined>;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* 分片上传引擎
|
|
379
|
+
*
|
|
380
|
+
* 处理大文件分片切割、并发上传、断点续传、分片合并。
|
|
381
|
+
*/
|
|
382
|
+
declare function useChunkUpload(options: UseChunkUploadOptions): {
|
|
383
|
+
createChunks: (file: File) => UploadChunk[];
|
|
384
|
+
uploadChunks: (params: {
|
|
385
|
+
uid: string;
|
|
386
|
+
file: File;
|
|
387
|
+
hash: string;
|
|
388
|
+
onProgress: (progress: ChunkProgress) => void;
|
|
389
|
+
onSuccess: (response: any) => void;
|
|
390
|
+
onError: (error: Error) => void;
|
|
391
|
+
isPaused: () => boolean;
|
|
392
|
+
}) => Promise<void>;
|
|
393
|
+
abortUpload: (uid: string) => void;
|
|
394
|
+
abortAll: () => void;
|
|
395
|
+
};
|
|
396
|
+
//#endregion
|
|
397
|
+
//#region src/components/C_Upload/composables/useUploadQueue.d.ts
|
|
398
|
+
interface UseUploadQueueOptions {
|
|
399
|
+
/** 最大并发数 */
|
|
400
|
+
concurrency: Ref<number>;
|
|
401
|
+
/** 上传地址 */
|
|
402
|
+
action: Ref<string>;
|
|
403
|
+
/** 请求头 */
|
|
404
|
+
headers: Ref<Record<string, string>>;
|
|
405
|
+
/** 附加字段 */
|
|
406
|
+
data: Ref<Record<string, any>>;
|
|
407
|
+
/** 自定义上传函数 */
|
|
408
|
+
customRequest?: Ref<CustomUploadRequest | undefined>;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* 并发队列管理
|
|
412
|
+
*
|
|
413
|
+
* 控制普通文件(非分片)的并发上传数量,
|
|
414
|
+
* 先进先出排队,自动从队列中取出执行。
|
|
415
|
+
*/
|
|
416
|
+
declare function useUploadQueue(options: UseUploadQueueOptions): {
|
|
417
|
+
/** 当前活跃上传数 */activeCount: Readonly<Ref<number, number>>;
|
|
418
|
+
enqueue: (file: UploadFileItem, onProgress: (uid: string, percent: number) => void, onSuccess: (uid: string, response: any) => void, onError: (uid: string, error: Error) => void) => void;
|
|
419
|
+
abort: (uid: string) => void;
|
|
420
|
+
abortAll: () => void;
|
|
421
|
+
};
|
|
422
|
+
//#endregion
|
|
423
|
+
//#region src/components/C_Upload/constants.d.ts
|
|
424
|
+
/** 根据 MIME 类型获取图标 */
|
|
425
|
+
declare function getFileIcon(type: string): string;
|
|
426
|
+
/** 格式化文件大小 */
|
|
427
|
+
declare function formatFileSize(bytes: number): string;
|
|
428
|
+
//#endregion
|
|
429
|
+
export { UploadFileStatus as _, useFileHash as a, UploadedChunksQueryFn as b, _default as c, InstantCheckFn as d, MergeChunksFn as f, UploadFileItem as g, UploadExpose as h, useChunkUpload as i, ChunkProgress as l, UploadEmits as m, getFileIcon as n, useDragDrop as o, UploadChunk as p, useUploadQueue as r, useUploadCore as s, formatFileSize as t, CustomUploadRequest as u, UploadProps as v, UploadRequestOptions as y };
|
|
430
|
+
//# sourceMappingURL=constants4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants4.d.ts","names":[],"sources":["../src/components/C_Upload/types.ts","../src/components/C_Upload/index.vue","../src/components/C_Upload/composables/useUploadCore.ts","../src/components/C_Upload/composables/useDragDrop.ts","../src/components/C_Upload/composables/useFileHash.ts","../src/components/C_Upload/composables/useChunkUpload.ts","../src/components/C_Upload/composables/useUploadQueue.ts","../src/components/C_Upload/constants.ts"],"mappings":";;;;;;;;KAOY,gBAAA;;UAYK,WAAA;EAZW;EAc1B,KAAA;EAFe;EAIf,IAAA,EAAM,IAAA;;EAEN,IAAA;EAJA;EAMA,QAAA;AAAA;;UAIe,aAAA;EAJP;EAMR,cAAA;EAFe;EAIf,WAAA;;EAEA,aAAA;EAJA;EAMA,UAAA;AAAA;;UAMe,cAAA;EANL;EAQV,GAAA;EAF6B;EAI7B,IAAA;EAMQ;EAJR,IAAA;EAYM;EAVN,IAAA;EAUU;EARV,MAAA,EAAQ,gBAAA;EANR;EAQA,OAAA;EAJA;EAMA,IAAA;EAJQ;EAMR,aAAA,GAAgB,aAAA;EAFhB;EAIA,GAAA,GAAM,IAAA;EAFU;EAIhB,QAAA;EAFM;EAIN,GAAA;EAAA;EAEA,QAAA;EAEA;EAAA,KAAA;AAAA;AAMF;AAAA,UAAiB,oBAAA;;EAEf,MAAA;EAIO;EAFP,OAAA,GAAU,MAAA;EAIG;EAFb,IAAA,GAAO,MAAA;EAgBgB;EAdvB,IAAA,EAAM,IAAA,GAAO,IAAA;EANb;EAQA,QAAA;EANU;EAQV,IAAA;EANO;EAQP,UAAA;EANM;EAQN,WAAA;EANA;EAQA,UAAA,IAAc,OAAA;EAJd;EAMA,SAAA,IAAa,QAAA;EAFb;EAIA,OAAA,IAAW,KAAA,EAAO,KAAA;AAAA;;KAIR,mBAAA,IAAuB,OAAA,EAAS,oBAAA;EAC1C,KAAA;AAAA;;KAIU,cAAA,IACV,IAAA,UACA,QAAA,aACG,OAAA;EAAU,MAAA;EAAiB,GAAA;AAAA;;KAGpB,qBAAA,IAAyB,IAAA,aAAiB,OAAA;;KAG1C,aAAA,IACV,IAAA,UACA,QAAA,UACA,WAAA,aACG,OAAA;EAAU,GAAA;AAAA;AAbf;AAAA,UAkBiB,WAAA;;EAEf,MAAA;EAnBA;EAqBA,OAAA,GAAU,MAAA;EAnBP;EAqBH,IAAA,GAAO,MAAA;EArBuB;EAuB9B,QAAA;EAvBiC;EAyBjC,SAAA;EAtB+B;EAwB/B,MAAA;EAxBmC;EA0BnC,OAAA;EAvBU;EAyBV,QAAA;;EAEA,QAAA;EA1BA;EA4BA,SAAA;EA1BA;EA4BA,SAAA;EA3Ba;EA6Bb,OAAA;EA7BgB;EA+BhB,SAAA;EA1B0B;EA4B1B,WAAA;EAxBU;EA0BV,YAAA;EAMgB;EAJhB,QAAA;EAQsB;EANtB,aAAA;EAUsB;EARtB,aAAA,GAAgB,mBAAA;EAQyB;EANzC,YAAA,GAAe,cAAA;EAUiB;EARhC,mBAAA,GAAsB,qBAAA;EAtCtB;EAwCA,WAAA,GAAc,aAAA;EAtCJ;EAwCV,YAAA,IAAgB,IAAA,EAAM,IAAA,eAAmB,OAAA,WAAkB,IAAA;EAtCpD;EAwCP,GAAA;EApCA;EAsCA,eAAA,GAAkB,cAAA;AAAA;;UAIH,WAAA;EAhCf;EAkCA,MAAA,GAAS,QAAA,EAAU,cAAA;EA9BnB;EAgCA,OAAA,GAAU,IAAA,EAAM,cAAA,EAAgB,QAAA;EA5BhC;EA8BA,KAAA,GAAQ,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,KAAA;EA1BrC;EA4BA,QAAA,GAAW,IAAA,EAAM,cAAA,EAAgB,OAAA;EAxBjC;EA0BA,MAAA,GAAS,IAAA,EAAM,cAAA;EAxBf;EA0BA,MAAA,GAAS,QAAA,EAAU,cAAA;EAxBnB;EA0BA,MAAA,GAAS,KAAA,EAAO,IAAA,IAAQ,QAAA,EAAU,cAAA;AAAA;;UAInB,YAAA;EA1BO;EA4BtB,WAAA;EA5ByC;EA8BzC,WAAA;EA5BA;EA8BA,QAAA;EA5BkB;EA8BlB,SAAA;EA9BgC;EAgChC,QAAA;EA5B0B;EA8B1B,UAAA,GAAa,GAAA;EA5BM;EA8BnB,SAAA,GAAY,GAAA;EA1BE;EA4Bd,WAAA,QAAmB,cAAA;EA1BF;EA4BjB,cAAA,QAAsB,cAAA;EAxBH;EA0BnB,YAAA;AAAA;;;YC2VqB,QAAA;AAAA,KAClB,WAAA;EACD,IAAA,IAAQ,KAAA,SAAc,QAAA;AAAA;AAAA,cAOpB,UAAA,MAAU,eAAA,CAAA,WAAA,EAAA,YAAA,cAAA,GAAA,CAAA,qBAAA,EAAA,GAAA,CAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAMV,YAAA,EAAqB,eAAA,QAAuB,UAAA,EAAY,WAAA;AAAA,cAAW,QAAA,SAC7C,YAAA;AAAA,KAWvB,eAAA,SAAwB,CAAA;EAAA;IAE3B,MAAA,EAAQ,CAAA;EAAA;AAAA;;;ADzkBV;;;;;AAYA;AAZA,iBEUgB,aAAA,CAAc,KAAA,EAAO,WAAA;;;;;;YAAW,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QFoEjC;yCAIb;gDAIA;mDAEc;oBEZW,IAAA,OAAS,cAAA,IFcrB;qCAEK;wBAAK;2BAIb;;yBAAgC;oCAC1C;sBE4DiC,cAAA,KAAc,OAAA,QF5D1C;wBE4LsB,cAAA;AAAA;;;AF7R7B;;;;;AAYA;;;;;;;AAZA,iBGWgB,WAAA,CACd,YAAA,EAAc,GAAA,CAAI,WAAA,eAClB,OAAA,EAAS,GAAA,WACT,SAAA,EAAW,GAAA,WACX,MAAA,EAAQ,GAAA,UACR,OAAA,GAAU,KAAA,EAAO,IAAA;EHIjB;;;;AApBF;;;;;AAYA;;;AAZA,iBIOgB,WAAA,CAAY,SAAA,EAAW,GAAA;EJOrC,4DAEM;+CAIN;wBIJmC,IAAA,KAAO,OAAA;AAAA;;;UCTlC,qBAAA;;EAER,SAAA,EAAW,GAAA;ELTe;EKW1B,WAAA,EAAa,GAAA;ELCa;EKC1B,MAAA,EAAQ,GAAA;ELGE;EKDV,OAAA,EAAS,GAAA,CAAI,MAAA;ELCb;EKCA,IAAA,EAAM,GAAA,CAAI,MAAA;ELCV;EKCA,aAAA,GAAgB,GAAA,CAAI,mBAAA;ELCZ;EKCR,mBAAA,GAAsB,GAAA,CAAI,qBAAA;ELGX;EKDf,WAAA,GAAc,GAAA,CAAI,aAAA;AAAA;;;;;;iBAQJ,cAAA,CAAe,OAAA,EAAS,qBAAA;uBAOV,IAAA,KAAO,WAAA;;IAsGjC,GAAA;IACA,IAAA,EAAM,IAAA;IACN,IAAA;IACA,UAAA,GAAa,QAAA,EAAU,aAAA;IACvB,SAAA,GAAY,QAAA;IACZ,OAAA,GAAU,KAAA,EAAO,KAAA;IACjB,QAAA;EAAA,MACD,OAAA;;;;;;UC9IO,qBAAA;;EAER,WAAA,EAAa,GAAA;ENPa;EMS1B,MAAA,EAAQ,GAAA;ENGkB;EMD1B,OAAA,EAAS,GAAA,CAAI,MAAA;ENKH;EMHV,IAAA,EAAM,GAAA,CAAI,MAAA;ENGV;EMDA,aAAA,GAAgB,GAAA,CAAI,mBAAA;AAAA;;;;ANStB;;;iBMAgB,cAAA,CAAe,OAAA,EAAS,qBAAA;ENEtC;kBMUQ,cAAA,EAAc,UAAA,GACP,GAAA,UAAa,OAAA,mBAAwB,SAAA,GACtC,GAAA,UAAa,QAAA,gBAAsB,OAAA,GACrC,GAAA,UAAa,KAAA,EAAO,KAAA;;;;;;;iBCWlB,WAAA,CAAY,IAAA;;iBAQZ,cAAA,CAAe,KAAA"}
|