@progress-chef/platform-shared-components 0.0.153 → 0.0.155

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 (32) hide show
  1. package/assets/icons/IconFont.css +8 -3
  2. package/assets/icons/IconFont.scss +8 -3
  3. package/assets/icons/IconFont.ttf +0 -0
  4. package/assets/icons/IconFont.woff +0 -0
  5. package/assets/icons/IconFont.woff2 +0 -0
  6. package/esm2022/lib/atoms/atoms.module.mjs +15 -1
  7. package/esm2022/lib/atoms/drag-and-drop/drag-and-drop.component.mjs +31 -3
  8. package/esm2022/lib/atoms/markdown-display/markdown-display.component.mjs +39 -0
  9. package/esm2022/lib/atoms/markdown-display/markdown-display.module.mjs +26 -0
  10. package/esm2022/lib/atoms/markdown-display/markdown-display.service.mjs +53 -0
  11. package/esm2022/lib/atoms/tree-list/tree-list.component.mjs +404 -0
  12. package/esm2022/lib/atoms/tree-list/tree-list.interfaces.mjs +2 -0
  13. package/esm2022/lib/atoms/tree-list/tree-list.module.mjs +44 -0
  14. package/esm2022/lib/atoms/tree-view/tree-view.component.mjs +521 -0
  15. package/esm2022/lib/atoms/tree-view/tree-view.interfaces.mjs +2 -0
  16. package/esm2022/lib/atoms/tree-view/tree-view.module.mjs +44 -0
  17. package/esm2022/public-api.mjs +7 -1
  18. package/fesm2022/progress-chef-platform-shared-components.mjs +1139 -13
  19. package/fesm2022/progress-chef-platform-shared-components.mjs.map +1 -1
  20. package/lib/atoms/atoms.module.d.ts +5 -3
  21. package/lib/atoms/drag-and-drop/drag-and-drop.component.d.ts +10 -1
  22. package/lib/atoms/markdown-display/markdown-display.component.d.ts +22 -0
  23. package/lib/atoms/markdown-display/markdown-display.module.d.ts +8 -0
  24. package/lib/atoms/markdown-display/markdown-display.service.d.ts +23 -0
  25. package/lib/atoms/tree-list/tree-list.component.d.ts +288 -0
  26. package/lib/atoms/tree-list/tree-list.interfaces.d.ts +31 -0
  27. package/lib/atoms/tree-list/tree-list.module.d.ts +13 -0
  28. package/lib/atoms/tree-view/tree-view.component.d.ts +279 -0
  29. package/lib/atoms/tree-view/tree-view.interfaces.d.ts +23 -0
  30. package/lib/atoms/tree-view/tree-view.module.d.ts +13 -0
  31. package/package.json +2 -1
  32. package/public-api.d.ts +6 -0
@@ -0,0 +1,279 @@
1
+ import { EventEmitter, TemplateRef } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { TreeItemLookup, TreeItemAddRemoveArgs, TreeItemDropEvent, TreeItemDragStartEvent, TreeItemDragEvent, CheckableSettings, CheckMode } from '@progress/kendo-angular-treeview';
4
+ import { TreeViewNode } from './tree-view.interfaces';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Custom TreeView component that wraps Kendo's TreeView with design system styling.
8
+ *
9
+ * This component provides a hierarchical tree structure for displaying and navigating data.
10
+ * It supports selection, expansion, icons, and custom templates.
11
+ */
12
+ export declare class TreeViewComponent {
13
+ /**
14
+ * ViewChild reference to the Kendo TreeView component instance
15
+ */
16
+ treeViewElement: any;
17
+ /**
18
+ * The data source for the tree view
19
+ */
20
+ data: TreeViewNode[];
21
+ selectable: boolean;
22
+ filterable: boolean;
23
+ checkboxes: boolean;
24
+ checkable: boolean;
25
+ dragAndDrop: boolean;
26
+ expandable: boolean;
27
+ loading: boolean;
28
+ animate: boolean;
29
+ size: 'small' | 'medium' | 'large' | 'none';
30
+ textField: string;
31
+ childrenField: string;
32
+ hasChildrenField: string;
33
+ expandedField: string;
34
+ selectedField: string;
35
+ disabledField: string;
36
+ checkedField: string;
37
+ iconClassField: string;
38
+ iconField: string;
39
+ imageUrlField: string;
40
+ spriteCssClassField: string;
41
+ disabledKeys: string[];
42
+ expandBy: string | ((item: TreeViewNode) => string);
43
+ expandedKeys: string[];
44
+ selectedKeys: string[];
45
+ checkedKeys: string[];
46
+ expandDisabledNodes: boolean;
47
+ disableNodes: boolean;
48
+ enableCheck: boolean;
49
+ checkChildren: boolean;
50
+ checkDisabledChildren: boolean;
51
+ checkParents: boolean;
52
+ checkOnClick: boolean;
53
+ uncheckCollapsedChildren: boolean;
54
+ checkMode: CheckMode;
55
+ fetchChildren: ((item: any) => any[]) | undefined;
56
+ isChecked: ((item: any) => boolean) | undefined;
57
+ isDisabled: ((item: any) => boolean) | undefined;
58
+ isExpanded: ((item: any) => boolean) | undefined;
59
+ isSelected: ((item: any) => boolean) | undefined;
60
+ isVisible: ((item: any) => boolean) | undefined;
61
+ nodeTemplate: TemplateRef<any> | undefined;
62
+ loadMoreButtonTemplate: TemplateRef<any> | undefined;
63
+ loadMoreService: ((item: any) => any[]) | undefined;
64
+ pageSize: number;
65
+ loadOnDemand: boolean;
66
+ filter: string;
67
+ filterSettings: any;
68
+ navigable: boolean;
69
+ trackBy: ((index: number, item: TreeViewNode) => any) | undefined;
70
+ selectionChange: EventEmitter<any>;
71
+ expand: EventEmitter<any>;
72
+ collapse: EventEmitter<any>;
73
+ checkedChange: EventEmitter<any>;
74
+ nodeClick: EventEmitter<any>;
75
+ nodeDblClick: EventEmitter<any>;
76
+ nodeDragStart: EventEmitter<TreeItemDragStartEvent>;
77
+ nodeDrag: EventEmitter<TreeItemDragEvent>;
78
+ nodeDrop: EventEmitter<TreeItemDropEvent>;
79
+ nodeDragEnd: EventEmitter<TreeItemDragEvent>;
80
+ addItem: EventEmitter<TreeItemAddRemoveArgs>;
81
+ removeItem: EventEmitter<TreeItemAddRemoveArgs>;
82
+ expandedKeysChange: EventEmitter<string[]>;
83
+ selectedKeysChange: EventEmitter<string[]>;
84
+ checkedKeysChange: EventEmitter<string[]>;
85
+ filterChange: EventEmitter<string>;
86
+ loadMore: EventEmitter<any>;
87
+ childrenLoaded: EventEmitter<any>;
88
+ /**
89
+ * Currently selected items
90
+ */
91
+ selectedItems: TreeViewNode[];
92
+ /**
93
+ * Currently checked items
94
+ */
95
+ checkedItems: TreeViewNode[];
96
+ /**
97
+ * Generates CSS classes for the tree-view container element based on current component state.
98
+ * Applies conditional styling classes to reflect loading states and enable appropriate visual feedback.
99
+ *
100
+ * @returns A space-separated string of CSS class names to apply to the tree-view container
101
+ */
102
+ getTreeViewClasses(): string;
103
+ /**
104
+ * Provides comprehensive checkable settings configuration for the Kendo TreeView component.
105
+ * Aggregates all checkbox-related input properties into a single configuration object
106
+ * that controls checkbox behavior including parent-child relationships and interaction modes.
107
+ *
108
+ * @returns CheckableSettings object with all checkbox configuration options
109
+ */
110
+ get checkableSettings(): CheckableSettings;
111
+ /**
112
+ * Extracts and returns child items from a tree node using the configured children field.
113
+ * Provides a standardized way for the Kendo TreeView to access hierarchical child data
114
+ * regardless of the actual field name used in the data structure.
115
+ *
116
+ * @param dataItem - The tree node data item to extract children from
117
+ * @returns Observable array of child items or empty array if no children exist
118
+ */
119
+ children: (dataItem: any) => Observable<any[]>;
120
+ /**
121
+ * Determines whether a tree node has child items for proper expand/collapse icon display.
122
+ * Checks for the existence of children property and logs the result for debugging purposes.
123
+ * Used by the TreeView to decide whether to show expansion indicators for each node.
124
+ *
125
+ * @param dataItem - The tree node data item to check for children
126
+ * @returns Boolean indicating whether the node has children that can be expanded
127
+ */
128
+ hasChildren: (dataItem: any) => boolean;
129
+ /**
130
+ * Handles tree node selection changes when users select or deselect nodes.
131
+ * Updates the internal selected items state and propagates the selection event
132
+ * to parent components for external handling and synchronization.
133
+ *
134
+ * @param event - The selection change event containing the newly selected items array
135
+ */
136
+ onSelectionChange(event: any): void;
137
+ /**
138
+ * Handles checkbox state changes when users check or uncheck tree nodes.
139
+ * Updates the internal checked items state and emits the change event to notify
140
+ * parent components of the new checkbox selections for form validation or data processing.
141
+ *
142
+ * @param event - The checked change event containing the newly checked items array
143
+ */
144
+ onCheckedChange(event: any): void;
145
+ /**
146
+ * Handles tree node expansion events when users click expand icons or use keyboard navigation.
147
+ * Updates the node's expanded state in the data model and emits the expand event
148
+ * for parent components to handle lazy loading of child data or state persistence.
149
+ *
150
+ * @param event - The expand event containing the expanded node data and context information
151
+ */
152
+ onExpand(event: any): void;
153
+ /**
154
+ * Handles tree node collapse events when users click collapse icons or use keyboard navigation.
155
+ * Updates the node's expanded state in the data model and emits the collapse event
156
+ * for parent components to handle state cleanup or memory optimization.
157
+ *
158
+ * @param event - The collapse event containing the collapsed node data and context information
159
+ */
160
+ onCollapse(event: any): void;
161
+ /**
162
+ * Handles single-click events on tree nodes for custom interaction handling.
163
+ * Propagates click events to parent components for navigation, selection logic,
164
+ * or custom actions based on the clicked node's data and context.
165
+ *
166
+ * @param event - The node click event containing clicked node data and mouse event details
167
+ */
168
+ onNodeClick(event: any): void;
169
+ /**
170
+ * Handles double-click events on tree nodes for enhanced interaction patterns.
171
+ * Typically used for opening detailed views, editing modes, or quick actions
172
+ * that differ from single-click behavior. Emits event for parent component handling.
173
+ *
174
+ * @param event - The node double-click event containing node data and mouse event details
175
+ */
176
+ onNodeDblClick(event: any): void;
177
+ /**
178
+ * Handles the initiation of drag operations when users start dragging tree nodes.
179
+ * Validates that drag-and-drop functionality is enabled before proceeding and
180
+ * emits the drag start event for parent components to handle drag state setup.
181
+ *
182
+ * @param event - The tree item drag start event containing source node and drag context
183
+ */
184
+ onNodeDragStart(event: TreeItemDragStartEvent): void;
185
+ /**
186
+ * Handles ongoing drag operations as users move nodes during drag-and-drop actions.
187
+ * Provides real-time feedback and validation during the drag process, allowing
188
+ * parent components to update UI indicators or validate drop targets.
189
+ *
190
+ * @param event - The tree item drag event containing current drag position and target information
191
+ */
192
+ onNodeDrag(event: TreeItemDragEvent): void;
193
+ /**
194
+ * Handles the completion of drag operations when users finish dragging nodes.
195
+ * Provides cleanup and final processing for drag-and-drop operations, allowing
196
+ * parent components to finalize data updates and reset drag-related UI states.
197
+ *
198
+ * @param event - The tree item drag end event containing final drag state and completion context
199
+ */
200
+ onNodeDragEnd(event: TreeItemDragEvent): void;
201
+ /**
202
+ * Handles item addition events when new nodes are added to the tree structure.
203
+ * Propagates add events to parent components for data persistence, validation,
204
+ * and tree structure updates to maintain data integrity.
205
+ *
206
+ * @param event - The tree item add event containing new item data and insertion context
207
+ */
208
+ onAddItem(event: TreeItemAddRemoveArgs): void;
209
+ /**
210
+ * Handles item removal events when nodes are deleted from the tree structure.
211
+ * Propagates remove events to parent components for confirmation dialogs, data cleanup,
212
+ * and cascading deletions of child nodes when necessary.
213
+ *
214
+ * @param event - The tree item remove event containing deleted item data and context
215
+ */
216
+ onRemoveItem(event: TreeItemAddRemoveArgs): void;
217
+ /**
218
+ * Handles expanded keys changes for two-way binding support with parent components.
219
+ * Synchronizes internal expanded state with external data binding, enabling
220
+ * programmatic control of tree expansion and state persistence across component updates.
221
+ *
222
+ * @param keys - Array of string keys representing currently expanded tree nodes
223
+ */
224
+ onExpandedKeysChange(keys: string[]): void;
225
+ /**
226
+ * Handles selected keys changes for two-way binding support with parent components.
227
+ * Synchronizes internal selection state with external data binding, enabling
228
+ * programmatic control of tree selection and form integration capabilities.
229
+ *
230
+ * @param keys - Array of string keys representing currently selected tree nodes
231
+ */
232
+ onSelectedKeysChange(keys: string[]): void;
233
+ /**
234
+ * Handles checked keys changes for two-way binding support with parent components.
235
+ * Synchronizes internal checkbox state with external data binding, enabling
236
+ * programmatic control of checkbox selections and form validation integration.
237
+ *
238
+ * @param keys - Array of string keys representing currently checked tree nodes
239
+ */
240
+ onCheckedKeysChange(keys: string[]): void;
241
+ /**
242
+ * Handles filter text changes when users type in search fields or apply filtering criteria.
243
+ * Updates the internal filter state and propagates changes to parent components
244
+ * for server-side filtering or custom search logic implementation.
245
+ *
246
+ * @param filter - The filter string entered by the user for tree node searching
247
+ */
248
+ onFilterChange(filter: string): void;
249
+ /**
250
+ * Handle load more event
251
+ */
252
+ onLoadMore(event: any): void;
253
+ /**
254
+ * Handle children loaded event
255
+ */
256
+ onChildrenLoaded(event: any): void;
257
+ /**
258
+ * Expand all nodes
259
+ */
260
+ expandAll(): void;
261
+ /**
262
+ * Get item from lookup
263
+ */
264
+ itemLookup(index: string): TreeItemLookup | undefined;
265
+ /**
266
+ * Log function for debugging events
267
+ */
268
+ log(eventName: string, event: any): void;
269
+ /**
270
+ * Handle drop event with custom logic
271
+ */
272
+ handleDrop(event: any): void;
273
+ /**
274
+ * Handle node drag start event
275
+ */
276
+ onDragStart(event: any): void;
277
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewComponent, never>;
278
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewComponent, "lib-tree-view", never, { "data": { "alias": "data"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "checkboxes": { "alias": "checkboxes"; "required": false; }; "checkable": { "alias": "checkable"; "required": false; }; "dragAndDrop": { "alias": "dragAndDrop"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "childrenField": { "alias": "childrenField"; "required": false; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; }; "expandedField": { "alias": "expandedField"; "required": false; }; "selectedField": { "alias": "selectedField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "checkedField": { "alias": "checkedField"; "required": false; }; "iconClassField": { "alias": "iconClassField"; "required": false; }; "iconField": { "alias": "iconField"; "required": false; }; "imageUrlField": { "alias": "imageUrlField"; "required": false; }; "spriteCssClassField": { "alias": "spriteCssClassField"; "required": false; }; "disabledKeys": { "alias": "disabledKeys"; "required": false; }; "expandBy": { "alias": "expandBy"; "required": false; }; "expandedKeys": { "alias": "expandedKeys"; "required": false; }; "selectedKeys": { "alias": "selectedKeys"; "required": false; }; "checkedKeys": { "alias": "checkedKeys"; "required": false; }; "expandDisabledNodes": { "alias": "expandDisabledNodes"; "required": false; }; "disableNodes": { "alias": "disableNodes"; "required": false; }; "enableCheck": { "alias": "enableCheck"; "required": false; }; "checkChildren": { "alias": "checkChildren"; "required": false; }; "checkDisabledChildren": { "alias": "checkDisabledChildren"; "required": false; }; "checkParents": { "alias": "checkParents"; "required": false; }; "checkOnClick": { "alias": "checkOnClick"; "required": false; }; "uncheckCollapsedChildren": { "alias": "uncheckCollapsedChildren"; "required": false; }; "checkMode": { "alias": "checkMode"; "required": false; }; "fetchChildren": { "alias": "fetchChildren"; "required": false; }; "isChecked": { "alias": "isChecked"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; }; "loadMoreButtonTemplate": { "alias": "loadMoreButtonTemplate"; "required": false; }; "loadMoreService": { "alias": "loadMoreService"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "loadOnDemand": { "alias": "loadOnDemand"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "filterSettings": { "alias": "filterSettings"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; }, { "selectionChange": "selectionChange"; "expand": "expand"; "collapse": "collapse"; "checkedChange": "checkedChange"; "nodeClick": "nodeClick"; "nodeDblClick": "nodeDblClick"; "nodeDragStart": "nodeDragStart"; "nodeDrag": "nodeDrag"; "nodeDrop": "nodeDrop"; "nodeDragEnd": "nodeDragEnd"; "addItem": "addItem"; "removeItem": "removeItem"; "expandedKeysChange": "expandedKeysChange"; "selectedKeysChange": "selectedKeysChange"; "checkedKeysChange": "checkedKeysChange"; "filterChange": "filterChange"; "loadMore": "loadMore"; "childrenLoaded": "childrenLoaded"; }, never, never, true, never>;
279
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * TreeView node interface with comprehensive properties
3
+ */
4
+ export interface TreeViewNode {
5
+ text: string;
6
+ value?: any;
7
+ id?: string | number;
8
+ expanded?: boolean;
9
+ selected?: boolean;
10
+ disabled?: boolean;
11
+ checked?: boolean;
12
+ visible?: boolean;
13
+ children?: TreeViewNode[];
14
+ parentId?: string | number;
15
+ icon?: string;
16
+ iconClass?: string;
17
+ imageUrl?: string;
18
+ spriteCssClass?: string;
19
+ cssClass?: string;
20
+ hasMore?: boolean;
21
+ loadMoreText?: string;
22
+ [key: string]: any;
23
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./tree-view.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@progress/kendo-angular-treeview";
5
+ import * as i4 from "@progress/kendo-angular-icons";
6
+ import * as i5 from "../button/button.module";
7
+ import * as i6 from "../icon/icon.module";
8
+ import * as i7 from "../loader/loader.module";
9
+ export declare class TreeViewModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TreeViewModule, never, [typeof i1.TreeViewComponent, typeof i2.CommonModule, typeof i3.TreeViewModule, typeof i4.IconsModule, typeof i5.ButtonModule, typeof i6.IconModule, typeof i7.LoaderModule], [typeof i1.TreeViewComponent]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<TreeViewModule>;
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress-chef/platform-shared-components",
3
- "version": "0.0.153",
3
+ "version": "0.0.155",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.17",
6
6
  "@angular/core": "^19.2.17",
@@ -18,6 +18,7 @@
18
18
  "@progress/kendo-angular-inputs": "^20.1.1",
19
19
  "@progress/kendo-angular-intl": "^20.1.1",
20
20
  "@progress/kendo-angular-treeview": "^20.1.1",
21
+ "@progress/kendo-angular-treelist": "^20.1.1",
21
22
  "@progress/kendo-drawing": "^1.19.0",
22
23
  "@progress/kendo-angular-label": "^20.1.1",
23
24
  "@progress/kendo-angular-dateinputs": "^20.1.1",
package/public-api.d.ts CHANGED
@@ -29,6 +29,7 @@ export * from './lib/atoms/notification/notification.module';
29
29
  export * from './lib/atoms/numeric-textbox/numeric-textbox.module';
30
30
  export * from './lib/atoms/progress-bar/progress-bar.module';
31
31
  export * from './lib/atoms/radio-button/radio-button.module';
32
+ export * from './lib/atoms/markdown-display/markdown-display.module';
32
33
  export * from './lib/atoms/search-box/search-box.module';
33
34
  export * from './lib/atoms/slider/slider.module';
34
35
  export * from './lib/atoms/stepper/stepper.module';
@@ -38,6 +39,8 @@ export * from './lib/atoms/textbox/textbox.module';
38
39
  export * from './lib/atoms/time-picker/time-picker.module';
39
40
  export * from './lib/atoms/timescheduler/timescheduler.module';
40
41
  export * from './lib/atoms/tooltip/tooltip.module';
42
+ export * from './lib/atoms/tree-list/tree-list.module';
43
+ export * from './lib/atoms/tree-view/tree-view.module';
41
44
  export * from './lib/atoms/typography/typography.module';
42
45
  export * from './lib/atoms/uploader/uploader.module';
43
46
  export * from './lib/molecules/molecules.module';
@@ -77,6 +80,7 @@ export * from './lib/atoms/notification/notification.component';
77
80
  export * from './lib/atoms/numeric-textbox/numeric-textbox.component';
78
81
  export * from './lib/atoms/progress-bar/progress-bar.component';
79
82
  export * from './lib/atoms/radio-button/radio-button.component';
83
+ export * from './lib/atoms/markdown-display/markdown-display.component';
80
84
  export * from './lib/atoms/search-box/search-box.component';
81
85
  export * from './lib/atoms/slider/slider.component';
82
86
  export * from './lib/atoms/stepper/stepper.component';
@@ -86,6 +90,8 @@ export * from './lib/atoms/textbox/textbox.component';
86
90
  export * from './lib/atoms/time-picker/time-picker.component';
87
91
  export * from './lib/atoms/timescheduler/timescheduler.component';
88
92
  export * from './lib/atoms/tooltip/tooltip.component';
93
+ export * from './lib/atoms/tree-view/tree-view.component';
94
+ export * from './lib/atoms/tree-list/tree-list.component';
89
95
  export * from './lib/atoms/typography/typography.component';
90
96
  export * from './lib/atoms/typography/TypographyType';
91
97
  export * from './lib/atoms/uploader/uploader.component';