@acorex/components 7.4.4 → 7.4.6

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 (159) hide show
  1. package/alert/lib/alert.component.d.ts +1 -3
  2. package/avatar/lib/avatar-group.component.d.ts +1 -4
  3. package/avatar/lib/avatar.component.d.ts +6 -7
  4. package/badge/lib/badge.component.d.ts +1 -3
  5. package/calendar/lib/calendar.class.d.ts +1 -3
  6. package/chips/lib/chips.component.d.ts +2 -4
  7. package/common/index.d.ts +2 -0
  8. package/common/lib/classes/styles.class.d.ts +1 -0
  9. package/common/lib/components/appearance-component.class.d.ts +12 -0
  10. package/common/lib/components/base-component.class.d.ts +1 -4
  11. package/common/lib/components/color-component.class.d.ts +0 -1
  12. package/common/lib/components/colorlook-component.class.d.ts +0 -1
  13. package/common/lib/components/interactive-component.class.d.ts +0 -1
  14. package/common/lib/components/look-component.class.d.ts +0 -1
  15. package/common/lib/components/selection-base.component.class.d.ts +45 -0
  16. package/common/lib/components/value-component.class.d.ts +0 -1
  17. package/data-pager/lib/data-pager-base.component.d.ts +3 -3
  18. package/data-pager/lib/data-pager.component.d.ts +2 -2
  19. package/datetime-box/lib/datetime-box.component.d.ts +9 -9
  20. package/datetime-input/lib/datetime-input.component.d.ts +1 -1
  21. package/datetime-picker/index.d.ts +1 -0
  22. package/datetime-picker/lib/datetime-picker.component.d.ts +5 -4
  23. package/datetime-picker/lib/datetime-picker.config.d.ts +8 -0
  24. package/dropdown/lib/dropdown-box.component.d.ts +6 -4
  25. package/esm2022/action-sheet/lib/action-sheet.component.mjs +4 -3
  26. package/esm2022/alert/lib/alert.component.mjs +3 -3
  27. package/esm2022/avatar/lib/avatar-group.component.mjs +2 -4
  28. package/esm2022/avatar/lib/avatar.component.mjs +21 -15
  29. package/esm2022/avatar/lib/avatar.module.mjs +3 -3
  30. package/esm2022/badge/lib/badge.component.mjs +2 -3
  31. package/esm2022/calendar/lib/calendar.class.mjs +2 -3
  32. package/esm2022/calendar/lib/calendar.component.mjs +2 -1
  33. package/esm2022/chips/lib/chips.component.mjs +3 -4
  34. package/esm2022/color-box/lib/color-box.component.mjs +1 -1
  35. package/esm2022/color-palette/lib/color-palette-input.component.mjs +1 -1
  36. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +2 -1
  37. package/esm2022/common/index.mjs +3 -1
  38. package/esm2022/common/lib/classes/styles.class.mjs +1 -1
  39. package/esm2022/common/lib/components/appearance-component.class.mjs +25 -0
  40. package/esm2022/common/lib/components/base-component.class.mjs +15 -16
  41. package/esm2022/common/lib/components/color-component.class.mjs +2 -2
  42. package/esm2022/common/lib/components/colorlook-component.class.mjs +1 -4
  43. package/esm2022/common/lib/components/interactive-component.class.mjs +24 -24
  44. package/esm2022/common/lib/components/look-component.class.mjs +2 -2
  45. package/esm2022/common/lib/components/selection-base.component.class.mjs +176 -0
  46. package/esm2022/common/lib/components/value-component.class.mjs +8 -7
  47. package/esm2022/data-pager/lib/data-pager-base.component.mjs +4 -10
  48. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  49. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +59 -16
  50. package/esm2022/data-pager/lib/data-pager.component.mjs +8 -8
  51. package/esm2022/datetime-box/lib/datetime-box.component.mjs +15 -12
  52. package/esm2022/datetime-input/lib/datetime-input.component.mjs +4 -4
  53. package/esm2022/datetime-picker/index.mjs +2 -1
  54. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +23 -11
  55. package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +22 -0
  56. package/esm2022/decorators/lib/components/generic-content.component.mjs +26 -3
  57. package/esm2022/dialog/lib/dialog.component.mjs +2 -1
  58. package/esm2022/dropdown/lib/dropdown-box.component.mjs +11 -9
  59. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -2
  60. package/esm2022/form/lib/form-field.component.mjs +2 -2
  61. package/esm2022/form/lib/form.component.mjs +7 -6
  62. package/esm2022/form/lib/validation-rule.widget.mjs +2 -1
  63. package/esm2022/image/lib/image.component.mjs +2 -1
  64. package/esm2022/loading/lib/loading.component.mjs +2 -1
  65. package/esm2022/notification/lib/notification.component.mjs +2 -1
  66. package/esm2022/picker/lib/picker.component.mjs +16 -20
  67. package/esm2022/popover/lib/popover.component.mjs +11 -4
  68. package/esm2022/popup/lib/popup.component.mjs +2 -1
  69. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +2 -1
  70. package/esm2022/scheduler/lib/scheduler.component.mjs +2 -2
  71. package/esm2022/select-box/lib/select-box.component.mjs +15 -12
  72. package/esm2022/selection-list/lib/selection-list.component.mjs +52 -26
  73. package/esm2022/switch/lib/switch-content.component.mjs +9 -7
  74. package/esm2022/text-box/lib/text-box.component.mjs +28 -12
  75. package/esm2022/toast/lib/toast.component.mjs +2 -1
  76. package/esm2022/tooltip/lib/tooltip.directive.mjs +30 -2
  77. package/fesm2022/acorex-components-action-sheet.mjs +3 -2
  78. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  79. package/fesm2022/acorex-components-alert.mjs +2 -2
  80. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  81. package/fesm2022/acorex-components-avatar.mjs +22 -18
  82. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  83. package/fesm2022/acorex-components-badge.mjs +1 -2
  84. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  85. package/fesm2022/acorex-components-calendar.mjs +2 -1
  86. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  87. package/fesm2022/acorex-components-chips.mjs +2 -3
  88. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  89. package/fesm2022/acorex-components-color-box.mjs +1 -1
  90. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  91. package/fesm2022/acorex-components-color-palette.mjs +2 -1
  92. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  93. package/fesm2022/acorex-components-common.mjs +241 -49
  94. package/fesm2022/acorex-components-common.mjs.map +1 -1
  95. package/fesm2022/acorex-components-data-pager.mjs +69 -32
  96. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  97. package/fesm2022/acorex-components-datetime-box.mjs +16 -13
  98. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  99. package/fesm2022/acorex-components-datetime-input.mjs +3 -3
  100. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  101. package/fesm2022/acorex-components-datetime-picker.mjs +45 -13
  102. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  103. package/fesm2022/acorex-components-decorators.mjs +24 -1
  104. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  105. package/fesm2022/acorex-components-dialog.mjs +1 -0
  106. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  107. package/fesm2022/acorex-components-dropdown.mjs +11 -8
  108. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  109. package/fesm2022/acorex-components-form.mjs +8 -6
  110. package/fesm2022/acorex-components-form.mjs.map +1 -1
  111. package/fesm2022/acorex-components-image.mjs +1 -0
  112. package/fesm2022/acorex-components-image.mjs.map +1 -1
  113. package/fesm2022/acorex-components-loading.mjs +1 -0
  114. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  115. package/fesm2022/acorex-components-notification.mjs +1 -0
  116. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  117. package/fesm2022/acorex-components-picker.mjs +13 -17
  118. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  119. package/fesm2022/acorex-components-popover.mjs +10 -3
  120. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  121. package/fesm2022/acorex-components-popup.mjs +1 -0
  122. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  123. package/fesm2022/acorex-components-scheduler.mjs +2 -1
  124. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  125. package/fesm2022/acorex-components-select-box.mjs +14 -11
  126. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  127. package/fesm2022/acorex-components-selection-list.mjs +51 -26
  128. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  129. package/fesm2022/acorex-components-switch.mjs +8 -7
  130. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  131. package/fesm2022/acorex-components-text-box.mjs +26 -10
  132. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  133. package/fesm2022/acorex-components-toast.mjs +1 -0
  134. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  135. package/fesm2022/acorex-components-tooltip.mjs +29 -1
  136. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  137. package/form/lib/form.component.d.ts +2 -2
  138. package/mixin/lib/base-components.class.d.ts +2 -2
  139. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  140. package/mixin/lib/button-mixin.class.d.ts +2 -2
  141. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  142. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  143. package/mixin/lib/datalist-component.class.d.ts +10 -10
  144. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  145. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  146. package/mixin/lib/mixin.class.d.ts +61 -61
  147. package/mixin/lib/page-component.class.d.ts +2 -2
  148. package/mixin/lib/selection-component.class.d.ts +2 -2
  149. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  150. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  151. package/mixin/lib/value-mixin.class.d.ts +8 -8
  152. package/package.json +1 -1
  153. package/picker/lib/picker.component.d.ts +2 -2
  154. package/popover/lib/popover.component.d.ts +3 -1
  155. package/select-box/lib/select-box.component.d.ts +2 -1
  156. package/selection-list/lib/selection-list.component.d.ts +10 -15
  157. package/switch/lib/switch-content.component.d.ts +2 -2
  158. package/text-box/lib/text-box.component.d.ts +11 -3
  159. package/tooltip/lib/tooltip.directive.d.ts +7 -1
@@ -701,6 +701,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
701
701
  }] });
702
702
 
703
703
  class MXBaseComponent {
704
+ constructor() {
705
+ this._cdr = inject(ChangeDetectorRef);
706
+ this._elementRef = inject(ElementRef);
707
+ this._viewRef = inject(ViewContainerRef);
708
+ this._domService = inject(AXDomService);
709
+ this._id = this._domService.generateElementId();
710
+ this.onOptionChanged = new EventEmitter();
711
+ }
704
712
  get id() {
705
713
  return this._id;
706
714
  }
@@ -719,18 +727,8 @@ class MXBaseComponent {
719
727
  internalOptionChanging(option) {
720
728
  return option?.value;
721
729
  }
722
- internalOptionChanged(option) {
723
- }
724
- /**
725
- * @ignore
726
- */
727
- constructor() {
728
- this._cdr = inject(ChangeDetectorRef);
729
- this._elementRef = inject(ElementRef);
730
- this._viewRef = inject(ViewContainerRef);
731
- this._domService = inject(AXDomService);
732
- this._id = this._domService.generateElementId();
733
- this.onOptionChanged = new EventEmitter();
730
+ internalOptionChanged(option) { }
731
+ ngOnInit() {
734
732
  this.getHostElement().__axContext__ = this;
735
733
  }
736
734
  setOption(option) {
@@ -759,8 +757,9 @@ class MXBaseComponent {
759
757
  option.afterCallback(oldValue, newValue);
760
758
  }
761
759
  _detectLayout() {
762
- this.rtl = this.getHostElement().classList.contains('ax-rtl') ||
763
- window.getComputedStyle(this.getHostElement(), null).getPropertyValue('direction') === 'rtl';
760
+ this.rtl =
761
+ this.getHostElement().classList.contains('ax-rtl') ||
762
+ window.getComputedStyle(this.getHostElement(), null).getPropertyValue('direction') === 'rtl';
764
763
  }
765
764
  get rtl() {
766
765
  return this._rtl;
@@ -773,11 +772,34 @@ class MXBaseComponent {
773
772
  }
774
773
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXBaseComponent, decorators: [{
775
774
  type: Injectable
776
- }], ctorParameters: function () { return []; } });
775
+ }] });
776
+
777
+ class MXAppearanceComponent extends MXBaseComponent {
778
+ constructor() {
779
+ super(...arguments);
780
+ this.appearanceChange = new EventEmitter();
781
+ this._appearance = 'solid';
782
+ }
783
+ /**
784
+ * Predefined color schemes
785
+ */
786
+ get appearance() {
787
+ return this._appearance;
788
+ }
789
+ set appearance(value) {
790
+ this.setOption({
791
+ name: 'appearance',
792
+ value,
793
+ afterCallback: () => {
794
+ this.cdr.markForCheck();
795
+ },
796
+ });
797
+ }
798
+ }
777
799
 
778
800
  class MXColorComponent extends MXBaseComponent {
779
801
  constructor() {
780
- super();
802
+ super(...arguments);
781
803
  this.colorChange = new EventEmitter();
782
804
  this._color = 'default';
783
805
  }
@@ -800,7 +822,7 @@ class MXColorComponent extends MXBaseComponent {
800
822
 
801
823
  class MXLookComponent extends MXBaseComponent {
802
824
  constructor() {
803
- super();
825
+ super(...arguments);
804
826
  this.lookChange = new EventEmitter();
805
827
  this._look = 'default';
806
828
  }
@@ -822,12 +844,32 @@ class MXLookComponent extends MXBaseComponent {
822
844
  }
823
845
 
824
846
  class MXColorLookComponent extends classes(MXColorComponent, MXLookComponent) {
825
- constructor() {
826
- super();
827
- }
828
847
  }
829
848
 
830
849
  class MXInteractiveComponent extends MXBaseComponent {
850
+ constructor() {
851
+ super(...arguments);
852
+ this.onTouchedCallback = noop;
853
+ this._touched = false;
854
+ this.disabledChange = new EventEmitter();
855
+ // TODO: we should remove it or rename it
856
+ this._tabIndex = 0;
857
+ /**
858
+ * Fires each time the component gets focused.
859
+ * @event
860
+ */
861
+ this.onFocus = new EventEmitter();
862
+ /**
863
+ * Fires each time the component gets blurred.
864
+ * @event
865
+ */
866
+ this.onBlur = new EventEmitter();
867
+ /**
868
+ * Fires each time the user clicks the button.
869
+ * @event
870
+ */
871
+ this.onClick = new EventEmitter();
872
+ }
831
873
  registerOnTouched(fn) {
832
874
  this.onTouchedCallback = fn;
833
875
  }
@@ -890,29 +932,6 @@ class MXInteractiveComponent extends MXBaseComponent {
890
932
  nativeEvent: e,
891
933
  });
892
934
  }
893
- constructor() {
894
- super();
895
- this.onTouchedCallback = noop;
896
- this._touched = false;
897
- this.disabledChange = new EventEmitter();
898
- // TODO: we should remove it or rename it
899
- this._tabIndex = 0;
900
- /**
901
- * Fires each time the component gets focused.
902
- * @event
903
- */
904
- this.onFocus = new EventEmitter();
905
- /**
906
- * Fires each time the component gets blurred.
907
- * @event
908
- */
909
- this.onBlur = new EventEmitter();
910
- /**
911
- * Fires each time the user clicks the button.
912
- * @event
913
- */
914
- this.onClick = new EventEmitter();
915
- }
916
935
  focus() {
917
936
  AXHtmlUtil.focusElement(this.getHostElement());
918
937
  }
@@ -1084,10 +1103,12 @@ class MXValueComponent extends MXInteractiveComponent {
1084
1103
  return value;
1085
1104
  }
1086
1105
  internalValueChanged(value) { }
1087
- ngOnInit() {
1088
- this.getHostElement().setAttribute('ax-form-input', 'true');
1089
- }
1090
1106
  ngAfterViewInit() {
1107
+ const a = this.getHostElement().querySelectorAll('[ax-form-input="true"]');
1108
+ a.forEach((c) => {
1109
+ c.removeAttribute('ax-form-input');
1110
+ });
1111
+ this.getHostElement().setAttribute('ax-form-input', 'true');
1091
1112
  this._checkRequired();
1092
1113
  }
1093
1114
  ngOnDestroy() {
@@ -1095,7 +1116,7 @@ class MXValueComponent extends MXInteractiveComponent {
1095
1116
  this.onOptionChanged?.unsubscribe();
1096
1117
  }
1097
1118
  _checkRequired() {
1098
- const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some((c) => c.__axContext__.enabled && c.__axContext__.rule == 'required');
1119
+ const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some((c) => c.__axContext__?.enabled && c.__axContext__?.rule == 'required');
1099
1120
  //
1100
1121
  if (isRequired) {
1101
1122
  const container = this.getHostElement().classList.contains('ax-editor-container')
@@ -1206,7 +1227,6 @@ class MXValueComponent extends MXInteractiveComponent {
1206
1227
  }
1207
1228
  clear(e) {
1208
1229
  this.commitValue(null, e);
1209
- this.setState('clear');
1210
1230
  }
1211
1231
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1212
1232
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXValueComponent }); }
@@ -1259,6 +1279,178 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
1259
1279
  type: Injectable
1260
1280
  }] });
1261
1281
 
1282
+ class MXSelectionValueComponent extends MXValueComponent {
1283
+ constructor() {
1284
+ super(...arguments);
1285
+ this.selectionMode = 'value';
1286
+ this._valueField = 'id';
1287
+ this._textField = 'text';
1288
+ this._hintField = 'hint';
1289
+ this._disabledField = 'disabled';
1290
+ this._readonlyField = 'readonly';
1291
+ this._multiple = false;
1292
+ this._items = [];
1293
+ this.displayItems = [];
1294
+ this._selectedItems = [];
1295
+ }
1296
+ get valueField() {
1297
+ return this._valueField;
1298
+ }
1299
+ set valueField(v) {
1300
+ this.setOption({
1301
+ name: 'valueField',
1302
+ value: v,
1303
+ });
1304
+ }
1305
+ get textField() {
1306
+ return this._textField;
1307
+ }
1308
+ set textField(v) {
1309
+ this.setOption({
1310
+ name: 'textField',
1311
+ value: v,
1312
+ });
1313
+ }
1314
+ get hintField() {
1315
+ return this._hintField;
1316
+ }
1317
+ set hintField(v) {
1318
+ this.setOption({
1319
+ name: 'hintField',
1320
+ value: v,
1321
+ });
1322
+ }
1323
+ get disabledField() {
1324
+ return this._disabledField;
1325
+ }
1326
+ set disabledField(v) {
1327
+ this.setOption({
1328
+ name: 'disabledField',
1329
+ value: v,
1330
+ });
1331
+ }
1332
+ get readonlyField() {
1333
+ return this._readonlyField;
1334
+ }
1335
+ set readonlyField(v) {
1336
+ this.setOption({
1337
+ name: 'readonlyField',
1338
+ value: v,
1339
+ });
1340
+ }
1341
+ get multiple() {
1342
+ return this._multiple;
1343
+ }
1344
+ set multiple(v) {
1345
+ this.setOption({
1346
+ name: 'multiple',
1347
+ value: v,
1348
+ });
1349
+ }
1350
+ get items() {
1351
+ return this._items;
1352
+ }
1353
+ set items(v) {
1354
+ this.setOption({
1355
+ name: 'items',
1356
+ value: v,
1357
+ afterCallback: (oldValue, newValue) => {
1358
+ this.displayItems = this.normalizeItemsList(newValue);
1359
+ },
1360
+ });
1361
+ }
1362
+ get selectedItems() {
1363
+ return this._selectedItems || [];
1364
+ }
1365
+ internalSetValue(value) {
1366
+ let normalizedItems = Array.isArray(value)
1367
+ ? this.normalizeItemsList(value)
1368
+ : this.normalizeItemsList([value]);
1369
+ normalizedItems = normalizedItems.filter((c) => this.displayItems.some((d) => d[this.valueField] == c[this.valueField]));
1370
+ return this.multiple ? normalizedItems : normalizedItems[0];
1371
+ }
1372
+ emitOnValueChangedEvent(oldValue, newValue) {
1373
+ this._normalizeSelectedItems();
1374
+ super.emitOnValueChangedEvent(oldValue, newValue);
1375
+ }
1376
+ normalizeItemsList(items) {
1377
+ if (items == null)
1378
+ return [];
1379
+ return items.filter((c) => c != null).map((i) => this.normalizeItem(i));
1380
+ }
1381
+ normalizeItem(item) {
1382
+ const obj = {};
1383
+ if (typeof item == 'object') {
1384
+ Object.assign(obj, item);
1385
+ }
1386
+ else if (typeof item != 'function') {
1387
+ const existsItem = this.displayItems.find((c) => c[this.valueField] == item);
1388
+ if (existsItem)
1389
+ Object.assign(obj, existsItem);
1390
+ else {
1391
+ obj[this.valueField] = item;
1392
+ obj[this.textField] = item.toString();
1393
+ }
1394
+ }
1395
+ return obj;
1396
+ }
1397
+ _normalizeSelectedItems() {
1398
+ const values = Array.isArray(this.value) ? this.value : [this.value];
1399
+ this._selectedItems = this.displayItems.filter((c) => values.some((v) => v[this.valueField] == c[this.valueField]));
1400
+ }
1401
+ unselectItems(...items) {
1402
+ if (!items || items.length === 0) {
1403
+ this.commitValue([], true);
1404
+ return;
1405
+ }
1406
+ const normalizeItems = Array.isArray(items)
1407
+ ? this.normalizeItemsList(items)
1408
+ : [this.normalizeItem(items)];
1409
+ const newSelectedItems = this.selectedItems.filter((i) => !normalizeItems.some((n) => n[this.valueField] == i[this.valueField]));
1410
+ this.commitValue(newSelectedItems, true);
1411
+ }
1412
+ selectItems(...items) {
1413
+ if (items && items.length) {
1414
+ let newSelectedItems = Array.isArray(this.value) ? this.value : [this.value];
1415
+ const normalizeItems = Array.isArray(items)
1416
+ ? this.normalizeItemsList(items)
1417
+ : [this.normalizeItem(items)];
1418
+ if (this.multiple) {
1419
+ newSelectedItems = [...newSelectedItems, ...normalizeItems];
1420
+ }
1421
+ else {
1422
+ newSelectedItems = normalizeItems;
1423
+ }
1424
+ this.commitValue(newSelectedItems, true);
1425
+ }
1426
+ else {
1427
+ this.commitValue(this.displayItems, true);
1428
+ }
1429
+ }
1430
+ toggleSelect(...items) {
1431
+ items?.forEach((item) => {
1432
+ if (this.multiple) {
1433
+ this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);
1434
+ }
1435
+ else {
1436
+ this.selectItems(item);
1437
+ }
1438
+ });
1439
+ }
1440
+ isItemSelected(item) {
1441
+ return this.selectedItems.some((c) => c[this.valueField] === item[this.valueField]);
1442
+ }
1443
+ isItemDisabled(item) {
1444
+ return (coerceBooleanProperty(item[this.disabledField]) === true ||
1445
+ (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false));
1446
+ }
1447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1448
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent }); }
1449
+ }
1450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: MXSelectionValueComponent, decorators: [{
1451
+ type: Injectable
1452
+ }] });
1453
+
1262
1454
  class AXNgModelDelayedValueChangedDirective {
1263
1455
  get delayTime() {
1264
1456
  return this._delayTime;
@@ -1307,5 +1499,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
1307
1499
  * Generated bundle index. Do not edit.
1308
1500
  */
1309
1501
 
1310
- export { AXAutoFocusDirective, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXItemClickEvent, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_STYLE_COLOR_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXValueComponent, TAB_META_KEY, convertToPlacement };
1502
+ export { AXAutoFocusDirective, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXItemClickEvent, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_STYLE_COLOR_TYPES, MXAppearanceComponent, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXSelectionValueComponent, MXValueComponent, TAB_META_KEY, convertToPlacement };
1311
1503
  //# sourceMappingURL=acorex-components-common.mjs.map