@v-c/tree 1.2.0 → 1.2.1

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.
@@ -112,6 +112,7 @@ var MotionTreeNode = /* @__PURE__ */ defineComponent((props) => {
112
112
  default: void 0
113
113
  },
114
114
  motion: {
115
+ type: Object,
115
116
  required: false,
116
117
  default: void 0
117
118
  },
@@ -145,6 +146,7 @@ var MotionTreeNode = /* @__PURE__ */ defineComponent((props) => {
145
146
  default: void 0
146
147
  },
147
148
  eventKey: {
149
+ type: [String, Number],
148
150
  required: false,
149
151
  default: void 0
150
152
  },
@@ -164,6 +166,7 @@ var MotionTreeNode = /* @__PURE__ */ defineComponent((props) => {
164
166
  default: void 0
165
167
  },
166
168
  id: {
169
+ type: [String, Number],
167
170
  required: false,
168
171
  default: void 0
169
172
  },
@@ -198,9 +201,16 @@ var MotionTreeNode = /* @__PURE__ */ defineComponent((props) => {
198
201
  default: void 0
199
202
  },
200
203
  title: {
201
- type: Function,
204
+ type: [
205
+ Object,
206
+ Function,
207
+ String,
208
+ Number,
209
+ null,
210
+ Boolean,
211
+ Array
212
+ ],
202
213
  required: false,
203
- skipCheck: true,
204
214
  default: void 0
205
215
  },
206
216
  dragOver: {
@@ -238,6 +248,7 @@ var MotionTreeNode = /* @__PURE__ */ defineComponent((props) => {
238
248
  default: void 0
239
249
  },
240
250
  onMouseMove: {
251
+ type: Function,
241
252
  required: false,
242
253
  default: void 0
243
254
  },
@@ -267,18 +278,41 @@ var MotionTreeNode = /* @__PURE__ */ defineComponent((props) => {
267
278
  default: void 0
268
279
  },
269
280
  icon: {
270
- type: Function,
281
+ type: [
282
+ Object,
283
+ Function,
284
+ String,
285
+ Number,
286
+ null,
287
+ Boolean,
288
+ Array
289
+ ],
271
290
  required: false,
272
- skipCheck: true,
273
291
  default: void 0
274
292
  },
275
293
  switcherIcon: {
276
- type: Function,
294
+ type: [
295
+ Object,
296
+ Function,
297
+ String,
298
+ Number,
299
+ null,
300
+ Boolean,
301
+ Array
302
+ ],
277
303
  required: false,
278
- skipCheck: true,
279
304
  default: void 0
280
305
  },
281
306
  children: {
307
+ type: [
308
+ Object,
309
+ Function,
310
+ String,
311
+ Number,
312
+ null,
313
+ Boolean,
314
+ Array
315
+ ],
282
316
  required: false,
283
317
  default: void 0
284
318
  }
package/dist/NodeList.js CHANGED
@@ -245,12 +245,20 @@ var NodeList = /* @__PURE__ */ defineComponent((props, { attrs, expose }) => {
245
245
  required: false,
246
246
  default: void 0
247
247
  },
248
- dragOverNodeKey: { required: true },
248
+ dragOverNodeKey: {
249
+ type: [
250
+ String,
251
+ Number,
252
+ null
253
+ ],
254
+ required: true
255
+ },
249
256
  dropPosition: {
250
257
  type: [Number, null],
251
258
  required: true
252
259
  },
253
260
  motion: {
261
+ type: Object,
254
262
  required: false,
255
263
  default: void 0
256
264
  },
package/dist/Tree.js CHANGED
@@ -788,6 +788,11 @@ var Tree = /* @__PURE__ */ defineComponent((props, { slots, attrs, expose }) =>
788
788
  default: void 0
789
789
  },
790
790
  activeKey: {
791
+ type: [
792
+ String,
793
+ Number,
794
+ null
795
+ ],
791
796
  required: false,
792
797
  default: void 0
793
798
  },
@@ -817,9 +822,16 @@ var Tree = /* @__PURE__ */ defineComponent((props, { slots, attrs, expose }) =>
817
822
  default: void 0
818
823
  },
819
824
  icon: {
820
- type: Function,
825
+ type: [
826
+ Object,
827
+ Function,
828
+ String,
829
+ Number,
830
+ null,
831
+ Boolean,
832
+ Array
833
+ ],
821
834
  required: false,
822
- skipCheck: true,
823
835
  default: void 0
824
836
  },
825
837
  selectable: {
@@ -843,9 +855,16 @@ var Tree = /* @__PURE__ */ defineComponent((props, { slots, attrs, expose }) =>
843
855
  default: void 0
844
856
  },
845
857
  checkable: {
846
- type: Boolean,
858
+ type: [
859
+ Boolean,
860
+ Object,
861
+ Function,
862
+ String,
863
+ Number,
864
+ null,
865
+ Array
866
+ ],
847
867
  required: false,
848
- skipCheck: true,
849
868
  default: void 0
850
869
  },
851
870
  checkStrictly: {
@@ -1048,13 +1067,21 @@ var Tree = /* @__PURE__ */ defineComponent((props, { slots, attrs, expose }) =>
1048
1067
  default: void 0
1049
1068
  },
1050
1069
  motion: {
1070
+ type: Object,
1051
1071
  required: false,
1052
1072
  default: void 0
1053
1073
  },
1054
1074
  switcherIcon: {
1055
- type: Function,
1075
+ type: [
1076
+ Object,
1077
+ Function,
1078
+ String,
1079
+ Number,
1080
+ null,
1081
+ Boolean,
1082
+ Array
1083
+ ],
1056
1084
  required: false,
1057
- skipCheck: true,
1058
1085
  default: void 0
1059
1086
  },
1060
1087
  height: {
package/dist/TreeNode.js CHANGED
@@ -75,10 +75,10 @@ var TreeNode = /* @__PURE__ */ defineComponent((props, { attrs }) => {
75
75
  const onDragStart = (e) => {
76
76
  e.stopPropagation();
77
77
  dragNodeHighlight.value = true;
78
- context.onNodeDragStart(e, props);
79
78
  try {
80
79
  e.dataTransfer?.setData("text/plain", "");
81
80
  } catch {}
81
+ context.onNodeDragStart(e, props);
82
82
  };
83
83
  const onDragEnter = (e) => {
84
84
  e.preventDefault();
@@ -272,6 +272,7 @@ var TreeNode = /* @__PURE__ */ defineComponent((props, { attrs }) => {
272
272
  }, {
273
273
  props: {
274
274
  eventKey: {
275
+ type: [String, Number],
275
276
  required: false,
276
277
  default: void 0
277
278
  },
@@ -291,6 +292,7 @@ var TreeNode = /* @__PURE__ */ defineComponent((props, { attrs }) => {
291
292
  default: void 0
292
293
  },
293
294
  id: {
295
+ type: [String, Number],
294
296
  required: false,
295
297
  default: void 0
296
298
  },
@@ -330,9 +332,16 @@ var TreeNode = /* @__PURE__ */ defineComponent((props, { attrs }) => {
330
332
  default: void 0
331
333
  },
332
334
  title: {
333
- type: Function,
335
+ type: [
336
+ Object,
337
+ Function,
338
+ String,
339
+ Number,
340
+ null,
341
+ Boolean,
342
+ Array
343
+ ],
334
344
  required: false,
335
- skipCheck: true,
336
345
  default: void 0
337
346
  },
338
347
  dragOver: {
@@ -379,6 +388,7 @@ var TreeNode = /* @__PURE__ */ defineComponent((props, { attrs }) => {
379
388
  default: void 0
380
389
  },
381
390
  onMouseMove: {
391
+ type: Function,
382
392
  required: false,
383
393
  default: void 0
384
394
  },
@@ -408,18 +418,41 @@ var TreeNode = /* @__PURE__ */ defineComponent((props, { attrs }) => {
408
418
  default: void 0
409
419
  },
410
420
  icon: {
411
- type: Function,
421
+ type: [
422
+ Object,
423
+ Function,
424
+ String,
425
+ Number,
426
+ null,
427
+ Boolean,
428
+ Array
429
+ ],
412
430
  required: false,
413
- skipCheck: true,
414
431
  default: void 0
415
432
  },
416
433
  switcherIcon: {
417
- type: Function,
434
+ type: [
435
+ Object,
436
+ Function,
437
+ String,
438
+ Number,
439
+ null,
440
+ Boolean,
441
+ Array
442
+ ],
418
443
  required: false,
419
- skipCheck: true,
420
444
  default: void 0
421
445
  },
422
446
  children: {
447
+ type: [
448
+ Object,
449
+ Function,
450
+ String,
451
+ Number,
452
+ null,
453
+ Boolean,
454
+ Array
455
+ ],
423
456
  required: false,
424
457
  default: void 0
425
458
  }
package/dist/util.d.ts CHANGED
@@ -5,8 +5,8 @@ export interface AllowDropOptions<TreeDataType extends BasicDataNode = DataNode>
5
5
  dropPosition: -1 | 0 | 1;
6
6
  }
7
7
  export type AllowDrop<TreeDataType extends BasicDataNode = DataNode> = (options: AllowDropOptions<TreeDataType>) => boolean;
8
- export declare function arrDel(list: Key[], value: Key): VCKey[];
9
- export declare function arrAdd(list: Key[], value: Key): VCKey[];
8
+ export declare function arrDel(list: Key[], value: Key): import('packages/util/dist/type').Key[];
9
+ export declare function arrAdd(list: Key[], value: Key): import('packages/util/dist/type').Key[];
10
10
  export declare function posToArr(pos: string): string[];
11
11
  export declare function getDragChildrenKeys<TreeDataType extends BasicDataNode = DataNode>(dragNodeKey: Key, keyEntities: KeyEntities<TreeDataType>): Key[];
12
12
  export declare function isLastChild<TreeDataType extends BasicDataNode = DataNode>(treeNodeEntity: DataEntity<TreeDataType>): boolean;
@@ -25,7 +25,7 @@ export declare function calcDropPosition<TreeDataType extends BasicDataNode = Da
25
25
  };
26
26
  export declare function calcSelectedKeys(selectedKeys: Key[], { multiple }: {
27
27
  multiple?: boolean;
28
- }): VCKey[] | undefined;
28
+ }): import('packages/util/dist/type').Key[] | undefined;
29
29
  export declare function parseCheckedKeys(keys: Key[] | {
30
30
  checked: Key[];
31
31
  halfChecked: Key[];
package/dist/util.js CHANGED
@@ -45,7 +45,8 @@ function calcDropPosition(event, dragNodeProps, targetNodeProps, indent, startMo
45
45
  const rawDropLevelOffset = ((direction === "rtl" ? -1 : 1) * ((startMousePosition?.x || 0) - clientX) - 12) / indent;
46
46
  const filteredExpandKeys = expandKeys.filter((key) => (getEntity(keyEntities, key)?.children || []).length);
47
47
  let abstractDropNodeEntity = getEntity(keyEntities, targetNodeProps.eventKey);
48
- if (clientY < top + height / 2) {
48
+ const dropBeforeTarget = clientY < top + height / 2 && isFirstChild(abstractDropNodeEntity);
49
+ if (clientY < top + height / 2 && !dropBeforeTarget) {
49
50
  const nodeIndex = flattenedNodes.findIndex(({ key }) => key === abstractDropNodeEntity.key);
50
51
  const prevNodeKey = flattenedNodes[nodeIndex <= 0 ? 0 : nodeIndex - 1].key;
51
52
  abstractDropNodeEntity = getEntity(keyEntities, prevNodeKey);
@@ -62,7 +63,7 @@ function calcDropPosition(event, dragNodeProps, targetNodeProps, indent, startMo
62
63
  const abstractDragDataNode = dragNodeProps.data;
63
64
  const abstractDropDataNode = abstractDropNodeEntity.node;
64
65
  let dropAllowed = true;
65
- if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({
66
+ if (dropBeforeTarget && allowDrop({
66
67
  dragNode: abstractDragDataNode,
67
68
  dropNode: abstractDropDataNode,
68
69
  dropPosition: -1
@@ -1,7 +1,7 @@
1
1
  import { BasicDataNode, DataEntity, DataNode, EventDataNode, FieldNames, FlattenNode, GetKey, Key, KeyEntities, NodeElement, TreeNodeProps } from '../interface';
2
2
  export declare function getPosition(level: string | number, index: number): string;
3
3
  export declare function isTreeNode(node: NodeElement): boolean;
4
- export declare function getKey(key: Key, pos: string): any;
4
+ export declare function getKey(key: Key, pos: string): import('packages/util/dist/type').Key;
5
5
  export declare function fillFieldNames(fieldNames?: FieldNames): Required<FieldNames>;
6
6
  export declare function warningWithoutKey(treeData: DataNode[], fieldNames: FieldNames): void;
7
7
  export declare function convertTreeToData(rootNodes: any): DataNode[];
@@ -47,7 +47,7 @@ export interface TreeNodeRequiredProps<TreeDataType extends BasicDataNode = Data
47
47
  keyEntities: KeyEntities<TreeDataType>;
48
48
  }
49
49
  export declare function getTreeNodeProps<TreeDataType extends BasicDataNode = DataNode>(key: Key, { expandedKeys, selectedKeys, loadedKeys, loadingKeys, checkedKeys, halfCheckedKeys, dragOverNodeKey, dropPosition, keyEntities, }: TreeNodeRequiredProps<TreeDataType>): {
50
- eventKey: VCKey;
50
+ eventKey: import('packages/util/dist/type').Key;
51
51
  expanded: boolean;
52
52
  selected: boolean;
53
53
  loaded: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/tree",
3
3
  "type": "module",
4
- "version": "1.2.0",
4
+ "version": "1.2.1",
5
5
  "description": "",
6
6
  "publishConfig": {
7
7
  "access": "public"