@acorex/components 21.0.1-next.81 → 21.0.1-next.83

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 (83) hide show
  1. package/fesm2022/acorex-components-autocomplete.mjs +2 -2
  2. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  3. package/fesm2022/acorex-components-button.mjs +2 -2
  4. package/fesm2022/acorex-components-button.mjs.map +1 -1
  5. package/fesm2022/acorex-components-color-box.mjs +2 -2
  6. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  7. package/fesm2022/acorex-components-command.mjs +2 -2
  8. package/fesm2022/acorex-components-command.mjs.map +1 -1
  9. package/fesm2022/acorex-components-conversation.mjs +16 -16
  10. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  11. package/fesm2022/acorex-components-conversation2.mjs +12 -4
  12. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  13. package/fesm2022/acorex-components-cron-job.mjs +2 -2
  14. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  15. package/fesm2022/acorex-components-data-list.mjs +2 -2
  16. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  17. package/fesm2022/acorex-components-data-table.mjs +88 -41
  18. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  19. package/fesm2022/acorex-components-datetime-box.mjs +2 -2
  20. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  21. package/fesm2022/acorex-components-flow-chart.mjs +6 -6
  22. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  23. package/fesm2022/acorex-components-grid-layout-builder.mjs +2 -2
  24. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  25. package/fesm2022/acorex-components-number-box.mjs +2 -2
  26. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  27. package/fesm2022/acorex-components-otp.mjs +4 -4
  28. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  29. package/fesm2022/acorex-components-password-box.mjs +3 -3
  30. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-phone-box.mjs +2 -2
  32. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  33. package/fesm2022/acorex-components-rest-api-generator.mjs +10 -10
  34. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  35. package/fesm2022/acorex-components-scheduler-picker.mjs +114 -120
  36. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  37. package/fesm2022/acorex-components-search-box.mjs +2 -2
  38. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-select-box.mjs +19 -2
  40. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-slider.mjs +1 -1
  42. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  43. package/fesm2022/acorex-components-tabs.mjs +2 -2
  44. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  45. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  46. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  47. package/fesm2022/acorex-components-text-area.mjs +2 -2
  48. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  49. package/fesm2022/acorex-components-text-box.mjs +2 -2
  50. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  51. package/fesm2022/acorex-components-time-duration.mjs +4 -4
  52. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  53. package/fesm2022/acorex-components-tree-view.mjs +2 -2
  54. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  55. package/package.json +3 -27
  56. package/types/acorex-components-data-table.d.ts +22 -2
  57. package/types/acorex-components-otp.d.ts +1 -1
  58. package/types/acorex-components-select-box.d.ts +1 -0
  59. package/types/acorex-components-time-duration.d.ts +1 -1
  60. package/collapse/README.md +0 -3
  61. package/drawer-legacy/README.md +0 -3
  62. package/fesm2022/acorex-components-collapse.mjs +0 -369
  63. package/fesm2022/acorex-components-collapse.mjs.map +0 -1
  64. package/fesm2022/acorex-components-drawer-legacy.mjs +0 -218
  65. package/fesm2022/acorex-components-drawer-legacy.mjs.map +0 -1
  66. package/fesm2022/acorex-components-file-explorer.mjs +0 -307
  67. package/fesm2022/acorex-components-file-explorer.mjs.map +0 -1
  68. package/fesm2022/acorex-components-number-box-legacy.mjs +0 -412
  69. package/fesm2022/acorex-components-number-box-legacy.mjs.map +0 -1
  70. package/fesm2022/acorex-components-scss.mjs +0 -22
  71. package/fesm2022/acorex-components-scss.mjs.map +0 -1
  72. package/fesm2022/acorex-components-tree-view-legacy.mjs +0 -515
  73. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +0 -1
  74. package/file-explorer/README.md +0 -3
  75. package/number-box-legacy/README.md +0 -3
  76. package/scss/README.md +0 -3
  77. package/tree-view-legacy/README.md +0 -3
  78. package/types/acorex-components-collapse.d.ts +0 -172
  79. package/types/acorex-components-drawer-legacy.d.ts +0 -86
  80. package/types/acorex-components-file-explorer.d.ts +0 -103
  81. package/types/acorex-components-number-box-legacy.d.ts +0 -191
  82. package/types/acorex-components-scss.d.ts +0 -10
  83. package/types/acorex-components-tree-view-legacy.d.ts +0 -185
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "21.0.1-next.81",
3
+ "version": "21.0.1-next.83",
4
4
  "peerDependencies": {
5
- "@acorex/core": "21.0.1-next.81",
6
- "@acorex/cdk": "21.0.1-next.81",
5
+ "@acorex/core": "21.0.1-next.83",
6
+ "@acorex/cdk": "21.0.1-next.83",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "gridstack": ">=12.0.0",
@@ -124,10 +124,6 @@
124
124
  "types": "./types/acorex-components-code-editor.d.ts",
125
125
  "default": "./fesm2022/acorex-components-code-editor.mjs"
126
126
  },
127
- "./collapse": {
128
- "types": "./types/acorex-components-collapse.d.ts",
129
- "default": "./fesm2022/acorex-components-collapse.mjs"
130
- },
131
127
  "./color-box": {
132
128
  "types": "./types/acorex-components-color-box.d.ts",
133
129
  "default": "./fesm2022/acorex-components-color-box.mjs"
@@ -192,10 +188,6 @@
192
188
  "types": "./types/acorex-components-drawer.d.ts",
193
189
  "default": "./fesm2022/acorex-components-drawer.mjs"
194
190
  },
195
- "./drawer-legacy": {
196
- "types": "./types/acorex-components-drawer-legacy.d.ts",
197
- "default": "./fesm2022/acorex-components-drawer-legacy.mjs"
198
- },
199
191
  "./dropdown": {
200
192
  "types": "./types/acorex-components-dropdown.d.ts",
201
193
  "default": "./fesm2022/acorex-components-dropdown.mjs"
@@ -212,10 +204,6 @@
212
204
  "types": "./types/acorex-components-fab.d.ts",
213
205
  "default": "./fesm2022/acorex-components-fab.mjs"
214
206
  },
215
- "./file-explorer": {
216
- "types": "./types/acorex-components-file-explorer.d.ts",
217
- "default": "./fesm2022/acorex-components-file-explorer.mjs"
218
- },
219
207
  "./flow-chart": {
220
208
  "types": "./types/acorex-components-flow-chart.d.ts",
221
209
  "default": "./fesm2022/acorex-components-flow-chart.mjs"
@@ -292,10 +280,6 @@
292
280
  "types": "./types/acorex-components-number-box.d.ts",
293
281
  "default": "./fesm2022/acorex-components-number-box.mjs"
294
282
  },
295
- "./number-box-legacy": {
296
- "types": "./types/acorex-components-number-box-legacy.d.ts",
297
- "default": "./fesm2022/acorex-components-number-box-legacy.mjs"
298
- },
299
283
  "./otp": {
300
284
  "types": "./types/acorex-components-otp.d.ts",
301
285
  "default": "./fesm2022/acorex-components-otp.mjs"
@@ -384,10 +368,6 @@
384
368
  "types": "./types/acorex-components-scheduler-picker.d.ts",
385
369
  "default": "./fesm2022/acorex-components-scheduler-picker.mjs"
386
370
  },
387
- "./scss": {
388
- "types": "./types/acorex-components-scss.d.ts",
389
- "default": "./fesm2022/acorex-components-scss.mjs"
390
- },
391
371
  "./search-box": {
392
372
  "types": "./types/acorex-components-search-box.d.ts",
393
373
  "default": "./fesm2022/acorex-components-search-box.mjs"
@@ -472,10 +452,6 @@
472
452
  "types": "./types/acorex-components-tree-view.d.ts",
473
453
  "default": "./fesm2022/acorex-components-tree-view.mjs"
474
454
  },
475
- "./tree-view-legacy": {
476
- "types": "./types/acorex-components-tree-view-legacy.d.ts",
477
- "default": "./fesm2022/acorex-components-tree-view-legacy.mjs"
478
- },
479
455
  "./uploader": {
480
456
  "types": "./types/acorex-components-uploader.d.ts",
481
457
  "default": "./fesm2022/acorex-components-uploader.mjs"
@@ -100,7 +100,7 @@ declare abstract class AXDataTableColumnComponent {
100
100
  * Width of the column.
101
101
  * - string: e.g., '180px', '20%'
102
102
  * - number: e.g., 180 (treated as pixels)
103
- * - 'auto': automatically fits to content after data load
103
+ * - 'auto': sizes from headers when the table first renders, then refits from row content once data loads
104
104
  *
105
105
  * @defaultValue 'auto'
106
106
  */
@@ -671,6 +671,23 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
671
671
  newColumnWidth: number;
672
672
  thElement: any;
673
673
  };
674
+ /**
675
+ * Columns that used `width="auto"` and received header-only sizing before rows were available.
676
+ * They get a full content measurement once data is present.
677
+ * @ignore
678
+ */
679
+ private pendingContentAutoFitColumns;
680
+ /**
681
+ * Columns that were configured with `width="auto"` (intent), even if we later set a pixel width.
682
+ * Used to re-measure on every page/data change.
683
+ * @ignore
684
+ */
685
+ private autoFitIntentColumns;
686
+ /**
687
+ * Columns the user manually resized by dragging. Auto-fit should not override user choice.
688
+ * @ignore
689
+ */
690
+ private userResizedColumns;
674
691
  /**
675
692
  * @ignore
676
693
  */
@@ -841,6 +858,7 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
841
858
  * @ignore
842
859
  */
843
860
  ngAfterViewInit(): void;
861
+ private captureAutoFitIntentColumns;
844
862
  /**
845
863
  * Returns the display text for a cell. Used for the native title (tooltip) on each cell.
846
864
  */
@@ -939,7 +957,7 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
939
957
  private calculateStickyColumnsPositions;
940
958
  /**
941
959
  * Auto-fits columns that have width='auto'.
942
- * Called automatically after data load.
960
+ * Runs header-only sizing after view init (`headerOnly: true`) and full measurement after data load.
943
961
  *
944
962
  * @ignore
945
963
  */
@@ -966,10 +984,12 @@ declare class AXDataTableComponent extends AXBaseDataTable implements OnInit, Af
966
984
  * @param columnIndex - The index of the column to auto-fit (0-based, based on columns QueryList)
967
985
  * @param options - Configuration options
968
986
  * @param options.maxWidth - Maximum width for the column in pixels (default: none)
987
+ * @param options.headerOnly - When true, only the header cell is measured (e.g. before row data exists)
969
988
  * @returns void
970
989
  */
971
990
  autoFitColumn(columnIndex: number, options?: {
972
991
  maxWidth?: number;
992
+ headerOnly?: boolean;
973
993
  }): void;
974
994
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableComponent, never>;
975
995
  static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableComponent, "ax-data-table", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "selectedRows": { "alias": "selectedRows"; "required": false; }; "parentField": { "alias": "parentField"; "required": false; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; }; "rowDetailsTemplate": { "alias": "rowDetailsTemplate"; "required": false; }; "title": { "alias": "title"; "required": false; }; "rowTemplate": { "alias": "rowTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "noDataTemplate": { "alias": "noDataTemplate"; "required": false; }; "alternative": { "alias": "alternative"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "fixedHeader": { "alias": "fixedHeader"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "fixedFooter": { "alias": "fixedFooter"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "allowReordering": { "alias": "allowReordering"; "required": false; }; "paging": { "alias": "paging"; "required": false; }; "fetchDataMode": { "alias": "fetchDataMode"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "focusedRow": { "alias": "focusedRow"; "required": false; }; }, { "selectedRowsChange": "selectedRowsChange"; "focusedRowChange": "focusedRowChange"; "onRowClick": "onRowClick"; "onRowDbClick": "onRowDbClick"; "onColumnsOrderChanged": "onColumnsOrderChanged"; "onColumnSizeChanged": "onColumnSizeChanged"; "onPageChanged": "onPageChanged"; }, ["customDataPager", "columns"], ["ax-header", "ax-data-pager", "ax-footer"], true, never>;
@@ -60,7 +60,7 @@ declare class AXOtpComponent extends AXOtpComponent_base {
60
60
  /** @ignore */
61
61
  protected _emitOnComplete(): void;
62
62
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXOtpComponent, never>;
63
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXOtpComponent, "ax-otp", never, { "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "look": { "alias": "look"; "required": false; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "length": { "alias": "length"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "disabledChange": "disabledChange"; "length": "lengthChange"; "onCompleted": "onCompleted"; }, never, never, true, never>;
63
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXOtpComponent, "ax-otp", never, { "state": { "alias": "state"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "look": { "alias": "look"; "required": false; }; "name": { "alias": "name"; "required": false; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "length": { "alias": "length"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "disabledChange": "disabledChange"; "length": "lengthChange"; "onCompleted": "onCompleted"; }, never, never, true, never>;
64
64
  }
65
65
 
66
66
  declare class AXOtpModule {
@@ -157,6 +157,7 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
157
157
  protected _handleItemClick(e: AXItemClickEvent): void;
158
158
  /** @ignore */
159
159
  protected _handleItemSelected(e: AXItemSelectedEvent): void;
160
+ private _resetSearchAfterSelection;
160
161
  /** @ignore */
161
162
  private setDropdownSize;
162
163
  private updateDropdownPosition;
@@ -56,7 +56,7 @@ declare class AXTimeDurationComponent extends AXTimeDurationComponent_base {
56
56
  }>;
57
57
  private get __hostName();
58
58
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTimeDurationComponent, never>;
59
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTimeDurationComponent, "ax-time-duration", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "look": { "alias": "look"; "required": false; }; "valueStart": { "alias": "valueStart"; "required": false; "isSignal": true; }; "valueEnd": { "alias": "valueEnd"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "maskDigits": { "alias": "maskDigits"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, never, never, true, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTimeDurationComponent, "ax-time-duration", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "look": { "alias": "look"; "required": false; }; "name": { "alias": "name"; "required": false; }; "valueStart": { "alias": "valueStart"; "required": false; "isSignal": true; }; "valueEnd": { "alias": "valueEnd"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "maskDigits": { "alias": "maskDigits"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, never, never, true, never>;
60
60
  }
61
61
 
62
62
  declare class AXTimeDurationModule {
@@ -1,3 +0,0 @@
1
- # @acorex/components/collapse
2
-
3
- Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/collapse`.
@@ -1,3 +0,0 @@
1
- # @acorex/components/drawer
2
-
3
- Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/drawer`.
@@ -1,369 +0,0 @@
1
- import { AXClickEvent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';
2
- import * as i0 from '@angular/core';
3
- import { inject, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Component, ContentChildren, NgModule } from '@angular/core';
4
- import { classes } from 'polytype';
5
- import { AXLoadingComponent } from '@acorex/components/loading';
6
- import { NgTemplateOutlet, NgClass } from '@angular/common';
7
-
8
- class AXCollapseClickEvent extends AXClickEvent {
9
- constructor() {
10
- super(...arguments);
11
- this.handled = false;
12
- }
13
- }
14
- /**
15
- * @deprecated Use `accordion` instead.
16
- * This component deprecated and no longer support.
17
- */
18
- class AXCollapseComponent extends classes(MXInteractiveComponent, MXLookComponent) {
19
- constructor() {
20
- super(...arguments);
21
- this.parent = inject(MXLookableComponent, { optional: true, host: true });
22
- /**
23
- * Fires each time the user clicks the panel header.
24
- * @event
25
- */
26
- this.onClick = new EventEmitter();
27
- /**
28
- * Fires an event when the collapse state changes.
29
- *
30
- * @event
31
- */
32
- this.isCollapsedChange = new EventEmitter();
33
- /**
34
- * @ignore
35
- */
36
- this._isCollapsed = false;
37
- /**
38
- * @ignore
39
- */
40
- this._showHeader = true;
41
- /**
42
- * Sets the caption for the collapse component.
43
- *
44
- * @defaultValue ''
45
- */
46
- this.caption = '';
47
- /**
48
- * Specifies the icon to display in the collapse component.
49
- *
50
- * @defaultValue ''
51
- */
52
- this.icon = '';
53
- /**
54
- * @ignore
55
- */
56
- this._isLoading = false;
57
- }
58
- /**
59
- * Providing a boolean value for its collapse state
60
- */
61
- get isCollapsed() {
62
- return this._isCollapsed;
63
- }
64
- set isCollapsed(v) {
65
- this.setOption({
66
- name: 'isCollapsed',
67
- value: v,
68
- afterCallback: () => {
69
- this.cdr.detectChanges();
70
- },
71
- });
72
- }
73
- /**
74
- * Providing a boolean value for show or hide header
75
- */
76
- get showHeader() {
77
- return this._showHeader;
78
- }
79
- set showHeader(v) {
80
- this.setOption({
81
- name: 'showHeader',
82
- value: v,
83
- afterCallback: () => {
84
- this.cdr.detectChanges();
85
- },
86
- });
87
- }
88
- /**
89
- * Providing a boolean value for its collapse state
90
- */
91
- get isLoading() {
92
- return this._isLoading;
93
- }
94
- set isLoading(v) {
95
- this.setOption({
96
- name: 'isLoading',
97
- value: v,
98
- afterCallback: () => {
99
- this.cdr.detectChanges();
100
- },
101
- });
102
- }
103
- /**
104
- * Handles header clicks, emitting a click event and toggling collapse state if not handled.
105
- *
106
- * @param e - The native mouse event.
107
- */
108
- handleHeaderClick(e) {
109
- if (this.disabled || this.isLoading)
110
- return;
111
- const event = {
112
- component: this,
113
- htmlElement: this.getHostElement(),
114
- nativeEvent: e,
115
- handled: false,
116
- };
117
- this.onClick.emit(event);
118
- if (!event.handled) {
119
- this.toggle();
120
- }
121
- }
122
- /**
123
- * Expands the collapse component.
124
- *
125
- * @returns void - No return value. Sets `isCollapsed` to false and expands the body.
126
- */
127
- open() {
128
- this.isCollapsed = false;
129
- }
130
- /**
131
- * Collapses the collapse component.
132
- *
133
- * @returns void - No return value. Sets `isCollapsed` to true and hides the body.
134
- */
135
- close() {
136
- this.isCollapsed = true;
137
- }
138
- /**
139
- * Toggles the collapse state between expanded and collapsed.
140
- *
141
- * @returns void - No return value. Flips the `isCollapsed` state.
142
- */
143
- toggle() {
144
- this.isCollapsed = !this.isCollapsed;
145
- }
146
- /**
147
- * @ignore
148
- */
149
- get __hostClass() {
150
- return [`${this.disabled ? 'ax-state-disabled' : ''}`, `${this.look ?? this.parent?.look}`];
151
- }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXCollapseComponent, isStandalone: true, selector: "ax-collapse", inputs: { disabled: "disabled", look: "look", isCollapsed: "isCollapsed", showHeader: "showHeader", caption: "caption", icon: "icon", isLoading: "isLoading", headerTemplate: "headerTemplate" }, outputs: { onClick: "onClick", isCollapsedChange: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXCollapseComponent }], usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n <div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n @if (headerTemplate) {\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"\n ></ng-container>\n </div>\n } @else {\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n @if (isLoading) {\n <ax-loading></ax-loading>\n } @else {\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n }\n </div>\n </div>\n }\n </div>\n}\n@if (!isCollapsed) {\n <div animate.enter=\"ax-fade-slide-in\" animate.leave=\"ax-fade-slide-out\" class=\"ax-collapse-body\">\n <div class=\"ax-collapse-body-content\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n", styles: ["ax-collapse-group ax-collapse.ax-solid{--ax-comp-collapse-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-collapse-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-collapse-border-width: 1px}.dark ax-collapse-group ax-collapse.ax-solid{--ax-comp-collapse-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-collapse-border-color: var(--ax-sys-color-border-darkest-surface)}ax-collapse-group ax-collapse.ax-fill{--ax-comp-collapse-bg-color: var(--ax-sys-color-surface)}ax-collapse-group ax-collapse.ax-flat{--ax-comp-collapse-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-collapse-border-width: 1px}ax-collapse-group ax-collapse.ax-outline{--ax-comp-collapse-border-color: var(--ax-sys-color-border-surface);--ax-comp-collapse-border-width: 1px}ax-collapse-group ax-collapse{--ax-comp-collapse-margin: .5rem}ax-collapse,ax-collapse-group{display:block;width:100%;overflow:hidden;font-size:1rem;line-height:1.5rem}@keyframes fadeSlideIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:1500px}}@keyframes fadeSlideOut{0%{opacity:1;max-height:1500px}to{opacity:0;max-height:0}}ax-collapse .ax-fade-slide-in,ax-collapse-group .ax-fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}ax-collapse .ax-fade-slide-out,ax-collapse-group .ax-fade-slide-out{animation:fadeSlideOut var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}ax-collapse-group ax-collapse{margin-bottom:var(--ax-comp-collapse-margin)}ax-collapse-group ax-collapse.ax-solid{border-radius:var(--ax-sys-border-radius);border-width:var(--ax-comp-collapse-border-width);border-color:rgba(var(--ax-comp-collapse-border-color))}ax-collapse-group ax-collapse.ax-solid .ax-collapse-header{background-color:rgba(var(--ax-comp-collapse-bg-color))}ax-collapse-group ax-collapse.ax-fill .ax-collapse-header{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-comp-collapse-bg-color))}ax-collapse-group ax-collapse.ax-outline{border-radius:var(--ax-sys-border-radius);border-width:var(--ax-comp-collapse-border-width);border-color:rgba(var(--ax-comp-collapse-border-color))}ax-collapse-group ax-collapse.ax-outline .ax-collapse-header{background-color:transparent}ax-collapse-group ax-collapse.ax-flat{border-bottom-width:var(--ax-comp-collapse-border-width);border-color:rgba(var(--ax-comp-collapse-border-color))}ax-collapse-group ax-collapse.ax-flat .ax-collapse-header{background-color:transparent}ax-collapse.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-sys-color-on-surface-high))!important}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem}ax-collapse .ax-collapse-header .ax-collapse-header-container{display:flex;justify-content:space-between}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start{display:flex;align-items:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start:not(:empty) .ax-collapse-header-icon{padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end{display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow{transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);display:block}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body .ax-collapse-body-content{padding:1rem;padding-inline-end:1rem;padding-inline-start:1.25rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
- }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseComponent, decorators: [{
156
- type: Component,
157
- args: [{ selector: 'ax-collapse', inputs: ['disabled', 'look'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet, AXLoadingComponent, NgClass], providers: [{ provide: AXComponent, useExisting: AXCollapseComponent }], template: "@if (showHeader) {\n <div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n @if (headerTemplate) {\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"\n ></ng-container>\n </div>\n } @else {\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n @if (isLoading) {\n <ax-loading></ax-loading>\n } @else {\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n }\n </div>\n </div>\n }\n </div>\n}\n@if (!isCollapsed) {\n <div animate.enter=\"ax-fade-slide-in\" animate.leave=\"ax-fade-slide-out\" class=\"ax-collapse-body\">\n <div class=\"ax-collapse-body-content\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n", styles: ["ax-collapse-group ax-collapse.ax-solid{--ax-comp-collapse-bg-color: var(--ax-sys-color-lightest-surface);--ax-comp-collapse-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-collapse-border-width: 1px}.dark ax-collapse-group ax-collapse.ax-solid{--ax-comp-collapse-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-collapse-border-color: var(--ax-sys-color-border-darkest-surface)}ax-collapse-group ax-collapse.ax-fill{--ax-comp-collapse-bg-color: var(--ax-sys-color-surface)}ax-collapse-group ax-collapse.ax-flat{--ax-comp-collapse-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-collapse-border-width: 1px}ax-collapse-group ax-collapse.ax-outline{--ax-comp-collapse-border-color: var(--ax-sys-color-border-surface);--ax-comp-collapse-border-width: 1px}ax-collapse-group ax-collapse{--ax-comp-collapse-margin: .5rem}ax-collapse,ax-collapse-group{display:block;width:100%;overflow:hidden;font-size:1rem;line-height:1.5rem}@keyframes fadeSlideIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:1500px}}@keyframes fadeSlideOut{0%{opacity:1;max-height:1500px}to{opacity:0;max-height:0}}ax-collapse .ax-fade-slide-in,ax-collapse-group .ax-fade-slide-in{animation:fadeSlideIn var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}ax-collapse .ax-fade-slide-out,ax-collapse-group .ax-fade-slide-out{animation:fadeSlideOut var(--ax-sys-transition-duration) var(--ax-sys-transition-timing-function)}ax-collapse-group ax-collapse{margin-bottom:var(--ax-comp-collapse-margin)}ax-collapse-group ax-collapse.ax-solid{border-radius:var(--ax-sys-border-radius);border-width:var(--ax-comp-collapse-border-width);border-color:rgba(var(--ax-comp-collapse-border-color))}ax-collapse-group ax-collapse.ax-solid .ax-collapse-header{background-color:rgba(var(--ax-comp-collapse-bg-color))}ax-collapse-group ax-collapse.ax-fill .ax-collapse-header{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-comp-collapse-bg-color))}ax-collapse-group ax-collapse.ax-outline{border-radius:var(--ax-sys-border-radius);border-width:var(--ax-comp-collapse-border-width);border-color:rgba(var(--ax-comp-collapse-border-color))}ax-collapse-group ax-collapse.ax-outline .ax-collapse-header{background-color:transparent}ax-collapse-group ax-collapse.ax-flat{border-bottom-width:var(--ax-comp-collapse-border-width);border-color:rgba(var(--ax-comp-collapse-border-color))}ax-collapse-group ax-collapse.ax-flat .ax-collapse-header{background-color:transparent}ax-collapse.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-sys-color-on-surface-high))!important}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem}ax-collapse .ax-collapse-header .ax-collapse-header-container{display:flex;justify-content:space-between}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start{display:flex;align-items:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start:not(:empty) .ax-collapse-header-icon{padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end{display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow{transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);display:block}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-end .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body .ax-collapse-body-content{padding:1rem;padding-inline-end:1rem;padding-inline-start:1.25rem}\n"] }]
158
- }], propDecorators: { onClick: [{
159
- type: Output
160
- }], isCollapsedChange: [{
161
- type: Output
162
- }], isCollapsed: [{
163
- type: Input
164
- }], showHeader: [{
165
- type: Input
166
- }], caption: [{
167
- type: Input
168
- }], icon: [{
169
- type: Input
170
- }], isLoading: [{
171
- type: Input
172
- }], headerTemplate: [{
173
- type: Input
174
- }], __hostClass: [{
175
- type: HostBinding,
176
- args: ['class']
177
- }] } });
178
-
179
- /**
180
- * @deprecated Use `accordion` instead.
181
- * This component deprecated and no longer support.
182
- */
183
- class AXCollapseGroupComponent extends classes(MXBaseComponent, MXLookComponent) {
184
- constructor() {
185
- super(...arguments);
186
- /**
187
- * Emitted when the accordion state changes.
188
- *
189
- * @event
190
- */
191
- this.accordionChange = new EventEmitter();
192
- /**
193
- * @ignore
194
- */
195
- this._accordion = false;
196
- /**
197
- * Emits when the active index changes.
198
- * @event
199
- */
200
- this.activeIndexChange = new EventEmitter();
201
- /**
202
- * @ignore
203
- */
204
- this._activeIndex = 0;
205
- /**
206
- * @ignore
207
- */
208
- this._subs = [];
209
- }
210
- /**
211
- * Enables accordion behavior, allowing only one collapsible item to be expanded at a time
212
- */
213
- get accordion() {
214
- return this._accordion;
215
- }
216
- set accordion(value) {
217
- this.setOption({
218
- name: 'accordion',
219
- value,
220
- afterCallback: (oldValue, newValue) => {
221
- if (newValue) {
222
- this.applyAccordion();
223
- }
224
- else {
225
- this.removeAccordion();
226
- }
227
- },
228
- });
229
- }
230
- /**
231
- * Index of the currently active item within the group
232
- */
233
- get activeIndex() {
234
- return this._activeIndex;
235
- }
236
- set activeIndex(value) {
237
- this.setOption({
238
- name: 'activeIndex',
239
- value,
240
- beforeCallback: (oldValue, newValue) => {
241
- const len = this._items?.length || 0;
242
- if (newValue < 0)
243
- newValue = 0;
244
- if (len > 0 && newValue >= len) {
245
- newValue = len - 1;
246
- }
247
- return newValue;
248
- },
249
- afterCallback: () => {
250
- this.applyAccordion();
251
- },
252
- });
253
- }
254
- /**
255
- * @ignore
256
- */
257
- ngAfterViewInit() {
258
- if (this.accordion) {
259
- this.applyAccordion();
260
- }
261
- }
262
- /**
263
- * @ignore
264
- */
265
- applyAccordion() {
266
- if (!this.look)
267
- return;
268
- if (this._items && this._items.length > 1) {
269
- const activeIndex = this._items.get(this.activeIndex) || this._items.get(0);
270
- this._items.forEach((c) => (c.isCollapsed = true));
271
- if (activeIndex)
272
- activeIndex.isCollapsed = false;
273
- this._items.forEach((c1) => {
274
- const list = this._items.toArray();
275
- this._subs.push(
276
- // TODO: add and use a new event for status changes
277
- c1.onClick.subscribe((e) => {
278
- if (!e.handled) {
279
- this._activeIndex = list.indexOf(c1);
280
- list.filter((c2) => c2 != c1).forEach((c) => (c.isCollapsed = true));
281
- }
282
- }));
283
- });
284
- }
285
- }
286
- /**
287
- * @ignore
288
- */
289
- removeAccordion() {
290
- this._subs.forEach((s) => s.unsubscribe());
291
- this._subs = [];
292
- }
293
- /**
294
- * @ignore
295
- */
296
- ngOnDestroy() {
297
- this.removeAccordion();
298
- }
299
- /**
300
- * @ignore
301
- */
302
- get __hostClass() {
303
- return ['ax-collapse-group', `${this.look}`];
304
- }
305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXCollapseGroupComponent, isStandalone: true, selector: "ax-collapse-group", inputs: { look: "look", accordion: "accordion", activeIndex: "activeIndex" }, outputs: { accordionChange: "accordionChange", activeIndexChange: "activeIndexChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
307
- {
308
- provide: MXLookableComponent,
309
- useExisting: AXCollapseGroupComponent,
310
- },
311
- { provide: AXComponent, useExisting: AXCollapseGroupComponent },
312
- ], queries: [{ propertyName: "_items", predicate: AXCollapseComponent }], usesInheritance: true, ngImport: i0, template: `<ng-content select="ax-collapse"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
313
- }
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseGroupComponent, decorators: [{
315
- type: Component,
316
- args: [{
317
- selector: 'ax-collapse-group',
318
- inputs: ['look'],
319
- template: `<ng-content select="ax-collapse"></ng-content>`,
320
- changeDetection: ChangeDetectionStrategy.OnPush,
321
- encapsulation: ViewEncapsulation.None,
322
- providers: [
323
- {
324
- provide: MXLookableComponent,
325
- useExisting: AXCollapseGroupComponent,
326
- },
327
- { provide: AXComponent, useExisting: AXCollapseGroupComponent },
328
- ],
329
- }]
330
- }], propDecorators: { accordionChange: [{
331
- type: Output
332
- }], accordion: [{
333
- type: Input
334
- }], activeIndexChange: [{
335
- type: Output
336
- }], activeIndex: [{
337
- type: Input
338
- }], _items: [{
339
- type: ContentChildren,
340
- args: [AXCollapseComponent]
341
- }], __hostClass: [{
342
- type: HostBinding,
343
- args: ['class']
344
- }] } });
345
-
346
- class AXCollapseModule {
347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
348
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseModule, imports: [AXCollapseComponent, AXCollapseGroupComponent], exports: [AXCollapseComponent, AXCollapseGroupComponent] }); }
349
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseModule, imports: [AXCollapseComponent] }); }
350
- }
351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXCollapseModule, decorators: [{
352
- type: NgModule,
353
- args: [{
354
- imports: [AXCollapseComponent, AXCollapseGroupComponent],
355
- exports: [AXCollapseComponent, AXCollapseGroupComponent],
356
- }]
357
- }] });
358
-
359
- /**
360
- * @deprecated Use `range slider` instead.
361
- * This component deprecated and no longer support.
362
- */
363
-
364
- /**
365
- * Generated bundle index. Do not edit.
366
- */
367
-
368
- export { AXCollapseClickEvent, AXCollapseComponent, AXCollapseGroupComponent, AXCollapseModule };
369
- //# sourceMappingURL=acorex-components-collapse.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-collapse.mjs","sources":["../../../../packages/components/collapse/src/lib/collapse.component.ts","../../../../packages/components/collapse/src/lib/collapse.component.html","../../../../packages/components/collapse/src/lib/collapse-group.component.ts","../../../../packages/components/collapse/src/lib/collapse.module.ts","../../../../packages/components/collapse/src/index.ts","../../../../packages/components/collapse/src/acorex-components-collapse.ts"],"sourcesContent":["import {\n AXClickEvent,\n AXComponent,\n MXInteractiveComponent,\n MXLookComponent,\n MXLookableComponent,\n} from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { classes } from 'polytype';\n\nexport class AXCollapseClickEvent extends AXClickEvent {\n handled = false;\n}\n\n/**\n * @deprecated Use `accordion` instead.\n * This component deprecated and no longer support.\n */\n@Component({\n selector: 'ax-collapse',\n templateUrl: './collapse.component.html',\n inputs: ['disabled', 'look'],\n styleUrls: ['./collapse.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgTemplateOutlet, AXLoadingComponent, NgClass],\n providers: [{ provide: AXComponent, useExisting: AXCollapseComponent }],\n})\nexport class AXCollapseComponent extends classes(MXInteractiveComponent, MXLookComponent) {\n private parent = inject(MXLookableComponent, { optional: true, host: true });\n\n /**\n * Fires each time the user clicks the panel header.\n * @event\n */\n @Output()\n onClick: EventEmitter<AXCollapseClickEvent> = new EventEmitter<AXCollapseClickEvent>();\n\n /**\n * Fires an event when the collapse state changes.\n *\n * @event\n */\n @Output()\n isCollapsedChange: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * @ignore\n */\n private _isCollapsed = false;\n\n /**\n * Providing a boolean value for its collapse state\n */\n @Input()\n public get isCollapsed(): boolean {\n return this._isCollapsed;\n }\n public set isCollapsed(v: boolean) {\n this.setOption({\n name: 'isCollapsed',\n value: v,\n afterCallback: () => {\n this.cdr.detectChanges();\n },\n });\n }\n\n /**\n * @ignore\n */\n private _showHeader = true;\n\n /**\n * Providing a boolean value for show or hide header\n */\n @Input()\n public get showHeader(): boolean {\n return this._showHeader;\n }\n public set showHeader(v: boolean) {\n this.setOption({\n name: 'showHeader',\n value: v,\n afterCallback: () => {\n this.cdr.detectChanges();\n },\n });\n }\n\n /**\n * Sets the caption for the collapse component.\n *\n * @defaultValue ''\n */\n @Input()\n caption = '';\n\n /**\n * Specifies the icon to display in the collapse component.\n *\n * @defaultValue ''\n */\n @Input()\n icon = '';\n\n /**\n * @ignore\n */\n private _isLoading = false;\n\n /**\n * Providing a boolean value for its collapse state\n */\n @Input()\n public get isLoading(): boolean {\n return this._isLoading;\n }\n public set isLoading(v: boolean) {\n this.setOption({\n name: 'isLoading',\n value: v,\n afterCallback: () => {\n this.cdr.detectChanges();\n },\n });\n }\n\n /**\n * Template used for the collapse component's header.\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * Handles header clicks, emitting a click event and toggling collapse state if not handled.\n *\n * @param e - The native mouse event.\n */\n handleHeaderClick(e: MouseEvent) {\n if (this.disabled || this.isLoading) return;\n const event = {\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n handled: false,\n };\n this.onClick.emit(event);\n if (!event.handled) {\n this.toggle();\n }\n }\n\n /**\n * Expands the collapse component.\n *\n * @returns void - No return value. Sets `isCollapsed` to false and expands the body.\n */\n open(): void {\n this.isCollapsed = false;\n }\n\n /**\n * Collapses the collapse component.\n *\n * @returns void - No return value. Sets `isCollapsed` to true and hides the body.\n */\n close(): void {\n this.isCollapsed = true;\n }\n\n /**\n * Toggles the collapse state between expanded and collapsed.\n *\n * @returns void - No return value. Flips the `isCollapsed` state.\n */\n toggle(): void {\n this.isCollapsed = !this.isCollapsed;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string[] {\n return [`${this.disabled ? 'ax-state-disabled' : ''}`, `${this.look ?? this.parent?.look}`];\n }\n}\n","@if (showHeader) {\n <div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n @if (headerTemplate) {\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"\n ></ng-container>\n </div>\n } @else {\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <div class=\"ax-collapse-header-end\">\n @if (isLoading) {\n <ax-loading></ax-loading>\n } @else {\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n }\n </div>\n </div>\n }\n </div>\n}\n@if (!isCollapsed) {\n <div animate.enter=\"ax-fade-slide-in\" animate.leave=\"ax-fade-slide-out\" class=\"ax-collapse-body\">\n <div class=\"ax-collapse-body-content\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { AXComponent, MXBaseComponent, MXLookComponent, MXLookableComponent } from '@acorex/cdk/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { Subscription } from 'rxjs';\nimport { AXCollapseComponent } from './collapse.component';\n\n/**\n * @deprecated Use `accordion` instead.\n * This component deprecated and no longer support.\n */\n@Component({\n selector: 'ax-collapse-group',\n inputs: ['look'],\n template: `<ng-content select=\"ax-collapse\"></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MXLookableComponent,\n useExisting: AXCollapseGroupComponent,\n },\n { provide: AXComponent, useExisting: AXCollapseGroupComponent },\n ],\n})\nexport class AXCollapseGroupComponent\n extends classes(MXBaseComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy\n{\n /**\n * Emitted when the accordion state changes.\n *\n * @event\n */\n @Output()\n accordionChange: EventEmitter<boolean> = new EventEmitter();\n\n /**\n * @ignore\n */\n private _accordion?: boolean = false;\n\n /**\n * Enables accordion behavior, allowing only one collapsible item to be expanded at a time\n */\n @Input()\n get accordion(): boolean | undefined {\n return this._accordion;\n }\n set accordion(value: boolean) {\n this.setOption({\n name: 'accordion',\n value,\n afterCallback: (oldValue, newValue) => {\n if (newValue) {\n this.applyAccordion();\n } else {\n this.removeAccordion();\n }\n },\n });\n }\n\n /**\n * Emits when the active index changes.\n * @event\n */\n @Output()\n activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n /**\n * @ignore\n */\n private _activeIndex = 0;\n\n /**\n * Index of the currently active item within the group\n */\n @Input()\n get activeIndex(): number {\n return this._activeIndex;\n }\n set activeIndex(value: number) {\n this.setOption({\n name: 'activeIndex',\n value,\n beforeCallback: (oldValue, newValue) => {\n const len = this._items?.length || 0;\n if (newValue < 0) newValue = 0;\n if (len > 0 && newValue >= len) {\n newValue = len - 1;\n }\n return newValue;\n },\n afterCallback: () => {\n this.applyAccordion();\n },\n });\n }\n\n @ContentChildren(AXCollapseComponent)\n private _items: QueryList<AXCollapseComponent>;\n\n /**\n * @ignore\n */\n private _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n if (this.accordion) {\n this.applyAccordion();\n }\n }\n\n /**\n * @ignore\n */\n private applyAccordion() {\n if (!this.look) return;\n if (this._items && this._items.length > 1) {\n const activeIndex = this._items.get(this.activeIndex) || this._items.get(0);\n this._items.forEach((c) => (c.isCollapsed = true));\n if (activeIndex) activeIndex.isCollapsed = false;\n\n this._items.forEach((c1: AXCollapseComponent) => {\n const list = this._items.toArray();\n\n this._subs.push(\n // TODO: add and use a new event for status changes\n c1.onClick.subscribe((e) => {\n if (!e.handled) {\n this._activeIndex = list.indexOf(c1);\n list.filter((c2) => c2 != c1).forEach((c) => (c.isCollapsed = true));\n }\n }),\n );\n });\n }\n }\n\n /**\n * @ignore\n */\n private removeAccordion() {\n this._subs.forEach((s) => s.unsubscribe());\n this._subs = [];\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this.removeAccordion();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-collapse-group', `${this.look}`];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXCollapseGroupComponent } from './collapse-group.component';\nimport { AXCollapseComponent } from './collapse.component';\n\n@NgModule({\n imports: [AXCollapseComponent, AXCollapseGroupComponent],\n exports: [AXCollapseComponent, AXCollapseGroupComponent],\n})\nexport class AXCollapseModule {}\n","/**\n * @deprecated Use `range slider` instead.\n * This component deprecated and no longer support.\n */\nexport * from './lib/collapse-group.component';\n/**\n * @deprecated Use `range slider` instead.\n * This component deprecated and no longer support.\n */\nexport * from './lib/collapse.component';\n/**\n * @deprecated Use `range slider` instead.\n * This component deprecated and no longer support.\n */\nexport * from './lib/collapse.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}