@acorex/components 7.5.1 → 7.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/badge/lib/badge.component.d.ts +3 -3
  2. package/button/lib/button-item.component.d.ts +3 -1
  3. package/calendar/lib/calendar.component.d.ts +6 -4
  4. package/chips/lib/chips.component.d.ts +1 -1
  5. package/collapse/lib/collapse.component.d.ts +15 -2
  6. package/collapse/lib/collapse.module.d.ts +2 -1
  7. package/common/index.d.ts +1 -0
  8. package/common/lib/classes/datalist.class.d.ts +0 -31
  9. package/common/lib/classes/datasource.class.d.ts +55 -0
  10. package/common/lib/classes/styles.class.d.ts +1 -1
  11. package/common/lib/components/interactive-component.class.d.ts +1 -7
  12. package/common/lib/components/selection-base.component.class.d.ts +4 -6
  13. package/common/lib/directives/ripple.directive.d.ts +2 -1
  14. package/datetime-box/lib/datetime-box.component.d.ts +2 -1
  15. package/datetime-input/lib/datetime-input.component.d.ts +2 -1
  16. package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
  17. package/esm2022/alert/lib/alert.component.mjs +4 -5
  18. package/esm2022/avatar/lib/avatar.component.mjs +4 -4
  19. package/esm2022/badge/lib/badge.component.mjs +6 -6
  20. package/esm2022/button/lib/button-item.component.mjs +12 -3
  21. package/esm2022/button/lib/button.component.mjs +2 -2
  22. package/esm2022/button-group/lib/button-group.component.mjs +2 -2
  23. package/esm2022/calendar/lib/calendar.class.mjs +1 -58
  24. package/esm2022/calendar/lib/calendar.component.mjs +27 -16
  25. package/esm2022/chips/lib/chips.component.mjs +4 -4
  26. package/esm2022/collapse/lib/collapse-group.component.mjs +8 -4
  27. package/esm2022/collapse/lib/collapse.component.mjs +63 -15
  28. package/esm2022/collapse/lib/collapse.module.mjs +5 -4
  29. package/esm2022/color-box/lib/color-box.module.mjs +1 -1
  30. package/esm2022/common/index.mjs +2 -1
  31. package/esm2022/common/lib/classes/datalist.class.mjs +2 -41
  32. package/esm2022/common/lib/classes/datasource.class.mjs +106 -0
  33. package/esm2022/common/lib/classes/styles.class.mjs +1 -1
  34. package/esm2022/common/lib/components/interactive-component.class.mjs +13 -13
  35. package/esm2022/common/lib/components/selection-base.component.class.mjs +55 -27
  36. package/esm2022/common/lib/directives/ripple.directive.mjs +14 -8
  37. package/esm2022/datetime-box/lib/datetime-box.component.mjs +6 -3
  38. package/esm2022/datetime-input/lib/datetime-input.component.mjs +11 -4
  39. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +3 -3
  40. package/esm2022/list/lib/list.component.mjs +34 -60
  41. package/esm2022/menu/index.mjs +1 -2
  42. package/esm2022/menu/lib/class/root-menu.class.mjs +1 -1
  43. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +60 -18
  44. package/esm2022/menu/lib/menu.component.mjs +37 -342
  45. package/esm2022/menu/lib/menu.module.mjs +3 -4
  46. package/esm2022/notification/lib/notification.component.mjs +2 -2
  47. package/esm2022/otp/lib/otp.component.mjs +4 -3
  48. package/esm2022/otp/lib/otp.module.mjs +4 -3
  49. package/esm2022/picker/lib/picker.component.mjs +2 -2
  50. package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
  51. package/esm2022/range-slider/lib/range-slider.component.mjs +2 -2
  52. package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
  53. package/esm2022/search-box/lib/search-box.component.mjs +5 -4
  54. package/esm2022/select-box/index.mjs +2 -2
  55. package/esm2022/select-box/lib/select-box.component.mjs +168 -308
  56. package/esm2022/select-box/lib/select-box.module.mjs +5 -6
  57. package/esm2022/selection-list/lib/selection-list.component.mjs +11 -1
  58. package/esm2022/side-menu/acorex-components-side-menu.mjs +5 -0
  59. package/esm2022/side-menu/index.mjs +4 -0
  60. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +116 -0
  61. package/esm2022/side-menu/lib/side-menu.component.mjs +15 -0
  62. package/esm2022/side-menu/lib/side-menu.module.mjs +23 -0
  63. package/esm2022/skeleton/acorex-components-skeleton.mjs +5 -0
  64. package/esm2022/skeleton/index.mjs +3 -0
  65. package/esm2022/skeleton/lib/skeleton.component.mjs +24 -0
  66. package/esm2022/skeleton/lib/skeleton.module.mjs +18 -0
  67. package/esm2022/tabs/lib/tab-item.component.mjs +9 -2
  68. package/esm2022/tag/lib/tag.component.mjs +6 -12
  69. package/esm2022/toast/lib/toast.component.mjs +3 -3
  70. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  71. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  72. package/fesm2022/acorex-components-alert.mjs +3 -4
  73. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  74. package/fesm2022/acorex-components-avatar.mjs +3 -3
  75. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  76. package/fesm2022/acorex-components-badge.mjs +5 -5
  77. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  78. package/fesm2022/acorex-components-button-group.mjs +2 -2
  79. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  80. package/fesm2022/acorex-components-button.mjs +13 -4
  81. package/fesm2022/acorex-components-button.mjs.map +1 -1
  82. package/fesm2022/acorex-components-calendar.mjs +27 -73
  83. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  84. package/fesm2022/acorex-components-chips.mjs +3 -3
  85. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  86. package/fesm2022/acorex-components-collapse.mjs +74 -21
  87. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  88. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  89. package/fesm2022/acorex-components-common.mjs +161 -62
  90. package/fesm2022/acorex-components-common.mjs.map +1 -1
  91. package/fesm2022/acorex-components-datetime-box.mjs +5 -2
  92. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  93. package/fesm2022/acorex-components-datetime-input.mjs +10 -3
  94. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  95. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  96. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  97. package/fesm2022/acorex-components-list.mjs +33 -59
  98. package/fesm2022/acorex-components-list.mjs.map +1 -1
  99. package/fesm2022/acorex-components-menu.mjs +78 -381
  100. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  101. package/fesm2022/acorex-components-notification.mjs +2 -2
  102. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  103. package/fesm2022/acorex-components-otp.mjs +6 -4
  104. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  105. package/fesm2022/acorex-components-picker.mjs +2 -2
  106. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  107. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  108. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  109. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  110. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  111. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  112. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  113. package/fesm2022/acorex-components-search-box.mjs +4 -4
  114. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  115. package/fesm2022/acorex-components-select-box.mjs +96 -417
  116. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  117. package/fesm2022/acorex-components-selection-list.mjs +10 -0
  118. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  119. package/fesm2022/acorex-components-side-menu.mjs +153 -0
  120. package/fesm2022/acorex-components-side-menu.mjs.map +1 -0
  121. package/fesm2022/acorex-components-skeleton.mjs +46 -0
  122. package/fesm2022/acorex-components-skeleton.mjs.map +1 -0
  123. package/fesm2022/acorex-components-tabs.mjs +8 -1
  124. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  125. package/fesm2022/acorex-components-tag.mjs +5 -11
  126. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  127. package/fesm2022/acorex-components-toast.mjs +2 -2
  128. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  129. package/list/lib/list.component.d.ts +11 -23
  130. package/menu/index.d.ts +0 -1
  131. package/menu/lib/class/root-menu.class.d.ts +2 -0
  132. package/menu/lib/menu-item/menu-item.component.d.ts +19 -6
  133. package/menu/lib/menu.component.d.ts +10 -40
  134. package/menu/lib/menu.module.d.ts +7 -8
  135. package/mixin/lib/base-components.class.d.ts +2 -2
  136. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  137. package/mixin/lib/button-mixin.class.d.ts +2 -2
  138. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  139. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  140. package/mixin/lib/datalist-component.class.d.ts +10 -10
  141. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  142. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  143. package/mixin/lib/mixin.class.d.ts +61 -61
  144. package/mixin/lib/page-component.class.d.ts +2 -2
  145. package/mixin/lib/selection-component.class.d.ts +2 -2
  146. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  147. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  148. package/mixin/lib/value-mixin.class.d.ts +8 -8
  149. package/otp/lib/otp.module.d.ts +2 -1
  150. package/package.json +13 -7
  151. package/search-box/lib/search-box.component.d.ts +2 -1
  152. package/select-box/index.d.ts +1 -1
  153. package/select-box/lib/select-box.component.d.ts +37 -59
  154. package/select-box/lib/select-box.module.d.ts +14 -15
  155. package/selection-list/lib/selection-list.component.d.ts +3 -0
  156. package/side-menu/README.md +3 -0
  157. package/side-menu/index.d.ts +3 -0
  158. package/side-menu/lib/side-menu-item/side-menu-item.compoent.d.ts +37 -0
  159. package/side-menu/lib/side-menu.component.d.ts +8 -0
  160. package/side-menu/lib/side-menu.module.d.ts +10 -0
  161. package/skeleton/README.md +3 -0
  162. package/skeleton/index.d.ts +2 -0
  163. package/skeleton/lib/skeleton.component.d.ts +8 -0
  164. package/skeleton/lib/skeleton.module.d.ts +8 -0
  165. package/tabs/lib/tab-item.component.d.ts +2 -1
  166. package/tag/lib/tag.component.d.ts +3 -4
  167. package/context-menu/README.md +0 -3
  168. package/context-menu/index.d.ts +0 -2
  169. package/context-menu/lib/context-menu.component.d.ts +0 -34
  170. package/context-menu/lib/context-menu.module.d.ts +0 -13
  171. package/esm2022/context-menu/acorex-components-context-menu.mjs +0 -5
  172. package/esm2022/context-menu/index.mjs +0 -3
  173. package/esm2022/context-menu/lib/context-menu.component.mjs +0 -262
  174. package/esm2022/context-menu/lib/context-menu.module.mjs +0 -26
  175. package/esm2022/menu/lib/menu2.component.mjs +0 -45
  176. package/esm2022/select-box/lib/select-box2.component.mjs +0 -191
  177. package/fesm2022/acorex-components-context-menu.mjs +0 -290
  178. package/fesm2022/acorex-components-context-menu.mjs.map +0 -1
  179. package/menu/lib/menu2.component.d.ts +0 -12
  180. package/select-box/lib/select-box2.component.d.ts +0 -44
@@ -1,10 +1,18 @@
1
- import { MXInteractiveComponent, MXBaseComponent, MXLookComponent } from '@acorex/components/common';
1
+ import { AXClickEvent, MXInteractiveComponent, MXBaseComponent, MXLookComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, ContentChildren, HostBinding, NgModule } from '@angular/core';
3
+ import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, HostBinding, ContentChildren, NgModule } from '@angular/core';
4
4
  import { classes } from 'polytype';
5
5
  import * as i1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
+ import * as i2 from '@acorex/components/loading';
8
+ import { AXLoadingModule } from '@acorex/components/loading';
7
9
 
10
+ class AXCollapseClickEvent extends AXClickEvent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.handled = false;
14
+ }
15
+ }
8
16
  class AXCollapseComponent extends MXInteractiveComponent {
9
17
  constructor() {
10
18
  super(...arguments);
@@ -17,6 +25,7 @@ class AXCollapseComponent extends MXInteractiveComponent {
17
25
  this._isCollapsed = false;
18
26
  this.caption = '';
19
27
  this.icon = '';
28
+ this._isLoading = false;
20
29
  }
21
30
  /**
22
31
  * Providing a boolean value for its collapse state
@@ -25,29 +34,64 @@ class AXCollapseComponent extends MXInteractiveComponent {
25
34
  return this._isCollapsed;
26
35
  }
27
36
  set isCollapsed(v) {
28
- if (v != this._isCollapsed) {
29
- this._isCollapsed = v;
30
- this.isCollapsedChange.emit(v);
31
- this.cdr.detectChanges();
32
- }
37
+ this.setOption({
38
+ name: 'isCollapsed',
39
+ value: v,
40
+ afterCallback: () => {
41
+ this.cdr.detectChanges();
42
+ },
43
+ });
44
+ }
45
+ /**
46
+ * Providing a boolean value for its collapse state
47
+ */
48
+ get isLoading() {
49
+ return this._isLoading;
50
+ }
51
+ set isLoading(v) {
52
+ this.setOption({
53
+ name: 'isLoading',
54
+ value: v,
55
+ afterCallback: () => {
56
+ this.cdr.detectChanges();
57
+ },
58
+ });
33
59
  }
34
60
  handleHeaderClick(e) {
35
- if (this.disabled)
61
+ if (this.disabled || this.isLoading)
36
62
  return;
37
- this.isCollapsed = !this.isCollapsed;
38
- this.onClick.emit({
63
+ const event = {
39
64
  component: this,
40
65
  htmlElement: this.getHostElement(),
41
66
  nativeEvent: e,
42
- });
67
+ handled: false,
68
+ };
69
+ this.onClick.emit(event);
70
+ if (!event.handled) {
71
+ this.toggle();
72
+ }
73
+ }
74
+ open() {
75
+ this.isCollapsed = false;
76
+ }
77
+ close() {
78
+ this.isCollapsed = true;
79
+ }
80
+ toggle() {
81
+ this.isCollapsed = !this.isCollapsed;
82
+ }
83
+ get __hostClass() {
84
+ return [`${this.disabled ? 'ax-state-disabled' : ''}`];
43
85
  }
44
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXCollapseComponent, selector: "ax-collapse", inputs: { isCollapsed: "isCollapsed", caption: "caption", icon: "icon", headerTemplate: "headerTemplate" }, outputs: { isCollapsedChange: "isCollapsedChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\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 </ng-container>\n <ng-template #default>\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 <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-collapse,ax-collapse-group{display:block;overflow:hidden;font-size:1rem;width:100%}ax-collapse-group.ax-look-solid{border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-solid .ax-collapse-header{background-color:rgba(var(--ax-color-surface))}ax-collapse-group.ax-look-solid ax-collapse{border:0!important;border-radius:0!important}ax-collapse-group.ax-look-solid ax-collapse:not(ax-collapse-group.ax-look-solid ax-collapse:last-child){border-bottom:1px solid!important;border-color:rgba(var(--ax-color-border-default))!important}ax-collapse-group.ax-look-fill .ax-collapse-header{background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-fill ax-collapse{border-radius:var(--ax-rounded-border-default);margin-bottom:.5rem}ax-collapse-group.ax-look-outline .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-outline ax-collapse{border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse-group.ax-look-flat .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-flat ax-collapse{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{color:rgba(var(--ax-color-text-default));padding:.75rem;font-size:.875rem}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none}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{font-size:1.25rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow{font-size:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXCollapseComponent, selector: "ax-collapse", inputs: { disabled: "disabled", isCollapsed: "isCollapsed", caption: "caption", icon: "icon", isLoading: "isLoading", headerTemplate: "headerTemplate" }, outputs: { onClick: "onClick", isCollapsedChange: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\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 </ng-container>\n <ng-template #default>\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 <ng-container *ngIf=\"isLoading; else elseTemplate\">\n <ax-loading></ax-loading>\n </ng-container>\n <ng-template #elseTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n </ng-template>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-collapse,ax-collapse-group{display:block;overflow:hidden;font-size:1rem;width:100%}ax-collapse-group.ax-look-solid{border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-solid .ax-collapse-header{background-color:rgba(var(--ax-color-surface))}ax-collapse-group.ax-look-solid ax-collapse{border:0!important;border-radius:0!important}ax-collapse-group.ax-look-solid ax-collapse:not(ax-collapse-group.ax-look-solid ax-collapse:last-child){border-bottom:1px solid!important;border-color:rgba(var(--ax-color-border-default))!important}ax-collapse-group.ax-look-fill .ax-collapse-header{background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-fill ax-collapse{border-radius:var(--ax-rounded-border-default);margin-bottom:.5rem}ax-collapse-group.ax-look-outline .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-outline ax-collapse{border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse-group.ax-look-flat .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-flat ax-collapse{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{color:rgba(var(--ax-color-text-default));padding:.75rem;font-size:.875rem}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none}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{font-size:1.25rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow{font-size:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
88
  }
47
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseComponent, decorators: [{
48
90
  type: Component,
49
- args: [{ selector: 'ax-collapse', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\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 </ng-container>\n <ng-template #default>\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 <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-collapse,ax-collapse-group{display:block;overflow:hidden;font-size:1rem;width:100%}ax-collapse-group.ax-look-solid{border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-solid .ax-collapse-header{background-color:rgba(var(--ax-color-surface))}ax-collapse-group.ax-look-solid ax-collapse{border:0!important;border-radius:0!important}ax-collapse-group.ax-look-solid ax-collapse:not(ax-collapse-group.ax-look-solid ax-collapse:last-child){border-bottom:1px solid!important;border-color:rgba(var(--ax-color-border-default))!important}ax-collapse-group.ax-look-fill .ax-collapse-header{background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-fill ax-collapse{border-radius:var(--ax-rounded-border-default);margin-bottom:.5rem}ax-collapse-group.ax-look-outline .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-outline ax-collapse{border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse-group.ax-look-flat .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-flat ax-collapse{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{color:rgba(var(--ax-color-text-default));padding:.75rem;font-size:.875rem}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none}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{font-size:1.25rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow{font-size:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}\n"] }]
50
- }], propDecorators: { isCollapsedChange: [{
91
+ args: [{ selector: 'ax-collapse', inputs: ['disabled'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\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 </ng-container>\n <ng-template #default>\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 <ng-container *ngIf=\"isLoading; else elseTemplate\">\n <ax-loading></ax-loading>\n </ng-container>\n <ng-template #elseTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n </ng-template>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-collapse,ax-collapse-group{display:block;overflow:hidden;font-size:1rem;width:100%}ax-collapse-group.ax-look-solid{border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-solid .ax-collapse-header{background-color:rgba(var(--ax-color-surface))}ax-collapse-group.ax-look-solid ax-collapse{border:0!important;border-radius:0!important}ax-collapse-group.ax-look-solid ax-collapse:not(ax-collapse-group.ax-look-solid ax-collapse:last-child){border-bottom:1px solid!important;border-color:rgba(var(--ax-color-border-default))!important}ax-collapse-group.ax-look-fill .ax-collapse-header{background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default)}ax-collapse-group.ax-look-fill ax-collapse{border-radius:var(--ax-rounded-border-default);margin-bottom:.5rem}ax-collapse-group.ax-look-outline .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-outline ax-collapse{border-radius:var(--ax-rounded-border-default);border:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse-group.ax-look-flat .ax-collapse-header{background-color:transparent}ax-collapse-group.ax-look-flat ax-collapse{border-bottom:1px solid;border-color:rgba(var(--ax-color-border-default));margin-bottom:.5rem}ax-collapse.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{color:rgba(var(--ax-color-text-default));padding:.75rem;font-size:.875rem}ax-collapse .ax-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none}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{font-size:1.25rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow{font-size:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}\n"] }]
92
+ }], propDecorators: { onClick: [{
93
+ type: Output
94
+ }], isCollapsedChange: [{
51
95
  type: Output
52
96
  }], isCollapsed: [{
53
97
  type: Input
@@ -55,8 +99,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
55
99
  type: Input
56
100
  }], icon: [{
57
101
  type: Input
102
+ }], isLoading: [{
103
+ type: Input
58
104
  }], headerTemplate: [{
59
105
  type: Input
106
+ }], __hostClass: [{
107
+ type: HostBinding,
108
+ args: ['class']
60
109
  }] } });
61
110
 
62
111
  class AXCollapseGroupComponent extends classes(MXBaseComponent, MXLookComponent) {
@@ -123,9 +172,13 @@ class AXCollapseGroupComponent extends classes(MXBaseComponent, MXLookComponent)
123
172
  activeIndex.isCollapsed = false;
124
173
  this._items.forEach((c1) => {
125
174
  const list = this._items.toArray();
126
- this._subs.push(c1.onClick.subscribe((e) => {
127
- this._activeIndex = list.indexOf(c1);
128
- list.filter((c2) => c2 != c1).forEach((c) => (c.isCollapsed = true));
175
+ this._subs.push(
176
+ // TODO: add and use a new event for status changes
177
+ c1.onClick.subscribe((e) => {
178
+ if (!e.handled) {
179
+ this._activeIndex = list.indexOf(c1);
180
+ list.filter((c2) => c2 != c1).forEach((c) => (c.isCollapsed = true));
181
+ }
129
182
  }));
130
183
  });
131
184
  }
@@ -170,14 +223,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
170
223
 
171
224
  class AXCollapseModule {
172
225
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
173
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseModule, declarations: [AXCollapseComponent, AXCollapseGroupComponent], imports: [CommonModule], exports: [AXCollapseComponent, AXCollapseGroupComponent] }); }
174
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseModule, imports: [CommonModule] }); }
226
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseModule, declarations: [AXCollapseComponent, AXCollapseGroupComponent], imports: [CommonModule, AXLoadingModule], exports: [AXCollapseComponent, AXCollapseGroupComponent] }); }
227
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseModule, imports: [CommonModule, AXLoadingModule] }); }
175
228
  }
176
229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCollapseModule, decorators: [{
177
230
  type: NgModule,
178
231
  args: [{
179
232
  declarations: [AXCollapseComponent, AXCollapseGroupComponent],
180
- imports: [CommonModule],
233
+ imports: [CommonModule, AXLoadingModule],
181
234
  exports: [AXCollapseComponent, AXCollapseGroupComponent],
182
235
  providers: [],
183
236
  }]
@@ -187,5 +240,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
187
240
  * Generated bundle index. Do not edit.
188
241
  */
189
242
 
190
- export { AXCollapseComponent, AXCollapseGroupComponent, AXCollapseModule };
243
+ export { AXCollapseClickEvent, AXCollapseComponent, AXCollapseGroupComponent, AXCollapseModule };
191
244
  //# sourceMappingURL=acorex-components-collapse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-collapse.mjs","sources":["../../../../libs/components/collapse/src/lib/collapse.component.ts","../../../../libs/components/collapse/src/lib/collapse.component.html","../../../../libs/components/collapse/src/lib/collapse-group.component.ts","../../../../libs/components/collapse/src/lib/collapse.module.ts","../../../../libs/components/collapse/src/acorex-components-collapse.ts"],"sourcesContent":["import { AXClickEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ax-collapse',\n templateUrl: './collapse.component.html',\n styleUrls: ['./collapse.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCollapseComponent extends MXInteractiveComponent {\n /**\n * Fires each time the user clicks the panel header.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n @Output()\n isCollapsedChange: EventEmitter<any> = new EventEmitter<any>();\n\n private _isCollapsed = false;\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 if (v != this._isCollapsed) {\n this._isCollapsed = v;\n this.isCollapsedChange.emit(v);\n this.cdr.detectChanges();\n }\n }\n\n @Input()\n caption = '';\n\n @Input()\n icon = '';\n\n @Input()\n headerTemplate: TemplateRef<any>;\n\n handleHeaderClick(e: MouseEvent) {\n if (this.disabled) return;\n this.isCollapsed = !this.isCollapsed;\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n}\n","<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\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 </ng-container>\n <ng-template #default>\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 <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n","import { MXBaseComponent, MXLookComponent } from '@acorex/components/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@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})\nexport class AXCollapseGroupComponent\n extends classes(MXBaseComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy\n{\n @Output()\n accordionChange: EventEmitter<boolean> = new EventEmitter();\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 {\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) this.applyAccordion();\n else this.removeAccordion();\n },\n });\n }\n\n @Output()\n activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n private _activeIndex = 0;\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 private _subs: Subscription[] = [];\n\n ngAfterViewInit(): void {\n this.applyAccordion();\n }\n\n private applyAccordion() {\n if (!this.accordion) return;\n if (this._items && this._items.length > 1) {\n const activeIndex = this._items.get(this.activeIndex) || this._items[0];\n this._items.forEach((c) => (c.isCollapsed = true));\n if (activeIndex) activeIndex.isCollapsed = false;\n this._items.forEach((c1: AXCollapseComponent) => {\n const list = this._items.toArray();\n\n this._subs.push(\n c1.onClick.subscribe((e) => {\n this._activeIndex = list.indexOf(c1);\n list.filter((c2) => c2 != c1).forEach((c) => (c.isCollapsed = true));\n }),\n );\n });\n }\n }\n\n private removeAccordion() {\n this._subs.forEach((s) => s.unsubscribe());\n this._subs = [];\n }\n\n ngOnDestroy(): void {\n this.removeAccordion();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-collapse-group', `ax-look-${this.look}`];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCollapseGroupComponent } from './collapse-group.component';\nimport { AXCollapseComponent } from './collapse.component';\n\n@NgModule({\n declarations: [AXCollapseComponent, AXCollapseGroupComponent],\n imports: [CommonModule],\n exports: [AXCollapseComponent, AXCollapseGroupComponent],\n providers: [],\n})\nexport class AXCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAkBM,MAAO,mBAAoB,SAAQ,sBAAsB,CAAA;AAP/D,IAAA,WAAA,GAAA;;AAQE;;;AAGG;AACH,QAAA,IAAA,CAAA,OAAO,GAA+B,IAAI,YAAY,EAAgB,CAAC;AAGvE,QAAA,IAAA,CAAA,iBAAiB,GAAsB,IAAI,YAAY,EAAO,CAAC;QAEvD,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAiB7B,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;QAGb,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAcX,KAAA;AAjCC;;AAEG;AACH,IAAA,IACW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAW,WAAW,CAAC,CAAU,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;AAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC1B,SAAA;KACF;AAWD,IAAA,iBAAiB,CAAC,CAAa,EAAA;QAC7B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AAClC,YAAA,WAAW,EAAE,CAAC;AACf,SAAA,CAAC,CAAC;KACJ;8GA3CU,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,2OClBhC,y/BA2BA,EAAA,MAAA,EAAA,CAAA,y7EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDTa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,mBAGN,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,y/BAAA,EAAA,MAAA,EAAA,CAAA,y7EAAA,CAAA,EAAA,CAAA;8BAUrC,iBAAiB,EAAA,CAAA;sBADhB,MAAM;gBAQI,WAAW,EAAA,CAAA;sBADrB,KAAK;gBAaN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,cAAc,EAAA,CAAA;sBADb,KAAK;;;AEzBF,MAAO,wBACX,SAAQ,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;AARnD,IAAA,WAAA,GAAA;;AAYE,QAAA,IAAA,CAAA,eAAe,GAA0B,IAAI,YAAY,EAAE,CAAC;QACpD,IAAU,CAAA,UAAA,GAAa,KAAK,CAAC;AAqBrC,QAAA,IAAA,CAAA,iBAAiB,GAAyB,IAAI,YAAY,EAAU,CAAC;QAC7D,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;QA6BjB,IAAK,CAAA,KAAA,GAAmB,EAAE,CAAC;AAsCpC,KAAA;AAvFC;;AAEG;AACH,IAAA,IACI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IACD,IAAI,SAAS,CAAC,KAAc,EAAA;QAC1B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,WAAW;YACjB,KAAK;AACL,YAAA,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAI;AACpC,gBAAA,IAAI,QAAQ;oBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;;oBAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;aAC7B;AACF,SAAA,CAAC,CAAC;KACJ;AAKD;;AAEG;AACH,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,KAAa,EAAA;QAC3B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,aAAa;YACnB,KAAK;AACL,YAAA,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAI;gBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;gBACrC,IAAI,QAAQ,GAAG,CAAC;oBAAE,QAAQ,GAAG,CAAC,CAAC;AAC/B,gBAAA,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,IAAI,GAAG,EAAE;AAC9B,oBAAA,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;AACpB,iBAAA;AACD,gBAAA,OAAO,QAAQ,CAAC;aACjB;YACD,aAAa,EAAE,MAAK;gBAClB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;AACF,SAAA,CAAC,CAAC;KACJ;IAOD,eAAe,GAAA;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAEO,cAAc,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACzC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;AACnD,YAAA,IAAI,WAAW;AAAE,gBAAA,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAuB,KAAI;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AAEnC,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;oBACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACrC,oBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;iBACtE,CAAC,CACH,CAAC;AACJ,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAED,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,CAAC,mBAAmB,EAAE,CAAA,QAAA,EAAW,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;KACtD;8GA9FU,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAsDlB,mBAAmB,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1D1B,CAAgD,8CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAI/C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,MAAM,EAAE,CAAC,MAAM,CAAC;AAChB,oBAAA,QAAQ,EAAE,CAAgD,8CAAA,CAAA;oBAC1D,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;8BAMC,eAAe,EAAA,CAAA;sBADd,MAAM;gBAQH,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAgBN,iBAAiB,EAAA,CAAA;sBADhB,MAAM;gBAOH,WAAW,EAAA,CAAA;sBADd,KAAK;gBAuBE,MAAM,EAAA,CAAA;sBADb,eAAe;uBAAC,mBAAmB,CAAA;gBAsCxB,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;MCzGT,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CALZ,mBAAmB,EAAE,wBAAwB,aAClD,YAAY,CAAA,EAAA,OAAA,EAAA,CACZ,mBAAmB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAG5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAJjB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;oBAC7D,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;AACxD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-collapse.mjs","sources":["../../../../libs/components/collapse/src/lib/collapse.component.ts","../../../../libs/components/collapse/src/lib/collapse.component.html","../../../../libs/components/collapse/src/lib/collapse-group.component.ts","../../../../libs/components/collapse/src/lib/collapse.module.ts","../../../../libs/components/collapse/src/acorex-components-collapse.ts"],"sourcesContent":["import { AXClickEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport class AXCollapseClickEvent extends AXClickEvent {\n handled = false;\n}\n\n@Component({\n selector: 'ax-collapse',\n templateUrl: './collapse.component.html',\n inputs: ['disabled'],\n styleUrls: ['./collapse.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXCollapseComponent extends MXInteractiveComponent {\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 @Output()\n isCollapsedChange: EventEmitter<any> = new EventEmitter<any>();\n\n private _isCollapsed = false;\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 @Input()\n caption = '';\n\n @Input()\n icon = '';\n\n private _isLoading = false;\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 @Input()\n headerTemplate: TemplateRef<any>;\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 open() {\n this.isCollapsed = false;\n }\n\n close() {\n this.isCollapsed = true;\n }\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n }\n\n @HostBinding('class')\n get __hostClass(): string[] {\n return [`${this.disabled ? 'ax-state-disabled' : ''}`];\n }\n}\n","<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\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 </ng-container>\n <ng-template #default>\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 <ng-container *ngIf=\"isLoading; else elseTemplate\">\n <ax-loading></ax-loading>\n </ng-container>\n <ng-template #elseTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed, 'rotation-90': !isCollapsed }\"\n ></span>\n </ng-template>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n","import { MXBaseComponent, MXLookComponent } from '@acorex/components/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@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})\nexport class AXCollapseGroupComponent\n extends classes(MXBaseComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy\n{\n @Output()\n accordionChange: EventEmitter<boolean> = new EventEmitter();\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 {\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) this.applyAccordion();\n else this.removeAccordion();\n },\n });\n }\n\n @Output()\n activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n private _activeIndex = 0;\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 private _subs: Subscription[] = [];\n\n ngAfterViewInit(): void {\n this.applyAccordion();\n }\n\n private applyAccordion() {\n if (!this.accordion) return;\n if (this._items && this._items.length > 1) {\n const activeIndex = this._items.get(this.activeIndex) || this._items[0];\n this._items.forEach((c) => (c.isCollapsed = true));\n if (activeIndex) activeIndex.isCollapsed = false;\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 private removeAccordion() {\n this._subs.forEach((s) => s.unsubscribe());\n this._subs = [];\n }\n\n ngOnDestroy(): void {\n this.removeAccordion();\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-collapse-group', `ax-look-${this.look}`];\n }\n}\n","import { AXLoadingModule } from '@acorex/components/loading';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCollapseGroupComponent } from './collapse-group.component';\nimport { AXCollapseComponent } from './collapse.component';\n\n@NgModule({\n declarations: [AXCollapseComponent, AXCollapseGroupComponent],\n imports: [CommonModule, AXLoadingModule],\n exports: [AXCollapseComponent, AXCollapseGroupComponent],\n providers: [],\n})\nexport class AXCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-color-box.mjs","sources":["../../../../libs/components/color-box/src/lib/color-box.component.ts","../../../../libs/components/color-box/src/lib/color-box.component.html","../../../../libs/components/color-box/src/lib/color-box.module.ts","../../../../libs/components/color-box/src/acorex-components-color-box.ts"],"sourcesContent":["import { AXColorPalleteComponent } from '@acorex/components/color-palette';\nimport {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-box',\n templateUrl: './color-box.component.html',\n styleUrls: ['./color-box.component.scss'],\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'id',\n 'type',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXColorBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXColorBoxComponent },\n { provide: AXValuableComponent, useExisting: AXColorBoxComponent },\n { provide: AXClearableComponent, useExisting: AXColorBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXColorBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXColorBoxComponent extends classes(\n MXDropdownBoxBaseComponent,\n MXInputBaseValueComponent<string>,\n) {\n //TODO: implement the color input component\n // @ViewChild(AXDateTimeInputComponent)\n // protected input: AXDateTimeInputComponent;\n\n @ViewChild(AXColorPalleteComponent)\n protected picker: AXColorPalleteComponent;\n\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n\n protected _handleArrowClickEvent(e: MouseEvent) {\n e.stopPropagation();\n this.toggle();\n }\n\n protected _handleInputClickEvent(e: MouseEvent) {\n e.stopPropagation();\n this.toggle();\n }\n\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.picker?.refresh();\n }\n\n protected _handleOnClosedEvent(e: AXEvent) {\n this.focus();\n }\n\n override internalValueChanged(value?: Date): void {\n //this.close();\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\">\n <ng-container input>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <div class=\"ax-content\" (click)=\"_handleInputClickEvent($event)\">\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{ 'background-color': value }\"></div>\n <div class=\"color-value\">{{ value }}</div>\n </div>\n <ng-content select=\"ax-clear-button\"></ng-content>\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (click)=\"_handleArrowClickEvent($event)\">\n <span class=\"ax-icon ax-icon-color-palette\"></span>\n </button>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-content select=\"ax-validation-rule\">\n </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-color-palette [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" [disabled]=\"disabled\"\n [readonly]=\"readonly\">\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </ng-container>\n</ax-dropdown-box>","import { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorBoxComponent } from './color-box.component';\n\nconst COMPONENT = [AXColorBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXColorPaletteModule, AXDropdownModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXColorBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-color-box.mjs","sources":["../../../../libs/components/color-box/src/lib/color-box.component.ts","../../../../libs/components/color-box/src/lib/color-box.component.html","../../../../libs/components/color-box/src/lib/color-box.module.ts","../../../../libs/components/color-box/src/acorex-components-color-box.ts"],"sourcesContent":["import { AXColorPalleteComponent } from '@acorex/components/color-palette';\nimport {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-box',\n templateUrl: './color-box.component.html',\n styleUrls: ['./color-box.component.scss'],\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'id',\n 'type',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXColorBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXColorBoxComponent },\n { provide: AXValuableComponent, useExisting: AXColorBoxComponent },\n { provide: AXClearableComponent, useExisting: AXColorBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXColorBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXColorBoxComponent extends classes(\n MXDropdownBoxBaseComponent,\n MXInputBaseValueComponent<string>,\n) {\n //TODO: implement the color input component\n // @ViewChild(AXDateTimeInputComponent)\n // protected input: AXDateTimeInputComponent;\n\n @ViewChild(AXColorPalleteComponent)\n protected picker: AXColorPalleteComponent;\n\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n\n protected _handleArrowClickEvent(e: MouseEvent) {\n e.stopPropagation();\n this.toggle();\n }\n\n protected _handleInputClickEvent(e: MouseEvent) {\n e.stopPropagation();\n this.toggle();\n }\n\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.picker?.refresh();\n }\n\n protected _handleOnClosedEvent(e: AXEvent) {\n this.focus();\n }\n\n override internalValueChanged(value?: Date): void {\n //this.close();\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\">\n <ng-container input>\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <div class=\"ax-content\" (click)=\"_handleInputClickEvent($event)\">\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{ 'background-color': value }\"></div>\n <div class=\"color-value\">{{ value }}</div>\n </div>\n <ng-content select=\"ax-clear-button\"></ng-content>\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (click)=\"_handleArrowClickEvent($event)\">\n <span class=\"ax-icon ax-icon-color-palette\"></span>\n </button>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-content select=\"ax-validation-rule\">\n </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-color-palette [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\" [disabled]=\"disabled\"\n [readonly]=\"readonly\">\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </ng-container>\n</ax-dropdown-box>","import { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorBoxComponent } from './color-box.component';\n\nconst COMPONENT = [AXColorBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXColorPaletteModule, AXDropdownModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXColorBoxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}