@acorex/components 21.0.0-next.10 → 21.0.0-next.12

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 (56) hide show
  1. package/autocomplete/index.d.ts +13 -9
  2. package/fesm2022/acorex-components-autocomplete.mjs +13 -6
  3. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  4. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  5. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  6. package/fesm2022/acorex-components-cron-job.mjs +6 -6
  7. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  8. package/fesm2022/acorex-components-kanban.mjs +1 -1
  9. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  10. package/fesm2022/acorex-components-map.mjs +1 -0
  11. package/fesm2022/acorex-components-map.mjs.map +1 -1
  12. package/fesm2022/acorex-components-media-viewer.mjs +2 -2
  13. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  14. package/fesm2022/{acorex-components-modal-acorex-components-modal-ClSGRCam.mjs → acorex-components-modal-acorex-components-modal-BLjJGxLT.mjs} +2 -2
  15. package/fesm2022/{acorex-components-modal-acorex-components-modal-ClSGRCam.mjs.map → acorex-components-modal-acorex-components-modal-BLjJGxLT.mjs.map} +1 -1
  16. package/fesm2022/{acorex-components-modal-modal-content.component-BC-z7O0z.mjs → acorex-components-modal-modal-content.component-CC_L42pt.mjs} +4 -4
  17. package/fesm2022/acorex-components-modal-modal-content.component-CC_L42pt.mjs.map +1 -0
  18. package/fesm2022/acorex-components-modal.mjs +1 -1
  19. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  20. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  21. package/fesm2022/acorex-components-query-builder.mjs +1 -1
  22. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  23. package/fesm2022/acorex-components-rest-api-generator.mjs +3 -3
  24. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  25. package/fesm2022/acorex-components-rrule.mjs +128 -33
  26. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  27. package/fesm2022/acorex-components-scheduler.mjs +8 -8
  28. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  29. package/fesm2022/acorex-components-select-box.mjs +18 -8
  30. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-selection-list-2.mjs +165 -0
  32. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
  33. package/fesm2022/acorex-components-selection-list.mjs +69 -14
  34. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  35. package/fesm2022/acorex-components-tag-box.mjs +45 -15
  36. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  37. package/fesm2022/acorex-components-tag.mjs +39 -3
  38. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  39. package/fesm2022/acorex-components-tree2.mjs +596 -0
  40. package/fesm2022/acorex-components-tree2.mjs.map +1 -0
  41. package/package.json +14 -10
  42. package/rrule/index.d.ts +99 -4
  43. package/select-box/index.d.ts +14 -10
  44. package/selection-list/README.md +2 -2
  45. package/selection-list/index.d.ts +57 -16
  46. package/selection-list-2/README.md +3 -0
  47. package/selection-list-2/index.d.ts +52 -0
  48. package/tag/index.d.ts +8 -2
  49. package/tag-box/index.d.ts +12 -3
  50. package/tree2/README.md +3 -0
  51. package/tree2/index.d.ts +267 -0
  52. package/fesm2022/acorex-components-modal-modal-content.component-BC-z7O0z.mjs.map +0 -1
  53. package/fesm2022/acorex-components-selection-list-legacy.mjs +0 -220
  54. package/fesm2022/acorex-components-selection-list-legacy.mjs.map +0 -1
  55. package/selection-list-legacy/README.md +0 -3
  56. package/selection-list-legacy/index.d.ts +0 -93
@@ -1,4 +1,4 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { OnDestroy, WritableSignal, TemplateRef, ElementRef } from '@angular/core';
3
3
  import * as polytype from 'polytype';
4
4
  import * as i2 from '@acorex/cdk/common';
@@ -32,13 +32,17 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
32
32
  *
33
33
  * @defaultValue true
34
34
  */
35
- readonly isItemTruncated: i0.InputSignal<boolean>;
35
+ readonly isItemTruncated: _angular_core.InputSignal<boolean>;
36
36
  /**
37
37
  * Determines if a tooltip is shown for an item.
38
38
  *
39
39
  * @defaultValue false
40
40
  */
41
- readonly showItemTooltip: i0.InputSignal<boolean>;
41
+ readonly showItemTooltip: _angular_core.InputSignal<boolean>;
42
+ /** Height of each list item in pixels, or 'auto' to let list measure. */
43
+ itemHeight: _angular_core.InputSignal<number | "auto">;
44
+ /** Maximum number of visible items before scrolling. */
45
+ maxVisibleItems: _angular_core.InputSignal<number>;
42
46
  /** @ignore */
43
47
  private hotKeyService;
44
48
  /** @ignore */
@@ -108,14 +112,14 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
108
112
  * The width of the dropdown in pixels.
109
113
  * @defaultValue null
110
114
  */
111
- dropdownWidth: i0.InputSignal<string>;
115
+ dropdownWidth: _angular_core.InputSignal<string>;
112
116
  /** @ignore */
113
117
  panel: ElementRef<HTMLDivElement>;
114
118
  /** @ignore */
115
119
  list: AXListComponent;
116
120
  /** @ignore */
117
121
  searchBox: AXSearchBoxComponent;
118
- searchBoxAutoFocus: i0.InputSignal<boolean>;
122
+ searchBoxAutoFocus: _angular_core.InputSignal<boolean>;
119
123
  /** @ignore */
120
124
  protected dropdown: AXDropdownBoxComponent;
121
125
  /**
@@ -172,14 +176,14 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
172
176
  */
173
177
  refresh(): void;
174
178
  private hostClickListener;
175
- static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectBoxComponent, never>;
176
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectBoxComponent, "ax-select-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "textTemplate": { "alias": "textTemplate"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; }; "minRecordsForSearch": { "alias": "minRecordsForSearch"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; "isSignal": true; }; "searchBoxAutoFocus": { "alias": "searchBoxAutoFocus"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onOpened": "onOpened"; "onClosed": "onClosed"; "onItemSelected": "onItemSelected"; "onItemClick": "onItemClick"; }, ["searchBox"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-search-box", "ax-footer", "ax-validation-rule"], true, never>;
179
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSelectBoxComponent, never>;
180
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSelectBoxComponent, "ax-select-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "textTemplate": { "alias": "textTemplate"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; }; "minRecordsForSearch": { "alias": "minRecordsForSearch"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; "isSignal": true; }; "searchBoxAutoFocus": { "alias": "searchBoxAutoFocus"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onOpened": "onOpened"; "onClosed": "onClosed"; "onItemSelected": "onItemSelected"; "onItemClick": "onItemClick"; }, ["searchBox"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-search-box", "ax-footer", "ax-validation-rule"], true, never>;
177
181
  }
178
182
 
179
183
  declare class AXSelectBoxModule {
180
- static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectBoxModule, never>;
181
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXSelectBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXCheckBoxModule, typeof i5.AXBadgeModule, typeof i6.AXDecoratorModule, typeof i7.AXTranslationModule, typeof i8.AXPopoverModule, typeof i9.AXLoadingModule, typeof i10.A11yModule, typeof i11.AXTextBoxModule, typeof i12.AXDropdownModule, typeof i13.AXListModule, typeof AXSelectBoxComponent], [typeof AXSelectBoxComponent]>;
182
- static ɵinj: i0.ɵɵInjectorDeclaration<AXSelectBoxModule>;
184
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSelectBoxModule, never>;
185
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXSelectBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXCheckBoxModule, typeof i5.AXBadgeModule, typeof i6.AXDecoratorModule, typeof i7.AXTranslationModule, typeof i8.AXPopoverModule, typeof i9.AXLoadingModule, typeof i10.A11yModule, typeof i11.AXTextBoxModule, typeof i12.AXDropdownModule, typeof i13.AXListModule, typeof AXSelectBoxComponent], [typeof AXSelectBoxComponent]>;
186
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSelectBoxModule>;
183
187
  }
184
188
 
185
189
  export { AXSelectBoxComponent, AXSelectBoxModule };
@@ -1,3 +1,3 @@
1
- # @acorex/components/selection-list-2
1
+ # @acorex/components/selection-list
2
2
 
3
- Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/selection-list-2`.
3
+ Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/selection-list`.
@@ -1,7 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { TemplateRef } from '@angular/core';
3
3
  import { MXSelectionValueComponent, AXDirection } from '@acorex/cdk/common';
4
- import { AXSelectionGroupSelectedKeys } from '@acorex/cdk/selection';
5
4
  import * as i1 from '@angular/common';
6
5
  import * as i2 from '@angular/forms';
7
6
  import * as i3 from '@acorex/components/check-box';
@@ -10,36 +9,78 @@ import * as i5 from '@acorex/components/label';
10
9
  import * as i6 from '@acorex/components/form';
11
10
 
12
11
  type AXSelectionListLook = 'solid' | 'divided' | 'card';
13
- type AXSelectionListItem = {
14
- id: string | number;
15
- text: string;
16
- hint?: string;
17
- disabled?: boolean;
18
- };
19
-
20
12
  /**
21
13
  * The Button is a component which detects user interaction and triggers a corresponding event
22
14
  *
23
15
  * @category Components
24
16
  */
25
17
  declare class AXSelectionListComponent extends MXSelectionValueComponent {
26
- readonly direction: i0.InputSignal<AXDirection>;
27
- readonly customTemplate: i0.InputSignal<TemplateRef<unknown>>;
28
- readonly look: i0.InputSignal<AXSelectionListLook>;
29
- protected changeState(e: AXSelectionGroupSelectedKeys): void;
18
+ /**
19
+ * sets the direction of the component.
20
+ * @param {AXDirection} value
21
+ */
22
+ direction: i0.InputSignal<AXDirection>;
23
+ /**
24
+ * The custom template used for rendering content.
25
+ *
26
+ * @param {TemplateRef<unknown>} customTemplate
27
+ */
28
+ customTemplate: i0.InputSignal<TemplateRef<unknown>>;
29
+ /** @ignore */
30
30
  private _showControl;
31
+ /**
32
+ * @param {void}
33
+ * Gets the current state of the control visibility.
34
+ */
31
35
  get showControl(): boolean;
36
+ /**
37
+ * @param {boolean} v
38
+ * Sets the visibility state of the control.
39
+ */
32
40
  set showControl(v: boolean);
41
+ /** @ignore */
33
42
  private _items;
34
- get items(): AXSelectionListItem[];
35
- set items(v: AXSelectionListItem[]);
43
+ /**
44
+ * Gets the list of items.
45
+ * @param {void}
46
+ */
47
+ get items(): any[];
48
+ /**
49
+ * Sets the list of items.
50
+ *
51
+ * @param {any[]} v
52
+ */
53
+ set items(v: any[]);
54
+ /** @ignore */
36
55
  private _hintField;
56
+ /**
57
+ * Gets the field used for displaying hints.
58
+ */
37
59
  get hintField(): string;
60
+ /**
61
+ * Sets the field used for displaying hints.
62
+ *
63
+ * @param {string} v
64
+ */
38
65
  set hintField(v: string);
66
+ /**
67
+ * Retrieves an item from the list by its key.
68
+ *
69
+ * @param {unknown} key - The key to search for.
70
+ */
39
71
  getItemByKey(key: unknown): unknown;
72
+ /**
73
+ * Defines the visual appearance of the selection list.
74
+ *
75
+ * @defaultValue 'solid'
76
+ */
77
+ look: AXSelectionListLook;
78
+ /** @ignore */
79
+ protected _handleOnItemValueChange(item: any, e: Event): void;
80
+ /** @ignore */
40
81
  private get __hostClass();
41
82
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionListComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionListComponent, "ax-selection-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; "look": { "alias": "look"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
43
84
  }
44
85
 
45
86
  declare class AXSelectionListModule {
@@ -49,4 +90,4 @@ declare class AXSelectionListModule {
49
90
  }
50
91
 
51
92
  export { AXSelectionListComponent, AXSelectionListModule };
52
- export type { AXSelectionListItem, AXSelectionListLook };
93
+ export type { AXSelectionListLook };
@@ -0,0 +1,3 @@
1
+ # @acorex/components/selection-list-2
2
+
3
+ Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/selection-list-2`.
@@ -0,0 +1,52 @@
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { MXSelectionValueComponent, AXDirection } from '@acorex/cdk/common';
4
+ import { AXSelectionGroupSelectedKeys } from '@acorex/cdk/selection';
5
+ import * as i1 from '@angular/common';
6
+ import * as i2 from '@angular/forms';
7
+ import * as i3 from '@acorex/components/check-box';
8
+ import * as i4 from '@acorex/components/radio';
9
+ import * as i5 from '@acorex/components/label';
10
+ import * as i6 from '@acorex/components/form';
11
+
12
+ type AXSelectionListLook = 'solid' | 'divided' | 'card';
13
+ type AXSelectionList2Item = {
14
+ id: string | number;
15
+ text: string;
16
+ hint?: string;
17
+ disabled?: boolean;
18
+ };
19
+
20
+ /**
21
+ * The Button is a component which detects user interaction and triggers a corresponding event
22
+ *
23
+ * @category Components
24
+ */
25
+ declare class AXSelectionList2Component extends MXSelectionValueComponent {
26
+ readonly direction: i0.InputSignal<AXDirection>;
27
+ readonly customTemplate: i0.InputSignal<TemplateRef<unknown>>;
28
+ readonly look: i0.InputSignal<AXSelectionListLook>;
29
+ protected changeState(e: AXSelectionGroupSelectedKeys): void;
30
+ private _showControl;
31
+ get showControl(): boolean;
32
+ set showControl(v: boolean);
33
+ private _items;
34
+ get items(): AXSelectionList2Item[];
35
+ set items(v: AXSelectionList2Item[]);
36
+ private _hintField;
37
+ get hintField(): string;
38
+ set hintField(v: string);
39
+ getItemByKey(key: unknown): unknown;
40
+ private get __hostClass();
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionList2Component, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSelectionList2Component, "ax-selection-list2", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "readonlyField": { "alias": "readonlyField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "showControl": { "alias": "showControl"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, ["ax-validation-rule"], true, never>;
43
+ }
44
+
45
+ declare class AXSelectionList2Module {
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSelectionList2Module, never>;
47
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXSelectionList2Module, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.AXCheckBoxModule, typeof i4.AXRadioModule, typeof i5.AXLabelModule, typeof i6.AXFormModule, typeof AXSelectionList2Component], [typeof AXSelectionList2Component]>;
48
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXSelectionList2Module>;
49
+ }
50
+
51
+ export { AXSelectionList2Component, AXSelectionList2Module };
52
+ export type { AXSelectionList2Item, AXSelectionListLook };
package/tag/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { MXColorLookComponent } from '@acorex/cdk/common';
2
1
  import * as i0 from '@angular/core';
2
+ import { MXColorLookComponent, AXClickEvent } from '@acorex/cdk/common';
3
3
  import * as i1 from '@angular/common';
4
4
 
5
5
  /**
@@ -11,10 +11,16 @@ declare class AXTagComponent extends MXColorLookComponent {
11
11
  * Represents the text content to be displayed or used within the component.
12
12
  */
13
13
  text: string;
14
+ onClick: i0.OutputEmitterRef<AXClickEvent>;
15
+ onDblClick: i0.OutputEmitterRef<AXClickEvent>;
16
+ onContextMenu: i0.OutputEmitterRef<AXClickEvent>;
14
17
  /** @ignore */
15
18
  private get __hostClass();
19
+ private hostClickListener;
20
+ private hostDblClickListener;
21
+ private hostContextMenuListener;
16
22
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTagComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<AXTagComponent, "ax-tag", never, { "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, never, ["ax-prefix", "ax-suffix"], true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXTagComponent, "ax-tag", never, { "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, { "onClick": "onClick"; "onDblClick": "onDblClick"; "onContextMenu": "onContextMenu"; }, never, ["ax-prefix", "ax-suffix"], true, never>;
18
24
  }
19
25
 
20
26
  declare class AXTagModule {
@@ -1,7 +1,7 @@
1
1
  import * as polytype from 'polytype';
2
2
  import * as _angular_core from '@angular/core';
3
- import { OnInit } from '@angular/core';
4
- import { MXInputBaseValueComponent, MXLookComponent, AXAutocompleteParentComponent } from '@acorex/cdk/common';
3
+ import { OnInit, TemplateRef } from '@angular/core';
4
+ import { MXInputBaseValueComponent, MXLookComponent, AXAutocompleteParentComponent, AXClickEvent } from '@acorex/cdk/common';
5
5
  import { AXUnsubscriber } from '@acorex/core/utils';
6
6
 
7
7
  declare const AXTagBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
@@ -21,7 +21,12 @@ declare class AXTagBoxComponent extends AXTagBoxComponent_base implements OnInit
21
21
  textField: _angular_core.InputSignal<string>;
22
22
  readonlyField: _angular_core.InputSignal<string>;
23
23
  allowDuplicateValues: _angular_core.InputSignal<boolean>;
24
+ tagTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
25
+ onTagClick: _angular_core.OutputEmitterRef<AXClickEvent>;
26
+ onTagDblClick: _angular_core.OutputEmitterRef<AXClickEvent>;
27
+ onTagContextMenu: _angular_core.OutputEmitterRef<AXClickEvent>;
24
28
  inputValue: _angular_core.WritableSignal<string>;
29
+ private autocompleteComponent;
25
30
  ngOnInit(): void;
26
31
  /**
27
32
  * Adds items to the tag box.
@@ -43,10 +48,14 @@ declare class AXTagBoxComponent extends AXTagBoxComponent_base implements OnInit
43
48
  */
44
49
  convertString(v: unknown): object[];
45
50
  getFieldValue(item: unknown, path: string): unknown;
51
+ /**
52
+ * Keep autocomplete selected values in sync with current tags
53
+ */
54
+ private syncAutocompleteSelection;
46
55
  protected internalSetValue(value: unknown): unknown[];
47
56
  private get __hostName();
48
57
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTagBoxComponent, never>;
49
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTagBoxComponent, "ax-tag-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "addOnComma": { "alias": "addOnComma"; "required": false; "isSignal": true; }; "addOnEnter": { "alias": "addOnEnter"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "readonlyField": { "alias": "readonlyField"; "required": false; "isSignal": true; }; "allowDuplicateValues": { "alias": "allowDuplicateValues"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-autocomplete", "ax-validation-rule"], true, never>;
58
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTagBoxComponent, "ax-tag-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "addOnComma": { "alias": "addOnComma"; "required": false; "isSignal": true; }; "addOnEnter": { "alias": "addOnEnter"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "readonlyField": { "alias": "readonlyField"; "required": false; "isSignal": true; }; "allowDuplicateValues": { "alias": "allowDuplicateValues"; "required": false; "isSignal": true; }; "tagTemplate": { "alias": "tagTemplate"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; "onTagClick": "onTagClick"; "onTagDblClick": "onTagDblClick"; "onTagContextMenu": "onTagContextMenu"; }, ["autocompleteComponent"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-autocomplete", "ax-validation-rule"], true, never>;
50
59
  }
51
60
 
52
61
  declare class AXTagBoxModule {
@@ -0,0 +1,3 @@
1
+ # @acorex/components/tree2
2
+
3
+ Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/tree2`.
@@ -0,0 +1,267 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { AXEvent, AXHtmlEvent, AXValueChangedEvent } from '@acorex/cdk/common';
4
+ import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
5
+ import * as i1 from '@angular/common';
6
+
7
+ /**
8
+ * Tree2 Component - Design Tokens
9
+ *
10
+ * The component supports the following CSS custom properties (design tokens):
11
+ *
12
+ * **Layout & Spacing:**
13
+ * - `--ax-comp-tree2-indent-size`: Indentation size for each tree level.
14
+ * Default: `12px`
15
+ * - `--ax-comp-tree2-node-margin`: Vertical margin between nodes.
16
+ * Default: `0.125rem`
17
+ *
18
+ * **Node Styling:**
19
+ * - `--ax-comp-tree2-node-border-radius`: Border radius for tree nodes.
20
+ * Default: `6px`
21
+ * - `--ax-comp-tree2-node-hover-bg`: Background color on node hover.
22
+ * Default: `rgba(var(--ax-sys-color-on-lightest-surface), 0.04)`
23
+ * - `--ax-comp-tree2-node-selected-bg`: Background color for selected nodes.
24
+ * Default: `rgba(var(--ax-sys-color-primary-500), 0.12)`
25
+ *
26
+ * **Tree Lines (with-line look):**
27
+ * - `--ax-comp-tree2-line-color`: Color for tree structure lines.
28
+ * Default: `rgba(var(--ax-sys-color-on-lightest-surface), 0.15)`
29
+ *
30
+ * **Drag & Drop:**
31
+ * - `--ax-comp-tree2-drag-preview-opacity`: Opacity of dragged element preview.
32
+ * Default: `0.9`
33
+ * - `--ax-comp-tree2-drag-placeholder-bg`: Background for drag placeholder.
34
+ * Default: `rgba(var(--ax-sys-color-on-lightest-surface), 0.02)`
35
+ * - `--ax-comp-tree2-drop-active-bg`: Background when hovering over valid drop zone.
36
+ * Default: `rgba(var(--ax-sys-color-primary-500), 0.08)`
37
+ * - `--ax-comp-tree2-drop-active-outline`: Outline color for active drop zones.
38
+ * Default: `rgba(var(--ax-sys-color-primary-500), 0.3)`
39
+ *
40
+ * **Dynamic Tokens (set via TypeScript):**
41
+ * - `--ax-tree-indent-size`: Dynamically set from `indentSize` input
42
+ * - `--ax-tree-line-offset`: Dynamically calculated as `indentSize / 2`
43
+ * - `--ax-tree-line-color`: Optional override for line color
44
+ *
45
+ * @example
46
+ * ```css
47
+ * // Customize tree appearance
48
+ * ax-tree2 {
49
+ * --ax-comp-tree2-indent-size: 16px;
50
+ * --ax-comp-tree2-node-selected-bg: rgba(var(--ax-sys-color-primary-600), 0.15);
51
+ * --ax-comp-tree2-line-color: rgba(var(--ax-sys-color-on-lightest-surface), 0.1);
52
+ * --ax-comp-tree2-node-hover-bg: rgba(var(--ax-sys-color-primary-500), 0.06);
53
+ * }
54
+ * ```
55
+ *
56
+ * @remarks
57
+ * All color tokens use Acorex design system variables (`--ax-sys-color-*`) for automatic
58
+ * light/dark mode support. Colors adapt based on the active theme without additional configuration.
59
+ */
60
+ interface AXTreeNodeOnBeforeDropEvent extends AXEvent {
61
+ movedNode: AXTreeNode;
62
+ previousParent?: AXTreeNode;
63
+ currentParent?: AXTreeNode;
64
+ previousIndex: number;
65
+ currentIndex: number;
66
+ canceled: boolean;
67
+ }
68
+ interface AXTreeNode {
69
+ id: string;
70
+ label: string;
71
+ icon?: string;
72
+ expanded?: boolean;
73
+ selected?: boolean;
74
+ indeterminate?: boolean;
75
+ disabled?: boolean;
76
+ visible?: boolean;
77
+ children?: AXTreeNode[];
78
+ childrenCount?: number;
79
+ loading?: boolean;
80
+ data?: unknown;
81
+ }
82
+ interface AXTreeNodeEvent extends AXHtmlEvent {
83
+ node: AXTreeNode;
84
+ }
85
+ interface AXTreeDropEvent extends AXEvent {
86
+ node: AXTreeNode;
87
+ previousParent?: AXTreeNode;
88
+ currentParent?: AXTreeNode;
89
+ previousIndex: number;
90
+ currentIndex: number;
91
+ }
92
+ interface AXTreeItemTemplateContext {
93
+ $implicit: AXTreeNode;
94
+ node: AXTreeNode;
95
+ level: number;
96
+ expanded: boolean;
97
+ childrenCount: number;
98
+ loading: boolean;
99
+ }
100
+ type AXTreeViewLook = 'default' | 'card' | 'with-line';
101
+ type AXTreeDragMode = 'none' | 'handler' | 'item';
102
+
103
+ declare class AXTree2Component {
104
+ #private;
105
+ /** Tree data nodes */
106
+ nodes: _angular_core.ModelSignal<AXTreeNode[]>;
107
+ /** Whether to show checkboxes for selection */
108
+ showCheckbox: _angular_core.InputSignal<boolean>;
109
+ /** Drag and drop mode: 'none' (disabled), 'handler' (drag handle), 'item' (entire item) */
110
+ dragMode: _angular_core.InputSignal<AXTreeDragMode>;
111
+ /** Whether to show icons */
112
+ showIcons: _angular_core.InputSignal<boolean>;
113
+ /** Whether to show children count badge */
114
+ showChildrenBadge: _angular_core.InputSignal<boolean>;
115
+ /** Whether to animate expand/collapse */
116
+ animated: _angular_core.InputSignal<boolean>;
117
+ /** Custom icon for expanded nodes */
118
+ expandedIcon: _angular_core.InputSignal<string>;
119
+ /** Custom icon for collapsed nodes */
120
+ collapsedIcon: _angular_core.InputSignal<string>;
121
+ /** Indent size in pixels for each level */
122
+ indentSize: _angular_core.InputSignal<number>;
123
+ /** Node height in pixels */
124
+ nodeHeight: _angular_core.InputSignal<"compact" | "normal" | "comfortable">;
125
+ /** Visual style variant */
126
+ look: _angular_core.InputSignal<AXTreeViewLook>;
127
+ /** Custom template for tree items */
128
+ itemTemplate: _angular_core.InputSignal<TemplateRef<AXTreeItemTemplateContext>>;
129
+ /** Lazy load function for fetching children */
130
+ lazyLoad: _angular_core.InputSignal<(node: AXTreeNode) => Promise<AXTreeNode[]>>;
131
+ /** Whether to enable lazy loading */
132
+ enableLazyLoad: _angular_core.InputSignal<boolean>;
133
+ /** Emitted before a drop operation - set canceled to true to prevent drop */
134
+ onBeforeDrop: _angular_core.OutputEmitterRef<AXTreeNodeOnBeforeDropEvent>;
135
+ /** Emitted when a node is toggled (expanded/collapsed) */
136
+ nodeToggle: _angular_core.OutputEmitterRef<AXTreeNodeEvent>;
137
+ /** Emitted when a node is selected/deselected */
138
+ nodeSelect: _angular_core.OutputEmitterRef<AXTreeNodeEvent>;
139
+ /** Emitted when a node is dropped */
140
+ nodeDrop: _angular_core.OutputEmitterRef<AXTreeDropEvent>;
141
+ /** Internal signal for tracking loading state */
142
+ protected readonly loadingNodes: _angular_core.WritableSignal<Set<string>>;
143
+ /**
144
+ * Toggle node expansion state with lazy loading support
145
+ */
146
+ toggleNode(node: AXTreeNode, event: Event): Promise<void>;
147
+ /**
148
+ * Load children for a node using lazy loading
149
+ */
150
+ private loadNodeChildren;
151
+ /**
152
+ * Update childrenCount flags for lazy loading
153
+ */
154
+ private updateHasChildrenFlags;
155
+ /**
156
+ * Toggle node selection state with indeterminate support
157
+ */
158
+ toggleSelection(node: AXTreeNode, event: AXValueChangedEvent): void;
159
+ /**
160
+ * Recursively select/deselect all children
161
+ */
162
+ private selectAllChildren;
163
+ /**
164
+ * Update parent node states based on children selection
165
+ */
166
+ private updateParentStates;
167
+ /**
168
+ * Get selection state of children
169
+ */
170
+ private getChildrenSelectionState;
171
+ /**
172
+ * Find parent node of a given node
173
+ */
174
+ private findParentNode;
175
+ /**
176
+ * Handle drop events for tree nodes
177
+ */
178
+ onDrop(event: AXDropListDroppedEvent, parentNode?: AXTreeNode): void;
179
+ /**
180
+ * Handle drop events when dropping directly onto a node (to make it a child)
181
+ */
182
+ onDropOntoNode(event: AXDropListDroppedEvent, targetNode: AXTreeNode): void;
183
+ /**
184
+ * Get array reference by drop list ID
185
+ */
186
+ private getArrayByListId;
187
+ /**
188
+ * Find parent node by list ID
189
+ */
190
+ private findParentByListId;
191
+ /**
192
+ * Find a node by ID in the tree
193
+ */
194
+ private findNodeById;
195
+ /**
196
+ * Check if targetNode is a descendant of ancestorNode (or the same node)
197
+ * Prevents circular references by checking if target exists in ancestor's children tree
198
+ */
199
+ private isNodeDescendantOf;
200
+ /**
201
+ * Generate unique list ID for each node
202
+ */
203
+ getListId(node?: AXTreeNode): string;
204
+ /**
205
+ * Expand all nodes in the tree (with lazy loading support)
206
+ */
207
+ expandAll(): Promise<void>;
208
+ /**
209
+ * Collapse all nodes in the tree
210
+ */
211
+ collapseAll(): void;
212
+ /**
213
+ * Recursively set expanded state (with lazy loading)
214
+ */
215
+ private setExpandedState;
216
+ /**
217
+ * Get count of selected nodes
218
+ */
219
+ getSelectedCount(): number;
220
+ /**
221
+ * Recursively count selected nodes
222
+ */
223
+ private countSelected;
224
+ /**
225
+ * Get all selected nodes
226
+ */
227
+ getSelectedNodes(): AXTreeNode[];
228
+ /**
229
+ * Recursively collect selected nodes
230
+ */
231
+ private collectSelected;
232
+ /**
233
+ * Delete selected nodes from the tree
234
+ */
235
+ deleteSelected(): void;
236
+ /**
237
+ * Recursively remove selected nodes
238
+ */
239
+ private removeSelected;
240
+ /**
241
+ * Recursively update all parent states in the tree (used after deletion)
242
+ */
243
+ private updateAllParentStates;
244
+ /**
245
+ * Check if a node is currently loading
246
+ */
247
+ isNodeLoading(nodeId: string): boolean;
248
+ /**
249
+ * Get template context for a node
250
+ */
251
+ getTemplateContext(node: AXTreeNode, level?: number): AXTreeItemTemplateContext;
252
+ /**
253
+ * Check if node should show expand toggle
254
+ */
255
+ shouldShowExpandToggle(node: AXTreeNode): boolean;
256
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTree2Component, never>;
257
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTree2Component, "ax-tree2", never, { "nodes": { "alias": "nodes"; "required": true; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "dragMode": { "alias": "dragMode"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "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; }; "nodeHeight": { "alias": "nodeHeight"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "lazyLoad": { "alias": "lazyLoad"; "required": false; "isSignal": true; }; "enableLazyLoad": { "alias": "enableLazyLoad"; "required": false; "isSignal": true; }; }, { "nodes": "nodesChange"; "onBeforeDrop": "onBeforeDrop"; "nodeToggle": "nodeToggle"; "nodeSelect": "nodeSelect"; "nodeDrop": "nodeDrop"; }, never, never, true, never>;
258
+ }
259
+
260
+ declare class Tree2Module {
261
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Tree2Module, never>;
262
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<Tree2Module, never, [typeof i1.CommonModule], never>;
263
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<Tree2Module>;
264
+ }
265
+
266
+ export { AXTree2Component, Tree2Module };
267
+ export type { AXTreeDragMode, AXTreeDropEvent, AXTreeItemTemplateContext, AXTreeNode, AXTreeNodeEvent, AXTreeNodeOnBeforeDropEvent, AXTreeViewLook };