domma-js 0.55.0 → 0.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/types/generated/public/assets/flags/africa.d.ts +6 -0
- package/assets/types/generated/public/assets/flags/americas.d.ts +6 -0
- package/assets/types/generated/public/assets/flags/asia.d.ts +6 -0
- package/assets/types/generated/public/assets/flags/europe.d.ts +9 -0
- package/assets/types/generated/public/assets/flags/index.d.ts +11 -0
- package/assets/types/generated/public/assets/flags/oceania.d.ts +2 -0
- package/assets/types/generated/public/assets/icons/buildings.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/code.d.ts +2 -0
- package/assets/types/generated/public/assets/icons/commerce.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/communication.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/devices.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/emojis.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/files.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/finance.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/forms.d.ts +5 -0
- package/assets/types/generated/public/assets/icons/health.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/index.d.ts +24 -0
- package/assets/types/generated/public/assets/icons/media.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/navigation.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/seasonal.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/social.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/sport.d.ts +6 -0
- package/assets/types/generated/public/assets/icons/status.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/transport.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/ui.d.ts +7 -0
- package/assets/types/generated/public/assets/icons/weather.d.ts +6 -0
- package/assets/types/generated/src/auth.d.ts +424 -0
- package/assets/types/generated/src/avatar.d.ts +270 -0
- package/assets/types/generated/src/binding-source.d.ts +58 -0
- package/assets/types/generated/src/butterfly-drawing.d.ts +2 -0
- package/assets/types/generated/src/component-factory.d.ts +150 -0
- package/assets/types/generated/src/component.d.ts +162 -0
- package/assets/types/generated/src/components/back-to-top.d.ts +150 -0
- package/assets/types/generated/src/components/badge.d.ts +208 -0
- package/assets/types/generated/src/components/card.d.ts +189 -0
- package/assets/types/generated/src/components/command-palette.d.ts +352 -0
- package/assets/types/generated/src/components/dropzone.d.ts +342 -0
- package/assets/types/generated/src/components/focus-trap.d.ts +238 -0
- package/assets/types/generated/src/components/loader.d.ts +133 -0
- package/assets/types/generated/src/components/modal.d.ts +341 -0
- package/assets/types/generated/src/components/range-slider.d.ts +267 -0
- package/assets/types/generated/src/components/shared.d.ts +91 -0
- package/assets/types/generated/src/components/split-pane.d.ts +239 -0
- package/assets/types/generated/src/components/toast.d.ts +284 -0
- package/assets/types/generated/src/components/tooltip.d.ts +200 -0
- package/assets/types/generated/src/components/virtual-list.d.ts +340 -0
- package/assets/types/generated/src/config.d.ts +193 -0
- package/assets/types/generated/src/context-cursor.d.ts +69 -0
- package/assets/types/generated/src/context-menu.d.ts +596 -0
- package/assets/types/generated/src/dates.d.ts +367 -0
- package/assets/types/generated/src/dom.d.ts +1221 -0
- package/assets/types/generated/src/effects.d.ts +1281 -0
- package/assets/types/generated/src/elements.d.ts +4996 -0
- package/assets/types/generated/src/escape.d.ts +5 -0
- package/assets/types/generated/src/flags-bundle.d.ts +4 -0
- package/assets/types/generated/src/flags.d.ts +338 -0
- package/assets/types/generated/src/forms.d.ts +1060 -0
- package/assets/types/generated/src/globals.d.ts +45 -0
- package/assets/types/generated/src/http.d.ts +131 -0
- package/assets/types/generated/src/i18n.d.ts +261 -0
- package/assets/types/generated/src/icons.d.ts +213 -0
- package/assets/types/generated/src/index.d.ts +249 -0
- package/assets/types/generated/src/input-group.d.ts +135 -0
- package/assets/types/generated/src/models.d.ts +968 -0
- package/assets/types/generated/src/popover.d.ts +412 -0
- package/assets/types/generated/src/router.d.ts +344 -0
- package/assets/types/generated/src/safe-url.d.ts +10 -0
- package/assets/types/generated/src/sanitize.d.ts +97 -0
- package/assets/types/generated/src/schema-builder.d.ts +420 -0
- package/assets/types/generated/src/skeleton.d.ts +135 -0
- package/assets/types/generated/src/smooth-caret.d.ts +61 -0
- package/assets/types/generated/src/sortable.d.ts +369 -0
- package/assets/types/generated/src/storage.d.ts +93 -0
- package/assets/types/generated/src/tables.d.ts +901 -0
- package/assets/types/generated/src/theme.d.ts +277 -0
- package/assets/types/generated/src/ticker-tape-drawing.d.ts +2 -0
- package/assets/types/generated/src/treeview.d.ts +504 -0
- package/assets/types/generated/src/utils.d.ts +1667 -0
- package/assets/types/generated/src/web-components/base/domma-element.d.ts +134 -0
- package/assets/types/generated/src/web-components/index.d.ts +14 -0
- package/assets/types/generated/vendor/domma-reactive.d.ts +587 -0
- package/assets/types/index.d.ts +104 -216
- package/package.json +5 -2
- package/public/dist/bundles/domma-complete.css +1084 -14
- package/public/dist/bundles/domma-data-focused.css +1084 -14
- package/public/dist/bundles/domma-essentials.css +1084 -14
- package/public/dist/bundles/domma-full.css +1084 -14
- package/public/dist/bundles/domma-minimal.css +8 -8
- package/public/dist/domma-flags.esm.js +3 -3
- package/public/dist/domma-flags.esm.js.map +1 -1
- package/public/dist/domma-flags.min.js +3 -3
- package/public/dist/domma-flags.min.js.map +1 -1
- package/public/dist/domma-syntax.min.js +3 -3
- package/public/dist/domma.css +3 -3
- package/public/dist/domma.esm.js +5 -5
- package/public/dist/domma.esm.js.map +1 -1
- package/public/dist/domma.min.js +5 -5
- package/public/dist/domma.min.js.map +1 -1
- package/public/dist/elements.css +1073 -3
- package/public/dist/grid.css +3 -3
- package/public/dist/syntax.css +3 -3
- package/public/dist/themes/domma-themes.css +3 -3
- package/templates/kickstart/frontend/types/domma.d.ts +2 -1
- package/assets/types/config.d.ts +0 -136
- package/assets/types/dates.d.ts +0 -209
- package/assets/types/dom.d.ts +0 -448
- package/assets/types/elements.d.ts +0 -682
- package/assets/types/flags.d.ts +0 -130
- package/assets/types/http.d.ts +0 -97
- package/assets/types/icons.d.ts +0 -147
- package/assets/types/models.d.ts +0 -260
- package/assets/types/smooth-caret.d.ts +0 -12
- package/assets/types/storage.d.ts +0 -93
- package/assets/types/tables.d.ts +0 -327
- package/assets/types/theme.d.ts +0 -137
- package/assets/types/utils.d.ts +0 -675
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
export default TreeView;
|
|
2
|
+
/**
|
|
3
|
+
* A node id: whatever the data's `idKey` holds.
|
|
4
|
+
*/
|
|
5
|
+
export type TreeViewNodeId = string | number;
|
|
6
|
+
/**
|
|
7
|
+
* A data row. The keys are configurable (`idKey`, `parentKey`, `childrenKey`, `labelKey`,
|
|
8
|
+
* `iconKey`, `colorKey`); `children` is filled in when a flat array is given.
|
|
9
|
+
*/
|
|
10
|
+
export type TreeViewNode = Record<string, any>;
|
|
11
|
+
/**
|
|
12
|
+
* The state handed to `renderNode`.
|
|
13
|
+
*/
|
|
14
|
+
export type TreeViewNodeState = {
|
|
15
|
+
isExpanded: boolean;
|
|
16
|
+
isSelected: boolean;
|
|
17
|
+
hasChildren: boolean;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* An action button drawn on each node.
|
|
21
|
+
*/
|
|
22
|
+
export type TreeViewAction = {
|
|
23
|
+
/**
|
|
24
|
+
* - Passed to onAction; the button's text when there is no icon
|
|
25
|
+
*/
|
|
26
|
+
name: string;
|
|
27
|
+
/**
|
|
28
|
+
* - Icon name
|
|
29
|
+
*/
|
|
30
|
+
icon?: string;
|
|
31
|
+
/**
|
|
32
|
+
* - Title and aria-label (default: the name)
|
|
33
|
+
*/
|
|
34
|
+
tooltip?: string;
|
|
35
|
+
/**
|
|
36
|
+
* - Show the button on this node?
|
|
37
|
+
*/
|
|
38
|
+
visible?: (node: TreeViewNode) => boolean;
|
|
39
|
+
};
|
|
40
|
+
export type TreeViewOptions = {
|
|
41
|
+
/**
|
|
42
|
+
* - Flat (with parentKey) or hierarchical (with childrenKey) rows
|
|
43
|
+
*/
|
|
44
|
+
data?: TreeViewNode[];
|
|
45
|
+
/**
|
|
46
|
+
* - Default 'id'
|
|
47
|
+
*/
|
|
48
|
+
idKey?: string;
|
|
49
|
+
/**
|
|
50
|
+
* - Default 'parent_id'
|
|
51
|
+
*/
|
|
52
|
+
parentKey?: string;
|
|
53
|
+
/**
|
|
54
|
+
* - Default 'children'
|
|
55
|
+
*/
|
|
56
|
+
childrenKey?: string;
|
|
57
|
+
/**
|
|
58
|
+
* - Default 'name'
|
|
59
|
+
*/
|
|
60
|
+
labelKey?: string;
|
|
61
|
+
/**
|
|
62
|
+
* - Default 'icon'
|
|
63
|
+
*/
|
|
64
|
+
iconKey?: string;
|
|
65
|
+
/**
|
|
66
|
+
* - Default 'color'
|
|
67
|
+
*/
|
|
68
|
+
colorKey?: string;
|
|
69
|
+
/**
|
|
70
|
+
* - Default true
|
|
71
|
+
*/
|
|
72
|
+
expandedByDefault?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* - Ids expanded at the start
|
|
75
|
+
*/
|
|
76
|
+
expandedNodes?: TreeViewNodeId[];
|
|
77
|
+
/**
|
|
78
|
+
* - Default true
|
|
79
|
+
*/
|
|
80
|
+
selectable?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* - Default false
|
|
83
|
+
*/
|
|
84
|
+
multiSelect?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* - Ids selected at the start
|
|
87
|
+
*/
|
|
88
|
+
selectedNodes?: TreeViewNodeId[];
|
|
89
|
+
/**
|
|
90
|
+
* - HTML for a node's content
|
|
91
|
+
*/
|
|
92
|
+
renderNode?: ((node: TreeViewNode, depth: number, state: TreeViewNodeState) => string) | null;
|
|
93
|
+
/**
|
|
94
|
+
* - Badge text (HTML), or null for none
|
|
95
|
+
*/
|
|
96
|
+
getBadge?: ((node: TreeViewNode) => string | number | null | undefined) | null;
|
|
97
|
+
/**
|
|
98
|
+
* - Icon name (default: node[iconKey])
|
|
99
|
+
*/
|
|
100
|
+
getNodeIcon?: ((node: TreeViewNode) => string | null | undefined) | null;
|
|
101
|
+
/**
|
|
102
|
+
* - Extra classes on the node
|
|
103
|
+
*/
|
|
104
|
+
getNodeClass?: ((node: TreeViewNode) => string) | null;
|
|
105
|
+
/**
|
|
106
|
+
* - Action buttons on each node
|
|
107
|
+
*/
|
|
108
|
+
actions?: TreeViewAction[];
|
|
109
|
+
/**
|
|
110
|
+
* - rem per level (default 1.5)
|
|
111
|
+
*/
|
|
112
|
+
indentSize?: number;
|
|
113
|
+
/**
|
|
114
|
+
* - Default true
|
|
115
|
+
*/
|
|
116
|
+
showIcons?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* - Default true
|
|
119
|
+
*/
|
|
120
|
+
showToggleButtons?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* - Default 'chevron-down'
|
|
123
|
+
*/
|
|
124
|
+
toggleIcon?: string;
|
|
125
|
+
onSelect?: ((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void) | null;
|
|
126
|
+
onDeselect?: ((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void) | null;
|
|
127
|
+
onExpand?: ((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void) | null;
|
|
128
|
+
onCollapse?: ((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void) | null;
|
|
129
|
+
onAction?: ((action: string, nodeId: TreeViewNodeId, node: TreeViewNode, event: MouseEvent) => void) | null;
|
|
130
|
+
onClick?: ((nodeId: TreeViewNodeId, node: TreeViewNode, event: MouseEvent) => void) | null;
|
|
131
|
+
};
|
|
132
|
+
export type TreeViewInstance = TreeView;
|
|
133
|
+
/**
|
|
134
|
+
* A node id: whatever the data's `idKey` holds.
|
|
135
|
+
* @typedef {string|number} TreeViewNodeId
|
|
136
|
+
*/
|
|
137
|
+
/**
|
|
138
|
+
* A data row. The keys are configurable (`idKey`, `parentKey`, `childrenKey`, `labelKey`,
|
|
139
|
+
* `iconKey`, `colorKey`); `children` is filled in when a flat array is given.
|
|
140
|
+
* @typedef {Record<string, any>} TreeViewNode
|
|
141
|
+
*/
|
|
142
|
+
/**
|
|
143
|
+
* The state handed to `renderNode`.
|
|
144
|
+
* @typedef {object} TreeViewNodeState
|
|
145
|
+
* @property {boolean} isExpanded
|
|
146
|
+
* @property {boolean} isSelected
|
|
147
|
+
* @property {boolean} hasChildren
|
|
148
|
+
*/
|
|
149
|
+
/**
|
|
150
|
+
* An action button drawn on each node.
|
|
151
|
+
* @typedef {object} TreeViewAction
|
|
152
|
+
* @property {string} name - Passed to onAction; the button's text when there is no icon
|
|
153
|
+
* @property {string} [icon] - Icon name
|
|
154
|
+
* @property {string} [tooltip] - Title and aria-label (default: the name)
|
|
155
|
+
* @property {(node: TreeViewNode) => boolean} [visible] - Show the button on this node?
|
|
156
|
+
*/
|
|
157
|
+
/**
|
|
158
|
+
* @typedef {object} TreeViewOptions
|
|
159
|
+
* @property {TreeViewNode[]} [data] - Flat (with parentKey) or hierarchical (with childrenKey) rows
|
|
160
|
+
* @property {string} [idKey] - Default 'id'
|
|
161
|
+
* @property {string} [parentKey] - Default 'parent_id'
|
|
162
|
+
* @property {string} [childrenKey] - Default 'children'
|
|
163
|
+
* @property {string} [labelKey] - Default 'name'
|
|
164
|
+
* @property {string} [iconKey] - Default 'icon'
|
|
165
|
+
* @property {string} [colorKey] - Default 'color'
|
|
166
|
+
* @property {boolean} [expandedByDefault] - Default true
|
|
167
|
+
* @property {TreeViewNodeId[]} [expandedNodes] - Ids expanded at the start
|
|
168
|
+
* @property {boolean} [selectable] - Default true
|
|
169
|
+
* @property {boolean} [multiSelect] - Default false
|
|
170
|
+
* @property {TreeViewNodeId[]} [selectedNodes] - Ids selected at the start
|
|
171
|
+
* @property {((node: TreeViewNode, depth: number, state: TreeViewNodeState) => string)|null} [renderNode] - HTML for a node's content
|
|
172
|
+
* @property {((node: TreeViewNode) => string|number|null|undefined)|null} [getBadge] - Badge text (HTML), or null for none
|
|
173
|
+
* @property {((node: TreeViewNode) => string|null|undefined)|null} [getNodeIcon] - Icon name (default: node[iconKey])
|
|
174
|
+
* @property {((node: TreeViewNode) => string)|null} [getNodeClass] - Extra classes on the node
|
|
175
|
+
* @property {TreeViewAction[]} [actions] - Action buttons on each node
|
|
176
|
+
* @property {number} [indentSize] - rem per level (default 1.5)
|
|
177
|
+
* @property {boolean} [showIcons] - Default true
|
|
178
|
+
* @property {boolean} [showToggleButtons] - Default true
|
|
179
|
+
* @property {string} [toggleIcon] - Default 'chevron-down'
|
|
180
|
+
* @property {((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void)|null} [onSelect]
|
|
181
|
+
* @property {((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void)|null} [onDeselect]
|
|
182
|
+
* @property {((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void)|null} [onExpand]
|
|
183
|
+
* @property {((nodeId: TreeViewNodeId, node: TreeViewNode, event: null) => void)|null} [onCollapse]
|
|
184
|
+
* @property {((action: string, nodeId: TreeViewNodeId, node: TreeViewNode, event: MouseEvent) => void)|null} [onAction]
|
|
185
|
+
* @property {((nodeId: TreeViewNodeId, node: TreeViewNode, event: MouseEvent) => void)|null} [onClick]
|
|
186
|
+
*/
|
|
187
|
+
/** @typedef {TreeView} TreeViewInstance */
|
|
188
|
+
declare class TreeView extends Component {
|
|
189
|
+
static defaults: {
|
|
190
|
+
data: any[];
|
|
191
|
+
idKey: string;
|
|
192
|
+
parentKey: string;
|
|
193
|
+
childrenKey: string;
|
|
194
|
+
labelKey: string;
|
|
195
|
+
iconKey: string;
|
|
196
|
+
colorKey: string;
|
|
197
|
+
expandedByDefault: boolean;
|
|
198
|
+
expandedNodes: any[];
|
|
199
|
+
selectable: boolean;
|
|
200
|
+
multiSelect: boolean;
|
|
201
|
+
selectedNodes: any[];
|
|
202
|
+
renderNode: any;
|
|
203
|
+
getBadge: any;
|
|
204
|
+
getNodeIcon: any;
|
|
205
|
+
getNodeClass: any;
|
|
206
|
+
actions: any[];
|
|
207
|
+
indentSize: number;
|
|
208
|
+
showIcons: boolean;
|
|
209
|
+
showToggleButtons: boolean;
|
|
210
|
+
toggleIcon: string;
|
|
211
|
+
onSelect: any;
|
|
212
|
+
onDeselect: any;
|
|
213
|
+
onExpand: any;
|
|
214
|
+
onCollapse: any;
|
|
215
|
+
onAction: any;
|
|
216
|
+
onClick: any;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* @param {string|HTMLElement} selector - Container element or selector
|
|
220
|
+
* @param {TreeViewOptions} [options]
|
|
221
|
+
*/
|
|
222
|
+
constructor(selector: string | HTMLElement, options?: TreeViewOptions);
|
|
223
|
+
_tree: any[];
|
|
224
|
+
_flatMap: {};
|
|
225
|
+
_expandedNodes: Set<any>;
|
|
226
|
+
_selectedNodes: Set<any>;
|
|
227
|
+
/**
|
|
228
|
+
* Initialise the TreeView component
|
|
229
|
+
* @private
|
|
230
|
+
*/
|
|
231
|
+
private _init;
|
|
232
|
+
/**
|
|
233
|
+
* Setup event delegation
|
|
234
|
+
* @private
|
|
235
|
+
*/
|
|
236
|
+
private _setupEventListeners;
|
|
237
|
+
/**
|
|
238
|
+
* Build tree structure from flat data
|
|
239
|
+
* @private
|
|
240
|
+
* @param {Array} data - Flat array of nodes
|
|
241
|
+
* @returns {Object} Object with tree and nodeMap
|
|
242
|
+
*/
|
|
243
|
+
private _buildTree;
|
|
244
|
+
/**
|
|
245
|
+
* Sort tree nodes recursively
|
|
246
|
+
* @private
|
|
247
|
+
* @param {Array} nodes - Array of nodes to sort
|
|
248
|
+
*/
|
|
249
|
+
private _sortTree;
|
|
250
|
+
/**
|
|
251
|
+
* Render tree to DOM
|
|
252
|
+
* @private
|
|
253
|
+
*/
|
|
254
|
+
private _render;
|
|
255
|
+
/**
|
|
256
|
+
* Render a single node recursively
|
|
257
|
+
* @private
|
|
258
|
+
* @param {Object} node - Node data
|
|
259
|
+
* @param {number} depth - Current depth level
|
|
260
|
+
* @returns {string} HTML string
|
|
261
|
+
*/
|
|
262
|
+
private _renderNode;
|
|
263
|
+
/**
|
|
264
|
+
* Default node rendering
|
|
265
|
+
* @private
|
|
266
|
+
* @param {Object} node - Node data
|
|
267
|
+
* @param {number} depth - Depth level
|
|
268
|
+
* @param {Object} state - Node state
|
|
269
|
+
* @returns {string} HTML string
|
|
270
|
+
*/
|
|
271
|
+
private _defaultRenderNode;
|
|
272
|
+
/**
|
|
273
|
+
* Render toggle button
|
|
274
|
+
* @private
|
|
275
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
276
|
+
* @param {boolean} isExpanded - Is node expanded
|
|
277
|
+
* @returns {string} HTML string
|
|
278
|
+
*/
|
|
279
|
+
private _renderToggle;
|
|
280
|
+
/**
|
|
281
|
+
* Render action buttons
|
|
282
|
+
* @private
|
|
283
|
+
* @param {Object} node - Node data
|
|
284
|
+
* @returns {string} HTML string
|
|
285
|
+
*/
|
|
286
|
+
private _renderActions;
|
|
287
|
+
/**
|
|
288
|
+
* Handle node selection
|
|
289
|
+
* @private
|
|
290
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
291
|
+
* @param {Event} event - Click event
|
|
292
|
+
*/
|
|
293
|
+
private _handleSelect;
|
|
294
|
+
/**
|
|
295
|
+
* Handle action button click
|
|
296
|
+
* @private
|
|
297
|
+
* @param {string} action - Action name
|
|
298
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
299
|
+
* @param {Event} event - Click event
|
|
300
|
+
*/
|
|
301
|
+
private _handleAction;
|
|
302
|
+
/**
|
|
303
|
+
* Parse node ID (convert string to number if needed)
|
|
304
|
+
* @private
|
|
305
|
+
* @param {string} idString - ID as string
|
|
306
|
+
* @returns {string|number} Parsed ID
|
|
307
|
+
*/
|
|
308
|
+
private _parseNodeId;
|
|
309
|
+
/**
|
|
310
|
+
* Escape HTML in strings
|
|
311
|
+
* @private
|
|
312
|
+
* @param {string} text - Text to escape
|
|
313
|
+
* @returns {string} Escaped text
|
|
314
|
+
*/
|
|
315
|
+
private _escapeHtml;
|
|
316
|
+
/**
|
|
317
|
+
* Set tree data
|
|
318
|
+
* @param {TreeViewNode[]} data - Flat or hierarchical array
|
|
319
|
+
* @returns {this} This instance for chaining
|
|
320
|
+
*/
|
|
321
|
+
setData(data: TreeViewNode[]): this;
|
|
322
|
+
/**
|
|
323
|
+
* Get tree data (hierarchical)
|
|
324
|
+
* @returns {TreeViewNode[]} Tree array
|
|
325
|
+
*/
|
|
326
|
+
getData(): TreeViewNode[];
|
|
327
|
+
/**
|
|
328
|
+
* Get flat data (all nodes)
|
|
329
|
+
* @returns {TreeViewNode[]} Flat array of nodes
|
|
330
|
+
*/
|
|
331
|
+
getFlatData(): TreeViewNode[];
|
|
332
|
+
/**
|
|
333
|
+
* Refresh tree rendering
|
|
334
|
+
* @returns {this} This instance for chaining
|
|
335
|
+
*/
|
|
336
|
+
refresh(): this;
|
|
337
|
+
/**
|
|
338
|
+
* Get node by ID
|
|
339
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
340
|
+
* @returns {TreeViewNode|null} Node data or null
|
|
341
|
+
*/
|
|
342
|
+
getNode(nodeId: TreeViewNodeId): TreeViewNode | null;
|
|
343
|
+
/**
|
|
344
|
+
* Update node data
|
|
345
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
346
|
+
* @param {Partial<TreeViewNode>} changes - Changes to apply
|
|
347
|
+
* @returns {this} This instance for chaining
|
|
348
|
+
*/
|
|
349
|
+
updateNode(nodeId: TreeViewNodeId, changes: Partial<TreeViewNode>): this;
|
|
350
|
+
/**
|
|
351
|
+
* Select a node
|
|
352
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
353
|
+
* @param {boolean} [silent] - Skip callback if true
|
|
354
|
+
* @returns {this} This instance for chaining
|
|
355
|
+
*/
|
|
356
|
+
select(nodeId: TreeViewNodeId, silent?: boolean): this;
|
|
357
|
+
/**
|
|
358
|
+
* Deselect a node
|
|
359
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
360
|
+
* @param {boolean} [silent] - Skip callback if true
|
|
361
|
+
* @returns {this} This instance for chaining
|
|
362
|
+
*/
|
|
363
|
+
deselect(nodeId: TreeViewNodeId, silent?: boolean): this;
|
|
364
|
+
/**
|
|
365
|
+
* Toggle node selection
|
|
366
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
367
|
+
* @returns {this} This instance for chaining
|
|
368
|
+
*/
|
|
369
|
+
toggleSelect(nodeId: TreeViewNodeId): this;
|
|
370
|
+
/**
|
|
371
|
+
* Select all nodes
|
|
372
|
+
* @returns {this} This instance for chaining
|
|
373
|
+
*/
|
|
374
|
+
selectAll(): this;
|
|
375
|
+
/**
|
|
376
|
+
* Deselect all nodes
|
|
377
|
+
* @param {boolean} [silent] - Skip callbacks if true
|
|
378
|
+
* @returns {this} This instance for chaining
|
|
379
|
+
*/
|
|
380
|
+
deselectAll(silent?: boolean): this;
|
|
381
|
+
/**
|
|
382
|
+
* Get selected node IDs
|
|
383
|
+
* @returns {TreeViewNodeId[]} Array of selected IDs
|
|
384
|
+
*/
|
|
385
|
+
getSelected(): TreeViewNodeId[];
|
|
386
|
+
/**
|
|
387
|
+
* Get selected node objects
|
|
388
|
+
* @returns {TreeViewNode[]} Array of selected nodes
|
|
389
|
+
*/
|
|
390
|
+
getSelectedNodes(): TreeViewNode[];
|
|
391
|
+
/**
|
|
392
|
+
* Check if node is selected
|
|
393
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
394
|
+
* @returns {boolean} True if selected
|
|
395
|
+
*/
|
|
396
|
+
isSelected(nodeId: TreeViewNodeId): boolean;
|
|
397
|
+
/**
|
|
398
|
+
* Expand a node
|
|
399
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
400
|
+
* @param {boolean} [silent] - Skip callback if true
|
|
401
|
+
* @returns {this} This instance for chaining
|
|
402
|
+
*/
|
|
403
|
+
expand(nodeId: TreeViewNodeId, silent?: boolean): this;
|
|
404
|
+
/**
|
|
405
|
+
* Collapse a node
|
|
406
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
407
|
+
* @param {boolean} [silent] - Skip callback if true
|
|
408
|
+
* @returns {this} This instance for chaining
|
|
409
|
+
*/
|
|
410
|
+
collapse(nodeId: TreeViewNodeId, silent?: boolean): this;
|
|
411
|
+
/**
|
|
412
|
+
* Toggle node expansion
|
|
413
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
414
|
+
* @returns {this} This instance for chaining
|
|
415
|
+
*/
|
|
416
|
+
toggle(nodeId: TreeViewNodeId): this;
|
|
417
|
+
/**
|
|
418
|
+
* Expand all nodes
|
|
419
|
+
* @returns {this} This instance for chaining
|
|
420
|
+
*/
|
|
421
|
+
expandAll(): this;
|
|
422
|
+
/**
|
|
423
|
+
* Collapse all nodes
|
|
424
|
+
* @returns {this} This instance for chaining
|
|
425
|
+
*/
|
|
426
|
+
collapseAll(): this;
|
|
427
|
+
/**
|
|
428
|
+
* Check if node is expanded
|
|
429
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
430
|
+
* @returns {boolean} True if expanded
|
|
431
|
+
*/
|
|
432
|
+
isExpanded(nodeId: TreeViewNodeId): boolean;
|
|
433
|
+
/**
|
|
434
|
+
* Get expanded node IDs
|
|
435
|
+
* @returns {TreeViewNodeId[]} Array of expanded IDs
|
|
436
|
+
*/
|
|
437
|
+
getExpanded(): TreeViewNodeId[];
|
|
438
|
+
/**
|
|
439
|
+
* Get parent node
|
|
440
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
441
|
+
* @returns {TreeViewNode|null} Parent node or null
|
|
442
|
+
*/
|
|
443
|
+
getParent(nodeId: TreeViewNodeId): TreeViewNode | null;
|
|
444
|
+
/**
|
|
445
|
+
* Get child nodes
|
|
446
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
447
|
+
* @returns {TreeViewNode[]} Array of child nodes
|
|
448
|
+
*/
|
|
449
|
+
getChildren(nodeId: TreeViewNodeId): TreeViewNode[];
|
|
450
|
+
/**
|
|
451
|
+
* Get all ancestors (path to root)
|
|
452
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
453
|
+
* @returns {TreeViewNode[]} Array of ancestor nodes
|
|
454
|
+
*/
|
|
455
|
+
getAncestors(nodeId: TreeViewNodeId): TreeViewNode[];
|
|
456
|
+
/**
|
|
457
|
+
* Get all descendants (recursive)
|
|
458
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
459
|
+
* @returns {TreeViewNode[]} Array of descendant nodes
|
|
460
|
+
*/
|
|
461
|
+
getDescendants(nodeId: TreeViewNodeId): TreeViewNode[];
|
|
462
|
+
/**
|
|
463
|
+
* Get sibling nodes
|
|
464
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
465
|
+
* @returns {TreeViewNode[]} Array of sibling nodes
|
|
466
|
+
*/
|
|
467
|
+
getSiblings(nodeId: TreeViewNodeId): TreeViewNode[];
|
|
468
|
+
/**
|
|
469
|
+
* Get node depth level
|
|
470
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
471
|
+
* @returns {number} Depth level (0 = root)
|
|
472
|
+
*/
|
|
473
|
+
getLevel(nodeId: TreeViewNodeId): number;
|
|
474
|
+
/**
|
|
475
|
+
* Find first node matching predicate
|
|
476
|
+
* @param {(node: TreeViewNode) => boolean} predicate - Test function
|
|
477
|
+
* @returns {TreeViewNode|null} First matching node or null
|
|
478
|
+
*/
|
|
479
|
+
find(predicate: (node: TreeViewNode) => boolean): TreeViewNode | null;
|
|
480
|
+
/**
|
|
481
|
+
* Find all nodes matching predicate
|
|
482
|
+
* @param {(node: TreeViewNode) => boolean} predicate - Test function
|
|
483
|
+
* @returns {TreeViewNode[]} Array of matching nodes
|
|
484
|
+
*/
|
|
485
|
+
filter(predicate: (node: TreeViewNode) => boolean): TreeViewNode[];
|
|
486
|
+
/**
|
|
487
|
+
* Iterate all nodes
|
|
488
|
+
* @param {(node: TreeViewNode, id: string) => void} callback - Callback function
|
|
489
|
+
* @returns {this} This instance for chaining
|
|
490
|
+
*/
|
|
491
|
+
forEach(callback: (node: TreeViewNode, id: string) => void): this;
|
|
492
|
+
/**
|
|
493
|
+
* Scroll node into view
|
|
494
|
+
* @param {TreeViewNodeId} nodeId - Node ID
|
|
495
|
+
* @param {{behavior?: ScrollBehavior, block?: ScrollLogicalPosition, inline?: ScrollLogicalPosition}} [options] - Scroll options
|
|
496
|
+
* @returns {this} This instance for chaining
|
|
497
|
+
*/
|
|
498
|
+
scrollToNode(nodeId: TreeViewNodeId, options?: {
|
|
499
|
+
behavior?: ScrollBehavior;
|
|
500
|
+
block?: ScrollLogicalPosition;
|
|
501
|
+
inline?: ScrollLogicalPosition;
|
|
502
|
+
}): this;
|
|
503
|
+
}
|
|
504
|
+
import Component from './component.js';
|