@central-design-system/components 3.0.0-beta.22 → 3.0.0-beta.24

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 (74) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +6 -3
  3. package/dist/cds.es.js +17943 -15168
  4. package/dist/cds.umd.js +5 -5
  5. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +18 -0
  6. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +26 -2
  7. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +18 -0
  8. package/dist/components/CdsModal/CdsModal.vue.d.ts +24 -2
  9. package/dist/components/CdsNotification/CdsNotificationAlert.vue.d.ts +18 -0
  10. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +34 -8
  11. package/dist/components/CdsOverlay/composable/activator.d.ts +18 -5
  12. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +1 -0
  13. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +1 -1
  14. package/dist/components/CdsOverlay/composable/teleport.d.ts +20 -1
  15. package/dist/components/CdsSkeletonLoader/CdsSkeletonLoader.vue.d.ts +3 -3
  16. package/dist/components/CdsTable/CdsTable.vue.d.ts +39 -30
  17. package/dist/components/CdsTable/components/Table/InternalTable.d.ts +33 -3
  18. package/dist/components/CdsTable/components/TableProvider.d.ts +33 -3
  19. package/dist/components/CdsTable/composable/table.d.ts +11 -1
  20. package/dist/components/CdsTable/interface.d.ts +2 -5
  21. package/dist/components/CdsTable/utils/column.d.ts +1 -3
  22. package/dist/components/CdsTable/utils/index.d.ts +0 -1
  23. package/dist/components/CdsTooltip/CdsTooltip.vue.d.ts +18 -0
  24. package/dist/components/CdsTree/CdsTree.vue.d.ts +698 -0
  25. package/dist/components/CdsTree/CdsTreeDirectory.vue.d.ts +448 -0
  26. package/dist/components/CdsTree/CdsTreeNode.vue.d.ts +119 -0
  27. package/dist/components/CdsTree/components/DropIndicator.d.ts +9 -0
  28. package/dist/components/CdsTree/components/Indent.d.ts +10 -0
  29. package/dist/components/CdsTree/components/MotionTreeNode.d.ts +128 -0
  30. package/dist/components/CdsTree/components/NodeList.d.ts +191 -0
  31. package/dist/components/CdsTree/components/SwitcherIcon.d.ts +12 -0
  32. package/dist/components/CdsTree/components/TreeContext.d.ts +81 -0
  33. package/dist/components/CdsTree/components/TreeProvider.d.ts +619 -0
  34. package/dist/components/CdsTree/components/VirtualList/Filler.d.ts +12 -0
  35. package/dist/components/CdsTree/components/VirtualList/Item.d.ts +6 -0
  36. package/dist/components/CdsTree/components/VirtualList/ScrollBar.d.ts +33 -0
  37. package/dist/components/CdsTree/components/VirtualList/VirtualList.d.ts +84 -0
  38. package/dist/components/CdsTree/components/VirtualList/features/index.d.ts +5 -0
  39. package/dist/components/CdsTree/components/VirtualList/features/useFrameWheel.d.ts +10 -0
  40. package/dist/components/CdsTree/components/VirtualList/features/useHeights.d.ts +9 -0
  41. package/dist/components/CdsTree/components/VirtualList/features/useMobileTouchMove.d.ts +2 -0
  42. package/dist/components/CdsTree/components/VirtualList/features/useOriginScroll.d.ts +2 -0
  43. package/dist/components/CdsTree/components/VirtualList/features/useScrollTo.d.ts +4 -0
  44. package/dist/components/CdsTree/components/VirtualList/index.d.ts +2 -0
  45. package/dist/components/CdsTree/components/VirtualList/interface.d.ts +10 -0
  46. package/dist/components/CdsTree/composable/events.d.ts +133 -0
  47. package/dist/components/CdsTree/composable/index.d.ts +2 -0
  48. package/dist/components/CdsTree/composable/tree.d.ts +273 -0
  49. package/dist/components/CdsTree/composable/treeNode.d.ts +75 -0
  50. package/dist/components/CdsTree/index.d.ts +5 -0
  51. package/dist/components/CdsTree/interface.d.ts +104 -4
  52. package/dist/components/CdsTree/utils/data.d.ts +70 -0
  53. package/dist/components/CdsTree/utils/diff.d.ts +6 -0
  54. package/dist/components/CdsTree/utils/directory.d.ts +9 -0
  55. package/dist/components/CdsTree/utils/index.d.ts +2 -0
  56. package/dist/components/CdsUploader/CdsUploader.vue.d.ts +1 -1
  57. package/dist/components/index.d.ts +5 -1
  58. package/dist/composable/delay.d.ts +3 -2
  59. package/dist/composable/overlay.d.ts +9 -1
  60. package/dist/composable/transition.d.ts +2 -0
  61. package/dist/create.d.ts +2 -0
  62. package/dist/globals.d.ts +7 -0
  63. package/dist/transitions/collapseTransition.d.ts +11 -0
  64. package/dist/transitions/index.d.ts +1 -0
  65. package/dist/utils/dom/bindProps.d.ts +2 -0
  66. package/dist/utils/dom/box.d.ts +1 -0
  67. package/dist/utils/helpers.d.ts +7 -5
  68. package/dist/utils/index.d.ts +3 -0
  69. package/dist/utils/use/flattenChildren.d.ts +3 -0
  70. package/package.json +1 -1
  71. package/src/scss/mixins/typo.scss +0 -3
  72. package/src/scss/modules/_transition.scss +31 -0
  73. package/src/scss/themes/index.ts +1 -1
  74. /package/dist/{components/CdsTable/utils → utils/use}/listener.d.ts +0 -0
@@ -0,0 +1,84 @@
1
+ import { Component, PropType } from 'vue';
2
+ declare type Key = string | number;
3
+ export declare type ScrollAlign = 'top' | 'bottom' | 'auto';
4
+ export declare type ScrollConfig = {
5
+ index: number;
6
+ align?: ScrollAlign;
7
+ offset?: number;
8
+ } | {
9
+ key: Key;
10
+ align?: ScrollAlign;
11
+ offset?: number;
12
+ };
13
+ export declare type ScrollTo = (arg: number | ScrollConfig) => void;
14
+ declare const _default: import("vue").DefineComponent<{
15
+ prefixCls: PropType<string>;
16
+ data: PropType<any[]>;
17
+ height: {
18
+ type: PropType<number>;
19
+ default: number;
20
+ };
21
+ itemHeight: {
22
+ type: PropType<number>;
23
+ default: number;
24
+ };
25
+ fullHeight: {
26
+ type: PropType<boolean>;
27
+ default: undefined;
28
+ };
29
+ itemKey: {
30
+ type: PropType<Key | ((item: Record<string, any>) => Key)>;
31
+ required: true;
32
+ };
33
+ component: {
34
+ type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
35
+ };
36
+ /** Set `false` will always use real scroll instead of virtual one */
37
+ virtual: {
38
+ type: BooleanConstructor;
39
+ default: undefined;
40
+ };
41
+ children: FunctionConstructor;
42
+ onScroll: FunctionConstructor;
43
+ onMousedown: FunctionConstructor;
44
+ onMouseEnter: FunctionConstructor;
45
+ onVisibleChange: PropType<(visibleList: any[], fullList: any[]) => void>;
46
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
47
+ prefixCls: PropType<string>;
48
+ data: PropType<any[]>;
49
+ height: {
50
+ type: PropType<number>;
51
+ default: number;
52
+ };
53
+ itemHeight: {
54
+ type: PropType<number>;
55
+ default: number;
56
+ };
57
+ fullHeight: {
58
+ type: PropType<boolean>;
59
+ default: undefined;
60
+ };
61
+ itemKey: {
62
+ type: PropType<Key | ((item: Record<string, any>) => Key)>;
63
+ required: true;
64
+ };
65
+ component: {
66
+ type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
67
+ };
68
+ /** Set `false` will always use real scroll instead of virtual one */
69
+ virtual: {
70
+ type: BooleanConstructor;
71
+ default: undefined;
72
+ };
73
+ children: FunctionConstructor;
74
+ onScroll: FunctionConstructor;
75
+ onMousedown: FunctionConstructor;
76
+ onMouseEnter: FunctionConstructor;
77
+ onVisibleChange: PropType<(visibleList: any[], fullList: any[]) => void>;
78
+ }>>, {
79
+ height: number;
80
+ virtual: boolean;
81
+ itemHeight: number;
82
+ fullHeight: boolean;
83
+ }>;
84
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export * from './useHeights';
2
+ export * from './useOriginScroll';
3
+ export * from './useFrameWheel';
4
+ export * from './useMobileTouchMove';
5
+ export * from './useScrollTo';
@@ -0,0 +1,10 @@
1
+ import { Ref } from 'vue';
2
+ interface FireFoxDOMMouseScrollEvent {
3
+ detail: number;
4
+ preventDefault: Function;
5
+ }
6
+ export declare function useFrameWheel(inVirtual: Ref<boolean>, isScrollAtTop: Ref<boolean>, isScrollAtBottom: Ref<boolean>, onWheelDelta: (offset: number) => void): {
7
+ onWheel: (e: WheelEvent) => void;
8
+ onFireFoxScroll: (e: FireFoxDOMMouseScrollEvent) => void;
9
+ };
10
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Ref, ShallowRef } from 'vue';
2
+ import { GetKey } from '../interface';
3
+ export declare type CacheMap = Map<any, number>;
4
+ export declare function useHeights<T>(mergedData: ShallowRef<any[]>, getKey: GetKey<T>, onItemAdd?: ((item: T) => void) | null, onItemRemove?: ((item: T) => void) | null): {
5
+ setInstance: (item: T, instance: HTMLElement) => void;
6
+ collectHeight: () => void;
7
+ heights: CacheMap;
8
+ updatedMark: Ref<Symbol>;
9
+ };
@@ -0,0 +1,2 @@
1
+ import { Ref } from 'vue';
2
+ export declare function useMobileTouchMove(inVirtual: Ref<boolean>, listRef: Ref<HTMLDivElement | undefined>, callback: (offsetY: number, smoothOffset?: boolean) => boolean): void;
@@ -0,0 +1,2 @@
1
+ import { Ref } from 'vue';
2
+ export declare function useOriginScroll(isScrollAtTop: Ref<boolean>, isScrollAtBottom: Ref<boolean>): (deltaY: number, smoothOffset?: boolean) => boolean;
@@ -0,0 +1,4 @@
1
+ import { Ref, ShallowRef } from 'vue';
2
+ import { GetKey } from '../interface';
3
+ import { CacheMap } from './useHeights';
4
+ export declare function useScrollTo(containerRef: Ref<Element | undefined>, mergedData: ShallowRef<any[]>, heights: CacheMap, props: any, getKey: GetKey, collectHeight: () => void, syncScrollTop: (newTop: number) => void, triggerFlash: () => void): (arg?: any) => void;
@@ -0,0 +1,2 @@
1
+ export * from './VirtualList';
2
+ export { default as VirtualList } from './VirtualList';
@@ -0,0 +1,10 @@
1
+ import { CSSProperties, VNodeTypes } from 'vue';
2
+ declare type Key = string | number;
3
+ export declare type RenderFunc<T> = (item: T, index: number, props: {
4
+ style?: CSSProperties;
5
+ }) => VNodeTypes;
6
+ export interface SharedConfig<T> {
7
+ getKey: (item: T) => Key;
8
+ }
9
+ export declare type GetKey<T = object> = (item: T) => Key;
10
+ export {};
@@ -0,0 +1,133 @@
1
+ import { PropType } from 'vue';
2
+ import { NTree } from '../../../components';
3
+ export declare const makeTreeEventsProps: <Defaults extends {
4
+ onFocus?: unknown;
5
+ onBlur?: unknown;
6
+ onKeydown?: unknown;
7
+ onContextmenu?: unknown;
8
+ onClick?: unknown;
9
+ onDblclick?: unknown;
10
+ onScroll?: unknown;
11
+ onExpand?: unknown;
12
+ onCheck?: unknown;
13
+ onSelect?: unknown;
14
+ onLoad?: unknown;
15
+ onMouseenter?: unknown;
16
+ onMouseleave?: unknown;
17
+ onRightClick?: unknown;
18
+ onDragstart?: unknown;
19
+ onDragenter?: unknown;
20
+ onDragover?: unknown;
21
+ onDragleave?: unknown;
22
+ onDragend?: unknown;
23
+ onDrop?: unknown;
24
+ onActiveChange?: unknown;
25
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
26
+ onFocus: {
27
+ type: PropType<(event: FocusEvent) => void>;
28
+ default: undefined;
29
+ };
30
+ onBlur: {
31
+ type: PropType<(event: FocusEvent) => void>;
32
+ default: undefined;
33
+ };
34
+ onKeydown: {
35
+ type: PropType<NTree.TEventHandler>;
36
+ default: undefined;
37
+ };
38
+ onContextmenu: {
39
+ type: PropType<NTree.TEventHandler>;
40
+ default: undefined;
41
+ };
42
+ onClick: {
43
+ type: PropType<NTree.TNodeMouseEventHandler>;
44
+ default: undefined;
45
+ };
46
+ onDblclick: {
47
+ type: PropType<NTree.TNodeMouseEventHandler>;
48
+ default: undefined;
49
+ };
50
+ onScroll: {
51
+ type: PropType<NTree.TEventHandler>;
52
+ default: undefined;
53
+ };
54
+ onExpand: {
55
+ type: PropType<(expandedKeys: NTree.TKey[], info: {
56
+ node: NTree.IEventDataNode;
57
+ expanded: boolean;
58
+ nativeEvent: MouseEvent;
59
+ }) => void>;
60
+ default: undefined;
61
+ };
62
+ onCheck: {
63
+ type: PropType<(checked: NTree.TKey[] | {
64
+ checked: NTree.TKey[];
65
+ halfChecked: NTree.TKey[];
66
+ }, info: NTree.ICheckInfo) => void>;
67
+ default: undefined;
68
+ };
69
+ onSelect: {
70
+ type: PropType<(selectedKeys: NTree.TKey[], info: {
71
+ event: 'select';
72
+ selected: boolean;
73
+ node: NTree.IEventDataNode;
74
+ selectedNodes: NTree.IDataNode[];
75
+ nativeEvent: MouseEvent;
76
+ }) => void>;
77
+ default: undefined;
78
+ };
79
+ onLoad: {
80
+ type: PropType<(loadedKeys: NTree.TKey[], info: {
81
+ event: 'load';
82
+ node: NTree.IEventDataNode;
83
+ }) => void>;
84
+ default: undefined;
85
+ };
86
+ onMouseenter: {
87
+ type: PropType<(info: NTree.TNodeMouseEventParams) => void>;
88
+ default: undefined;
89
+ };
90
+ onMouseleave: {
91
+ type: PropType<(info: NTree.TNodeMouseEventParams) => void>;
92
+ default: undefined;
93
+ };
94
+ onRightClick: {
95
+ type: PropType<(info: NTree.TNodeMouseEventParams) => void>;
96
+ default: undefined;
97
+ };
98
+ onDragstart: {
99
+ type: PropType<(info: NTree.TNodeDragEventParams) => void>;
100
+ default: undefined;
101
+ };
102
+ onDragenter: {
103
+ type: PropType<(info: NTree.TNodeDragEventParams & {
104
+ expandedKeys: NTree.TKey[];
105
+ }) => void>;
106
+ default: undefined;
107
+ };
108
+ onDragover: {
109
+ type: PropType<(info: NTree.TNodeDragEventParams) => void>;
110
+ default: undefined;
111
+ };
112
+ onDragleave: {
113
+ type: PropType<(info: NTree.TNodeDragEventParams) => void>;
114
+ default: undefined;
115
+ };
116
+ onDragend: {
117
+ type: PropType<(info: NTree.TNodeDragEventParams) => void>;
118
+ default: undefined;
119
+ };
120
+ onDrop: {
121
+ type: PropType<(info: NTree.TNodeDragEventParams & {
122
+ dragNode: NTree.IEventDataNode | null;
123
+ dragNodesKeys: NTree.TKey[];
124
+ dropPosition: number;
125
+ dropToGap: boolean;
126
+ }) => void>;
127
+ default: undefined;
128
+ };
129
+ onActiveChange: {
130
+ type: PropType<(key: NTree.TKey | null) => void>;
131
+ default: undefined;
132
+ };
133
+ }, Defaults>;
@@ -1 +1,3 @@
1
1
  export * from './tree';
2
+ export * from './treeNode';
3
+ export * from './events';
@@ -1,5 +1,278 @@
1
+ import { ExtractPropTypes, PropType } from 'vue';
2
+ import { SwitcherIconProps } from '../components/SwitcherIcon';
3
+ import type { TCdsIconsName } from '@central-design-system/icons';
1
4
  import type { NTree } from '../interface';
2
5
  import type { ShallowRef } from 'vue';
6
+ export declare const makeTreeProps: <Defaults extends {
7
+ treeData?: unknown;
8
+ selectable?: unknown;
9
+ multiple?: unknown;
10
+ checkable?: unknown;
11
+ draggable?: unknown;
12
+ checkedKeys?: unknown;
13
+ expandedKeys?: unknown;
14
+ selectedKeys?: unknown;
15
+ autoExpandParent?: unknown;
16
+ defaultExpandedKeys?: unknown;
17
+ defaultExpandParent?: unknown;
18
+ defaultExpandAll?: unknown;
19
+ defaultSelectedKeys?: unknown;
20
+ expandAction?: unknown;
21
+ checkStrictly?: unknown;
22
+ allowDrop?: unknown;
23
+ blockNode?: unknown;
24
+ fieldNames?: unknown;
25
+ showLine?: unknown;
26
+ showIcon?: unknown;
27
+ filterTreeNode?: unknown;
28
+ loadData?: unknown;
29
+ loadedKeys?: unknown;
30
+ icon?: unknown;
31
+ switcherIcon?: unknown;
32
+ openAnimation?: unknown;
33
+ virtual?: unknown;
34
+ height?: unknown;
35
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
36
+ /**
37
+ * Данные дерева
38
+ */
39
+ treeData: {
40
+ type: PropType<NTree.IDataNode[]>;
41
+ default: undefined;
42
+ };
43
+ /**
44
+ * Выбираемые узлы дерева
45
+ */
46
+ selectable: {
47
+ type: PropType<boolean>;
48
+ default: boolean;
49
+ };
50
+ /**
51
+ * Множественный выбор узлов дерева
52
+ */
53
+ multiple: {
54
+ type: PropType<boolean>;
55
+ default: boolean;
56
+ };
57
+ /**
58
+ * Добавляет checkbox перед узлами дерева
59
+ */
60
+ checkable: {
61
+ type: PropType<boolean>;
62
+ default: boolean;
63
+ };
64
+ /**
65
+ * Разрешает перетаскивание узлов дерева
66
+ */
67
+ draggable: {
68
+ type: PropType<boolean | NTree.TDraggableConfig>;
69
+ default: boolean;
70
+ };
71
+ /**
72
+ * (v-model) Определяет ключи выбранных узлов дерева.
73
+ * Когда указан ключ узла дерева, который также является родительским узлом дерева, все дочерние узлы дерева будут checked;
74
+ * и наоборот, когда указан ключ узла дерева, который является дочерним узлом дерева, его родительский узел дерева также будет checked.
75
+ * Когда checkable и checkStrictly равны true, объект имеет свойство checked и halfChecked. Независимо от того, проверяется ли дочерний или родительский узел дерева, они не будут влиять друг на друга.
76
+ */
77
+ checkedKeys: {
78
+ type: PropType<NTree.TKey[] | {
79
+ checked: NTree.TKey[];
80
+ halfChecked: NTree.TKey[];
81
+ }>;
82
+ default: undefined;
83
+ };
84
+ /**
85
+ * (v-model) Определяет ключи раскрытых узлов дерева.
86
+ */
87
+ expandedKeys: {
88
+ type: PropType<NTree.TKey[]>;
89
+ default: undefined;
90
+ };
91
+ /**
92
+ * (v-model) Определяет ключи выбранных узлов дерева.
93
+ */
94
+ selectedKeys: {
95
+ type: PropType<NTree.TKey[]>;
96
+ default: undefined;
97
+ };
98
+ /**
99
+ * Автоматически раскрывать родительский узел
100
+ */
101
+ autoExpandParent: {
102
+ type: PropType<boolean>;
103
+ default: boolean;
104
+ };
105
+ /**
106
+ * Раскрывать все узлы по умолчанию
107
+ */
108
+ defaultExpandedKeys: {
109
+ type: PropType<NTree.TKey[]>;
110
+ default: () => never[];
111
+ };
112
+ /**
113
+ * Раскрывать родительские узлы по умолчанию
114
+ */
115
+ defaultExpandParent: {
116
+ type: PropType<boolean>;
117
+ default: boolean;
118
+ };
119
+ /**
120
+ * Раскрывать все узлы по умолчанию
121
+ */
122
+ defaultExpandAll: {
123
+ type: PropType<boolean>;
124
+ default: boolean;
125
+ };
126
+ /**
127
+ * Выбранные узлы дерева по умолчанию
128
+ */
129
+ defaultSelectedKeys: {
130
+ type: PropType<NTree.TKey[]>;
131
+ default: undefined;
132
+ };
133
+ /**
134
+ * Действие, которое будет раскрывать/скрывать узлы дерева
135
+ */
136
+ expandAction: {
137
+ type: PropType<NTree.TExpandAction>;
138
+ default: undefined;
139
+ };
140
+ /**
141
+ * Выбирает только родительский узел.
142
+ */
143
+ checkStrictly: {
144
+ type: PropType<boolean>;
145
+ default: boolean;
146
+ };
147
+ /**
148
+ * Разрешает сброс на узле
149
+ */
150
+ allowDrop: {
151
+ type: PropType<NTree.TAllowDrop<NTree.IDataNode>>;
152
+ default: () => true;
153
+ };
154
+ /**
155
+ * Узел дерева заполняет все оставшееся горизонтальное пространство
156
+ */
157
+ blockNode: {
158
+ type: PropType<boolean>;
159
+ default: boolean;
160
+ };
161
+ /**
162
+ * Заменяет поля title, key и children в treeNode на соответствующие поля в treeData
163
+ */
164
+ fieldNames: {
165
+ type: PropType<NTree.IFieldNames>;
166
+ default: undefined;
167
+ };
168
+ /**
169
+ * Показывает линии между узлами дерева
170
+ */
171
+ showLine: {
172
+ type: PropType<boolean | {
173
+ showLeafIcon: boolean | TCdsIconsName;
174
+ }>;
175
+ default: undefined;
176
+ };
177
+ /**
178
+ * Показывает иконку узла дерева
179
+ */
180
+ showIcon: {
181
+ type: PropType<boolean>;
182
+ default: boolean;
183
+ };
184
+ /**
185
+ * Функция для фильтрации (выделения) узлов дерева. Когда функция возвращает true, узел дерева будет выделен.
186
+ */
187
+ filterTreeNode: {
188
+ type: PropType<(treeNode: NTree.IEventDataNode) => boolean>;
189
+ default: undefined;
190
+ };
191
+ /**
192
+ * Загружает данные для узла дерева асинхронно
193
+ */
194
+ loadData: {
195
+ type: PropType<(treeNode: NTree.IEventDataNode) => Promise<any>>;
196
+ default: undefined;
197
+ };
198
+ /**
199
+ * Загруженные узлы дерева. Необходимо для работы с loadData
200
+ */
201
+ loadedKeys: {
202
+ type: PropType<NTree.TKey[]>;
203
+ default: () => never[];
204
+ };
205
+ /**
206
+ * Иконка узла дерева (также доступно через slot#icon)
207
+ */
208
+ icon: {
209
+ type: PropType<(nodeProps: NTree.ITreeNodeAttribute) => any>;
210
+ default: undefined;
211
+ };
212
+ /**
213
+ * Иконка открытия/закрытия узла дерева (также доступно через slot#switcherIcon)
214
+ */
215
+ switcherIcon: {
216
+ type: PropType<(nodeProps: SwitcherIconProps) => any>;
217
+ default: undefined;
218
+ };
219
+ /**
220
+ * Функция анимации открытия/закрытия узла дерева
221
+ */
222
+ openAnimation: {
223
+ type: FunctionConstructor;
224
+ default: undefined;
225
+ };
226
+ /**
227
+ * Включает виртуальную прокрутку списка в дереве, по-умолчанию включено
228
+ */
229
+ virtual: {
230
+ type: PropType<boolean>;
231
+ default: boolean;
232
+ };
233
+ /**
234
+ * Высота виртуального списка для прокрутки
235
+ */
236
+ height: {
237
+ type: PropType<number>;
238
+ default: undefined;
239
+ };
240
+ }, Defaults>;
241
+ export interface ITreeProps extends Partial<ExtractPropTypes<ReturnType<typeof makeTreeProps>>> {
242
+ onLoad?: (loadedKeys: NTree.TKey[], info: {
243
+ event: 'load';
244
+ node: NTree.IEventDataNode;
245
+ }) => void;
246
+ onDragenter?: (info: NTree.TNodeDragEventParams & {
247
+ expandedKeys: NTree.TKey[];
248
+ }) => void;
249
+ onDragstart?: (info: NTree.TNodeDragEventParams) => void;
250
+ onDragover?: (info: NTree.TNodeDragEventParams) => void;
251
+ onDragleave?: (info: NTree.TNodeDragEventParams) => void;
252
+ onDragend?: (info: NTree.TNodeDragEventParams) => void;
253
+ onDrop?: (info: NTree.TNodeDragEventParams & {
254
+ dragNode: NTree.IEventDataNode | null;
255
+ dragNodesKeys: NTree.TKey[];
256
+ dropPosition: number;
257
+ dropToGap: boolean;
258
+ }) => void;
259
+ onCheck?: (checked: {
260
+ checked: NTree.TKey[];
261
+ halfChecked: NTree.TKey[];
262
+ } | NTree.TKey[], info: NTree.ICheckInfo) => void;
263
+ onExpand?: (expandedKeys: NTree.TKey[], info: {
264
+ node: NTree.IEventDataNode;
265
+ expanded: boolean;
266
+ nativeEvent: MouseEvent;
267
+ }) => void;
268
+ onSelect?: (selectedKeys: NTree.TKey[], info: {
269
+ event: 'select';
270
+ selected: boolean;
271
+ node: NTree.IEventDataNode;
272
+ selectedNodes: NTree.IDataNode[];
273
+ nativeEvent: MouseEvent;
274
+ }) => void;
275
+ }
3
276
  export declare function useMaxLevel<TreeDataType extends NTree.IBasicDataNode = NTree.IDataNode>(keyEntities: ShallowRef<Record<NTree.TKey, NTree.IDataEntity>>): {
4
277
  maxLevel: import("vue").Ref<number>;
5
278
  levelEntities: ShallowRef<Map<number, Set<NTree.IDataEntity<TreeDataType>>> | undefined>;
@@ -0,0 +1,75 @@
1
+ import { ExtractPropTypes, PropType } from 'vue';
2
+ import { NTree } from '../../../components';
3
+ export declare const makeTreeNodeProps: <Defaults extends {
4
+ eventKey?: unknown;
5
+ prefixCls?: unknown;
6
+ title?: unknown;
7
+ data?: unknown;
8
+ parent?: unknown;
9
+ isStart?: unknown;
10
+ isEnd?: unknown;
11
+ active?: unknown;
12
+ onMousemove?: unknown;
13
+ isLeaf?: unknown;
14
+ checkable?: unknown;
15
+ selectable?: unknown;
16
+ disabled?: unknown;
17
+ disableCheckbox?: unknown;
18
+ icon?: unknown;
19
+ switcherIcon?: unknown;
20
+ domRef?: unknown;
21
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
22
+ eventKey: {
23
+ type: PropType<NTree.TKey>;
24
+ default: string;
25
+ };
26
+ prefixCls: StringConstructor;
27
+ title: (StringConstructor | FunctionConstructor)[];
28
+ data: {
29
+ type: PropType<NTree.IDataNode>;
30
+ default: NTree.IDataNode;
31
+ };
32
+ parent: {
33
+ type: PropType<NTree.IDataNode>;
34
+ default: NTree.IDataNode;
35
+ };
36
+ isStart: {
37
+ type: PropType<boolean[]>;
38
+ };
39
+ isEnd: {
40
+ type: PropType<boolean[]>;
41
+ };
42
+ active: {
43
+ type: BooleanConstructor;
44
+ default: undefined;
45
+ };
46
+ onMousemove: {
47
+ type: PropType<NTree.TEventHandler>;
48
+ };
49
+ isLeaf: {
50
+ type: BooleanConstructor;
51
+ default: undefined;
52
+ };
53
+ checkable: {
54
+ type: BooleanConstructor;
55
+ default: undefined;
56
+ };
57
+ selectable: {
58
+ type: BooleanConstructor;
59
+ default: undefined;
60
+ };
61
+ disabled: {
62
+ type: BooleanConstructor;
63
+ default: undefined;
64
+ };
65
+ disableCheckbox: {
66
+ type: BooleanConstructor;
67
+ default: undefined;
68
+ };
69
+ icon: FunctionConstructor[];
70
+ switcherIcon: FunctionConstructor[];
71
+ domRef: {
72
+ type: PropType<(arg: any) => void>;
73
+ };
74
+ }, Defaults>;
75
+ export declare type ITreeNodeProps = Partial<ExtractPropTypes<ReturnType<typeof makeTreeNodeProps>>>;
@@ -0,0 +1,5 @@
1
+ export * from './interface';
2
+ export type { ITreeProps } from './composable';
3
+ export { default as CdsTree } from './CdsTree.vue';
4
+ export { default as CdsTreeNode } from './CdsTreeNode.vue';
5
+ export { default as CdsTreeDirectory } from './CdsTreeDirectory.vue';