@v-c/tree 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Tree.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import DropIndicator_default from "./DropIndicator.js";
2
2
  import { TreeContextKey } from "./contextTypes.js";
3
3
  import getEntity from "./utils/keyUtil.js";
4
- import { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, warningWithoutKey } from "./utils/treeUtil.js";
4
+ import { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, isLeafNode, warningWithoutKey } from "./utils/treeUtil.js";
5
5
  import NodeList_default, { MOTION_KEY, MotionEntity } from "./NodeList.js";
6
6
  import { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, parseCheckedKeys, posToArr } from "./util.js";
7
7
  import { conductCheck } from "./utils/conductUtil.js";
@@ -151,7 +151,6 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
151
151
  });
152
152
  const [loadedKeys, setLoadedKeys] = useMergedState(() => [], { value: computed(() => props.loadedKeys === void 0 ? void 0 : props.loadedKeys) });
153
153
  const loadingKeys = ref([]);
154
- const focused = ref(false);
155
154
  const listChanging = ref(false);
156
155
  const [activeKey, setActiveKey] = useMergedState(null, { value: computed(() => props.activeKey === void 0 ? void 0 : props.activeKey) });
157
156
  function onListChangeStart() {
@@ -178,6 +177,7 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
178
177
  const delayedDragEnterLogic = {};
179
178
  const loadingRetryTimes = {};
180
179
  const listRef = ref();
180
+ let focusFromMouse = false;
181
181
  const getTreeNodeRequiredProps = computed(() => ({
182
182
  expandedKeys: expandedKeys.value || [],
183
183
  selectedKeys: selectedKeys.value || [],
@@ -219,11 +219,22 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
219
219
  onActiveChange(item ? item.key : null);
220
220
  }
221
221
  function onFocus(e) {
222
- focused.value = true;
222
+ if (focusFromMouse) {
223
+ focusFromMouse = false;
224
+ props.onFocus?.(e);
225
+ return;
226
+ }
227
+ if (!mergedDisabled.value && activeKey.value === null) {
228
+ const visibleSelectedKey = selectedKeys.value.find((key) => {
229
+ return flattenNodes.value.some((nodeItem) => nodeItem.key === key);
230
+ });
231
+ if (visibleSelectedKey !== void 0) onActiveChange(visibleSelectedKey);
232
+ else onActiveChange(flattenNodes.value?.[0]?.key || null);
233
+ }
223
234
  props.onFocus?.(e);
224
235
  }
225
236
  function onBlur(e) {
226
- focused.value = false;
237
+ focusFromMouse = false;
227
238
  onActiveChange(null);
228
239
  props.onBlur?.(e);
229
240
  }
@@ -558,6 +569,8 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
558
569
  dragNodeProps = null;
559
570
  };
560
571
  function onKeyDown(e) {
572
+ if (mergedDisabled.value) return;
573
+ const nodes = flattenNodes.value;
561
574
  switch (e.which || e.keyCode) {
562
575
  case KeyCode.UP:
563
576
  offsetActiveKey(-1);
@@ -567,16 +580,27 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
567
580
  offsetActiveKey(1);
568
581
  e.preventDefault();
569
582
  break;
583
+ case KeyCode.HOME:
584
+ onActiveChange(nodes[0]?.key ?? null);
585
+ e.preventDefault();
586
+ break;
587
+ case KeyCode.END:
588
+ onActiveChange(nodes[nodes.length - 1]?.key ?? null);
589
+ e.preventDefault();
590
+ break;
570
591
  }
571
592
  const activeItem = getActiveItem.value;
572
593
  if (activeItem && activeItem.data) {
573
594
  const required = getTreeNodeRequiredProps.value;
574
- const expandable = activeItem.data.isLeaf === false || !!(activeItem.data[mergedFieldNames.value.children] || []).length;
575
595
  const eventNode = convertNodePropsToEventData({
576
596
  ...getTreeNodeProps(activeKey.value, required),
577
597
  data: activeItem.data,
578
598
  active: true
579
599
  });
600
+ const hasChildren = !!getEntity(keyEntities.value, activeKey.value)?.children?.length;
601
+ const expandable = !isLeafNode(activeItem.data.isLeaf, props.loadData, hasChildren, eventNode.loaded);
602
+ const canCheck = mergedCheckable.value && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox;
603
+ const canSelect = !mergedCheckable.value && mergedSelectable.value && !eventNode.disabled && eventNode.selectable !== false;
580
604
  switch (e.which || e.keyCode) {
581
605
  case KeyCode.LEFT:
582
606
  if (expandable && expandedKeys.value.includes(activeKey.value)) onNodeExpand({}, eventNode);
@@ -590,8 +614,8 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
590
614
  break;
591
615
  case KeyCode.ENTER:
592
616
  case KeyCode.SPACE:
593
- if (mergedCheckable.value && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) onNodeCheck({}, eventNode, !mergedChecked.value.checkedKeys.includes(activeKey.value));
594
- else if (!mergedCheckable.value && mergedSelectable.value && !eventNode.disabled && eventNode.selectable !== false) onNodeSelect({}, eventNode);
617
+ if (canCheck) onNodeCheck({}, eventNode, !mergedChecked.value.checkedKeys.includes(activeKey.value));
618
+ else if (canSelect) onNodeSelect({}, eventNode);
595
619
  break;
596
620
  }
597
621
  }
@@ -695,11 +719,13 @@ var Tree_default = /* @__PURE__ */ defineComponent((props, { slots, attrs, expos
695
719
  data: true
696
720
  });
697
721
  return createVNode("div", {
698
- "class": clsx(mergedPrefixCls.value, props.className, props.rootClassName, {
699
- [`${mergedPrefixCls.value}-show-line`]: mergedShowLine.value,
700
- [`${mergedPrefixCls.value}-focused`]: focused.value,
701
- [`${mergedPrefixCls.value}-active-focused`]: activeKey.value !== null
702
- }),
722
+ "onMousedown": () => {
723
+ focusFromMouse = true;
724
+ },
725
+ "onMouseup": () => {
726
+ focusFromMouse = false;
727
+ },
728
+ "class": clsx(mergedPrefixCls.value, props.className, props.rootClassName, { [`${mergedPrefixCls.value}-show-line`]: mergedShowLine.value }),
703
729
  "style": props.rootStyle
704
730
  }, [createVNode(NodeList_default, mergeProps({
705
731
  "ref": listRef,
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { ExpandAction, TreeProps, TreeRef, default as Tree } from './Tree';
3
3
  import { default as TreeNode } from './TreeNode';
4
4
  export { UnstableContextKey } from './contextTypes';
5
5
  export { TreeNode };
6
- export { conductExpandParent } from './util.ts';
6
+ export { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, isFirstChild, isLastChild, parseCheckedKeys, posToArr } from './util.ts';
7
7
  export { conductCheck } from './utils/conductUtil';
8
8
  export { convertDataToEntities, convertTreeToData, fillFieldNames, flattenTreeData } from './utils/treeUtil';
9
9
  export type { BasicDataNode, DataEntity, DataNode, EventDataNode, ExpandAction, FieldNames, FlattenNode, IconType, Key, KeyEntities, ScrollTo, TreeNodeProps, TreeProps, TreeRef, };
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { UnstableContextKey } from "./contextTypes.js";
2
2
  import { convertDataToEntities, convertTreeToData, fillFieldNames, flattenTreeData } from "./utils/treeUtil.js";
3
3
  import TreeNode_default from "./TreeNode.js";
4
- import { conductExpandParent } from "./util.js";
4
+ import { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, isFirstChild, isLastChild, parseCheckedKeys, posToArr } from "./util.js";
5
5
  import { conductCheck } from "./utils/conductUtil.js";
6
6
  import Tree_default from "./Tree.js";
7
7
  var ExportTree = Tree_default;
8
8
  ExportTree.TreeNode = TreeNode_default;
9
9
  var src_default = ExportTree;
10
- export { TreeNode_default as TreeNode, UnstableContextKey, conductCheck, conductExpandParent, convertDataToEntities, convertTreeToData, src_default as default, fillFieldNames, flattenTreeData };
10
+ export { TreeNode_default as TreeNode, UnstableContextKey, arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductCheck, conductExpandParent, convertDataToEntities, convertTreeToData, src_default as default, fillFieldNames, flattenTreeData, getDragChildrenKeys, isFirstChild, isLastChild, parseCheckedKeys, posToArr };
@@ -32,7 +32,9 @@ export declare function convertDataToEntities(dataNodes: DataNode[], { initWrapp
32
32
  externalGetKey?: ExternalGetKey;
33
33
  childrenPropName?: string;
34
34
  fieldNames?: FieldNames;
35
- }): Wrapper;
35
+ },
36
+ /** @deprecated Use `config.externalGetKey` instead */
37
+ legacyExternalGetKey?: ExternalGetKey): Wrapper;
36
38
  export interface TreeNodeRequiredProps<TreeDataType extends BasicDataNode = DataNode> {
37
39
  expandedKeys: Key[];
38
40
  selectedKeys: Key[];
@@ -136,7 +136,8 @@ function traverseDataNodes(dataNodes, callback, config) {
136
136
  }
137
137
  processNode(null);
138
138
  }
139
- function convertDataToEntities(dataNodes, { initWrapper, processEntity, onProcessFinished, externalGetKey, childrenPropName, fieldNames } = {}) {
139
+ function convertDataToEntities(dataNodes, { initWrapper, processEntity, onProcessFinished, externalGetKey, childrenPropName, fieldNames } = {}, legacyExternalGetKey) {
140
+ const mergedExternalGetKey = externalGetKey || legacyExternalGetKey;
140
141
  const posEntities = {};
141
142
  const keyEntities = {};
142
143
  let wrapper = {
@@ -164,7 +165,7 @@ function convertDataToEntities(dataNodes, { initWrapper, processEntity, onProces
164
165
  }
165
166
  processEntity?.(entity, wrapper);
166
167
  }, {
167
- externalGetKey,
168
+ externalGetKey: mergedExternalGetKey,
168
169
  childrenPropName,
169
170
  fieldNames
170
171
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/tree",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "description": "",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -15,7 +15,7 @@
15
15
  ".": {
16
16
  "types": "./dist/index.d.ts",
17
17
  "import": "./dist/index.js",
18
- "require": "./dist/index.cjs"
18
+ "default": "./dist/index.js"
19
19
  },
20
20
  "./dist/*": "./dist/*",
21
21
  "./package.json": "./package.json"
@@ -29,7 +29,7 @@
29
29
  "vue": "^3.0.0"
30
30
  },
31
31
  "dependencies": {
32
- "@v-c/util": "^1.0.9",
32
+ "@v-c/util": "^1.0.11",
33
33
  "@v-c/virtual-list": "^1.0.5"
34
34
  },
35
35
  "scripts": {
@@ -1,54 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
6
- let vue = require("vue");
7
- var DropIndicator = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
8
- return () => {
9
- const style = {
10
- pointerEvents: "none",
11
- position: "absolute",
12
- right: 0,
13
- backgroundColor: "red",
14
- height: `2px`
15
- };
16
- switch (props.dropPosition) {
17
- case -1:
18
- style.top = 0;
19
- style.left = `${-props.dropLevelOffset * props.indent}px`;
20
- break;
21
- case 1:
22
- style.bottom = 0;
23
- style.left = `${-props.dropLevelOffset * props.indent}px`;
24
- break;
25
- case 0:
26
- default:
27
- style.bottom = 0;
28
- style.left = `${props.indent}px`;
29
- break;
30
- }
31
- return (0, vue.createVNode)("div", { "style": style }, null);
32
- };
33
- }, {
34
- props: {
35
- dropPosition: {
36
- required: true,
37
- default: void 0
38
- },
39
- dropLevelOffset: {
40
- type: Number,
41
- required: true,
42
- default: void 0
43
- },
44
- indent: {
45
- type: Number,
46
- required: true,
47
- default: void 0
48
- }
49
- },
50
- name: "DropIndicator",
51
- inheritAttrs: false
52
- });
53
- var DropIndicator_default = DropIndicator;
54
- exports.default = DropIndicator_default;
package/dist/Indent.cjs DELETED
@@ -1,52 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
6
- let vue = require("vue");
7
- let _v_c_util = require("@v-c/util");
8
- var Indent = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
9
- return () => {
10
- const { prefixCls, level, isStart, isEnd } = props;
11
- const baseClassName = `${prefixCls}-indent-unit`;
12
- const list = [];
13
- for (let i = 0; i < level; i += 1) list.push((0, vue.createVNode)("span", {
14
- "key": i,
15
- "class": (0, _v_c_util.clsx)(baseClassName, {
16
- [`${baseClassName}-start`]: isStart?.[i],
17
- [`${baseClassName}-end`]: isEnd?.[i]
18
- })
19
- }, null));
20
- return (0, vue.createVNode)("span", {
21
- "aria-hidden": "true",
22
- "class": `${props.prefixCls}-indent`
23
- }, [list]);
24
- };
25
- }, {
26
- props: {
27
- prefixCls: {
28
- type: String,
29
- required: true,
30
- default: void 0
31
- },
32
- level: {
33
- type: Number,
34
- required: true,
35
- default: void 0
36
- },
37
- isStart: {
38
- type: Array,
39
- required: false,
40
- default: void 0
41
- },
42
- isEnd: {
43
- type: Array,
44
- required: false,
45
- default: void 0
46
- }
47
- },
48
- name: "Indent",
49
- inheritAttrs: false
50
- });
51
- var Indent_default = Indent;
52
- exports.default = Indent_default;
@@ -1,330 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_rolldown_runtime = require("./_virtual/rolldown_runtime.cjs");
6
- const require_contextTypes = require("./contextTypes.cjs");
7
- const require_treeUtil = require("./utils/treeUtil.cjs");
8
- const require_TreeNode = require("./TreeNode.cjs");
9
- let vue = require("vue");
10
- let _v_c_util = require("@v-c/util");
11
- let _v_c_util_dist_omit = require("@v-c/util/dist/omit");
12
- _v_c_util_dist_omit = require_rolldown_runtime.__toESM(_v_c_util_dist_omit);
13
- let _v_c_util_dist_utils_transition = require("@v-c/util/dist/utils/transition");
14
- var MotionTreeNode = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
15
- const context = (0, vue.inject)(require_contextTypes.TreeContextKey, null);
16
- const prefixCls = (0, vue.computed)(() => context?.prefixCls);
17
- let hideTimer = null;
18
- const triggerMotionEndRef = (0, vue.ref)(false);
19
- const visible = (0, vue.ref)(true);
20
- const motionName = (0, vue.computed)(() => props?.motion?.name);
21
- const targetVisible = (0, vue.computed)(() => !!props.motionNodes && props.motionType !== "hide");
22
- const triggerMotionEnd = () => {
23
- if (props.motionNodes && !triggerMotionEndRef.value) {
24
- triggerMotionEndRef.value = true;
25
- props.onMotionEnd?.();
26
- }
27
- };
28
- const triggerMotionStart = () => {
29
- if (props.motionNodes) props?.onMotionStart?.();
30
- };
31
- (0, vue.onBeforeUnmount)(() => {
32
- if (hideTimer) {
33
- clearTimeout(hideTimer);
34
- hideTimer = null;
35
- }
36
- triggerMotionEnd();
37
- });
38
- (0, vue.watch)(() => props.motionNodes, (newMotionNodes, prevMotionNodes) => {
39
- if (newMotionNodes) {
40
- if (!prevMotionNodes) {
41
- triggerMotionEndRef.value = false;
42
- triggerMotionStart();
43
- }
44
- if (targetVisible.value !== visible.value) if (targetVisible.value) {
45
- if (hideTimer) {
46
- clearTimeout(hideTimer);
47
- hideTimer = null;
48
- }
49
- visible.value = true;
50
- } else {
51
- visible.value = true;
52
- if (hideTimer) clearTimeout(hideTimer);
53
- hideTimer = setTimeout(() => {
54
- visible.value = false;
55
- hideTimer = null;
56
- });
57
- }
58
- } else if (newMotionNodes === null) {
59
- if (hideTimer) {
60
- clearTimeout(hideTimer);
61
- hideTimer = null;
62
- }
63
- visible.value = true;
64
- }
65
- }, {
66
- immediate: true,
67
- flush: "post"
68
- });
69
- const onVisibleChanged = (newVisible) => {
70
- if (targetVisible.value === newVisible) triggerMotionEnd();
71
- };
72
- return () => {
73
- const { motionNodes, treeNodeRequiredProps, active, motion, motionType, treeId } = props;
74
- if (motionNodes) {
75
- const _motionNodes = motionNodes ?? [];
76
- const requiredProps = treeNodeRequiredProps;
77
- return (0, vue.createVNode)(vue.Transition, (0, vue.mergeProps)((0, _v_c_util_dist_utils_transition.getTransitionProps)(motionName.value, {
78
- ...motion,
79
- appear: motionType === "show"
80
- }), {
81
- "onAfterEnter": () => {
82
- onVisibleChanged(true);
83
- },
84
- "onAfterLeave": () => {
85
- onVisibleChanged(false);
86
- }
87
- }), { default: () => [visible.value && (0, vue.createVNode)("div", { "class": (0, _v_c_util.clsx)(`${prefixCls.value}-treenode-motion`) }, [_motionNodes.map((treeNode) => {
88
- const { data: nodeData, title, key, isStart, isEnd } = treeNode;
89
- const restProps = { ...nodeData || {} };
90
- delete restProps.children;
91
- delete restProps.key;
92
- return (0, vue.createVNode)(require_TreeNode.default, (0, vue.mergeProps)(restProps, require_treeUtil.getTreeNodeProps(key, requiredProps), {
93
- "title": title,
94
- "active": active,
95
- "data": nodeData,
96
- "key": key,
97
- "isStart": isStart,
98
- "isEnd": isEnd,
99
- "treeId": treeId
100
- }), null);
101
- })])] });
102
- }
103
- return (0, vue.createVNode)(require_TreeNode.default, (0, vue.mergeProps)((0, _v_c_util_dist_omit.default)(props, [
104
- "motion",
105
- "motionNodes",
106
- "motionType",
107
- "onMotionStart",
108
- "onMotionEnd",
109
- "treeNodeRequiredProps"
110
- ]), { "active": active }), null);
111
- };
112
- }, {
113
- props: {
114
- active: {
115
- type: Boolean,
116
- required: false,
117
- default: void 0
118
- },
119
- motion: {
120
- type: Object,
121
- required: false,
122
- default: void 0
123
- },
124
- motionNodes: {
125
- type: [Array, null],
126
- required: false,
127
- default: void 0
128
- },
129
- motionType: {
130
- type: [String, null],
131
- required: false,
132
- default: void 0
133
- },
134
- onMotionStart: {
135
- type: Function,
136
- required: false,
137
- default: void 0
138
- },
139
- onMotionEnd: {
140
- type: Function,
141
- required: false,
142
- default: void 0
143
- },
144
- treeNodeRequiredProps: {
145
- type: Object,
146
- required: true,
147
- default: void 0
148
- },
149
- treeId: {
150
- type: String,
151
- required: false,
152
- default: void 0
153
- },
154
- eventKey: {
155
- type: [String, Number],
156
- required: false,
157
- default: void 0
158
- },
159
- prefixCls: {
160
- type: String,
161
- required: false,
162
- default: void 0
163
- },
164
- className: {
165
- type: String,
166
- required: false,
167
- default: void 0
168
- },
169
- style: {
170
- type: Object,
171
- required: false,
172
- default: void 0
173
- },
174
- id: {
175
- type: [String, Number],
176
- required: false,
177
- default: void 0
178
- },
179
- expanded: {
180
- type: Boolean,
181
- required: false,
182
- default: void 0
183
- },
184
- selected: {
185
- type: Boolean,
186
- required: false,
187
- default: void 0
188
- },
189
- checked: {
190
- type: Boolean,
191
- required: false,
192
- default: void 0
193
- },
194
- loaded: {
195
- type: Boolean,
196
- required: false,
197
- default: void 0
198
- },
199
- loading: {
200
- type: Boolean,
201
- required: false,
202
- default: void 0
203
- },
204
- halfChecked: {
205
- type: Boolean,
206
- required: false,
207
- default: void 0
208
- },
209
- title: {
210
- type: [
211
- Object,
212
- Function,
213
- String,
214
- Number,
215
- null,
216
- Boolean,
217
- Array
218
- ],
219
- required: false,
220
- default: void 0
221
- },
222
- dragOver: {
223
- type: Boolean,
224
- required: false,
225
- default: void 0
226
- },
227
- dragOverGapTop: {
228
- type: Boolean,
229
- required: false,
230
- default: void 0
231
- },
232
- dragOverGapBottom: {
233
- type: Boolean,
234
- required: false,
235
- default: void 0
236
- },
237
- pos: {
238
- type: String,
239
- required: false,
240
- default: void 0
241
- },
242
- data: {
243
- required: false,
244
- default: void 0
245
- },
246
- isStart: {
247
- type: Array,
248
- required: false,
249
- default: void 0
250
- },
251
- isEnd: {
252
- type: Array,
253
- required: false,
254
- default: void 0
255
- },
256
- onMouseMove: {
257
- type: Function,
258
- required: false,
259
- default: void 0
260
- },
261
- isLeaf: {
262
- type: Boolean,
263
- required: false,
264
- default: void 0
265
- },
266
- checkable: {
267
- type: Boolean,
268
- required: false,
269
- default: void 0
270
- },
271
- selectable: {
272
- type: Boolean,
273
- required: false,
274
- default: void 0
275
- },
276
- disabled: {
277
- type: Boolean,
278
- required: false,
279
- default: void 0
280
- },
281
- disableCheckbox: {
282
- type: Boolean,
283
- required: false,
284
- default: void 0
285
- },
286
- icon: {
287
- type: [
288
- Object,
289
- Function,
290
- String,
291
- Number,
292
- null,
293
- Boolean,
294
- Array
295
- ],
296
- required: false,
297
- default: void 0
298
- },
299
- switcherIcon: {
300
- type: [
301
- Object,
302
- Function,
303
- String,
304
- Number,
305
- null,
306
- Boolean,
307
- Array
308
- ],
309
- required: false,
310
- default: void 0
311
- },
312
- children: {
313
- type: [
314
- Object,
315
- Function,
316
- String,
317
- Number,
318
- null,
319
- Boolean,
320
- Array
321
- ],
322
- required: false,
323
- default: void 0
324
- }
325
- },
326
- name: "MotionTreeNode",
327
- inheritAttrs: false
328
- });
329
- var MotionTreeNode_default = MotionTreeNode;
330
- exports.default = MotionTreeNode_default;