@yuhufe/wtool-vdiff 0.0.7 → 0.0.8

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 (39) hide show
  1. package/README.md +140 -41
  2. package/dist/DiffFiles/DiffFiles.vue.d.ts +12 -0
  3. package/dist/DiffFiles/DiffList/DiffList.vue.d.ts +94 -0
  4. package/dist/DiffFiles/FileExplore/FileExplore.vue.d.ts +510 -0
  5. package/dist/DiffFiles/FileExplore/FileSearch.vue.d.ts +11 -0
  6. package/dist/DiffFiles/FileExplore/fileTree.d.ts +17 -0
  7. package/dist/DiffFiles/createDiffFiles.d.ts +13 -0
  8. package/dist/DiffFiles/index.d.ts +3 -0
  9. package/dist/DiffFiles/types.d.ts +12 -0
  10. package/dist/DiffFiles/useDiffFiles.d.ts +23 -0
  11. package/dist/DiffViewer/DiffViewer.vue.d.ts +15 -4
  12. package/dist/DiffViewer/TopBar.vue.d.ts +2 -0
  13. package/dist/DiffViewer/const.d.ts +7 -0
  14. package/dist/DiffViewer/utils/autoHeight.d.ts +3 -1
  15. package/dist/DiffViewer/utils/patch2Pair.d.ts +10 -0
  16. package/dist/index.d.ts +1 -0
  17. package/dist/types.d.ts +15 -5
  18. package/dist/wtool-vdiff.cjs.js +42 -39
  19. package/dist/wtool-vdiff.es.js +9306 -5945
  20. package/package.json +6 -7
  21. package/src/DiffFiles/DiffFiles.vue +97 -18
  22. package/src/DiffFiles/DiffList/DiffList.vue +125 -0
  23. package/src/DiffFiles/FileExplore/FileExplore.vue +165 -7
  24. package/src/DiffFiles/FileExplore/FileSearch.vue +81 -0
  25. package/src/DiffFiles/FileExplore/fileTree.ts +102 -0
  26. package/src/DiffFiles/createDiffFiles.ts +70 -0
  27. package/src/DiffFiles/index.ts +11 -0
  28. package/src/DiffFiles/types.ts +15 -0
  29. package/src/DiffFiles/useDiffFiles.ts +56 -0
  30. package/src/DiffViewer/DiffViewer.vue +22 -8
  31. package/src/DiffViewer/MonacoDiffViewer.vue +21 -2
  32. package/src/DiffViewer/TopBar.vue +23 -4
  33. package/src/DiffViewer/const.ts +10 -0
  34. package/src/DiffViewer/utils/autoHeight.ts +83 -29
  35. package/src/DiffViewer/utils/patch2Pair.ts +37 -9
  36. package/src/assets/file.svg +4 -0
  37. package/src/assets/folder.svg +4 -0
  38. package/src/index.ts +1 -0
  39. package/src/types.ts +17 -5
@@ -0,0 +1,510 @@
1
+ import { nextTick } from '../../../node_modules/vue/dist/vue.esm-bundler.js';
2
+ import { TreeNode } from '@wsfe/vue-tree';
3
+ import { DiffFileSelection } from './fileTree';
4
+ import { FileItem } from '../types';
5
+ type __VLS_Props = {
6
+ diffFiles: FileItem[];
7
+ };
8
+ declare const _default: import('../../../node_modules/vue/dist/vue.esm-bundler.js').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {
9
+ "select-file": (selection: DiffFileSelection) => any;
10
+ }, string, import('../../../node_modules/vue/dist/vue.esm-bundler.js').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ "onSelect-file"?: ((selection: DiffFileSelection) => any) | undefined;
12
+ }>, {
13
+ diffFiles: FileItem[];
14
+ }, {}, {}, {}, string, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {
15
+ treeRef: ({
16
+ $: import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentInternalInstance;
17
+ $data: {};
18
+ $props: Partial<{
19
+ data: AnyPropsArrayType;
20
+ emptyText: string;
21
+ selectable: boolean;
22
+ checkable: boolean;
23
+ separator: string;
24
+ ignoreMode: "none" | "parents" | "children";
25
+ titleField: string;
26
+ keyField: string;
27
+ showUnloadCheckedNodes: boolean;
28
+ unloadDataList: AnyPropsArrayType;
29
+ filteredNodeCheckable: boolean;
30
+ cascade: boolean;
31
+ enableLeafOnly: boolean;
32
+ disableAll: boolean;
33
+ defaultExpandAll: boolean;
34
+ defaultExpandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
35
+ expandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
36
+ draggable: boolean;
37
+ droppable: boolean;
38
+ beforeDropMethod: (dragKey: import('@wsfe/vue-tree').TreeNodeKeyType, dropKey: import('@wsfe/vue-tree').TreeNodeKeyType, hoverPart: import('@wsfe/vue-tree/types/constants/index.js').dragHoverPartEnum) => boolean;
39
+ autoLoad: boolean;
40
+ expandOnFilter: boolean;
41
+ unselectOnClick: boolean;
42
+ loading: boolean;
43
+ nodeIndent: number;
44
+ renderNodeAmount: number;
45
+ nodeMinHeight: number;
46
+ bufferNodeAmount: number;
47
+ }> & Omit<{
48
+ readonly data: AnyPropsArrayType;
49
+ readonly loading: boolean;
50
+ readonly keyField: string;
51
+ readonly emptyText: string;
52
+ readonly selectable: boolean;
53
+ readonly checkable: boolean;
54
+ readonly separator: string;
55
+ readonly ignoreMode: import('@wsfe/vue-tree').IgnoreType;
56
+ readonly titleField: string;
57
+ readonly showUnloadCheckedNodes: boolean;
58
+ readonly unloadDataList: AnyPropsArrayType;
59
+ readonly filteredNodeCheckable: boolean;
60
+ readonly cascade: boolean;
61
+ readonly enableLeafOnly: boolean;
62
+ readonly disableAll: boolean;
63
+ readonly defaultExpandAll: boolean;
64
+ readonly defaultExpandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
65
+ readonly expandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
66
+ readonly draggable: boolean;
67
+ readonly droppable: boolean;
68
+ readonly beforeDropMethod: (dragKey: import('@wsfe/vue-tree').TreeNodeKeyType, dropKey: import('@wsfe/vue-tree').TreeNodeKeyType, hoverPart: import('@wsfe/vue-tree/types/constants/index.js').dragHoverPartEnum) => boolean;
69
+ readonly autoLoad: boolean;
70
+ readonly expandOnFilter: boolean;
71
+ readonly unselectOnClick: boolean;
72
+ readonly nodeIndent: number;
73
+ readonly renderNodeAmount: number;
74
+ readonly nodeMinHeight: number;
75
+ readonly bufferNodeAmount: number;
76
+ readonly animation?: boolean | undefined;
77
+ readonly load?: LoadFn;
78
+ readonly render?: ((node: TreeNode) => import('../../../node_modules/vue/dist/vue.esm-bundler.js').VNode) | undefined;
79
+ readonly modelValue?: string | number | import('@wsfe/vue-tree').TreeNodeKeyType[] | undefined;
80
+ readonly filterMethod?: import('@wsfe/vue-tree/types/store/tree-store.js').FilterFunctionType | undefined;
81
+ readonly nodeClassName?: (string | object | Array<string | object> | ((node: TreeNode) => string | object | Array<string | object>)) | undefined;
82
+ readonly showLine?: boolean | ShowLine;
83
+ } & import('../../../node_modules/vue/dist/vue.esm-bundler.js').VNodeProps & import('../../../node_modules/vue/dist/vue.esm-bundler.js').AllowedComponentProps & import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentCustomProps, "data" | "loading" | "keyField" | "emptyText" | "selectable" | "checkable" | "separator" | "ignoreMode" | "titleField" | "showUnloadCheckedNodes" | "unloadDataList" | "filteredNodeCheckable" | "cascade" | "enableLeafOnly" | "disableAll" | "defaultExpandAll" | "defaultExpandedKeys" | "expandedKeys" | "draggable" | "droppable" | "beforeDropMethod" | "autoLoad" | "expandOnFilter" | "unselectOnClick" | "nodeIndent" | "renderNodeAmount" | "nodeMinHeight" | "bufferNodeAmount">;
84
+ $attrs: {
85
+ [x: string]: unknown;
86
+ };
87
+ $refs: {
88
+ [x: string]: unknown;
89
+ };
90
+ $slots: Readonly<{
91
+ [name: string]: import('../../../node_modules/vue/dist/vue.esm-bundler.js').Slot<any> | undefined;
92
+ }>;
93
+ $root: import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentPublicInstance | null;
94
+ $parent: import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentPublicInstance | null;
95
+ $host: Element | null;
96
+ $emit: (event: string, ...args: any[]) => void;
97
+ $el: any;
98
+ $options: import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsBase<Readonly<import('../../../node_modules/vue/dist/vue.esm-bundler.js').ExtractPropTypes<{
99
+ animation: {
100
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
101
+ };
102
+ data: AnyPropsArrayType;
103
+ loading: {
104
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
105
+ default: boolean;
106
+ };
107
+ keyField: {
108
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
109
+ default: string;
110
+ };
111
+ load: LoadFn;
112
+ render: {
113
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<(node: TreeNode) => import('../../../node_modules/vue/dist/vue.esm-bundler.js').VNode>;
114
+ };
115
+ emptyText: {
116
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
117
+ default: string;
118
+ };
119
+ modelValue: {
120
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string | number | import('@wsfe/vue-tree').TreeNodeKeyType[]>;
121
+ };
122
+ selectable: {
123
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
124
+ default: boolean;
125
+ };
126
+ checkable: {
127
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
128
+ default: boolean;
129
+ };
130
+ separator: {
131
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
132
+ default: string;
133
+ };
134
+ ignoreMode: {
135
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<"children" | "none" | "parents">;
136
+ default: import('@wsfe/vue-tree/types/constants/index.js').ignoreEnum;
137
+ };
138
+ titleField: {
139
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
140
+ default: string;
141
+ };
142
+ filterMethod: {
143
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<import('@wsfe/vue-tree/types/store/tree-store.js').FilterFunctionType>;
144
+ };
145
+ showUnloadCheckedNodes: {
146
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
147
+ default: boolean;
148
+ };
149
+ unloadDataList: AnyPropsArrayType;
150
+ filteredNodeCheckable: {
151
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
152
+ default: boolean;
153
+ };
154
+ cascade: {
155
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
156
+ default: boolean;
157
+ };
158
+ enableLeafOnly: {
159
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
160
+ default: boolean;
161
+ };
162
+ disableAll: {
163
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
164
+ default: boolean;
165
+ };
166
+ defaultExpandAll: {
167
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
168
+ default: boolean;
169
+ };
170
+ defaultExpandedKeys: {
171
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<import('@wsfe/vue-tree').TreeNodeKeyType[]>;
172
+ default: () => never[];
173
+ };
174
+ expandedKeys: {
175
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<import('@wsfe/vue-tree').TreeNodeKeyType[]>;
176
+ default: () => never[];
177
+ };
178
+ draggable: {
179
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
180
+ default: boolean;
181
+ };
182
+ droppable: {
183
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
184
+ default: boolean;
185
+ };
186
+ beforeDropMethod: {
187
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<(dragKey: import('@wsfe/vue-tree').TreeNodeKeyType, dropKey: import('@wsfe/vue-tree').TreeNodeKeyType, hoverPart: import('@wsfe/vue-tree/types/constants/index.js').dragHoverPartEnum) => boolean>;
188
+ default: () => () => boolean;
189
+ };
190
+ autoLoad: {
191
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
192
+ default: boolean;
193
+ };
194
+ expandOnFilter: {
195
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
196
+ default: boolean;
197
+ };
198
+ unselectOnClick: {
199
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
200
+ default: boolean;
201
+ };
202
+ nodeClassName: {
203
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string | object | (string | object)[] | ((node: TreeNode) => string | object | Array<string | object>)>;
204
+ };
205
+ showLine: boolean | ShowLine;
206
+ nodeIndent: {
207
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
208
+ default: number;
209
+ };
210
+ renderNodeAmount: {
211
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
212
+ default: number;
213
+ };
214
+ nodeMinHeight: {
215
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
216
+ default: number;
217
+ };
218
+ bufferNodeAmount: {
219
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
220
+ default: number;
221
+ };
222
+ }>>, {
223
+ setData: (data: AnyPropsArrayType) => void;
224
+ setChecked: (key: import('@wsfe/vue-tree').TreeNodeKeyType, value: boolean) => void;
225
+ setCheckedKeys: (keys: import('@wsfe/vue-tree').TreeNodeKeyType[], value: boolean) => void;
226
+ checkAll: () => void;
227
+ clearChecked: () => void;
228
+ setSelected: (key: import('@wsfe/vue-tree').TreeNodeKeyType, value: boolean) => void;
229
+ clearSelected: () => void;
230
+ setExpand: (key: import('@wsfe/vue-tree').TreeNodeKeyType, value: boolean, expandParent?: boolean) => void;
231
+ setExpandKeys: (keys: import('@wsfe/vue-tree').TreeNodeKeyType[], value: boolean) => void;
232
+ setExpandAll: (value: boolean) => void;
233
+ getCheckedNodes: (ignoreMode?: "none" | "parents" | "children" | undefined) => TreeNode[];
234
+ getCheckedKeys: (ignoreMode?: "none" | "parents" | "children" | undefined) => import('@wsfe/vue-tree').TreeNodeKeyType[];
235
+ getIndeterminateNodes: () => TreeNode[];
236
+ getSelectedNode: () => TreeNode | null;
237
+ getSelectedKey: () => import('@wsfe/vue-tree').TreeNodeKeyType | null;
238
+ getExpandNodes: () => TreeNode[];
239
+ getExpandKeys: () => import('@wsfe/vue-tree').TreeNodeKeyType[];
240
+ getCurrentVisibleNodes: () => TreeNode[];
241
+ getNode: (key: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
242
+ getTreeData: () => TreeNode[];
243
+ getFlatData: () => TreeNode[];
244
+ getNodesCount: () => number;
245
+ insertBefore: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, referenceKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
246
+ insertAfter: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, referenceKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
247
+ append: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, parentKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
248
+ prepend: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, parentKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
249
+ remove: (removedKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
250
+ filter: (keyword: string, filterMethod?: import('@wsfe/vue-tree/types/store/tree-store.js').FilterFunctionType | undefined) => void;
251
+ showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
252
+ loadRootNodes: () => Promise<void>;
253
+ updateNode: (key: import('@wsfe/vue-tree').TreeNodeKeyType, newNode: import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions) => void;
254
+ updateNodes: (newNodes: import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions[]) => void;
255
+ scrollTo: (key: import('@wsfe/vue-tree').TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
256
+ }, unknown, {}, {}, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {
257
+ [x: string]: (...args: any[]) => void;
258
+ }, string, {
259
+ data: AnyPropsArrayType;
260
+ emptyText: string;
261
+ selectable: boolean;
262
+ checkable: boolean;
263
+ separator: string;
264
+ ignoreMode: "none" | "parents" | "children";
265
+ titleField: string;
266
+ keyField: string;
267
+ showUnloadCheckedNodes: boolean;
268
+ unloadDataList: AnyPropsArrayType;
269
+ filteredNodeCheckable: boolean;
270
+ cascade: boolean;
271
+ enableLeafOnly: boolean;
272
+ disableAll: boolean;
273
+ defaultExpandAll: boolean;
274
+ defaultExpandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
275
+ expandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
276
+ draggable: boolean;
277
+ droppable: boolean;
278
+ beforeDropMethod: (dragKey: import('@wsfe/vue-tree').TreeNodeKeyType, dropKey: import('@wsfe/vue-tree').TreeNodeKeyType, hoverPart: import('@wsfe/vue-tree/types/constants/index.js').dragHoverPartEnum) => boolean;
279
+ autoLoad: boolean;
280
+ expandOnFilter: boolean;
281
+ unselectOnClick: boolean;
282
+ loading: boolean;
283
+ nodeIndent: number;
284
+ renderNodeAmount: number;
285
+ nodeMinHeight: number;
286
+ bufferNodeAmount: number;
287
+ }, {}, string, {}, import('../../../node_modules/vue/dist/vue.esm-bundler.js').GlobalComponents, import('../../../node_modules/vue/dist/vue.esm-bundler.js').GlobalDirectives, string, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentProvideOptions> & {
288
+ beforeCreate?: (() => void) | (() => void)[];
289
+ created?: (() => void) | (() => void)[];
290
+ beforeMount?: (() => void) | (() => void)[];
291
+ mounted?: (() => void) | (() => void)[];
292
+ beforeUpdate?: (() => void) | (() => void)[];
293
+ updated?: (() => void) | (() => void)[];
294
+ activated?: (() => void) | (() => void)[];
295
+ deactivated?: (() => void) | (() => void)[];
296
+ beforeDestroy?: (() => void) | (() => void)[];
297
+ beforeUnmount?: (() => void) | (() => void)[];
298
+ destroyed?: (() => void) | (() => void)[];
299
+ unmounted?: (() => void) | (() => void)[];
300
+ renderTracked?: ((e: import('../../../node_modules/vue/dist/vue.esm-bundler.js').DebuggerEvent) => void) | ((e: import('../../../node_modules/vue/dist/vue.esm-bundler.js').DebuggerEvent) => void)[];
301
+ renderTriggered?: ((e: import('../../../node_modules/vue/dist/vue.esm-bundler.js').DebuggerEvent) => void) | ((e: import('../../../node_modules/vue/dist/vue.esm-bundler.js').DebuggerEvent) => void)[];
302
+ errorCaptured?: ((err: unknown, instance: import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentPublicInstance | null, info: string) => boolean | void)[];
303
+ };
304
+ $forceUpdate: () => void;
305
+ $nextTick: typeof nextTick;
306
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('../../../node_modules/vue/dist/vue.esm-bundler.js').WatchOptions): import('../../../node_modules/vue/dist/vue.esm-bundler.js').WatchStopHandle;
307
+ } & Readonly<{
308
+ data: AnyPropsArrayType;
309
+ emptyText: string;
310
+ selectable: boolean;
311
+ checkable: boolean;
312
+ separator: string;
313
+ ignoreMode: "none" | "parents" | "children";
314
+ titleField: string;
315
+ keyField: string;
316
+ showUnloadCheckedNodes: boolean;
317
+ unloadDataList: AnyPropsArrayType;
318
+ filteredNodeCheckable: boolean;
319
+ cascade: boolean;
320
+ enableLeafOnly: boolean;
321
+ disableAll: boolean;
322
+ defaultExpandAll: boolean;
323
+ defaultExpandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
324
+ expandedKeys: import('@wsfe/vue-tree').TreeNodeKeyType[];
325
+ draggable: boolean;
326
+ droppable: boolean;
327
+ beforeDropMethod: (dragKey: import('@wsfe/vue-tree').TreeNodeKeyType, dropKey: import('@wsfe/vue-tree').TreeNodeKeyType, hoverPart: import('@wsfe/vue-tree/types/constants/index.js').dragHoverPartEnum) => boolean;
328
+ autoLoad: boolean;
329
+ expandOnFilter: boolean;
330
+ unselectOnClick: boolean;
331
+ loading: boolean;
332
+ nodeIndent: number;
333
+ renderNodeAmount: number;
334
+ nodeMinHeight: number;
335
+ bufferNodeAmount: number;
336
+ }> & Omit<Readonly<import('../../../node_modules/vue/dist/vue.esm-bundler.js').ExtractPropTypes<{
337
+ animation: {
338
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
339
+ };
340
+ data: AnyPropsArrayType;
341
+ loading: {
342
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
343
+ default: boolean;
344
+ };
345
+ keyField: {
346
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
347
+ default: string;
348
+ };
349
+ load: LoadFn;
350
+ render: {
351
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<(node: TreeNode) => import('../../../node_modules/vue/dist/vue.esm-bundler.js').VNode>;
352
+ };
353
+ emptyText: {
354
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
355
+ default: string;
356
+ };
357
+ modelValue: {
358
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string | number | import('@wsfe/vue-tree').TreeNodeKeyType[]>;
359
+ };
360
+ selectable: {
361
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
362
+ default: boolean;
363
+ };
364
+ checkable: {
365
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
366
+ default: boolean;
367
+ };
368
+ separator: {
369
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
370
+ default: string;
371
+ };
372
+ ignoreMode: {
373
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<"children" | "none" | "parents">;
374
+ default: import('@wsfe/vue-tree/types/constants/index.js').ignoreEnum;
375
+ };
376
+ titleField: {
377
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string>;
378
+ default: string;
379
+ };
380
+ filterMethod: {
381
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<import('@wsfe/vue-tree/types/store/tree-store.js').FilterFunctionType>;
382
+ };
383
+ showUnloadCheckedNodes: {
384
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
385
+ default: boolean;
386
+ };
387
+ unloadDataList: AnyPropsArrayType;
388
+ filteredNodeCheckable: {
389
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
390
+ default: boolean;
391
+ };
392
+ cascade: {
393
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
394
+ default: boolean;
395
+ };
396
+ enableLeafOnly: {
397
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
398
+ default: boolean;
399
+ };
400
+ disableAll: {
401
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
402
+ default: boolean;
403
+ };
404
+ defaultExpandAll: {
405
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
406
+ default: boolean;
407
+ };
408
+ defaultExpandedKeys: {
409
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<import('@wsfe/vue-tree').TreeNodeKeyType[]>;
410
+ default: () => never[];
411
+ };
412
+ expandedKeys: {
413
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<import('@wsfe/vue-tree').TreeNodeKeyType[]>;
414
+ default: () => never[];
415
+ };
416
+ draggable: {
417
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
418
+ default: boolean;
419
+ };
420
+ droppable: {
421
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
422
+ default: boolean;
423
+ };
424
+ beforeDropMethod: {
425
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<(dragKey: import('@wsfe/vue-tree').TreeNodeKeyType, dropKey: import('@wsfe/vue-tree').TreeNodeKeyType, hoverPart: import('@wsfe/vue-tree/types/constants/index.js').dragHoverPartEnum) => boolean>;
426
+ default: () => () => boolean;
427
+ };
428
+ autoLoad: {
429
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
430
+ default: boolean;
431
+ };
432
+ expandOnFilter: {
433
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
434
+ default: boolean;
435
+ };
436
+ unselectOnClick: {
437
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<boolean>;
438
+ default: boolean;
439
+ };
440
+ nodeClassName: {
441
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<string | object | (string | object)[] | ((node: TreeNode) => string | object | Array<string | object>)>;
442
+ };
443
+ showLine: boolean | ShowLine;
444
+ nodeIndent: {
445
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
446
+ default: number;
447
+ };
448
+ renderNodeAmount: {
449
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
450
+ default: number;
451
+ };
452
+ nodeMinHeight: {
453
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
454
+ default: number;
455
+ };
456
+ bufferNodeAmount: {
457
+ type: import('../../../node_modules/vue/dist/vue.esm-bundler.js').PropType<number>;
458
+ default: number;
459
+ };
460
+ }>>, "filter" | "data" | "loading" | "keyField" | "scrollTo" | "insertBefore" | "remove" | "append" | "prepend" | "emptyText" | "selectable" | "checkable" | "separator" | "ignoreMode" | "titleField" | "showUnloadCheckedNodes" | "unloadDataList" | "filteredNodeCheckable" | "cascade" | "enableLeafOnly" | "disableAll" | "defaultExpandAll" | "defaultExpandedKeys" | "expandedKeys" | "draggable" | "droppable" | "beforeDropMethod" | "autoLoad" | "expandOnFilter" | "unselectOnClick" | "nodeIndent" | "renderNodeAmount" | "nodeMinHeight" | "bufferNodeAmount" | "setData" | "setChecked" | "setCheckedKeys" | "checkAll" | "clearChecked" | "setSelected" | "clearSelected" | "setExpand" | "setExpandKeys" | "setExpandAll" | "getCheckedNodes" | "getCheckedKeys" | "getIndeterminateNodes" | "getSelectedNode" | "getSelectedKey" | "getExpandNodes" | "getExpandKeys" | "getCurrentVisibleNodes" | "getNode" | "getTreeData" | "getFlatData" | "getNodesCount" | "insertAfter" | "showCheckedNodes" | "loadRootNodes" | "updateNode" | "updateNodes"> & import('../../../node_modules/vue/dist/vue.esm-bundler.js').ShallowUnwrapRef<{
461
+ setData: (data: AnyPropsArrayType) => void;
462
+ setChecked: (key: import('@wsfe/vue-tree').TreeNodeKeyType, value: boolean) => void;
463
+ setCheckedKeys: (keys: import('@wsfe/vue-tree').TreeNodeKeyType[], value: boolean) => void;
464
+ checkAll: () => void;
465
+ clearChecked: () => void;
466
+ setSelected: (key: import('@wsfe/vue-tree').TreeNodeKeyType, value: boolean) => void;
467
+ clearSelected: () => void;
468
+ setExpand: (key: import('@wsfe/vue-tree').TreeNodeKeyType, value: boolean, expandParent?: boolean) => void;
469
+ setExpandKeys: (keys: import('@wsfe/vue-tree').TreeNodeKeyType[], value: boolean) => void;
470
+ setExpandAll: (value: boolean) => void;
471
+ getCheckedNodes: (ignoreMode?: "none" | "parents" | "children" | undefined) => TreeNode[];
472
+ getCheckedKeys: (ignoreMode?: "none" | "parents" | "children" | undefined) => import('@wsfe/vue-tree').TreeNodeKeyType[];
473
+ getIndeterminateNodes: () => TreeNode[];
474
+ getSelectedNode: () => TreeNode | null;
475
+ getSelectedKey: () => import('@wsfe/vue-tree').TreeNodeKeyType | null;
476
+ getExpandNodes: () => TreeNode[];
477
+ getExpandKeys: () => import('@wsfe/vue-tree').TreeNodeKeyType[];
478
+ getCurrentVisibleNodes: () => TreeNode[];
479
+ getNode: (key: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
480
+ getTreeData: () => TreeNode[];
481
+ getFlatData: () => TreeNode[];
482
+ getNodesCount: () => number;
483
+ insertBefore: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, referenceKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
484
+ insertAfter: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, referenceKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
485
+ append: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, parentKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
486
+ prepend: (insertedNode: import('@wsfe/vue-tree').TreeNodeKeyType | import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions, parentKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
487
+ remove: (removedKey: import('@wsfe/vue-tree').TreeNodeKeyType) => TreeNode | null;
488
+ filter: (keyword: string, filterMethod?: import('@wsfe/vue-tree/types/store/tree-store.js').FilterFunctionType | undefined) => void;
489
+ showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
490
+ loadRootNodes: () => Promise<void>;
491
+ updateNode: (key: import('@wsfe/vue-tree').TreeNodeKeyType, newNode: import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions) => void;
492
+ updateNodes: (newNodes: import('@wsfe/vue-tree/types/store/tree-node.js').ITreeNodeOptions[]) => void;
493
+ scrollTo: (key: import('@wsfe/vue-tree').TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
494
+ }> & {} & import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentCustomProperties & {} & {
495
+ $slots: {
496
+ node?(_: {
497
+ node: TreeNode;
498
+ }): any;
499
+ node?(_: {
500
+ node: TreeNode;
501
+ }): any;
502
+ node?(_: {
503
+ node: TreeNode;
504
+ }): any;
505
+ empty?(_: {}): any;
506
+ loading?(_: {}): any;
507
+ };
508
+ }) | null;
509
+ }, HTMLDivElement>;
510
+ export default _default;
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ placeholder?: string;
3
+ };
4
+ declare const _default: import('../../../node_modules/vue/dist/vue.esm-bundler.js').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {
5
+ "update:modelValue": (value: string) => any;
6
+ }, string, import('../../../node_modules/vue/dist/vue.esm-bundler.js').PublicProps, Readonly<__VLS_Props> & Readonly<{
7
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
8
+ }>, {
9
+ placeholder: string;
10
+ }, {}, {}, {}, string, import('../../../node_modules/vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {}, HTMLDivElement>;
11
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import { DiffFile } from '../../types';
2
+ import { FileItem } from '../types';
3
+ export interface DiffFileSelection {
4
+ fullPath: string;
5
+ }
6
+ export interface DiffFileTreeNode extends DiffFile {
7
+ id: string;
8
+ title: string;
9
+ name: string;
10
+ fullPath: string;
11
+ folderPath?: string;
12
+ type?: string;
13
+ isDirectory: boolean;
14
+ children?: DiffFileTreeNode[];
15
+ }
16
+ export declare function buildDiffFileTree(files: FileItem[]): DiffFileTreeNode[];
17
+ export declare function filterDiffFileTree(fileTree: DiffFileTreeNode[], keyword: string): DiffFileTreeNode[];
@@ -0,0 +1,13 @@
1
+ import { WtoolDiffFilesProps } from '../types';
2
+ import { DiffFileSelection } from './FileExplore/fileTree';
3
+ export type DiffFilesProps = WtoolDiffFilesProps;
4
+ export type DiffFilesSelectFileListener = (selection: DiffFileSelection) => void;
5
+ export declare const WTOOL_DIFF_FILES_TAG = "wtool-diff-files";
6
+ export declare const WtoolDiffFiles: import('../../node_modules/vue/dist/vue.esm-bundler.js').VueElementConstructor<WtoolDiffFilesProps>;
7
+ export declare function register(tagName?: string): void;
8
+ export interface DiffFilesInstance {
9
+ update(props: Partial<DiffFilesProps>): void;
10
+ onSelectFile(listener: DiffFilesSelectFileListener): () => void;
11
+ destroy(): void;
12
+ }
13
+ export declare function createDiffFiles(target: HTMLElement, initialProps?: DiffFilesProps): DiffFilesInstance;
@@ -0,0 +1,3 @@
1
+ export { WTOOL_DIFF_FILES_TAG, WtoolDiffFiles, register as registerDiffFiles, createDiffFiles, type DiffFilesProps, type DiffFilesInstance, type DiffFilesSelectFileListener, } from './createDiffFiles';
2
+ export type { DiffFileSelection } from './FileExplore/fileTree';
3
+ export type { DiffFile, FileTree, WtoolDiffFilesProps, WtoolDiffViewerStyle } from '../types';
@@ -0,0 +1,12 @@
1
+ import { DiffFile } from '../types';
2
+ export interface FileItem extends DiffFile {
3
+ fullPath: string;
4
+ name: string;
5
+ folderPath: string;
6
+ type?: string;
7
+ }
8
+ export interface DiffFileState {
9
+ height: number;
10
+ viewed: boolean;
11
+ rawed: boolean;
12
+ }
@@ -0,0 +1,23 @@
1
+ import { Ref } from '../../node_modules/vue/dist/vue.esm-bundler.js';
2
+ import { DiffFile } from '../types';
3
+ import { FileItem } from './types';
4
+ export declare const useDiffFiles: ({ isMaster }?: {
5
+ isMaster?: boolean | undefined;
6
+ }) => {
7
+ funcs: {
8
+ selectedFileKey: Ref<string>;
9
+ searchKeyword: Ref<string>;
10
+ selectFile: (fullPath: string) => Promise<void>;
11
+ filterTree: (keyword: string) => void;
12
+ };
13
+ registerFunc: (funcList: Partial<{
14
+ selectedFileKey: Ref<string>;
15
+ searchKeyword: Ref<string>;
16
+ selectFile: (fullPath: string) => Promise<void>;
17
+ filterTree: (keyword: string) => void;
18
+ }>) => void;
19
+ };
20
+ export declare function formatDiffFiles(diffFiles: DiffFile[]): {
21
+ files: FileItem[];
22
+ fileMap: Record<string, FileItem>;
23
+ };
@@ -1,12 +1,23 @@
1
1
  import { DiffEditorOptions, WtoolDiffViewerProps, ModelOptions } from '../types';
2
- declare const _default: import('../../node_modules/vue/dist/vue.esm-bundler.js').DefineComponent<WtoolDiffViewerProps, {}, {}, {}, {}, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {}, string, import('../../node_modules/vue/dist/vue.esm-bundler.js').PublicProps, Readonly<WtoolDiffViewerProps> & Readonly<{}>, {
3
- options: DiffEditorOptions;
4
- language: string;
5
- modelOptions: ModelOptions;
2
+ declare const _default: import('../../node_modules/vue/dist/vue.esm-bundler.js').DefineComponent<WtoolDiffViewerProps, {}, {}, {}, {}, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {
3
+ viewStateChange: (data: {
4
+ viewed: boolean;
5
+ rawed: boolean;
6
+ }) => any;
7
+ }, string, import('../../node_modules/vue/dist/vue.esm-bundler.js').PublicProps, Readonly<WtoolDiffViewerProps> & Readonly<{
8
+ onViewStateChange?: ((data: {
9
+ viewed: boolean;
10
+ rawed: boolean;
11
+ }) => any) | undefined;
12
+ }>, {
6
13
  diffPair: {
7
14
  filename: string;
8
15
  content: string | null;
9
16
  }[];
17
+ options: DiffEditorOptions;
18
+ language: string;
19
+ modelOptions: ModelOptions;
10
20
  diffPatch: string;
21
+ fileId: string;
11
22
  }, {}, {}, {}, string, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {}, HTMLDivElement>;
12
23
  export default _default;
@@ -3,11 +3,13 @@ type __VLS_Props = {
3
3
  filename: string;
4
4
  content: string | null;
5
5
  }[];
6
+ diffPatch?: string;
6
7
  };
7
8
  declare const _default: import('../../node_modules/vue/dist/vue.esm-bundler.js').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {}, string, import('../../node_modules/vue/dist/vue.esm-bundler.js').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
9
  diffPair: {
9
10
  filename: string;
10
11
  content: string | null;
11
12
  }[];
13
+ diffPatch: string;
12
14
  }, {}, {}, {}, string, import('../../node_modules/vue/dist/vue.esm-bundler.js').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
15
  export default _default;