myrta-ui 1.1.35 → 1.1.38

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 (33) hide show
  1. package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +63 -38
  2. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +4 -4
  3. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +42 -43
  4. package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +7 -8
  5. package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +2 -2
  6. package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +5 -5
  7. package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +2 -2
  8. package/esm2020/lib/components/form/checkbox-group/helpers/get-inner-list.helper.mjs +46 -0
  9. package/esm2020/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +4 -4
  10. package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +2 -2
  11. package/esm2020/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
  12. package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +3 -3
  13. package/esm2020/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +4 -3
  14. package/esm2020/lib/services/mrx-form-validator/validations/max-length.validation.mjs +6 -2
  15. package/esm2020/lib/services/mrx-form-validator/validations/max-value.validation.mjs +1 -1
  16. package/esm2020/lib/services/mrx-form-validator/validations/min-length.validation.mjs +6 -2
  17. package/esm2020/lib/services/mrx-form-validator/validations/required.validation.mjs +1 -1
  18. package/fesm2015/myrta-ui.mjs +176 -99
  19. package/fesm2015/myrta-ui.mjs.map +1 -1
  20. package/fesm2020/myrta-ui.mjs +175 -99
  21. package/fesm2020/myrta-ui.mjs.map +1 -1
  22. package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +22 -15
  23. package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +13 -9
  24. package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
  25. package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
  26. package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
  27. package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
  28. package/lib/components/form/checkbox-group/helpers/get-inner-list.helper.d.ts +2 -0
  29. package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
  30. package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
  31. package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +7 -2
  32. package/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.d.ts +1 -1
  33. package/package.json +1 -1
@@ -4306,7 +4306,11 @@ const patternValidation = (value, validations, key, invalidMessages) => {
4306
4306
 
4307
4307
  const maxLengthValidation = (value, validations, key, invalidMessages) => {
4308
4308
  const result = { isValid: true, message: null };
4309
- if (String(value).length > Number(validations[key])) {
4309
+ if (Array.isArray(value) && validations.type === 'single' && value.length > Number(validations[key])) {
4310
+ result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4311
+ result.isValid = false;
4312
+ }
4313
+ else if (!Array.isArray(value) && String(value).length > Number(validations[key])) {
4310
4314
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4311
4315
  result.isValid = false;
4312
4316
  }
@@ -4315,7 +4319,11 @@ const maxLengthValidation = (value, validations, key, invalidMessages) => {
4315
4319
 
4316
4320
  const minLengthValidation = (value, validations, key, invalidMessages) => {
4317
4321
  const result = { isValid: true, message: null };
4318
- if (String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {
4322
+ if (Array.isArray(value) && validations.type === 'single' && value.length < Number(validations[key])) {
4323
+ result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4324
+ result.isValid = false;
4325
+ }
4326
+ else if (!Array.isArray(value) && String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {
4319
4327
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4320
4328
  result.isValid = false;
4321
4329
  }
@@ -4383,7 +4391,8 @@ const getSortingValidationsHelper = (validation) => {
4383
4391
  }
4384
4392
  else {
4385
4393
  if (key === 'type') {
4386
- validation.type = 'multi';
4394
+ validation.type = 'single';
4395
+ sortedValidators.type = 'single';
4387
4396
  }
4388
4397
  }
4389
4398
  }
@@ -12808,7 +12817,7 @@ const getSortedList = (list, sortable) => {
12808
12817
  const sortedList = list.sort(sortedFunc);
12809
12818
  sortedList.forEach((item) => {
12810
12819
  if (item.type === 'array') {
12811
- getSortedListInner(item.array);
12820
+ getSortedListInner(item.items);
12812
12821
  }
12813
12822
  });
12814
12823
  return sortedList;
@@ -12824,8 +12833,8 @@ const filterSearchGroup$1 = (list, searchValue) => {
12824
12833
  array.forEach((item) => {
12825
12834
  if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {
12826
12835
  if (item.type === 'array') {
12827
- const newArray = getIntersectionsFromString(item.array);
12828
- searchArray.push(Object.assign(Object.assign({}, item), { array: newArray }));
12836
+ const newArray = getIntersectionsFromString(item.items || []);
12837
+ searchArray.push(Object.assign(Object.assign({}, item), { items: newArray }));
12829
12838
  }
12830
12839
  else {
12831
12840
  searchArray.push(item);
@@ -12833,8 +12842,8 @@ const filterSearchGroup$1 = (list, searchValue) => {
12833
12842
  }
12834
12843
  else {
12835
12844
  if (item.type === 'array') {
12836
- const newArray = getIntersectionsFromString(item.array);
12837
- newArray.length && searchArray.push(Object.assign(Object.assign({}, item), { array: newArray }));
12845
+ const newArray = getIntersectionsFromString(item.items || []);
12846
+ newArray.length && searchArray.push(Object.assign(Object.assign({}, item), { items: newArray }));
12838
12847
  }
12839
12848
  }
12840
12849
  });
@@ -12843,21 +12852,22 @@ const filterSearchGroup$1 = (list, searchValue) => {
12843
12852
  return getIntersectionsFromString(list);
12844
12853
  };
12845
12854
 
12846
- const getItemById$1 = (list, itemId) => {
12855
+ const getItemInnerById = (list, itemId) => {
12847
12856
  const findById = (acc, el) => {
12848
12857
  if ((el === null || el === void 0 ? void 0 : el.id) === itemId)
12849
12858
  return el;
12850
- if (el === null || el === void 0 ? void 0 : el.array)
12851
- return el.array.reduce(findById, acc);
12859
+ if (el === null || el === void 0 ? void 0 : el.items)
12860
+ return el.items.reduce(findById, acc);
12852
12861
  return acc;
12853
12862
  };
12854
12863
  return list.reduce(findById, null);
12855
12864
  };
12856
12865
 
12857
12866
  const changeItemValue = (item, value) => {
12867
+ var _a;
12858
12868
  item.value = value;
12859
12869
  if (item.type === 'array') {
12860
- item.array.forEach((item) => {
12870
+ (_a = item.items) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
12861
12871
  changeItemValue(item, value);
12862
12872
  });
12863
12873
  }
@@ -12872,19 +12882,18 @@ const changeListValue = (list, value) => {
12872
12882
  const checkUnderArrayValue = (array, value) => {
12873
12883
  return array.some((x) => {
12874
12884
  if (x.type === 'array') {
12875
- return checkUnderArrayValue(x.array, value);
12885
+ return checkUnderArrayValue(x.items, value);
12876
12886
  }
12877
12887
  return x.value !== value;
12878
12888
  });
12879
12889
  };
12880
- const changeGroupValue = (list, itemId, value) => {
12881
- if (!itemId) {
12890
+ const changeGroupValue = (list, parentId, value) => {
12891
+ if (!parentId) {
12882
12892
  return;
12883
12893
  }
12884
- const parent = getItemById$1(list, itemId);
12894
+ const parent = getItemInnerById(list, parentId);
12885
12895
  if (parent) {
12886
- parent.value = checkUnderArrayValue(parent.array, value) ? null : value;
12887
- changeGroupValue(list, parent.parentId, value);
12896
+ parent.value = checkUnderArrayValue(parent.items, value) ? null : value;
12888
12897
  }
12889
12898
  };
12890
12899
 
@@ -12895,7 +12904,7 @@ const getCheckedItems = (list) => {
12895
12904
  const getCheckedItemsFromArray = (list) => {
12896
12905
  list.forEach((item) => {
12897
12906
  if (item.type === 'array') {
12898
- getCheckedItemsFromArray(item.array);
12907
+ getCheckedItemsFromArray(item.items || []);
12899
12908
  }
12900
12909
  else {
12901
12910
  if (item.value) {
@@ -12908,6 +12917,52 @@ const getCheckedItems = (list) => {
12908
12917
  return checkedItems;
12909
12918
  };
12910
12919
 
12920
+ const getInnerList = (list, checkedList) => {
12921
+ const getItemValue = (item) => {
12922
+ if (item.items) {
12923
+ let value = false;
12924
+ let count = 0;
12925
+ item.items.forEach((i, idx, array) => {
12926
+ if (i.items) {
12927
+ if (value === false) {
12928
+ value = getItemValue(i);
12929
+ }
12930
+ }
12931
+ else {
12932
+ if (checkedList.find(c => c.id === i.id)) {
12933
+ count++;
12934
+ if (value === false) {
12935
+ value = null;
12936
+ }
12937
+ }
12938
+ }
12939
+ if (idx === array.length - 1) {
12940
+ if (count === array.length) {
12941
+ value = true;
12942
+ }
12943
+ }
12944
+ });
12945
+ return value;
12946
+ }
12947
+ else {
12948
+ return !!checkedList.find(c => c.id === item.id);
12949
+ }
12950
+ };
12951
+ const getModifiedList = (items, parentId = null) => {
12952
+ return items.map((item, idx, array) => {
12953
+ return {
12954
+ id: item.id,
12955
+ text: item.text,
12956
+ value: getItemValue(item),
12957
+ parentId: parentId,
12958
+ type: item.items ? 'array' : 'single',
12959
+ items: item.items ? getModifiedList(item.items, item.id) : []
12960
+ };
12961
+ });
12962
+ };
12963
+ return getModifiedList(list);
12964
+ };
12965
+
12911
12966
  class CheckboxGroupHeaderComponent {
12912
12967
  constructor() {
12913
12968
  this.searchValue = '';
@@ -12929,10 +12984,10 @@ class CheckboxGroupHeaderComponent {
12929
12984
  }
12930
12985
  }
12931
12986
  CheckboxGroupHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12932
- CheckboxGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], components: [{ type: LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }, { type: InputSearchComponent, selector: "mrx-input-search", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "customClasses", "mask", "size", "invalid", "invalidMessage", "checkInvalid", "restrictInput"], outputs: ["changed", "modelChange", "blurred", "cleared", "searched"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
12987
+ CheckboxGroupHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: { searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount" }, outputs: { updateCheckboxGroupSearchValue: "updateCheckboxGroupSearchValue", clearFilters: "clearFilters" }, ngImport: i0, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"], components: [{ type: LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeCheckboxValue", "clickedLink"] }, { type: InputSearchComponent, selector: "mrx-input-search", inputs: ["fields", "disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "customClasses", "mask", "size", "invalid", "invalidMessage", "checkInvalid", "restrictInput"], outputs: ["changed", "modelChange", "blurred", "cleared", "searched"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12933
12988
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupHeaderComponent, decorators: [{
12934
12989
  type: Component,
12935
- args: [{ selector: 'mrx-checkbox-group-header', template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
12990
+ args: [{ selector: 'mrx-checkbox-group-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mrx-label\r\n *ngIf=\"labelText\"\r\n [counter]=\"checkedItemsCount\"\r\n [linkText]=\"linkText\"\r\n [tooltip]=\"tooltip\"\r\n (clickedLink)=\"onClearFilters()\"\r\n>{{ labelText }}</mrx-label>\r\n\r\n<div class=\"mrx-checkbox-group-head--search\" *ngIf=\"searchable\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"'medium'\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n</div>\r\n", styles: [".mrx-checkbox-group-head--search{margin-bottom:12px}\n"] }]
12936
12991
  }], ctorParameters: function () { return []; }, propDecorators: { searchable: [{
12937
12992
  type: Input
12938
12993
  }], searchPlaceholder: [{
@@ -12952,28 +13007,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
12952
13007
  }] } });
12953
13008
 
12954
13009
  class CheckboxGroupItemComponent {
12955
- constructor(detector) {
12956
- this.detector = detector;
13010
+ constructor(_detector) {
13011
+ this._detector = _detector;
12957
13012
  this.animationState = 'close';
13013
+ this.isOpen = false;
12958
13014
  this.displaced = false;
12959
13015
  this.level = 0;
12960
13016
  this.animationTrigger = null;
12961
13017
  this.disabled = false;
12962
13018
  this.readonly = false;
13019
+ this.invalid = false;
12963
13020
  this.animationEnd = new EventEmitter();
12964
13021
  this.checkboxChanged = new EventEmitter();
12965
13022
  }
13023
+ set item(value) {
13024
+ this._item = value;
13025
+ }
13026
+ get item() {
13027
+ return this._item;
13028
+ }
12966
13029
  get isIndeterminate() {
12967
13030
  return this.item.value === null;
12968
13031
  }
12969
13032
  get translateChevron() {
12970
- return this.animationState === 'close' ? 'rotate(-90deg)' : 'rotate(0deg)';
12971
- }
12972
- trackByFn(index, item) {
12973
- return item.id;
13033
+ return this.isOpen ? 'rotate(0deg)' : 'rotate(-90deg)';
12974
13034
  }
12975
13035
  toggleList(item) {
12976
- this.animationState = this.animationState === 'close' ? 'open' : 'close';
13036
+ this.isOpen = !this.isOpen;
12977
13037
  }
12978
13038
  checkboxChangeModel(value, item) {
12979
13039
  if (this.isIndeterminate) {
@@ -12982,64 +13042,54 @@ class CheckboxGroupItemComponent {
12982
13042
  else {
12983
13043
  this.checkboxChanged.emit({ value: value, item });
12984
13044
  }
12985
- this.detector.detectChanges();
13045
+ this._detector.detectChanges();
12986
13046
  }
12987
13047
  ngOnChanges(changes) {
12988
13048
  if (changes['item'] && (changes['item'].currentValue.value === null)) {
12989
- this.animationState = 'open';
13049
+ this.isOpen = true;
12990
13050
  }
12991
13051
  else {
12992
- if (this.animationTrigger) {
12993
- this.animationState = 'open';
12994
- }
12995
- else {
12996
- this.animationState = 'close';
12997
- }
13052
+ this.isOpen = !!this.animationTrigger;
12998
13053
  }
12999
- this.detector.detectChanges();
13054
+ this._detector.detectChanges();
13000
13055
  }
13001
13056
  onAnimationEvent() {
13002
13057
  this.animationEnd.emit();
13003
13058
  }
13059
+ trackByFn(index, item) {
13060
+ return item.id;
13061
+ }
13004
13062
  }
13005
13063
  CheckboxGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13006
- CheckboxGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: { item: "item", displaced: "displaced", level: "level", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { animationEnd: "animationEnd", checkboxChanged: "checkboxChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"animationState\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.array\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"], components: [{ type: CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["item", "displaced", "level", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["animationEnd", "checkboxChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
13064
+ CheckboxGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: { displaced: "displaced", level: "level", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly", invalid: "invalid", item: "item" }, outputs: { animationEnd: "animationEnd", checkboxChanged: "checkboxChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.items?.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.items; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"], components: [{ type: CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
13007
13065
  trigger('openList', [
13066
+ state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
13008
13067
  state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
13009
13068
  state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
13010
- transition('open => close', [group([
13011
- animate('200ms ease-in-out', style({ opacity: '0' })),
13012
- animate('200ms ease-in-out', style({ height: '0px', marginTop: '0' })),
13013
- animate('200ms ease-in-out', style({ visibility: 'hidden' }))
13014
- ])]),
13015
- transition('close => open', [group([
13016
- animate('200ms ease-in-out', style({ visibility: 'visible' })),
13017
- animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),
13018
- animate('200ms ease-in-out', style({ opacity: '1' }))
13019
- ])])
13069
+ transition('* => open', [
13070
+ animate(200)
13071
+ ]),
13072
+ transition('* => close', [
13073
+ animate(200)
13074
+ ]),
13020
13075
  ])
13021
13076
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13022
13077
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupItemComponent, decorators: [{
13023
13078
  type: Component,
13024
13079
  args: [{ selector: 'mrx-checkbox-group-item', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
13025
13080
  trigger('openList', [
13081
+ state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
13026
13082
  state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
13027
13083
  state('close', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
13028
- transition('open => close', [group([
13029
- animate('200ms ease-in-out', style({ opacity: '0' })),
13030
- animate('200ms ease-in-out', style({ height: '0px', marginTop: '0' })),
13031
- animate('200ms ease-in-out', style({ visibility: 'hidden' }))
13032
- ])]),
13033
- transition('close => open', [group([
13034
- animate('200ms ease-in-out', style({ visibility: 'visible' })),
13035
- animate('200ms ease-in-out', style({ height: '*', marginTop: '12px' })),
13036
- animate('200ms ease-in-out', style({ opacity: '1' }))
13037
- ])])
13084
+ transition('* => open', [
13085
+ animate(200)
13086
+ ]),
13087
+ transition('* => close', [
13088
+ animate(200)
13089
+ ]),
13038
13090
  ])
13039
- ], template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"animationState\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.array\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"] }]
13040
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
13041
- type: Input
13042
- }], displaced: [{
13091
+ ], template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-checkbox-group__item--array\" *ngIf=\"item.items?.length && level < 10; else singleCheckboxTemplate\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n <ng-container>\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of item.items; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleCheckboxTemplate>\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"] }]
13092
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { displaced: [{
13043
13093
  type: Input
13044
13094
  }], level: [{
13045
13095
  type: Input
@@ -13051,6 +13101,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13051
13101
  type: Input
13052
13102
  }], readonly: [{
13053
13103
  type: Input
13104
+ }], invalid: [{
13105
+ type: Input
13106
+ }], item: [{
13107
+ type: Input
13054
13108
  }], animationEnd: [{
13055
13109
  type: Output
13056
13110
  }], checkboxChanged: [{
@@ -13058,17 +13112,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13058
13112
  }] } });
13059
13113
 
13060
13114
  class CheckboxGroupComponent {
13061
- constructor() {
13062
- this._isInit = false;
13115
+ constructor(_detector) {
13116
+ this._detector = _detector;
13063
13117
  this._groupItemsWrapperHeight = 0;
13064
13118
  this._searchValue = '';
13065
13119
  this.list = [];
13066
- this.filteredList = [];
13120
+ this.innerList = [];
13067
13121
  this.checkedList = [];
13122
+ this.filteredList = [];
13068
13123
  // SAVE STATE
13069
13124
  this.uuid = v4();
13070
13125
  this.fields = [];
13071
- this.items = [];
13072
13126
  this.scrollMaxHeight = 200;
13073
13127
  this.searchable = false;
13074
13128
  this.scrollable = false;
@@ -13083,19 +13137,35 @@ class CheckboxGroupComponent {
13083
13137
  // LABEL
13084
13138
  this.labelText = '';
13085
13139
  this.linkText = '';
13140
+ // VALIDATE
13141
+ this.invalid = false;
13142
+ this.invalidMessage = '';
13086
13143
  this.changed = new EventEmitter();
13087
13144
  this.changeChecked = new EventEmitter();
13088
13145
  this.modelChange = new EventEmitter();
13089
- this.modelCheckedChange = new EventEmitter();
13146
+ this.modelChangeInner = new EventEmitter();
13090
13147
  this.modelItemChange = new EventEmitter();
13091
13148
  this.onChange = (value) => { };
13092
13149
  this.onTouched = () => { };
13093
13150
  }
13151
+ set items(list) {
13152
+ this.list = list;
13153
+ this._updateModifiedList();
13154
+ }
13155
+ get items() {
13156
+ return this.filteredList;
13157
+ }
13094
13158
  get isSearchValue() {
13095
13159
  return this._searchValue;
13096
13160
  }
13097
13161
  get displaced() {
13098
- return this.list.some((item) => item.array.length);
13162
+ return this.list.some((item) => { var _a; return (_a = item.items) === null || _a === void 0 ? void 0 : _a.length; });
13163
+ }
13164
+ get getInvalid() {
13165
+ return this.invalid;
13166
+ }
13167
+ get getInvalidMessage() {
13168
+ return this.invalidMessage;
13099
13169
  }
13100
13170
  get getClasses() {
13101
13171
  return `${this.customClasses}`;
@@ -13106,38 +13176,26 @@ class CheckboxGroupComponent {
13106
13176
  trackByFn(index, item) {
13107
13177
  return item.id;
13108
13178
  }
13109
- writeValue(list) {
13110
- if (list) {
13111
- this.list = list;
13112
- this.filteredList = getSortedList(list, this.sortable);
13113
- this.checkedList = getCheckedItems(list);
13114
- this._isInit = true;
13179
+ writeValue(selectedValue) {
13180
+ if (selectedValue !== null) {
13181
+ this.checkedList = selectedValue;
13182
+ this._updateModifiedList();
13115
13183
  }
13116
13184
  }
13117
- registerOnChange(fn) {
13118
- this.onChange = fn;
13119
- }
13120
- registerOnTouched(fn) {
13121
- this.onTouched = fn;
13122
- }
13123
- updateValue(list, checkedList) {
13124
- this.changed.emit(list);
13125
- this.changeChecked.emit();
13126
- this.modelChange.emit({ value: list, id: this.uuid });
13127
- this.modelCheckedChange.emit({ value: checkedList, id: this.uuid });
13128
- this.onChange(list);
13129
- this.onTouched();
13185
+ _updateModifiedList() {
13186
+ this.innerList = getInnerList(this.list, this.checkedList);
13187
+ this.filteredList = getSortedList(this.innerList, this.sortable);
13130
13188
  }
13131
13189
  checkHeightGroupWrapper() {
13132
13190
  this._groupItemsWrapperHeight = this.groupItemsWrapper.nativeElement.scrollHeight;
13133
13191
  }
13134
13192
  updateCheckboxGroupSearchValue(searchValue) {
13135
13193
  this._searchValue = searchValue;
13136
- this.filteredList = filterSearchGroup$1(this.list, this._searchValue);
13194
+ this.filteredList = filterSearchGroup$1(this.innerList, this._searchValue);
13137
13195
  }
13138
13196
  checkboxChanged({ value, item }) {
13139
13197
  const cloneList = cloneDeep(this.filteredList);
13140
- const findItem = getItemById$1(cloneList, item.id);
13198
+ const findItem = getItemInnerById(cloneList, item.id);
13141
13199
  let changedItem = null;
13142
13200
  if (findItem) {
13143
13201
  changedItem = changeItemValue(findItem, value);
@@ -13150,6 +13208,7 @@ class CheckboxGroupComponent {
13150
13208
  if (changedItem) {
13151
13209
  this.modelItemChange.emit(changedItem);
13152
13210
  }
13211
+ this._detector.detectChanges();
13153
13212
  }
13154
13213
  clearFilters() {
13155
13214
  const cloneList = cloneDeep(this.filteredList);
@@ -13159,15 +13218,29 @@ class CheckboxGroupComponent {
13159
13218
  this.checkedList = getCheckedItems(cloneList);
13160
13219
  this.updateValue(this.filteredList, this.checkedList);
13161
13220
  }
13221
+ registerOnChange(fn) {
13222
+ this.onChange = fn;
13223
+ }
13224
+ registerOnTouched(fn) {
13225
+ this.onTouched = fn;
13226
+ }
13227
+ updateValue(list, checkedList) {
13228
+ this.changed.emit(checkedList);
13229
+ this.changeChecked.emit();
13230
+ this.modelChange.emit({ value: checkedList, id: this.uuid });
13231
+ this.modelChangeInner.emit({ value: this.innerList, id: this.uuid });
13232
+ this.onChange(checkedList);
13233
+ this.onTouched();
13234
+ }
13162
13235
  }
13163
- CheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13164
- CheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: { fields: "fields", items: "items", scrollMaxHeight: "scrollMaxHeight", searchable: "searchable", scrollable: "scrollable", sortable: "sortable", disabled: "disabled", readonly: "readonly", enableMessage: "enableMessage", searchPlaceholder: "searchPlaceholder", customClasses: "customClasses", tooltip: "tooltip", labelText: "labelText", linkText: "linkText" }, outputs: { changed: "changed", changeChecked: "changeChecked", modelChange: "modelChange", modelCheckedChange: "modelCheckedChange", modelItemChange: "modelItemChange" }, providers: [
13236
+ CheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13237
+ CheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CheckboxGroupComponent, selector: "mrx-checkbox-group", inputs: { fields: "fields", scrollMaxHeight: "scrollMaxHeight", searchable: "searchable", scrollable: "scrollable", sortable: "sortable", disabled: "disabled", readonly: "readonly", enableMessage: "enableMessage", searchPlaceholder: "searchPlaceholder", customClasses: "customClasses", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", invalid: "invalid", invalidMessage: "invalidMessage", items: "items" }, outputs: { changed: "changed", changeChecked: "changeChecked", modelChange: "modelChange", modelChangeInner: "modelChangeInner", modelItemChange: "modelItemChange" }, providers: [
13165
13238
  {
13166
13239
  provide: NG_VALUE_ACCESSOR,
13167
13240
  useExisting: forwardRef(() => CheckboxGroupComponent),
13168
13241
  multi: true,
13169
13242
  },
13170
- ], viewQueries: [{ propertyName: "groupItemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"], components: [{ type: SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["item", "displaced", "level", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["animationEnd", "checkboxChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13243
+ ], viewQueries: [{ propertyName: "groupItemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true }], ngImport: i0, template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"], components: [{ type: SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { type: CheckboxGroupHeaderComponent, selector: "mrx-checkbox-group-header", inputs: ["searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount"], outputs: ["updateCheckboxGroupSearchValue", "clearFilters"] }, { type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }, { type: ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13171
13244
  CheckboxGroupComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, providedIn: CheckboxGroupComponent });
13172
13245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
13173
13246
  type: Injectable,
@@ -13182,10 +13255,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13182
13255
  useExisting: forwardRef(() => CheckboxGroupComponent),
13183
13256
  multi: true,
13184
13257
  },
13185
- ], template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"] }]
13186
- }], ctorParameters: function () { return []; }, propDecorators: { fields: [{
13187
- type: Input
13188
- }], items: [{
13258
+ ], template: "<div class=\"mrx-checkbox-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkboxGroup\"></mrx-save-state>\r\n\r\n <mrx-checkbox-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [labelText]=\"labelText\"\r\n [linkText]=\"linkText\"\r\n [checkedItemsCount]=\"checkedList.length\"\r\n (updateCheckboxGroupSearchValue)=\"updateCheckboxGroupSearchValue($event)\"\r\n (clearFilters)=\"clearFilters()\"\r\n ></mrx-checkbox-group-header>\r\n\r\n <div\r\n #groupItemsWrapper\r\n *ngIf=\"filteredList?.length; else enableMessageTemplate\"\r\n class=\"mrx-checkbox-group-wrapper\"\r\n [class.mrx-checkbox-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n <mrx-checkbox-group-item\r\n *ngFor=\"let item of filteredList; trackBy: trackByFn; let last = last\"\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (animationEnd)=\"checkHeightGroupWrapper()\"\r\n (checkboxChanged)=\"checkboxChanged($event)\"\r\n ></mrx-checkbox-group-item>\r\n </div>\r\n\r\n <ng-template #enableMessageTemplate>\r\n <p class=\"mrx-checkbox-group__empty-message\">{{ enableMessage }}</p>\r\n </ng-template>\r\n\r\n <mrx-error-message\r\n *ngIf=\"getInvalid && getInvalidMessage\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n ></mrx-error-message>\r\n</div>\r\n", styles: [".mrx-checkbox-group{position:relative}.mrx-checkbox-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:boder-color .2s,padding-top .2s,padding-bottom .2s}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar{width:8px;height:8px}.mrx-checkbox-group-wrapper--scrollable::-webkit-scrollbar-thumb{background:var(--neutral-bg-stroke-default);border-radius:8px}.mrx-checkbox-group-wrapper--scrollable.--active{padding-top:12px;padding-bottom:12px;border-color:var(--neutral-bg-divider)}.mrx-checkbox-group__empty-message{padding-top:12px;padding-bottom:12px}\n"] }]
13259
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { fields: [{
13189
13260
  type: Input
13190
13261
  }], scrollMaxHeight: [{
13191
13262
  type: Input
@@ -13211,6 +13282,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13211
13282
  type: Input
13212
13283
  }], linkText: [{
13213
13284
  type: Input
13285
+ }], invalid: [{
13286
+ type: Input
13287
+ }], invalidMessage: [{
13288
+ type: Input
13289
+ }], items: [{
13290
+ type: Input
13214
13291
  }], groupItemsWrapper: [{
13215
13292
  type: ViewChild,
13216
13293
  args: ['groupItemsWrapper']
@@ -13220,7 +13297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
13220
13297
  type: Output
13221
13298
  }], modelChange: [{
13222
13299
  type: Output
13223
- }], modelCheckedChange: [{
13300
+ }], modelChangeInner: [{
13224
13301
  type: Output
13225
13302
  }], modelItemChange: [{
13226
13303
  type: Output
@@ -13509,10 +13586,10 @@ class RadioGroupItemComponent {
13509
13586
  }
13510
13587
  }
13511
13588
  RadioGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RadioGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13512
- RadioGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { animationEnd: "animationEnd", radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [indeterminate]=\"false\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"], components: [{ type: RadioComponent, selector: "mrx-radio", inputs: ["required", "type", "name", "boldLabel", "disabled", "readonly", "placeholder", "label", "customClasses", "invalid", "value"] }, { type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["animationEnd", "radioChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13589
+ RadioGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { animationEnd: "animationEnd", radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"], components: [{ type: RadioComponent, selector: "mrx-radio", inputs: ["required", "type", "name", "boldLabel", "disabled", "readonly", "placeholder", "label", "customClasses", "invalid", "value"] }, { type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["animationEnd", "radioChanged"] }], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13513
13590
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RadioGroupItemComponent, decorators: [{
13514
13591
  type: Component,
13515
- args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [indeterminate]=\"false\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"] }]
13592
+ args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n <div class=\"mrx-radio-group__item--array\" *ngIf=\"item.array.length && level < 10; else singleradioTemplate\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n <ng-container>\r\n <mrx-radio-group-item\r\n *ngFor=\"let child of item.array; trackBy: trackByFn\"\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <ng-template #singleradioTemplate>\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"] }]
13516
13593
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { invalid: [{
13517
13594
  type: Input
13518
13595
  }], name: [{