@acorex/components 20.2.55 → 20.2.57

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.
@@ -54,6 +54,7 @@ declare class AXMediaViewerContainerComponent implements OnDestroy {
54
54
  pagination: i0.InputSignal<boolean>;
55
55
  protected service: AXMediaViewerService;
56
56
  protected sanitizer: DomSanitizer;
57
+ protected isMobile: boolean;
57
58
  protected thumbnailArray: i0.WritableSignal<Thumbnail[]>;
58
59
  protected option: i0.WritableSignal<swiper_types.SwiperOptions>;
59
60
  protected thumbnailOption: i0.WritableSignal<swiper_types.SwiperOptions>;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.2.55",
3
+ "version": "20.2.57",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.2.55",
6
- "@acorex/cdk": "20.2.55",
5
+ "@acorex/core": "20.2.57",
6
+ "@acorex/cdk": "20.2.57",
7
7
  "@angular/common": "^20.0.0",
8
8
  "@angular/core": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
@@ -34,6 +34,7 @@
34
34
  "@codemirror/lang-markdown": "^6.2.4",
35
35
  "@codemirror/lang-sass": "^6.0.2",
36
36
  "@codemirror/theme-one-dark": "^6.1.0",
37
+ "@uiw/codemirror-theme-github": "^4.21.0",
37
38
  "prettier": ">=3.0.0",
38
39
  "@bomdi/codebox": "^2.0.0",
39
40
  "@editorjs/editorjs": "2.28.2",
@@ -100,14 +101,14 @@
100
101
  "types": "./bottom-navigation/index.d.ts",
101
102
  "default": "./fesm2022/acorex-components-bottom-navigation.mjs"
102
103
  },
103
- "./breadcrumbs": {
104
- "types": "./breadcrumbs/index.d.ts",
105
- "default": "./fesm2022/acorex-components-breadcrumbs.mjs"
106
- },
107
104
  "./button": {
108
105
  "types": "./button/index.d.ts",
109
106
  "default": "./fesm2022/acorex-components-button.mjs"
110
107
  },
108
+ "./breadcrumbs": {
109
+ "types": "./breadcrumbs/index.d.ts",
110
+ "default": "./fesm2022/acorex-components-breadcrumbs.mjs"
111
+ },
111
112
  "./button-group": {
112
113
  "types": "./button-group/index.d.ts",
113
114
  "default": "./fesm2022/acorex-components-button-group.mjs"
@@ -256,6 +257,10 @@
256
257
  "types": "./label/index.d.ts",
257
258
  "default": "./fesm2022/acorex-components-label.mjs"
258
259
  },
260
+ "./list": {
261
+ "types": "./list/index.d.ts",
262
+ "default": "./fesm2022/acorex-components-list.mjs"
263
+ },
259
264
  "./loading": {
260
265
  "types": "./loading/index.d.ts",
261
266
  "default": "./fesm2022/acorex-components-loading.mjs"
@@ -264,10 +269,6 @@
264
269
  "types": "./loading-dialog/index.d.ts",
265
270
  "default": "./fesm2022/acorex-components-loading-dialog.mjs"
266
271
  },
267
- "./list": {
268
- "types": "./list/index.d.ts",
269
- "default": "./fesm2022/acorex-components-list.mjs"
270
- },
271
272
  "./map": {
272
273
  "types": "./map/index.d.ts",
273
274
  "default": "./fesm2022/acorex-components-map.mjs"
@@ -444,6 +445,10 @@
444
445
  "types": "./tag-box/index.d.ts",
445
446
  "default": "./fesm2022/acorex-components-tag-box.mjs"
446
447
  },
448
+ "./text-area": {
449
+ "types": "./text-area/index.d.ts",
450
+ "default": "./fesm2022/acorex-components-text-area.mjs"
451
+ },
447
452
  "./text-box": {
448
453
  "types": "./text-box/index.d.ts",
449
454
  "default": "./fesm2022/acorex-components-text-box.mjs"
@@ -487,10 +492,6 @@
487
492
  "./wysiwyg": {
488
493
  "types": "./wysiwyg/index.d.ts",
489
494
  "default": "./fesm2022/acorex-components-wysiwyg.mjs"
490
- },
491
- "./text-area": {
492
- "types": "./text-area/index.d.ts",
493
- "default": "./fesm2022/acorex-components-text-area.mjs"
494
495
  }
495
496
  }
496
497
  }
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef } from '@angular/core';
2
+ import { TemplateRef, EventEmitter } from '@angular/core';
3
3
  import { AXEvent, AXHtmlEvent, AXValueChangedEvent } from '@acorex/cdk/common';
4
4
  import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
5
5
 
@@ -237,6 +237,12 @@ declare class AXTreeViewComponent {
237
237
  readonly dataField: _angular_core.InputSignal<string>;
238
238
  /** Whether disabled state is inherited from parent nodes. Default: `true`. */
239
239
  readonly inheritDisabled: _angular_core.InputSignal<boolean>;
240
+ /** Whether double-click on node content toggles expand/collapse. Default: `true`. */
241
+ readonly expandOnDoubleClick: _angular_core.InputSignal<boolean>;
242
+ /** Duration in milliseconds for detecting double-clicks. Default: `50`. */
243
+ readonly doubleClickDuration: _angular_core.InputSignal<number>;
244
+ /** Duration in milliseconds for detecting double-clicks. Default: `50`. */
245
+ readonly tooltipDelay: _angular_core.InputSignal<number>;
240
246
  /** Emitted before a drop operation - set canceled to true to prevent drop */
241
247
  readonly onBeforeDrop: _angular_core.OutputEmitterRef<AXTreeViewBeforeDropEvent>;
242
248
  /** Emitted when a node is toggled (expanded/collapsed) */
@@ -244,7 +250,7 @@ declare class AXTreeViewComponent {
244
250
  /** Emitted when a node is selected/deselected */
245
251
  readonly onNodeSelect: _angular_core.OutputEmitterRef<AXTreeViewNodeSelectEvent>;
246
252
  /** Emitted when a node is double-clicked */
247
- readonly onNodeDoubleClick: _angular_core.OutputEmitterRef<AXTreeViewNodeDoubleClickEvent>;
253
+ onNodeDoubleClick: EventEmitter<AXTreeViewNodeDoubleClickEvent>;
248
254
  /** Emitted when a node is double-clicked */
249
255
  readonly onNodeClick: _angular_core.OutputEmitterRef<AXTreeViewNodeClickEvent>;
250
256
  /** Emitted when selection changes - returns all currently selected nodes */
@@ -257,8 +263,12 @@ declare class AXTreeViewComponent {
257
263
  readonly onItemsChange: _angular_core.OutputEmitterRef<AXTreeViewDropEvent>;
258
264
  /** Internal signal for tree nodes */
259
265
  protected readonly nodes: _angular_core.WritableSignal<AXTreeViewNode[]>;
260
- /** Internal signal for tracking loading state */
266
+ /** Internal signal for tracking loading state of individual nodes */
261
267
  protected readonly loadingNodes: _angular_core.WritableSignal<Set<string>>;
268
+ /** Signal for tracking root/tree-level loading state (used by reloadData) */
269
+ private readonly _isLoading;
270
+ /** Public readonly signal for tree loading state - can be used in templates */
271
+ readonly isLoading: _angular_core.Signal<boolean>;
262
272
  /** Currently focused node ID for keyboard navigation */
263
273
  protected readonly focusedNodeId: _angular_core.WritableSignal<string>;
264
274
  /** RTL detection signal */
@@ -280,6 +290,17 @@ declare class AXTreeViewComponent {
280
290
  protected readonly hasIntermediateState: _angular_core.Signal<boolean>;
281
291
  /** Computed: Returns true when drag handle should be shown */
282
292
  protected readonly shouldShowDragHandle: _angular_core.Signal<boolean>;
293
+ /** Signal to track if double-click output has subscribers */
294
+ private readonly hasDoubleClickSubscribers;
295
+ /**
296
+ * Returns true if double-click output has no subscribers (should disable directive)
297
+ * Uses a computed signal that checks if EventEmitter has observers
298
+ * If no subscribers AND expandOnDoubleClick is false, disable the directive (return true)
299
+ * If has subscribers OR expandOnDoubleClick is true, enable the directive (return false)
300
+ */
301
+ protected readonly isDoubleClickDisabled: _angular_core.Signal<boolean>;
302
+ /** Check EventEmitter observers and update signal */
303
+ private checkDoubleClickSubscribers;
283
304
  /**
284
305
  * Get a property value from a node using the configured field name
285
306
  */
@@ -405,6 +426,18 @@ declare class AXTreeViewComponent {
405
426
  * Refresh the tree to trigger change detection
406
427
  */
407
428
  refresh(): void;
429
+ /**
430
+ * Reload the entire tree data from the datasource
431
+ * For callback datasource: clears all nodes and reloads from root
432
+ * For array datasource: refreshes the current data
433
+ * @returns Promise that resolves when reload is complete
434
+ */
435
+ reloadData(): Promise<void>;
436
+ /**
437
+ * Check if the tree is currently loading data (root level)
438
+ * @returns true if the tree is loading root data
439
+ */
440
+ getIsLoading(): boolean;
408
441
  /**
409
442
  * Check if a node is currently loading
410
443
  */
@@ -567,6 +600,11 @@ declare class AXTreeViewComponent {
567
600
  * Check if checkboxes should be shown (only for multiple mode)
568
601
  */
569
602
  shouldShowCheckbox(): boolean;
603
+ /**
604
+ * Check if double-click directive should be disabled for a node
605
+ * Disabled for leaf nodes (immediate clicks) or when isDoubleClickDisabled is true
606
+ */
607
+ protected isDoubleClickDisabledForNode(node: AXTreeViewNode): boolean;
570
608
  /**
571
609
  * Check if a node is a leaf (has no children)
572
610
  * A node is a leaf if it has no loaded children AND no childrenCount (or childrenCount is 0)
@@ -607,7 +645,7 @@ declare class AXTreeViewComponent {
607
645
  /**
608
646
  * Handle node double click
609
647
  */
610
- onNodeDoubleClickHandle(node: AXTreeViewNode, event: Event): void;
648
+ onNodeDoubleClickHandle(node: AXTreeViewNode, event: Event): Promise<void>;
611
649
  /**
612
650
  * Handle node click handle
613
651
  */
@@ -651,6 +689,9 @@ declare class AXTreeViewComponent {
651
689
  private loadRootItems;
652
690
  /**
653
691
  * Load children for a node using lazy loading
692
+ * Only calls callback if:
693
+ * - children field is undefined or empty
694
+ * - AND childrenCount > 0
654
695
  */
655
696
  private loadNodeChildren;
656
697
  /**
@@ -739,7 +780,7 @@ declare class AXTreeViewComponent {
739
780
  */
740
781
  private handleError;
741
782
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTreeViewComponent, never>;
742
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "hiddenField": { "alias": "hiddenField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "childrenCountField": { "alias": "childrenCountField"; "required": false; "isSignal": true; }; "dataField": { "alias": "dataField"; "required": false; "isSignal": true; }; "inheritDisabled": { "alias": "inheritDisabled"; "required": false; "isSignal": true; }; }, { "datasource": "datasourceChange"; "onBeforeDrop": "onBeforeDrop"; "onNodeToggle": "onNodeToggle"; "onNodeSelect": "onNodeSelect"; "onNodeDoubleClick": "onNodeDoubleClick"; "onNodeClick": "onNodeClick"; "onSelectionChange": "onSelectionChange"; "onOrderChange": "onOrderChange"; "onMoveChange": "onMoveChange"; "onItemsChange": "onItemsChange"; }, never, never, true, never>;
783
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "hiddenField": { "alias": "hiddenField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "childrenCountField": { "alias": "childrenCountField"; "required": false; "isSignal": true; }; "dataField": { "alias": "dataField"; "required": false; "isSignal": true; }; "inheritDisabled": { "alias": "inheritDisabled"; "required": false; "isSignal": true; }; "expandOnDoubleClick": { "alias": "expandOnDoubleClick"; "required": false; "isSignal": true; }; "doubleClickDuration": { "alias": "doubleClickDuration"; "required": false; "isSignal": true; }; "tooltipDelay": { "alias": "tooltipDelay"; "required": false; "isSignal": true; }; }, { "datasource": "datasourceChange"; "onBeforeDrop": "onBeforeDrop"; "onNodeToggle": "onNodeToggle"; "onNodeSelect": "onNodeSelect"; "onNodeDoubleClick": "onNodeDoubleClick"; "onNodeClick": "onNodeClick"; "onSelectionChange": "onSelectionChange"; "onOrderChange": "onOrderChange"; "onMoveChange": "onMoveChange"; "onItemsChange": "onItemsChange"; }, never, never, true, never>;
743
784
  }
744
785
 
745
786
  declare class AXTreeViewModule {
@@ -61,7 +61,6 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
61
61
  * @param isDisabled - Whether the component should be disabled.
62
62
  * @returns void - No return value.
63
63
  */
64
- setDisabledState(isDisabled: boolean): void;
65
64
  setWysiwygContent(value: string): void;
66
65
  private get __hostName();
67
66
  get __hostClass(): string;