@libs-ui/components-checkbox-group 0.2.304 → 0.2.306-10

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.
@@ -27,6 +27,7 @@ export declare class LibsUiComponentsCheckboxGroupComponent implements OnInit {
27
27
  readonly outFunctionsControl: import("@angular/core").OutputEmitterRef<ICheckboxGroupFunctionControlEvent>;
28
28
  constructor();
29
29
  ngOnInit(): void;
30
+ get FunctionsControl(): ICheckboxGroupFunctionControlEvent;
30
31
  protected handlerChange(event: ICheckboxEvent, item: ICheckboxItem): void;
31
32
  private checkValid;
32
33
  private resetError;
@@ -12,12 +12,12 @@ export class LibsUiComponentsCheckboxGroupComponent {
12
12
  error = signal(false);
13
13
  // #region INPUT
14
14
  groups = model.required();
15
- fieldKey = input('key', { transform: value => value || 'key' });
15
+ fieldKey = input('key', { transform: (value) => value || 'key' });
16
16
  keysChecked = input();
17
17
  keysDisable = input();
18
- disable = input(false, { transform: value => value ?? false });
19
- clickExactly = input(true, { transform: value => value ?? true });
20
- horizontal = input(false, { transform: value => value ?? false });
18
+ disable = input(false, { transform: (value) => value ?? false });
19
+ clickExactly = input(true, { transform: (value) => value ?? true });
20
+ horizontal = input(false, { transform: (value) => value ?? false });
21
21
  labelConfig = input();
22
22
  validRequired = input();
23
23
  classInclude = input();
@@ -35,9 +35,9 @@ export class LibsUiComponentsCheckboxGroupComponent {
35
35
  return;
36
36
  }
37
37
  untracked(() => {
38
- this.groups.update(data => {
39
- return data.map(group => {
40
- group.item.checked = this.keysChecked()?.some(key => key === group.item[this.fieldKey()]);
38
+ this.groups.update((data) => {
39
+ return data.map((group) => {
40
+ group.item.checked = this.keysChecked()?.some((key) => key === group.item[this.fieldKey()]);
41
41
  return group;
42
42
  });
43
43
  });
@@ -48,8 +48,8 @@ export class LibsUiComponentsCheckboxGroupComponent {
48
48
  return;
49
49
  }
50
50
  untracked(() => {
51
- this.groups.update(data => {
52
- return data.map(group => {
51
+ this.groups.update((data) => {
52
+ return data.map((group) => {
53
53
  group.disableByKeys = false;
54
54
  if (group.item && this.keysDisable()?.includes(group.item[this.fieldKey()])) {
55
55
  group.disableByKeys = true;
@@ -62,19 +62,22 @@ export class LibsUiComponentsCheckboxGroupComponent {
62
62
  }
63
63
  /* FUNCTIONS */
64
64
  ngOnInit() {
65
- this.outFunctionsControl.emit({
65
+ this.outFunctionsControl.emit(this.FunctionsControl);
66
+ }
67
+ get FunctionsControl() {
68
+ return {
66
69
  checkIsValid: this.checkValid.bind(this),
67
70
  resetError: this.resetError.bind(this),
68
71
  reset: async () => {
69
- this.groups.update(data => {
70
- return data.map(group => {
72
+ this.groups.update((data) => {
73
+ return data.map((group) => {
71
74
  group.item.checked = false;
72
75
  return group;
73
76
  });
74
77
  });
75
78
  this.resetError();
76
- }
77
- });
79
+ },
80
+ };
78
81
  }
79
82
  // #region FUNCTIONS
80
83
  handlerChange(event, item) {
@@ -82,7 +85,9 @@ export class LibsUiComponentsCheckboxGroupComponent {
82
85
  return;
83
86
  }
84
87
  item.checked = event.checked;
85
- event.allCheckboxChecked = this.groups().filter(group => group.item.checked).map(group => ({ key: group.item[this.fieldKey()], item: group.item }));
88
+ event.allCheckboxChecked = this.groups()
89
+ .filter((group) => group.item.checked)
90
+ .map((group) => ({ key: group.item[this.fieldKey()], item: group.item }));
86
91
  this.outChange.emit(event);
87
92
  this.checkValid();
88
93
  }
@@ -91,7 +96,7 @@ export class LibsUiComponentsCheckboxGroupComponent {
91
96
  if (!this.validRequired()) {
92
97
  return true;
93
98
  }
94
- this.error.set(!this.groups().some(group => group.item.checked));
99
+ this.error.set(!this.groups().some((group) => group.item.checked));
95
100
  return !this.error();
96
101
  }
97
102
  async resetError() {
@@ -101,14 +106,10 @@ export class LibsUiComponentsCheckboxGroupComponent {
101
106
  item.outEventPopover?.(event);
102
107
  }
103
108
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
104
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsCheckboxGroupComponent, isStandalone: true, selector: "libs_ui-components-checkbox-group", inputs: { groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: true, transformFunction: null }, fieldKey: { classPropertyName: "fieldKey", publicName: "fieldKey", isSignal: true, isRequired: false, transformFunction: null }, keysChecked: { classPropertyName: "keysChecked", publicName: "keysChecked", isSignal: true, isRequired: false, transformFunction: null }, keysDisable: { classPropertyName: "keysDisable", publicName: "keysDisable", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classLabelInclude: { classPropertyName: "classLabelInclude", publicName: "classLabelInclude", isSignal: true, isRequired: false, transformFunction: null }, showValidateBottom: { classPropertyName: "showValidateBottom", publicName: "showValidateBottom", isSignal: true, isRequired: false, transformFunction: null }, classItemWhenModeHorizontal: { classPropertyName: "classItemWhenModeHorizontal", publicName: "classItemWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, classGroupWhenModeHorizontal: { classPropertyName: "classGroupWhenModeHorizontal", publicName: "classGroupWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, modeBorder: { classPropertyName: "modeBorder", publicName: "modeBorder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { groups: "groupsChange", outChange: "outChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required \"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\" group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\">\n </div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null;context:{item:group.item}\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID) | translate:validRequired()?.interpolateParams\">\n </span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsLabelComponent, selector: "libs_ui-components-label", inputs: ["iconPopoverClass", "classInclude", "labelLeft", "labelLeftClass", "labelLeftBehindToggleButton", "popover", "required", "buttonsLeft", "disableButtonsLeft", "buttonsRight", "disableButtonsRight", "labelRight", "labelRightClass", "labelRightRequired", "hasToggle", "toggleSize", "toggleActive", "toggleDisable", "description", "descriptionClass", "buttonsDescription", "disableButtonsDescription", "buttonsDescriptionContainerClass", "onlyShowCount", "zIndexPopover", "timerDestroyPopover", "count", "limitLength"], outputs: ["outClickButton", "outSwitchEvent", "outLabelRightClick", "outLabelLeftClick"] }, { kind: "component", type: LibsUiComponentsCheckboxSingleComponent, selector: "libs_ui-components-checkbox-single", inputs: ["key", "checked", "label", "classLabelInclude", "ignoreShowPopoverLabel", "typeLabelPopover", "popover", "linkImage", "linkImageError", "avatarConfig", "classImageInclude", "imgTypeIcon", "bullet", "classInclude", "clickExactly", "disable", "disableLabel", "ignoreCheckbox", "zIndexLabel", "stillOtherOptions", "error", "showBorderError", "description", "iconImageClass", "classIconInclude", "modeBorder", "dataComponentOutlet", "componentOutlet"], outputs: ["checkedChange", "linkImageChange", "outChange", "outEventPopover", "outClickLabel", "outChangStageFlagMousePopover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsCheckboxGroupComponent, isStandalone: true, selector: "libs_ui-components-checkbox-group", inputs: { groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: true, transformFunction: null }, fieldKey: { classPropertyName: "fieldKey", publicName: "fieldKey", isSignal: true, isRequired: false, transformFunction: null }, keysChecked: { classPropertyName: "keysChecked", publicName: "keysChecked", isSignal: true, isRequired: false, transformFunction: null }, keysDisable: { classPropertyName: "keysDisable", publicName: "keysDisable", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classLabelInclude: { classPropertyName: "classLabelInclude", publicName: "classLabelInclude", isSignal: true, isRequired: false, transformFunction: null }, showValidateBottom: { classPropertyName: "showValidateBottom", publicName: "showValidateBottom", isSignal: true, isRequired: false, transformFunction: null }, classItemWhenModeHorizontal: { classPropertyName: "classItemWhenModeHorizontal", publicName: "classItemWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, classGroupWhenModeHorizontal: { classPropertyName: "classGroupWhenModeHorizontal", publicName: "classGroupWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, modeBorder: { classPropertyName: "modeBorder", publicName: "modeBorder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { groups: "groupsChange", outChange: "outChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single\n [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\"group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div\n class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\"></div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null; context: { item: group.item }\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div\n class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsLabelComponent, selector: "libs_ui-components-label", inputs: ["iconPopoverClass", "classInclude", "labelLeft", "labelLeftClass", "labelLeftBehindToggleButton", "popover", "required", "buttonsLeft", "disableButtonsLeft", "buttonsRight", "disableButtonsRight", "labelRight", "labelRightClass", "labelRightRequired", "hasToggle", "toggleSize", "toggleActive", "toggleDisable", "description", "descriptionClass", "buttonsDescription", "disableButtonsDescription", "buttonsDescriptionContainerClass", "onlyShowCount", "zIndexPopover", "timerDestroyPopover", "count", "limitLength"], outputs: ["outClickButton", "outSwitchEvent", "outLabelRightClick", "outLabelLeftClick"] }, { kind: "component", type: LibsUiComponentsCheckboxSingleComponent, selector: "libs_ui-components-checkbox-single", inputs: ["key", "checked", "label", "classLabelInclude", "ignoreShowPopoverLabel", "typeLabelPopover", "popover", "linkImage", "linkImageError", "avatarConfig", "classImageInclude", "imgTypeIcon", "bullet", "classInclude", "clickExactly", "disable", "disableLabel", "ignoreCheckbox", "zIndexLabel", "stillOtherOptions", "error", "showBorderError", "description", "iconImageClass", "classIconInclude", "modeBorder", "dataComponentOutlet", "componentOutlet"], outputs: ["checkedChange", "linkImageChange", "outChange", "outEventPopover", "outClickLabel", "outChangStageFlagMousePopover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
110
  }
106
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCheckboxGroupComponent, decorators: [{
107
112
  type: Component,
108
- args: [{ selector: 'libs_ui-components-checkbox-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
109
- TranslateModule, NgTemplateOutlet,
110
- LibsUiComponentsLabelComponent,
111
- LibsUiComponentsCheckboxSingleComponent
112
- ], template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required \"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\" group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\">\n </div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null;context:{item:group.item}\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID) | translate:validRequired()?.interpolateParams\">\n </span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"] }]
113
+ args: [{ selector: 'libs_ui-components-checkbox-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, NgTemplateOutlet, LibsUiComponentsLabelComponent, LibsUiComponentsCheckboxSingleComponent], template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single\n [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\"group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div\n class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\"></div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null; context: { item: group.item }\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div\n class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"] }]
113
114
  }], ctorParameters: () => [] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2NoZWNrYm94L2dyb3VwL3NyYy9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2hlY2tib3gvZ3JvdXAvc3JjL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFrQix1Q0FBdUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlHLE9BQU8sRUFBVSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBaUJ0RCxNQUFNLE9BQU8sc0NBQXNDO0lBRWpELG1CQUFtQjtJQUNBLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDO0lBQy9ELEtBQUssR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUE7SUFFeEMsZ0JBQWdCO0lBQ1AsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTZCLENBQUM7SUFDckQsUUFBUSxHQUFHLEtBQUssQ0FBaUIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDL0UsV0FBVyxHQUFHLEtBQUssRUFB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dGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbnB1dCwgbW9kZWwsIE9uSW5pdCwgb3V0cHV0LCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoZWNrYm94RXZlbnQsIExpYnNVaUNvbXBvbmVudHNDaGVja2JveFNpbmdsZUNvbXBvbmVudCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtY2hlY2tib3gtc2luZ2xlJztcbmltcG9ydCB7IElMYWJlbCwgTGlic1VpQ29tcG9uZW50c0xhYmVsQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1sYWJlbCc7XG5pbXBvcnQgeyBUWVBFX1BPUE9WRVJfRVZFTlQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXInO1xuaW1wb3J0IHsgRVJST1JfTUVTU0FHRV9FTVBUWV9WQUxJRCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSUNoZWNrYm94R3JvdXBGdW5jdGlvbkNvbnRyb2xFdmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy9mdW5jdGlvbi1jb250cm9sLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJQ2hlY2tib3hHcm91cEl0ZW0sIElDaGVja2JveEdyb3VwVmFsaWRSZXF1aXJlZCwgSUNoZWNrYm94SXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcy9ncm91cC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtY2hlY2tib3gtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSwgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBMaWJzVWlDb21wb25lbnRzTGFiZWxDb21wb25lbnQsXG4gICAgTGlic1VpQ29tcG9uZW50c0NoZWNrYm94U2luZ2xlQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0NoZWNrYm94R3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEVSUk9SX01FU1NBR0VfRU1QVFlfVkFMSUQgPSBFUlJPUl9NRVNTQUdFX0VNUFRZX1ZBTElEO1xuICBwcm90ZWN0ZWQgZXJyb3IgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpXG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSBncm91cHMgPSBtb2RlbC5yZXF1aXJlZDxBcnJheTxJQ2hlY2tib3hHcm91cEl0ZW0+PigpO1xuICByZWFkb25seSBmaWVsZEtleSA9IGlucHV0PHN0cmluZywgc3RyaW5nPigna2V5JywgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlIHx8ICdrZXknIH0pXG4gIHJlYWRvbmx5IGtleXNDaGVja2VkID0gaW5wdXQ8QXJyYXk8c3RyaW5nPj4oKTtcbiAgcmVhZG9ubHkga2V5c0Rpc2FibGUgPSBpbnB1dDxBcnJheTxzdHJpbmc+PigpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2YWx1ZSA9PiB2YWx1ZSA/PyBmYWxzZSB9KTtcbiAgcmVhZG9ubHkgY2xpY2tFeGFjdGx5ID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4odHJ1ZSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IHRydWUgfSk7XG4gIHJlYWRvbmx5IGhvcml6b250YWwgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBib29sZWFuIHwgdW5kZWZpbmVkPihmYWxzZSwgeyB0cmFuc2Zvcm06IHZhbHVlID0+IHZhbHVlID8/IGZhbHNlIH0pO1xuICByZWFkb25seSBsYWJlbENvbmZpZyA9IGlucHV0PElMYWJlbD4oKTtcbiAgcmVhZG9ubHkgdmFsaWRSZXF1aXJlZCA9IGlucHV0PElDaGVja2JveEdyb3VwVmFsaWRSZXF1aXJlZD4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBjbGFzc0xhYmVsSW5jbHVkZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgc2hvd1ZhbGlkYXRlQm90dG9tID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJdGVtV2hlbk1vZGVIb3Jpem9udGFsID0gaW5wdXQ8c3RyaW5nPignbXItWzI0cHhdJyk7XG4gIHJlYWRvbmx5IGNsYXNzR3JvdXBXaGVuTW9kZUhvcml6b250YWwgPSBpbnB1dDxzdHJpbmc+KCdmbGV4Jyk7XG4gIHJlYWRvbmx5IG1vZGVCb3JkZXIgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8vICNyZWdpb24gT1VUUFVUXG4gIHJlYWRvbmx5IG91dENoYW5nZSA9IG91dHB1dDxJQ2hlY2tib3hFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25zQ29udHJvbCA9IG91dHB1dDxJQ2hlY2tib3hHcm91cEZ1bmN0aW9uQ29udHJvbEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5rZXlzQ2hlY2tlZCgpKSB8fCAhdGhpcy5maWVsZEtleSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JvdXBzLnVwZGF0ZShkYXRhID0+IHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5tYXAoZ3JvdXAgPT4ge1xuICAgICAgICAgICAgZ3JvdXAuaXRlbS5jaGVja2VkID0gdGhpcy5rZXlzQ2hlY2tlZCgpPy5zb21lKGtleSA9PiBrZXkgPT09IGdyb3VwLml0ZW1bdGhpcy5maWVsZEtleSgpXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmtleXNEaXNhYmxlKCkpIHx8ICF0aGlzLmZpZWxkS2V5KCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgdGhpcy5ncm91cHMudXBkYXRlKGRhdGEgPT4ge1xuICAgICAgICAgIHJldHVybiBkYXRhLm1hcChncm91cCA9PiB7XG4gICAgICAgICAgICBncm91cC5kaXNhYmxlQnlLZXlzID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoZ3JvdXAuaXRlbSAmJiB0aGlzLmtleXNEaXNhYmxlKCk/LmluY2x1ZGVzKGdyb3VwLml0ZW1bdGhpcy5maWVsZEtleSgpXSkpIHtcbiAgICAgICAgICAgICAgZ3JvdXAuZGlzYWJsZUJ5S2V5cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ3JvdXA7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICB9KTtcbiAgfVxuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdCh7XG4gICAgICBjaGVja0lzVmFsaWQ6IHRoaXMuY2hlY2tWYWxpZC5iaW5kKHRoaXMpLFxuICAgICAgcmVzZXRFcnJvcjogdGhpcy5yZXNldEVycm9yLmJpbmQodGhpcyksXG4gICAgICByZXNldDogYXN5bmMgKCkgPT4ge1xuICAgICAgICB0aGlzLmdyb3Vwcy51cGRhdGUoZGF0YSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGRhdGEubWFwKGdyb3VwID0+IHtcbiAgICAgICAgICAgIGdyb3VwLml0ZW0uY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGdyb3VwO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNldEVycm9yKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyAjcmVnaW9uIEZVTkNUSU9OU1xuICBwcm90ZWN0ZWQgaGFuZGxlckNoYW5nZShldmVudDogSUNoZWNrYm94RXZlbnQsIGl0ZW06IElDaGVja2JveEl0ZW0pIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXRlbS5jaGVja2VkID0gZXZlbnQuY2hlY2tlZDtcbiAgICBldmVudC5hbGxDaGVja2JveENoZWNrZWQgPSB0aGlzLmdyb3VwcygpLmZpbHRlcihncm91cCA9PiBncm91cC5pdGVtLmNoZWNrZWQpLm1hcChncm91cCA9PiAoeyBrZXk6IGdyb3VwLml0ZW1bdGhpcy5maWVsZEtleSgpXSwgaXRlbTogZ3JvdXAuaXRlbSB9KSk7XG4gICAgdGhpcy5vdXRDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgdGhpcy5jaGVja1ZhbGlkKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrVmFsaWQoKSB7XG4gICAgdGhpcy5lcnJvci5zZXQoZmFsc2UpO1xuICAgIGlmICghdGhpcy52YWxpZFJlcXVpcmVkKCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmVycm9yLnNldCghdGhpcy5ncm91cHMoKS5zb21lKGdyb3VwID0+IGdyb3VwLml0ZW0uY2hlY2tlZCkpO1xuXG4gICAgcmV0dXJuICF0aGlzLmVycm9yKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlc2V0RXJyb3IoKSB7XG4gICAgdGhpcy5lcnJvci5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJFdmVudFBvcG92ZXIoZXZlbnQ6IFRZUEVfUE9QT1ZFUl9FVkVOVCwgaXRlbTogSUNoZWNrYm94SXRlbSkge1xuICAgIGl0ZW0ub3V0RXZlbnRQb3BvdmVyPy4oZXZlbnQpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbFwiPlxuICBAaWYgKGxhYmVsQ29uZmlnKCk7IGFzIGxhYmVsQ29uZmlnKSB7XG4gICAgPGxpYnNfdWktY29tcG9uZW50cy1sYWJlbCBbY2xhc3NJbmNsdWRlXT1cImxhYmVsQ29uZmlnLmNsYXNzSW5jbHVkZVwiXG4gICAgICBbbGFiZWxMZWZ0XT1cImxhYmVsQ29uZmlnLmxhYmVsTGVmdFwiXG4gICAgICBbbGFiZWxMZWZ0Q2xhc3NdPVwibGFiZWxDb25maWcubGFiZWxMZWZ0Q2xhc3NcIlxuICAgICAgW3JlcXVpcmVkXT1cImxhYmVsQ29uZmlnLnJlcXVpcmVkIFwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwibGFiZWxDb25maWcuZGVzY3JpcHRpb25cIlxuICAgICAgW2xhYmVsUmlnaHRdPVwibGFiZWxDb25maWcubGFiZWxSaWdodFwiXG4gICAgICBbbGFiZWxSaWdodENsYXNzXT1cImxhYmVsQ29uZmlnLmxhYmVsUmlnaHRDbGFzc1wiXG4gICAgICBbb25seVNob3dDb3VudF09XCJsYWJlbENvbmZpZy5vbmx5U2hvd0NvdW50XCJcbiAgICAgIFtidXR0b25zTGVmdF09XCJsYWJlbENvbmZpZy5idXR0b25zTGVmdFwiXG4gICAgICBbZGlzYWJsZUJ1dHRvbnNMZWZ0XT1cImxhYmVsQ29uZmlnLmRpc2FibGVCdXR0b25zTGVmdCB8fCBkaXNhYmxlKClcIlxuICAgICAgW2hhc1RvZ2dsZV09XCJsYWJlbENvbmZpZy5oYXNUb2dnbGVcIlxuICAgICAgW3RvZ2dsZUFjdGl2ZV09XCJsYWJlbENvbmZpZy50b2dnbGVBY3RpdmVcIlxuICAgICAgW3RvZ2dsZURpc2FibGVdPVwibGFiZWxDb25maWcudG9nZ2xlRGlzYWJsZSB8fCBkaXNhYmxlKClcIlxuICAgICAgW3BvcG92ZXJdPVwibGFiZWxDb25maWcucG9wb3ZlclwiXG4gICAgICBbaWNvblBvcG92ZXJDbGFzc109XCJsYWJlbENvbmZpZy5pY29uUG9wb3ZlckNsYXNzXCJcbiAgICAgIFtvbmx5U2hvd0NvdW50XT1cImxhYmVsQ29uZmlnLm9ubHlTaG93Q291bnRcIlxuICAgICAgW2xpbWl0TGVuZ3RoXT1cImxhYmVsQ29uZmlnLmxpbWl0TGVuZ3RoXCJcbiAgICAgIFtidXR0b25zRGVzY3JpcHRpb25dPVwibGFiZWxDb25maWcuYnV0dG9uc0Rlc2NyaXB0aW9uXCJcbiAgICAgIFtkaXNhYmxlQnV0dG9uc0Rlc2NyaXB0aW9uXT1cImxhYmVsQ29uZmlnLmRpc2FibGVCdXR0b25zRGVzY3JpcHRpb24gfHwgZGlzYWJsZSgpXCJcbiAgICAgIFtidXR0b25zRGVzY3JpcHRpb25Db250YWluZXJDbGFzc109XCJsYWJlbENvbmZpZy5idXR0b25zRGVzY3JpcHRpb25Db250YWluZXJDbGFzc1wiXG4gICAgICBbY291bnRdPVwibGFiZWxDb25maWcuY291bnRcIiAvPlxuICB9XG4gIEBpZiAoIXNob3dWYWxpZGF0ZUJvdHRvbSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlVmFsaWRhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwibGlicy11aS1jaGVja2JveC1ncm91cCB7eyBob3Jpem9udGFsKCkgPyBjbGFzc0dyb3VwV2hlbk1vZGVIb3Jpem9udGFsKCkgOiAnJyB9fVwiPlxuICAgIEBmb3IgKGdyb3VwIG9mIGdyb3VwcygpOyB0cmFjayBncm91cCkge1xuICAgICAgPGRpdiBbY2xhc3NdPVwiaG9yaXpvbnRhbCgpID8gY2xhc3NJdGVtV2hlbk1vZGVIb3Jpem9udGFsKCkgOiAnJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHktWzRweF0ge3sgZ3JvdXAuaXRlbS5jbGFzc0luY2x1ZGVXcmFwcGVyIHx8ICcnIH19XCI+XG4gICAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1jaGVja2JveC1zaW5nbGUgW2xhYmVsXT1cImdyb3VwLml0ZW0ubGFiZWwgfHwgJyAnXCJcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImdyb3VwLml0ZW0uY2hlY2tlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBba2V5XT1cImdyb3VwLml0ZW1bZmllbGRLZXkoKV1cIlxuICAgICAgICAgICAgW2Rpc2FibGVdPVwiZ3JvdXAuZGlzYWJsZUJ5S2V5cyB8fCBkaXNhYmxlKCkgfHwgZ3JvdXAuaXRlbS5kaXNhYmxlIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlTGFiZWxdPVwiIGdyb3VwLml0ZW0uZGlzYWJsZUxhYmVsIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtjbGFzc0xhYmVsSW5jbHVkZV09XCJjbGFzc0xhYmVsSW5jbHVkZSgpIHx8IGdyb3VwLml0ZW0uY2xhc3NMYWJlbEluY2x1ZGUgfHwgJydcIlxuICAgICAgICAgICAgW2NsYXNzSW5jbHVkZV09XCJjbGFzc0luY2x1ZGUoKSB8fCBncm91cC5pdGVtLmNsYXNzSW5jbHVkZSB8fCAnJ1wiXG4gICAgICAgICAgICBbcG9wb3Zlcl09XCJncm91cC5pdGVtLnBvcG92ZXJcIlxuICAgICAgICAgICAgW2F2YXRhckNvbmZpZ109XCJncm91cC5pdGVtLmF2YXRhckNvbmZpZ1wiXG4gICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiZ3JvdXAuaXRlbS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbdHlwZUxhYmVsUG9wb3Zlcl09XCJncm91cC5pdGVtLnR5cGVMYWJlbFBvcG92ZXIgfHwgJ3RleHQnXCJcbiAgICAgICAgICAgIFtpZ25vcmVTaG93UG9wb3ZlckxhYmVsXT1cImdyb3VwLml0ZW0uaWdub3JlU2hvd1BvcG92ZXJMYWJlbCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbY2xpY2tFeGFjdGx5XT1cImNsaWNrRXhhY3RseSgpXCJcbiAgICAgICAgICAgIFttb2RlQm9yZGVyXT1cIm1vZGVCb3JkZXIoKVwiXG4gICAgICAgICAgICBbc2hvd0JvcmRlckVycm9yXT1cImVycm9yKCkgJiYgdmFsaWRSZXF1aXJlZCgpPy5oYXNCb3JkZXJFcnJvckNoZWNrYm94XCJcbiAgICAgICAgICAgIChvdXRDaGFuZ2UpPVwiaGFuZGxlckNoYW5nZSgkZXZlbnQsIGdyb3VwLml0ZW0pXCJcbiAgICAgICAgICAgIChvdXRFdmVudFBvcG92ZXIpPVwiaGFuZGxlckV2ZW50UG9wb3ZlcigkZXZlbnQsIGdyb3VwLml0ZW0pXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoZ3JvdXAuaXRlbS5jaGVja2VkKSB7XG4gICAgICAgICAgQGlmIChncm91cC5zdWJUZXh0KSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlicy11aS1jaGVja2JveC1ncm91cC1zdWItdGV4dCBsaWJzLXVpLWZvbnQtaDdyIHt7IGdyb3VwLmNsYXNzSW5jbHVkZVN1YlRleHQgfHwgJycgfX1cIlxuICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cImdyb3VwLnN1YlRleHRcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ3JvdXA/LnN1YlRlbXBsYXRlIHx8IG51bGw7Y29udGV4dDp7aXRlbTpncm91cC5pdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICBAaWYgKHNob3dWYWxpZGF0ZUJvdHRvbSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlVmFsaWRhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVWYWxpZGF0ZT5cbiAgQGlmIChlcnJvcigpKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCJcbiAgICAgIFtjbGFzcy5tYi1bOHB4XV09XCIhc2hvd1ZhbGlkYXRlQm90dG9tKClcIlxuICAgICAgW2NsYXNzLm10LVs4cHhdXT1cInNob3dWYWxpZGF0ZUJvdHRvbSgpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImxpYnMtdWktdGV4dC1lcnJvciBsaWJzLXVpLWZvbnQtaDdyXCJcbiAgICAgICAgW2lubmVySHRtbF09XCIodmFsaWRSZXF1aXJlZCgpPy5tZXNzYWdlIHx8IEVSUk9SX01FU1NBR0VfRU1QVFlfVkFMSUQpIHwgdHJhbnNsYXRlOnZhbGlkUmVxdWlyZWQoKT8uaW50ZXJwb2xhdGVQYXJhbXNcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2NoZWNrYm94L2dyb3VwL3NyYy9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2hlY2tib3gvZ3JvdXAvc3JjL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFrQix1Q0FBdUMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlHLE9BQU8sRUFBVSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBYXRELE1BQU0sT0FBTyxzQ0FBc0M7SUFDakQsbUJBQW1CO0lBQ0EseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7SUFDL0QsS0FBSyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUV6QyxnQkFBZ0I7SUFDUCxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNkIsQ0FBQztJQUNyRCxRQUFRLEdBQUcsS0FBSyxDQUFpQixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLFdBQVcsR0FBRyxLQUFL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SUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLDhCQUE4QixFQUFFLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ2hlY2tib3hFdmVudCwgTGlic1VpQ29tcG9uZW50c0NoZWNrYm94U2luZ2xlQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1jaGVja2JveC1zaW5nbGUnO1xuaW1wb3J0IHsgSUxhYmVsLCBMaWJzVWlDb21wb25lbnRzTGFiZWxDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWxhYmVsJztcbmltcG9ydCB7IFRZUEVfUE9QT1ZFUl9FVkVOVCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtcG9wb3Zlcic7XG5pbXBvcnQgeyBFUlJPUl9NRVNTQUdFX0VNUFRZX1ZBTElEIH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJQ2hlY2tib3hHcm91cEZ1bmN0aW9uQ29udHJvbEV2ZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Z1bmN0aW9uLWNvbnRyb2wuaW50ZXJmYWNlJztcbmltcG9ydCB7IElDaGVja2JveEdyb3VwSXRlbSwgSUNoZWNrYm94R3JvdXBWYWxpZFJlcXVpcmVkLCBJQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dyb3VwLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1jaGVja2JveC1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBMaWJzVWlDb21wb25lbnRzTGFiZWxDb21wb25lbnQsIExpYnNVaUNvbXBvbmVudHNDaGVja2JveFNpbmdsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNDaGVja2JveEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gI3JlZ2lvbiBQUk9QRVJUWVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRVJST1JfTUVTU0FHRV9FTVBUWV9WQUxJRCA9IEVSUk9SX01FU1NBR0VfRU1QVFlfVkFMSUQ7XG4gIHByb3RlY3RlZCBlcnJvciA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSBncm91cHMgPSBtb2RlbC5yZXF1aXJlZDxBcnJheTxJQ2hlY2tib3hHcm91cEl0ZW0+PigpO1xuICByZWFkb25seSBmaWVsZEtleSA9IGlucHV0PHN0cmluZywgc3RyaW5nPigna2V5JywgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgfHwgJ2tleScgfSk7XG4gIHJlYWRvbmx5IGtleXNDaGVja2VkID0gaW5wdXQ8QXJyYXk8c3RyaW5nPj4oKTtcbiAgcmVhZG9ubHkga2V5c0Rpc2FibGUgPSBpbnB1dDxBcnJheTxzdHJpbmc+PigpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IGZhbHNlIH0pO1xuICByZWFkb25seSBjbGlja0V4YWN0bHkgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkLCBib29sZWFuIHwgdW5kZWZpbmVkPih0cnVlLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyB0cnVlIH0pO1xuICByZWFkb25seSBob3Jpem9udGFsID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZCwgYm9vbGVhbiB8IHVuZGVmaW5lZD4oZmFsc2UsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IGZhbHNlIH0pO1xuICByZWFkb25seSBsYWJlbENvbmZpZyA9IGlucHV0PElMYWJlbD4oKTtcbiAgcmVhZG9ubHkgdmFsaWRSZXF1aXJlZCA9IGlucHV0PElDaGVja2JveEdyb3VwVmFsaWRSZXF1aXJlZD4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBjbGFzc0xhYmVsSW5jbHVkZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgc2hvd1ZhbGlkYXRlQm90dG9tID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJdGVtV2hlbk1vZGVIb3Jpem9udGFsID0gaW5wdXQ8c3RyaW5nPignbXItWzI0cHhdJyk7XG4gIHJlYWRvbmx5IGNsYXNzR3JvdXBXaGVuTW9kZUhvcml6b250YWwgPSBpbnB1dDxzdHJpbmc+KCdmbGV4Jyk7XG4gIHJlYWRvbmx5IG1vZGVCb3JkZXIgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIC8vICNyZWdpb24gT1VUUFVUXG4gIHJlYWRvbmx5IG91dENoYW5nZSA9IG91dHB1dDxJQ2hlY2tib3hFdmVudD4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25zQ29udHJvbCA9IG91dHB1dDxJQ2hlY2tib3hHcm91cEZ1bmN0aW9uQ29udHJvbEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5rZXlzQ2hlY2tlZCgpKSB8fCAhdGhpcy5maWVsZEtleSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JvdXBzLnVwZGF0ZSgoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiBkYXRhLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgIGdyb3VwLml0ZW0uY2hlY2tlZCA9IHRoaXMua2V5c0NoZWNrZWQoKT8uc29tZSgoa2V5KSA9PiBrZXkgPT09IGdyb3VwLml0ZW1bdGhpcy5maWVsZEtleSgpXSk7XG5cbiAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5rZXlzRGlzYWJsZSgpKSB8fCAhdGhpcy5maWVsZEtleSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ3JvdXBzLnVwZGF0ZSgoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiBkYXRhLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgIGdyb3VwLmRpc2FibGVCeUtleXMgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChncm91cC5pdGVtICYmIHRoaXMua2V5c0Rpc2FibGUoKT8uaW5jbHVkZXMoZ3JvdXAuaXRlbVt0aGlzLmZpZWxkS2V5KCldKSkge1xuICAgICAgICAgICAgICBncm91cC5kaXNhYmxlQnlLZXlzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qIEZVTkNUSU9OUyAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdCh0aGlzLkZ1bmN0aW9uc0NvbnRyb2wpO1xuICB9XG5cbiAgcHVibGljIGdldCBGdW5jdGlvbnNDb250cm9sKCk6IElDaGVja2JveEdyb3VwRnVuY3Rpb25Db250cm9sRXZlbnQge1xuICAgIHJldHVybiB7XG4gICAgICBjaGVja0lzVmFsaWQ6IHRoaXMuY2hlY2tWYWxpZC5iaW5kKHRoaXMpLFxuICAgICAgcmVzZXRFcnJvcjogdGhpcy5yZXNldEVycm9yLmJpbmQodGhpcyksXG4gICAgICByZXNldDogYXN5bmMgKCkgPT4ge1xuICAgICAgICB0aGlzLmdyb3Vwcy51cGRhdGUoKGRhdGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICBncm91cC5pdGVtLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVzZXRFcnJvcigpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gI3JlZ2lvbiBGVU5DVElPTlNcbiAgcHJvdGVjdGVkIGhhbmRsZXJDaGFuZ2UoZXZlbnQ6IElDaGVja2JveEV2ZW50LCBpdGVtOiBJQ2hlY2tib3hJdGVtKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZW0uY2hlY2tlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgZXZlbnQuYWxsQ2hlY2tib3hDaGVja2VkID0gdGhpcy5ncm91cHMoKVxuICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLml0ZW0uY2hlY2tlZClcbiAgICAgIC5tYXAoKGdyb3VwKSA9PiAoeyBrZXk6IGdyb3VwLml0ZW1bdGhpcy5maWVsZEtleSgpXSwgaXRlbTogZ3JvdXAuaXRlbSB9KSk7XG4gICAgdGhpcy5vdXRDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgdGhpcy5jaGVja1ZhbGlkKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrVmFsaWQoKSB7XG4gICAgdGhpcy5lcnJvci5zZXQoZmFsc2UpO1xuICAgIGlmICghdGhpcy52YWxpZFJlcXVpcmVkKCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmVycm9yLnNldCghdGhpcy5ncm91cHMoKS5zb21lKChncm91cCkgPT4gZ3JvdXAuaXRlbS5jaGVja2VkKSk7XG5cbiAgICByZXR1cm4gIXRoaXMuZXJyb3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzZXRFcnJvcigpIHtcbiAgICB0aGlzLmVycm9yLnNldChmYWxzZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckV2ZW50UG9wb3ZlcihldmVudDogVFlQRV9QT1BPVkVSX0VWRU5ULCBpdGVtOiBJQ2hlY2tib3hJdGVtKSB7XG4gICAgaXRlbS5vdXRFdmVudFBvcG92ZXI/LihldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbFwiPlxuICBAaWYgKGxhYmVsQ29uZmlnKCk7IGFzIGxhYmVsQ29uZmlnKSB7XG4gICAgPGxpYnNfdWktY29tcG9uZW50cy1sYWJlbFxuICAgICAgW2NsYXNzSW5jbHVkZV09XCJsYWJlbENvbmZpZy5jbGFzc0luY2x1ZGVcIlxuICAgICAgW2xhYmVsTGVmdF09XCJsYWJlbENvbmZpZy5sYWJlbExlZnRcIlxuICAgICAgW2xhYmVsTGVmdENsYXNzXT1cImxhYmVsQ29uZmlnLmxhYmVsTGVmdENsYXNzXCJcbiAgICAgIFtyZXF1aXJlZF09XCJsYWJlbENvbmZpZy5yZXF1aXJlZFwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwibGFiZWxDb25maWcuZGVzY3JpcHRpb25cIlxuICAgICAgW2xhYmVsUmlnaHRdPVwibGFiZWxDb25maWcubGFiZWxSaWdodFwiXG4gICAgICBbbGFiZWxSaWdodENsYXNzXT1cImxhYmVsQ29uZmlnLmxhYmVsUmlnaHRDbGFzc1wiXG4gICAgICBbb25seVNob3dDb3VudF09XCJsYWJlbENvbmZpZy5vbmx5U2hvd0NvdW50XCJcbiAgICAgIFtidXR0b25zTGVmdF09XCJsYWJlbENvbmZpZy5idXR0b25zTGVmdFwiXG4gICAgICBbZGlzYWJsZUJ1dHRvbnNMZWZ0XT1cImxhYmVsQ29uZmlnLmRpc2FibGVCdXR0b25zTGVmdCB8fCBkaXNhYmxlKClcIlxuICAgICAgW2hhc1RvZ2dsZV09XCJsYWJlbENvbmZpZy5oYXNUb2dnbGVcIlxuICAgICAgW3RvZ2dsZUFjdGl2ZV09XCJsYWJlbENvbmZpZy50b2dnbGVBY3RpdmVcIlxuICAgICAgW3RvZ2dsZURpc2FibGVdPVwibGFiZWxDb25maWcudG9nZ2xlRGlzYWJsZSB8fCBkaXNhYmxlKClcIlxuICAgICAgW3BvcG92ZXJdPVwibGFiZWxDb25maWcucG9wb3ZlclwiXG4gICAgICBbaWNvblBvcG92ZXJDbGFzc109XCJsYWJlbENvbmZpZy5pY29uUG9wb3ZlckNsYXNzXCJcbiAgICAgIFtvbmx5U2hvd0NvdW50XT1cImxhYmVsQ29uZmlnLm9ubHlTaG93Q291bnRcIlxuICAgICAgW2xpbWl0TGVuZ3RoXT1cImxhYmVsQ29uZmlnLmxpbWl0TGVuZ3RoXCJcbiAgICAgIFtidXR0b25zRGVzY3JpcHRpb25dPVwibGFiZWxDb25maWcuYnV0dG9uc0Rlc2NyaXB0aW9uXCJcbiAgICAgIFtkaXNhYmxlQnV0dG9uc0Rlc2NyaXB0aW9uXT1cImxhYmVsQ29uZmlnLmRpc2FibGVCdXR0b25zRGVzY3JpcHRpb24gfHwgZGlzYWJsZSgpXCJcbiAgICAgIFtidXR0b25zRGVzY3JpcHRpb25Db250YWluZXJDbGFzc109XCJsYWJlbENvbmZpZy5idXR0b25zRGVzY3JpcHRpb25Db250YWluZXJDbGFzc1wiXG4gICAgICBbY291bnRdPVwibGFiZWxDb25maWcuY291bnRcIiAvPlxuICB9XG4gIEBpZiAoIXNob3dWYWxpZGF0ZUJvdHRvbSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlVmFsaWRhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwibGlicy11aS1jaGVja2JveC1ncm91cCB7eyBob3Jpem9udGFsKCkgPyBjbGFzc0dyb3VwV2hlbk1vZGVIb3Jpem9udGFsKCkgOiAnJyB9fVwiPlxuICAgIEBmb3IgKGdyb3VwIG9mIGdyb3VwcygpOyB0cmFjayBncm91cCkge1xuICAgICAgPGRpdiBbY2xhc3NdPVwiaG9yaXpvbnRhbCgpID8gY2xhc3NJdGVtV2hlbk1vZGVIb3Jpem9udGFsKCkgOiAnJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHktWzRweF0ge3sgZ3JvdXAuaXRlbS5jbGFzc0luY2x1ZGVXcmFwcGVyIHx8ICcnIH19XCI+XG4gICAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1jaGVja2JveC1zaW5nbGVcbiAgICAgICAgICAgIFtsYWJlbF09XCJncm91cC5pdGVtLmxhYmVsIHx8ICcgJ1wiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJncm91cC5pdGVtLmNoZWNrZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW2tleV09XCJncm91cC5pdGVtW2ZpZWxkS2V5KCldXCJcbiAgICAgICAgICAgIFtkaXNhYmxlXT1cImdyb3VwLmRpc2FibGVCeUtleXMgfHwgZGlzYWJsZSgpIHx8IGdyb3VwLml0ZW0uZGlzYWJsZSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbZGlzYWJsZUxhYmVsXT1cImdyb3VwLml0ZW0uZGlzYWJsZUxhYmVsIHx8IGZhbHNlXCJcbiAgICAgICAgICAgIFtjbGFzc0xhYmVsSW5jbHVkZV09XCJjbGFzc0xhYmVsSW5jbHVkZSgpIHx8IGdyb3VwLml0ZW0uY2xhc3NMYWJlbEluY2x1ZGUgfHwgJydcIlxuICAgICAgICAgICAgW2NsYXNzSW5jbHVkZV09XCJjbGFzc0luY2x1ZGUoKSB8fCBncm91cC5pdGVtLmNsYXNzSW5jbHVkZSB8fCAnJ1wiXG4gICAgICAgICAgICBbcG9wb3Zlcl09XCJncm91cC5pdGVtLnBvcG92ZXJcIlxuICAgICAgICAgICAgW2F2YXRhckNvbmZpZ109XCJncm91cC5pdGVtLmF2YXRhckNvbmZpZ1wiXG4gICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiZ3JvdXAuaXRlbS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbdHlwZUxhYmVsUG9wb3Zlcl09XCJncm91cC5pdGVtLnR5cGVMYWJlbFBvcG92ZXIgfHwgJ3RleHQnXCJcbiAgICAgICAgICAgIFtpZ25vcmVTaG93UG9wb3ZlckxhYmVsXT1cImdyb3VwLml0ZW0uaWdub3JlU2hvd1BvcG92ZXJMYWJlbCB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbY2xpY2tFeGFjdGx5XT1cImNsaWNrRXhhY3RseSgpXCJcbiAgICAgICAgICAgIFttb2RlQm9yZGVyXT1cIm1vZGVCb3JkZXIoKVwiXG4gICAgICAgICAgICBbc2hvd0JvcmRlckVycm9yXT1cImVycm9yKCkgJiYgdmFsaWRSZXF1aXJlZCgpPy5oYXNCb3JkZXJFcnJvckNoZWNrYm94XCJcbiAgICAgICAgICAgIChvdXRDaGFuZ2UpPVwiaGFuZGxlckNoYW5nZSgkZXZlbnQsIGdyb3VwLml0ZW0pXCJcbiAgICAgICAgICAgIChvdXRFdmVudFBvcG92ZXIpPVwiaGFuZGxlckV2ZW50UG9wb3ZlcigkZXZlbnQsIGdyb3VwLml0ZW0pXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoZ3JvdXAuaXRlbS5jaGVja2VkKSB7XG4gICAgICAgICAgQGlmIChncm91cC5zdWJUZXh0KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibGlicy11aS1jaGVja2JveC1ncm91cC1zdWItdGV4dCBsaWJzLXVpLWZvbnQtaDdyIHt7IGdyb3VwLmNsYXNzSW5jbHVkZVN1YlRleHQgfHwgJycgfX1cIlxuICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cImdyb3VwLnN1YlRleHRcIj48L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdyb3VwPy5zdWJUZW1wbGF0ZSB8fCBudWxsOyBjb250ZXh0OiB7IGl0ZW06IGdyb3VwLml0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICBAaWYgKHNob3dWYWxpZGF0ZUJvdHRvbSgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlVmFsaWRhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVWYWxpZGF0ZT5cbiAgQGlmIChlcnJvcigpKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICBbY2xhc3MubWItWzhweF1dPVwiIXNob3dWYWxpZGF0ZUJvdHRvbSgpXCJcbiAgICAgIFtjbGFzcy5tdC1bOHB4XV09XCJzaG93VmFsaWRhdGVCb3R0b20oKVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJsaWJzLXVpLXRleHQtZXJyb3IgbGlicy11aS1mb250LWg3clwiXG4gICAgICAgIFtpbm5lckh0bWxdPVwidmFsaWRSZXF1aXJlZCgpPy5tZXNzYWdlIHx8IEVSUk9SX01FU1NBR0VfRU1QVFlfVkFMSUQgfCB0cmFuc2xhdGU6IHZhbGlkUmVxdWlyZWQoKT8uaW50ZXJwb2xhdGVQYXJhbXNcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tY29udHJvbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2hlY2tib3gvZ3JvdXAvc3JjL2ludGVyZmFjZXMvZnVuY3Rpb24tY29udHJvbC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBGdW5jdGlvbkNvbnRyb2xFdmVudCB7XG4gIGNoZWNrSXNWYWxpZDogKCkgPT4gUHJvbWlzZTxib29sZWFuPjtcbiAgcmVzZXRFcnJvcjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVzZXQ6ICgpID0+IFByb21pc2U8dm9pZD47XG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tY29udHJvbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2hlY2tib3gvZ3JvdXAvc3JjL2ludGVyZmFjZXMvZnVuY3Rpb24tY29udHJvbC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBGdW5jdGlvbkNvbnRyb2xFdmVudCB7XG4gIGNoZWNrSXNWYWxpZDogKCkgPT4gUHJvbWlzZTxib29sZWFuPjtcbiAgcmVzZXRFcnJvcjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVzZXQ6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2NoZWNrYm94L2dyb3VwL3NyYy9pbnRlcmZhY2VzL2dyb3VwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElBdmF0YXJDb25maWcgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWF2YXRhcic7XG5pbXBvcnQgeyBJQ2hlY2tib3hCdWxsZXQsIElDaGVja2JveEl0ZW1EZXNjcmlwdGlvbiB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtY2hlY2tib3gtc2luZ2xlJztcbmltcG9ydCB7IElQb3BvdmVyLCBUWVBFX1BPUE9WRVJfRVZFTlQsIFRZUEVfUE9QT1ZFUl9UWVBFIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IFRZUEVfVEVNUExBVEVfUkVGIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBJdGVtIHtcbiAgaXRlbTogSUNoZWNrYm94SXRlbTtcbiAgc3ViVGV4dD86IHN0cmluZztcbiAgY2xhc3NJbmNsdWRlU3ViVGV4dD86IHN0cmluZztcbiAgc3ViVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxUWVBFX1RFTVBMQVRFX1JFRj47XG4gIGRpc2FibGVCeUtleXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaGVja2JveEdyb3VwVmFsaWRSZXF1aXJlZCB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGhhc0JvcmRlckVycm9yQ2hlY2tib3g/OiBib29sZWFuO1xuICBpbnRlcnBvbGF0ZVBhcmFtcz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hlY2tib3hJdGVtIHtcbiAga2V5Pzogc3RyaW5nO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGNsYXNzTGFiZWxJbmNsdWRlPzogc3RyaW5nO1xuICBwb3BvdmVyPzogSVBvcG92ZXI7XG4gIGF2YXRhckNvbmZpZz86IElBdmF0YXJDb25maWc7XG4gIGxpbmtJbWFnZT86IHN0cmluZztcbiAgbGlua0ltYWdlRXJyb3I/OiBzdHJpbmc7XG4gIGNsYXNzSW1hZ2VJbmNsdWRlPzogc3RyaW5nO1xuICBidWxsZXQ/OiBJQ2hlY2tib3hCdWxsZXQ7XG4gIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgY2xpY2tFeGFjdGx5PzogYm9vbGVhbjtcbiAgZGlzYWJsZT86IGJvb2xlYW47XG4gIGRpc2FibGVMYWJlbD86IGJvb2xlYW47XG4gIGlnbm9yZVBvcG92ZXJMYWJlbD86IGJvb2xlYW47XG4gIG91dEV2ZW50UG9wb3Zlcj86IChldmVudDogVFlQRV9QT1BPVkVSX0VWRU5UKSA9PiB2b2lkO1xuICBkZXNjcmlwdGlvbj86IElDaGVja2JveEl0ZW1EZXNjcmlwdGlvbjtcbiAgY2xhc3NJbmNsdWRlV3JhcHBlcj86IHN0cmluZztcbiAgdHlwZUxhYmVsUG9wb3Zlcj86IFRZUEVfUE9QT1ZFUl9UWVBFO1xuICBpZ25vcmVTaG93UG9wb3ZlckxhYmVsPzogYm9vbGVhbjtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2NoZWNrYm94L2dyb3VwL3NyYy9pbnRlcmZhY2VzL2dyb3VwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElBdmF0YXJDb25maWcgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWF2YXRhcic7XG5pbXBvcnQgeyBJQ2hlY2tib3hCdWxsZXQsIElDaGVja2JveEl0ZW1EZXNjcmlwdGlvbiB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtY2hlY2tib3gtc2luZ2xlJztcbmltcG9ydCB7IElQb3BvdmVyLCBUWVBFX1BPUE9WRVJfRVZFTlQsIFRZUEVfUE9QT1ZFUl9UWVBFIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IFRZUEVfVEVNUExBVEVfUkVGIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBJdGVtIHtcbiAgaXRlbTogSUNoZWNrYm94SXRlbTtcbiAgc3ViVGV4dD86IHN0cmluZztcbiAgY2xhc3NJbmNsdWRlU3ViVGV4dD86IHN0cmluZztcbiAgc3ViVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxUWVBFX1RFTVBMQVRFX1JFRj47XG4gIGRpc2FibGVCeUtleXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaGVja2JveEdyb3VwVmFsaWRSZXF1aXJlZCB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGhhc0JvcmRlckVycm9yQ2hlY2tib3g/OiBib29sZWFuO1xuICBpbnRlcnBvbGF0ZVBhcmFtcz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hlY2tib3hJdGVtIHtcbiAga2V5Pzogc3RyaW5nO1xuICBjaGVja2VkPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGNsYXNzTGFiZWxJbmNsdWRlPzogc3RyaW5nO1xuICBwb3BvdmVyPzogSVBvcG92ZXI7XG4gIGF2YXRhckNvbmZpZz86IElBdmF0YXJDb25maWc7XG4gIGxpbmtJbWFnZT86IHN0cmluZztcbiAgbGlua0ltYWdlRXJyb3I/OiBzdHJpbmc7XG4gIGNsYXNzSW1hZ2VJbmNsdWRlPzogc3RyaW5nO1xuICBidWxsZXQ/OiBJQ2hlY2tib3hCdWxsZXQ7XG4gIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgY2xpY2tFeGFjdGx5PzogYm9vbGVhbjtcbiAgZGlzYWJsZT86IGJvb2xlYW47XG4gIGRpc2FibGVMYWJlbD86IGJvb2xlYW47XG4gIGlnbm9yZVBvcG92ZXJMYWJlbD86IGJvb2xlYW47XG4gIG91dEV2ZW50UG9wb3Zlcj86IChldmVudDogVFlQRV9QT1BPVkVSX0VWRU5UKSA9PiB2b2lkO1xuICBkZXNjcmlwdGlvbj86IElDaGVja2JveEl0ZW1EZXNjcmlwdGlvbjtcbiAgY2xhc3NJbmNsdWRlV3JhcHBlcj86IHN0cmluZztcbiAgdHlwZUxhYmVsUG9wb3Zlcj86IFRZUEVfUE9QT1ZFUl9UWVBFO1xuICBpZ25vcmVTaG93UG9wb3ZlckxhYmVsPzogYm9vbGVhbjtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuIl19
@@ -1,3 +1,3 @@
1
1
  export * from './group.interface';
2
2
  export * from './function-control.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2hlY2tib3gvZ3JvdXAvc3JjL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ncm91cC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbi1jb250cm9sLmludGVyZmFjZSc7Il19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2hlY2tib3gvZ3JvdXAvc3JjL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ncm91cC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbi1jb250cm9sLmludGVyZmFjZSc7XG4iXX0=
@@ -13,12 +13,12 @@ class LibsUiComponentsCheckboxGroupComponent {
13
13
  error = signal(false);
14
14
  // #region INPUT
15
15
  groups = model.required();
16
- fieldKey = input('key', { transform: value => value || 'key' });
16
+ fieldKey = input('key', { transform: (value) => value || 'key' });
17
17
  keysChecked = input();
18
18
  keysDisable = input();
19
- disable = input(false, { transform: value => value ?? false });
20
- clickExactly = input(true, { transform: value => value ?? true });
21
- horizontal = input(false, { transform: value => value ?? false });
19
+ disable = input(false, { transform: (value) => value ?? false });
20
+ clickExactly = input(true, { transform: (value) => value ?? true });
21
+ horizontal = input(false, { transform: (value) => value ?? false });
22
22
  labelConfig = input();
23
23
  validRequired = input();
24
24
  classInclude = input();
@@ -36,9 +36,9 @@ class LibsUiComponentsCheckboxGroupComponent {
36
36
  return;
37
37
  }
38
38
  untracked(() => {
39
- this.groups.update(data => {
40
- return data.map(group => {
41
- group.item.checked = this.keysChecked()?.some(key => key === group.item[this.fieldKey()]);
39
+ this.groups.update((data) => {
40
+ return data.map((group) => {
41
+ group.item.checked = this.keysChecked()?.some((key) => key === group.item[this.fieldKey()]);
42
42
  return group;
43
43
  });
44
44
  });
@@ -49,8 +49,8 @@ class LibsUiComponentsCheckboxGroupComponent {
49
49
  return;
50
50
  }
51
51
  untracked(() => {
52
- this.groups.update(data => {
53
- return data.map(group => {
52
+ this.groups.update((data) => {
53
+ return data.map((group) => {
54
54
  group.disableByKeys = false;
55
55
  if (group.item && this.keysDisable()?.includes(group.item[this.fieldKey()])) {
56
56
  group.disableByKeys = true;
@@ -63,19 +63,22 @@ class LibsUiComponentsCheckboxGroupComponent {
63
63
  }
64
64
  /* FUNCTIONS */
65
65
  ngOnInit() {
66
- this.outFunctionsControl.emit({
66
+ this.outFunctionsControl.emit(this.FunctionsControl);
67
+ }
68
+ get FunctionsControl() {
69
+ return {
67
70
  checkIsValid: this.checkValid.bind(this),
68
71
  resetError: this.resetError.bind(this),
69
72
  reset: async () => {
70
- this.groups.update(data => {
71
- return data.map(group => {
73
+ this.groups.update((data) => {
74
+ return data.map((group) => {
72
75
  group.item.checked = false;
73
76
  return group;
74
77
  });
75
78
  });
76
79
  this.resetError();
77
- }
78
- });
80
+ },
81
+ };
79
82
  }
80
83
  // #region FUNCTIONS
81
84
  handlerChange(event, item) {
@@ -83,7 +86,9 @@ class LibsUiComponentsCheckboxGroupComponent {
83
86
  return;
84
87
  }
85
88
  item.checked = event.checked;
86
- event.allCheckboxChecked = this.groups().filter(group => group.item.checked).map(group => ({ key: group.item[this.fieldKey()], item: group.item }));
89
+ event.allCheckboxChecked = this.groups()
90
+ .filter((group) => group.item.checked)
91
+ .map((group) => ({ key: group.item[this.fieldKey()], item: group.item }));
87
92
  this.outChange.emit(event);
88
93
  this.checkValid();
89
94
  }
@@ -92,7 +97,7 @@ class LibsUiComponentsCheckboxGroupComponent {
92
97
  if (!this.validRequired()) {
93
98
  return true;
94
99
  }
95
- this.error.set(!this.groups().some(group => group.item.checked));
100
+ this.error.set(!this.groups().some((group) => group.item.checked));
96
101
  return !this.error();
97
102
  }
98
103
  async resetError() {
@@ -102,15 +107,11 @@ class LibsUiComponentsCheckboxGroupComponent {
102
107
  item.outEventPopover?.(event);
103
108
  }
104
109
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
105
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsCheckboxGroupComponent, isStandalone: true, selector: "libs_ui-components-checkbox-group", inputs: { groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: true, transformFunction: null }, fieldKey: { classPropertyName: "fieldKey", publicName: "fieldKey", isSignal: true, isRequired: false, transformFunction: null }, keysChecked: { classPropertyName: "keysChecked", publicName: "keysChecked", isSignal: true, isRequired: false, transformFunction: null }, keysDisable: { classPropertyName: "keysDisable", publicName: "keysDisable", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classLabelInclude: { classPropertyName: "classLabelInclude", publicName: "classLabelInclude", isSignal: true, isRequired: false, transformFunction: null }, showValidateBottom: { classPropertyName: "showValidateBottom", publicName: "showValidateBottom", isSignal: true, isRequired: false, transformFunction: null }, classItemWhenModeHorizontal: { classPropertyName: "classItemWhenModeHorizontal", publicName: "classItemWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, classGroupWhenModeHorizontal: { classPropertyName: "classGroupWhenModeHorizontal", publicName: "classGroupWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, modeBorder: { classPropertyName: "modeBorder", publicName: "modeBorder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { groups: "groupsChange", outChange: "outChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required \"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\" group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\">\n </div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null;context:{item:group.item}\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID) | translate:validRequired()?.interpolateParams\">\n </span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsLabelComponent, selector: "libs_ui-components-label", inputs: ["iconPopoverClass", "classInclude", "labelLeft", "labelLeftClass", "labelLeftBehindToggleButton", "popover", "required", "buttonsLeft", "disableButtonsLeft", "buttonsRight", "disableButtonsRight", "labelRight", "labelRightClass", "labelRightRequired", "hasToggle", "toggleSize", "toggleActive", "toggleDisable", "description", "descriptionClass", "buttonsDescription", "disableButtonsDescription", "buttonsDescriptionContainerClass", "onlyShowCount", "zIndexPopover", "timerDestroyPopover", "count", "limitLength"], outputs: ["outClickButton", "outSwitchEvent", "outLabelRightClick", "outLabelLeftClick"] }, { kind: "component", type: LibsUiComponentsCheckboxSingleComponent, selector: "libs_ui-components-checkbox-single", inputs: ["key", "checked", "label", "classLabelInclude", "ignoreShowPopoverLabel", "typeLabelPopover", "popover", "linkImage", "linkImageError", "avatarConfig", "classImageInclude", "imgTypeIcon", "bullet", "classInclude", "clickExactly", "disable", "disableLabel", "ignoreCheckbox", "zIndexLabel", "stillOtherOptions", "error", "showBorderError", "description", "iconImageClass", "classIconInclude", "modeBorder", "dataComponentOutlet", "componentOutlet"], outputs: ["checkedChange", "linkImageChange", "outChange", "outEventPopover", "outClickLabel", "outChangStageFlagMousePopover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsCheckboxGroupComponent, isStandalone: true, selector: "libs_ui-components-checkbox-group", inputs: { groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: true, transformFunction: null }, fieldKey: { classPropertyName: "fieldKey", publicName: "fieldKey", isSignal: true, isRequired: false, transformFunction: null }, keysChecked: { classPropertyName: "keysChecked", publicName: "keysChecked", isSignal: true, isRequired: false, transformFunction: null }, keysDisable: { classPropertyName: "keysDisable", publicName: "keysDisable", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, validRequired: { classPropertyName: "validRequired", publicName: "validRequired", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, classLabelInclude: { classPropertyName: "classLabelInclude", publicName: "classLabelInclude", isSignal: true, isRequired: false, transformFunction: null }, showValidateBottom: { classPropertyName: "showValidateBottom", publicName: "showValidateBottom", isSignal: true, isRequired: false, transformFunction: null }, classItemWhenModeHorizontal: { classPropertyName: "classItemWhenModeHorizontal", publicName: "classItemWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, classGroupWhenModeHorizontal: { classPropertyName: "classGroupWhenModeHorizontal", publicName: "classGroupWhenModeHorizontal", isSignal: true, isRequired: false, transformFunction: null }, modeBorder: { classPropertyName: "modeBorder", publicName: "modeBorder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { groups: "groupsChange", outChange: "outChange", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single\n [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\"group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div\n class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\"></div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null; context: { item: group.item }\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div\n class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsLabelComponent, selector: "libs_ui-components-label", inputs: ["iconPopoverClass", "classInclude", "labelLeft", "labelLeftClass", "labelLeftBehindToggleButton", "popover", "required", "buttonsLeft", "disableButtonsLeft", "buttonsRight", "disableButtonsRight", "labelRight", "labelRightClass", "labelRightRequired", "hasToggle", "toggleSize", "toggleActive", "toggleDisable", "description", "descriptionClass", "buttonsDescription", "disableButtonsDescription", "buttonsDescriptionContainerClass", "onlyShowCount", "zIndexPopover", "timerDestroyPopover", "count", "limitLength"], outputs: ["outClickButton", "outSwitchEvent", "outLabelRightClick", "outLabelLeftClick"] }, { kind: "component", type: LibsUiComponentsCheckboxSingleComponent, selector: "libs_ui-components-checkbox-single", inputs: ["key", "checked", "label", "classLabelInclude", "ignoreShowPopoverLabel", "typeLabelPopover", "popover", "linkImage", "linkImageError", "avatarConfig", "classImageInclude", "imgTypeIcon", "bullet", "classInclude", "clickExactly", "disable", "disableLabel", "ignoreCheckbox", "zIndexLabel", "stillOtherOptions", "error", "showBorderError", "description", "iconImageClass", "classIconInclude", "modeBorder", "dataComponentOutlet", "componentOutlet"], outputs: ["checkedChange", "linkImageChange", "outChange", "outEventPopover", "outClickLabel", "outChangStageFlagMousePopover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
111
  }
107
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCheckboxGroupComponent, decorators: [{
108
113
  type: Component,
109
- args: [{ selector: 'libs_ui-components-checkbox-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
110
- TranslateModule, NgTemplateOutlet,
111
- LibsUiComponentsLabelComponent,
112
- LibsUiComponentsCheckboxSingleComponent
113
- ], template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required \"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\" group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\">\n </div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null;context:{item:group.item}\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID) | translate:validRequired()?.interpolateParams\">\n </span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"] }]
114
+ args: [{ selector: 'libs_ui-components-checkbox-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, NgTemplateOutlet, LibsUiComponentsLabelComponent, LibsUiComponentsCheckboxSingleComponent], template: "<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single\n [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\"group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div\n class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\"></div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null; context: { item: group.item }\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div\n class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</ng-template>\n", styles: [".libs-ui-checkbox-group .libs-ui-checkbox-group-sub-text{color:#9ca2ad;margin-left:24px;margin-bottom:4px;width:100%}\n"] }]
114
115
  }], ctorParameters: () => [] });
115
116
 
116
117
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-checkbox-group.mjs","sources":["../../../../../../libs-ui/components/checkbox/group/src/checkbox-group.component.ts","../../../../../../libs-ui/components/checkbox/group/src/checkbox-group.component.html","../../../../../../libs-ui/components/checkbox/group/src/libs-ui-components-checkbox-group.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, OnInit, output, signal, untracked } from '@angular/core';\nimport { ICheckboxEvent, LibsUiComponentsCheckboxSingleComponent } from '@libs-ui/components-checkbox-single';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { ERROR_MESSAGE_EMPTY_VALID } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ICheckboxGroupFunctionControlEvent } from './interfaces/function-control.interface';\nimport { ICheckboxGroupItem, ICheckboxGroupValidRequired, ICheckboxItem } from './interfaces/group.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-checkbox-group',\n templateUrl: './checkbox-group.component.html',\n styleUrl: './checkbox-group.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule, NgTemplateOutlet,\n LibsUiComponentsLabelComponent,\n LibsUiComponentsCheckboxSingleComponent\n ]\n})\nexport class LibsUiComponentsCheckboxGroupComponent implements OnInit {\n\n // #region PROPERTY\n protected readonly ERROR_MESSAGE_EMPTY_VALID = ERROR_MESSAGE_EMPTY_VALID;\n protected error = signal<boolean>(false)\n\n // #region INPUT\n readonly groups = model.required<Array<ICheckboxGroupItem>>();\n readonly fieldKey = input<string, string>('key', { transform: value => value || 'key' })\n readonly keysChecked = input<Array<string>>();\n readonly keysDisable = input<Array<string>>();\n readonly disable = input<boolean | undefined, boolean | undefined>(false, { transform: value => value ?? false });\n readonly clickExactly = input<boolean | undefined, boolean | undefined>(true, { transform: value => value ?? true });\n readonly horizontal = input<boolean | undefined, boolean | undefined>(false, { transform: value => value ?? false });\n readonly labelConfig = input<ILabel>();\n readonly validRequired = input<ICheckboxGroupValidRequired>();\n readonly classInclude = input<string>();\n readonly classLabelInclude = input<string>();\n readonly showValidateBottom = input<boolean>();\n readonly classItemWhenModeHorizontal = input<string>('mr-[24px]');\n readonly classGroupWhenModeHorizontal = input<string>('flex');\n readonly modeBorder = input<boolean>();\n\n // #region OUTPUT\n readonly outChange = output<ICheckboxEvent>();\n readonly outFunctionsControl = output<ICheckboxGroupFunctionControlEvent>();\n\n constructor() {\n effect(() => {\n if (!Array.isArray(this.keysChecked()) || !this.fieldKey()) {\n return;\n }\n untracked(() => {\n this.groups.update(data => {\n return data.map(group => {\n group.item.checked = this.keysChecked()?.some(key => key === group.item[this.fieldKey()]);\n\n return group;\n });\n });\n })\n });\n\n effect(() => {\n if (!Array.isArray(this.keysDisable()) || !this.fieldKey()) {\n return;\n }\n untracked(() => {\n this.groups.update(data => {\n return data.map(group => {\n group.disableByKeys = false;\n if (group.item && this.keysDisable()?.includes(group.item[this.fieldKey()])) {\n group.disableByKeys = true;\n }\n return group;\n });\n });\n })\n });\n }\n\n /* FUNCTIONS */\n ngOnInit() {\n this.outFunctionsControl.emit({\n checkIsValid: this.checkValid.bind(this),\n resetError: this.resetError.bind(this),\n reset: async () => {\n this.groups.update(data => {\n return data.map(group => {\n group.item.checked = false;\n return group;\n });\n });\n this.resetError();\n }\n });\n }\n\n // #region FUNCTIONS\n protected handlerChange(event: ICheckboxEvent, item: ICheckboxItem) {\n if (this.disable()) {\n return;\n }\n item.checked = event.checked;\n event.allCheckboxChecked = this.groups().filter(group => group.item.checked).map(group => ({ key: group.item[this.fieldKey()], item: group.item }));\n this.outChange.emit(event);\n this.checkValid();\n }\n\n private async checkValid() {\n this.error.set(false);\n if (!this.validRequired()) {\n return true;\n }\n this.error.set(!this.groups().some(group => group.item.checked));\n\n return !this.error();\n }\n\n private async resetError() {\n this.error.set(false);\n }\n\n protected handlerEventPopover(event: TYPE_POPOVER_EVENT, item: ICheckboxItem) {\n item.outEventPopover?.(event);\n }\n\n}\n","<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required \"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\" group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\">\n </div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null;context:{item:group.item}\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"(validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID) | translate:validRequired()?.interpolateParams\">\n </span>\n </div>\n }\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-components-checkbox-group.mjs","sources":["../../../../../../libs-ui/components/checkbox/group/src/checkbox-group.component.ts","../../../../../../libs-ui/components/checkbox/group/src/checkbox-group.component.html","../../../../../../libs-ui/components/checkbox/group/src/libs-ui-components-checkbox-group.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, input, model, OnInit, output, signal, untracked } from '@angular/core';\nimport { ICheckboxEvent, LibsUiComponentsCheckboxSingleComponent } from '@libs-ui/components-checkbox-single';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';\nimport { ERROR_MESSAGE_EMPTY_VALID } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ICheckboxGroupFunctionControlEvent } from './interfaces/function-control.interface';\nimport { ICheckboxGroupItem, ICheckboxGroupValidRequired, ICheckboxItem } from './interfaces/group.interface';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-checkbox-group',\n templateUrl: './checkbox-group.component.html',\n styleUrl: './checkbox-group.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, NgTemplateOutlet, LibsUiComponentsLabelComponent, LibsUiComponentsCheckboxSingleComponent],\n})\nexport class LibsUiComponentsCheckboxGroupComponent implements OnInit {\n // #region PROPERTY\n protected readonly ERROR_MESSAGE_EMPTY_VALID = ERROR_MESSAGE_EMPTY_VALID;\n protected error = signal<boolean>(false);\n\n // #region INPUT\n readonly groups = model.required<Array<ICheckboxGroupItem>>();\n readonly fieldKey = input<string, string>('key', { transform: (value) => value || 'key' });\n readonly keysChecked = input<Array<string>>();\n readonly keysDisable = input<Array<string>>();\n readonly disable = input<boolean | undefined, boolean | undefined>(false, { transform: (value) => value ?? false });\n readonly clickExactly = input<boolean | undefined, boolean | undefined>(true, { transform: (value) => value ?? true });\n readonly horizontal = input<boolean | undefined, boolean | undefined>(false, { transform: (value) => value ?? false });\n readonly labelConfig = input<ILabel>();\n readonly validRequired = input<ICheckboxGroupValidRequired>();\n readonly classInclude = input<string>();\n readonly classLabelInclude = input<string>();\n readonly showValidateBottom = input<boolean>();\n readonly classItemWhenModeHorizontal = input<string>('mr-[24px]');\n readonly classGroupWhenModeHorizontal = input<string>('flex');\n readonly modeBorder = input<boolean>();\n\n // #region OUTPUT\n readonly outChange = output<ICheckboxEvent>();\n readonly outFunctionsControl = output<ICheckboxGroupFunctionControlEvent>();\n\n constructor() {\n effect(() => {\n if (!Array.isArray(this.keysChecked()) || !this.fieldKey()) {\n return;\n }\n untracked(() => {\n this.groups.update((data) => {\n return data.map((group) => {\n group.item.checked = this.keysChecked()?.some((key) => key === group.item[this.fieldKey()]);\n\n return group;\n });\n });\n });\n });\n\n effect(() => {\n if (!Array.isArray(this.keysDisable()) || !this.fieldKey()) {\n return;\n }\n untracked(() => {\n this.groups.update((data) => {\n return data.map((group) => {\n group.disableByKeys = false;\n if (group.item && this.keysDisable()?.includes(group.item[this.fieldKey()])) {\n group.disableByKeys = true;\n }\n return group;\n });\n });\n });\n });\n }\n\n /* FUNCTIONS */\n ngOnInit() {\n this.outFunctionsControl.emit(this.FunctionsControl);\n }\n\n public get FunctionsControl(): ICheckboxGroupFunctionControlEvent {\n return {\n checkIsValid: this.checkValid.bind(this),\n resetError: this.resetError.bind(this),\n reset: async () => {\n this.groups.update((data) => {\n return data.map((group) => {\n group.item.checked = false;\n return group;\n });\n });\n this.resetError();\n },\n };\n }\n\n // #region FUNCTIONS\n protected handlerChange(event: ICheckboxEvent, item: ICheckboxItem) {\n if (this.disable()) {\n return;\n }\n item.checked = event.checked;\n event.allCheckboxChecked = this.groups()\n .filter((group) => group.item.checked)\n .map((group) => ({ key: group.item[this.fieldKey()], item: group.item }));\n this.outChange.emit(event);\n this.checkValid();\n }\n\n private async checkValid() {\n this.error.set(false);\n if (!this.validRequired()) {\n return true;\n }\n this.error.set(!this.groups().some((group) => group.item.checked));\n\n return !this.error();\n }\n\n private async resetError() {\n this.error.set(false);\n }\n\n protected handlerEventPopover(event: TYPE_POPOVER_EVENT, item: ICheckboxItem) {\n item.outEventPopover?.(event);\n }\n}\n","<div class=\"flex flex-col w-full\">\n @if (labelConfig(); as labelConfig) {\n <libs_ui-components-label\n [classInclude]=\"labelConfig.classInclude\"\n [labelLeft]=\"labelConfig.labelLeft\"\n [labelLeftClass]=\"labelConfig.labelLeftClass\"\n [required]=\"labelConfig.required\"\n [description]=\"labelConfig.description\"\n [labelRight]=\"labelConfig.labelRight\"\n [labelRightClass]=\"labelConfig.labelRightClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [buttonsLeft]=\"labelConfig.buttonsLeft\"\n [disableButtonsLeft]=\"labelConfig.disableButtonsLeft || disable()\"\n [hasToggle]=\"labelConfig.hasToggle\"\n [toggleActive]=\"labelConfig.toggleActive\"\n [toggleDisable]=\"labelConfig.toggleDisable || disable()\"\n [popover]=\"labelConfig.popover\"\n [iconPopoverClass]=\"labelConfig.iconPopoverClass\"\n [onlyShowCount]=\"labelConfig.onlyShowCount\"\n [limitLength]=\"labelConfig.limitLength\"\n [buttonsDescription]=\"labelConfig.buttonsDescription\"\n [disableButtonsDescription]=\"labelConfig.disableButtonsDescription || disable()\"\n [buttonsDescriptionContainerClass]=\"labelConfig.buttonsDescriptionContainerClass\"\n [count]=\"labelConfig.count\" />\n }\n @if (!showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n <div class=\"libs-ui-checkbox-group {{ horizontal() ? classGroupWhenModeHorizontal() : '' }}\">\n @for (group of groups(); track group) {\n <div [class]=\"horizontal() ? classItemWhenModeHorizontal() : ''\">\n <div class=\"py-[4px] {{ group.item.classIncludeWrapper || '' }}\">\n <libs_ui-components-checkbox-single\n [label]=\"group.item.label || ' '\"\n [checked]=\"group.item.checked || false\"\n [key]=\"group.item[fieldKey()]\"\n [disable]=\"group.disableByKeys || disable() || group.item.disable || false\"\n [disableLabel]=\"group.item.disableLabel || false\"\n [classLabelInclude]=\"classLabelInclude() || group.item.classLabelInclude || ''\"\n [classInclude]=\"classInclude() || group.item.classInclude || ''\"\n [popover]=\"group.item.popover\"\n [avatarConfig]=\"group.item.avatarConfig\"\n [description]=\"group.item.description\"\n [typeLabelPopover]=\"group.item.typeLabelPopover || 'text'\"\n [ignoreShowPopoverLabel]=\"group.item.ignoreShowPopoverLabel || false\"\n [clickExactly]=\"clickExactly()\"\n [modeBorder]=\"modeBorder()\"\n [showBorderError]=\"error() && validRequired()?.hasBorderErrorCheckbox\"\n (outChange)=\"handlerChange($event, group.item)\"\n (outEventPopover)=\"handlerEventPopover($event, group.item)\" />\n </div>\n @if (group.item.checked) {\n @if (group.subText) {\n <div\n class=\"libs-ui-checkbox-group-sub-text libs-ui-font-h7r {{ group.classIncludeSubText || '' }}\"\n [innerHtml]=\"group.subText\"></div>\n }\n <ng-container *ngTemplateOutlet=\"group?.subTemplate || null; context: { item: group.item }\"></ng-container>\n }\n </div>\n }\n </div>\n @if (showValidateBottom()) {\n <ng-container *ngTemplateOutlet=\"templateValidate\"></ng-container>\n }\n</div>\n\n<ng-template #templateValidate>\n @if (error()) {\n <div\n class=\"flex items-center\"\n [class.mb-[8px]]=\"!showValidateBottom()\"\n [class.mt-[8px]]=\"showValidateBottom()\">\n <span\n class=\"libs-ui-text-error libs-ui-font-h7r\"\n [innerHtml]=\"validRequired()?.message || ERROR_MESSAGE_EMPTY_VALID | translate: validRequired()?.interpolateParams\"></span>\n </div>\n }\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@libs-ui/components-checkbox-group",
3
- "version": "0.2.304",
3
+ "version": "0.2.306-10",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
7
- "@libs-ui/components-checkbox-single": "0.2.304",
8
- "@libs-ui/components-label": "0.2.304",
9
- "@libs-ui/components-popover": "0.2.304",
10
- "@libs-ui/utils": "0.2.304",
7
+ "@libs-ui/components-checkbox-single": "0.2.306-10",
8
+ "@libs-ui/components-label": "0.2.306-10",
9
+ "@libs-ui/components-popover": "0.2.306-10",
10
+ "@libs-ui/utils": "0.2.306-10",
11
11
  "@ngx-translate/core": "^15.0.0",
12
- "@libs-ui/components-avatar": "0.2.304",
13
- "@libs-ui/interfaces-types": "0.2.304"
12
+ "@libs-ui/components-avatar": "0.2.306-10",
13
+ "@libs-ui/interfaces-types": "0.2.306-10"
14
14
  },
15
15
  "sideEffects": false,
16
16
  "module": "fesm2022/libs-ui-components-checkbox-group.mjs",