@ngx-smz/core 21.10.0-next.2 → 21.10.0-next.4

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.
@@ -2792,11 +2792,11 @@ class ValidationMessagesComponent {
2792
2792
  this.controlSubscription?.unsubscribe();
2793
2793
  }
2794
2794
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ValidationMessagesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2795
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ValidationMessagesComponent, isStandalone: false, selector: "smz-validation-messages", inputs: { input: "input", control: "control", behaviors: "behaviors", extraMessages: "extraMessages" }, ngImport: i0, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"col-12 error-message\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\" [smzTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}", dependencies: [{ kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: DescribeArrayPipe, name: "describeArray" }, { kind: "pipe", type: JoinPipe, name: "join" }] });
2795
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: ValidationMessagesComponent, isStandalone: false, selector: "smz-validation-messages", inputs: { input: "input", control: "control", behaviors: "behaviors", extraMessages: "extraMessages" }, ngImport: i0, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"w-full flex-none error-message p-2\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\" [smzTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}", dependencies: [{ kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: DescribeArrayPipe, name: "describeArray" }, { kind: "pipe", type: JoinPipe, name: "join" }] });
2796
2796
  }
2797
2797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ValidationMessagesComponent, decorators: [{
2798
2798
  type: Component,
2799
- args: [{ selector: 'smz-validation-messages', standalone: false, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"col-12 error-message\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"col-12 error-message asterisk\" [smzTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}" }]
2799
+ args: [{ selector: 'smz-validation-messages', standalone: false, template: "@if (behaviors?.showErrorsMethod != null ? control[behaviors.showErrorsMethod] : control[uiConfig.dialogs.forms.behaviors.showErrorsMethod]) {\r\n @if (controlMessages() | join : extraMessages; as messages) {\r\n @if (messages.length === 1) {\r\n @for (message of messages; track message) {\r\n <span class=\"w-full flex-none error-message p-2\">{{ message }}</span>\r\n }\r\n }\r\n\r\n @if (messages.length > 1) {\r\n @if (behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\">{{ messages | describeArray }}</span>\r\n }\r\n\r\n @if (!behaviors.showMultipleErrorMessages) {\r\n <span class=\"w-full flex-none error-message asterisk p-2\" [smzTooltip]=\"messages | describeArray\">{{ uiConfig.dialogs.forms.multipleErrorMessagesLabel }} *</span>\r\n }\r\n }\r\n }\r\n}" }]
2800
2800
  }], ctorParameters: () => [], propDecorators: { input: [{
2801
2801
  type: Input
2802
2802
  }], control: [{
@@ -2930,11 +2930,11 @@ class CheckBoxComponent {
2930
2930
  this.dialogVisibility.setValue(input, formId, event);
2931
2931
  }
2932
2932
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxComponent, deps: [{ token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
2933
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CheckBoxComponent, isStandalone: false, selector: "smz-checkbox", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.showLabel || input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" (changed)=\"emitChange(input, formId, $event)\" [binary]=\"true\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
2933
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CheckBoxComponent, isStandalone: false, selector: "smz-checkbox", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.showLabel || input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n <ui-checkbox class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" (changed)=\"emitChange(input, formId, $event)\" [binary]=\"true\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm p-1\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
2934
2934
  }
2935
2935
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxComponent, decorators: [{
2936
2936
  type: Component,
2937
- args: [{ selector: 'smz-checkbox', host: { class: 'grid grid-nogutter' }, standalone: false, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.showLabel || input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" (changed)=\"emitChange(input, formId, $event)\" [binary]=\"true\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2937
+ args: [{ selector: 'smz-checkbox', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.showLabel || input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n <ui-checkbox class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" (changed)=\"emitChange(input, formId, $event)\" [binary]=\"true\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm p-1\">{{input.name}}</label>\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2938
2938
  }], ctorParameters: () => [{ type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
2939
2939
  type: Input
2940
2940
  }], formId: [{
@@ -2950,11 +2950,11 @@ class CheckBoxGroupComponent {
2950
2950
  control;
2951
2951
  behaviors;
2952
2952
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2953
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: CheckBoxGroupComponent, isStandalone: false, selector: "smz-checkbox-group", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1 \">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
2953
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: CheckBoxGroupComponent, isStandalone: false, selector: "smz-checkbox-group", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm p-1\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzCheckboxComponent, selector: "ui-checkbox", inputs: ["label", "inputId", "value", "binary", "name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
2954
2954
  }
2955
2955
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CheckBoxGroupComponent, decorators: [{
2956
2956
  type: Component,
2957
- args: [{ selector: 'smz-checkbox-group', host: { class: 'grid grid-nogutter' }, standalone: false, template: "<div class=\"grid col-12 grid-nogutter input_inner__wrapper flex-gap-1 \">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2957
+ args: [{ selector: 'smz-checkbox-group', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"flex flex-wrap w-full flex-none input_inner__wrapper -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"w-full flex-none flex justify-start items-center p-1 gap-1 -m-1\">\r\n @for (option of input.options; track option) {\r\n <ui-checkbox class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\">\r\n </ui-checkbox>\r\n <label [for]=\"input.propertyName\" class=\"text-sm p-1\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2958
2958
  }], propDecorators: { input: [{
2959
2959
  type: Input
2960
2960
  }], control: [{
@@ -2987,11 +2987,11 @@ class ColorPickerComponent {
2987
2987
  this.control.markAsTouched();
2988
2988
  }
2989
2989
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2990
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: ColorPickerComponent, isStandalone: false, selector: "smz-color-picker", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper grid grid-nogutter items-center justify-start flex-nowrap mt-1\">\r\n <ui-color-picker [id]=\"input.propertyName\" class=\"smz__input_value\" appendTo=\"body\" [formControl]=\"control\">\r\n </ui-color-picker>\r\n <div class=\"flex-grow\">\r\n <input\r\n #colorinput\r\n class=\"smz__input_value colorpicker-hexa-input ml-2\"\r\n smzInputText\r\n [disabled]=\"input.isDisabled\"\r\n [(ngModel)]=\"color\"\r\n (keyup)=\"onInputChange(colorinput.value)\"\r\n (blur)=\"markAsTouched()\"/>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzColorPickerComponent, selector: "ui-color-picker", inputs: ["inputId", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
2990
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: ColorPickerComponent, isStandalone: false, selector: "smz-color-picker", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper flex flex-wrap items-center justify-start flex-nowrap mt-1\">\r\n <ui-color-picker [id]=\"input.propertyName\" class=\"smz__input_value\" appendTo=\"body\" [formControl]=\"control\">\r\n </ui-color-picker>\r\n <div class=\"flex-grow\">\r\n <input\r\n #colorinput\r\n class=\"smz__input_value colorpicker-hexa-input ml-2\"\r\n smzInputText\r\n [disabled]=\"input.isDisabled\"\r\n [(ngModel)]=\"color\"\r\n (keyup)=\"onInputChange(colorinput.value)\"\r\n (blur)=\"markAsTouched()\"/>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "component", type: i2.SmzColorPickerComponent, selector: "ui-color-picker", inputs: ["inputId", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
2991
2991
  }
2992
2992
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ColorPickerComponent, decorators: [{
2993
2993
  type: Component,
2994
- args: [{ selector: 'smz-color-picker', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper grid grid-nogutter items-center justify-start flex-nowrap mt-1\">\r\n <ui-color-picker [id]=\"input.propertyName\" class=\"smz__input_value\" appendTo=\"body\" [formControl]=\"control\">\r\n </ui-color-picker>\r\n <div class=\"flex-grow\">\r\n <input\r\n #colorinput\r\n class=\"smz__input_value colorpicker-hexa-input ml-2\"\r\n smzInputText\r\n [disabled]=\"input.isDisabled\"\r\n [(ngModel)]=\"color\"\r\n (keyup)=\"onInputChange(colorinput.value)\"\r\n (blur)=\"markAsTouched()\"/>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2994
+ args: [{ selector: 'smz-color-picker', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper flex flex-wrap items-center justify-start flex-nowrap mt-1\">\r\n <ui-color-picker [id]=\"input.propertyName\" class=\"smz__input_value\" appendTo=\"body\" [formControl]=\"control\">\r\n </ui-color-picker>\r\n <div class=\"flex-grow\">\r\n <input\r\n #colorinput\r\n class=\"smz__input_value colorpicker-hexa-input ml-2\"\r\n smzInputText\r\n [disabled]=\"input.isDisabled\"\r\n [(ngModel)]=\"color\"\r\n (keyup)=\"onInputChange(colorinput.value)\"\r\n (blur)=\"markAsTouched()\"/>\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2995
2995
  }], propDecorators: { input: [{
2996
2996
  type: Input
2997
2997
  }], control: [{
@@ -3031,11 +3031,11 @@ class DropdownComponent {
3031
3031
  this.formsVisibility.setValue(input, formId, event);
3032
3032
  }
3033
3033
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DropdownComponent, deps: [{ token: SmzFormsDropdownService }, { token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
3034
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: DropdownComponent, isStandalone: false, selector: "smz-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "\r\n<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-select [id]=\"input.propertyName\" appendTo=\"body\" class=\"col-12 grid-nogutter smz__input_value flex-1\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
3034
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: DropdownComponent, isStandalone: false, selector: "smz-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "\r\n<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select [id]=\"input.propertyName\" appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
3035
3035
  }
3036
3036
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DropdownComponent, decorators: [{
3037
3037
  type: Component,
3038
- args: [{ selector: 'smz-dropdown', standalone: false, template: "\r\n<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-select [id]=\"input.propertyName\" appendTo=\"body\" class=\"col-12 grid-nogutter smz__input_value flex-1\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
3038
+ args: [{ selector: 'smz-dropdown', standalone: false, template: "\r\n<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select [id]=\"input.propertyName\" appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
3039
3039
  }], ctorParameters: () => [{ type: SmzFormsDropdownService }, { type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
3040
3040
  type: Input
3041
3041
  }], formId: [{
@@ -3647,11 +3647,11 @@ class FileUploadComponent {
3647
3647
  return '.' + file.name.split('.').pop();
3648
3648
  }
3649
3649
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
3650
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FileUploadComponent, isStandalone: false, selector: "smz-file-upload", inputs: { input: "input", form: "form", control: "control", behaviors: "behaviors" }, outputs: { selectChange: "selectChange" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container grid grid-nogutter items-center justify-center mt-1 mb-1\">\r\n <div class=\"grid grid-nogutter flex-col items-center justify-center pt-3 pb-3\">\r\n <!-- ICONE DE UPLOAD -->\r\n <i [ngClass]=\"input.dragIconClass\" class=\"text-4xl mb-2\"></i>\r\n <span class=\"grid grid-nogutter gap-2\">\r\n <!-- INPUT DE UPLOAD MANUAL -->\r\n <input type=\"file\" [name]=\"uploadControl\" class=\"upload_manual_control\" [attr.disabled]=\"input.isDisabled\" [accept]=\"input.fileAccept\" [id]=\"uploadControl\" (change)=\"onInputFiles($event)\" />\r\n <!-- BOT\u00C3O PARA SELECIONAR ARQUIVO -->\r\n <label [for]=\"uploadControl\" [ngClass]=\"{ 'text-gray-500' : input.isDisabled,'clickable upload_manual_label hvr hvr-grow': !input.isDisabled }\">{{ input.inputMessage }}</label>\r\n <!-- MENSAGEM PARA ARRASTAR -->\r\n <span class=\"upload_field-drag-message\">ou {{ input.dragMessage }}</span>\r\n </span>\r\n <!-- MENSAGEM DE ERRO PARA SELE\u00C7\u00C3O DE ARQUIVO -->\r\n @for (error of errors; track error) {\r\n <ui-message [ngStyle]=\"{ 'width': '100%;' }\" class=\"dialog-messages\" [severity]=\"$any(error?.severity)\">\r\n {{ error?.detail ?? error?.summary ?? 'Erro desconhecido' }}\r\n </ui-message>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- CONTE\u00DADO COM ARQUIVO CARREGADO -->\r\n@if (input._file != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start flex-nowrap mt-1 mb-1 file_upload-container\">\r\n <div class=\"upload_field\" [style.height]=\"input.thumbnailSize\" [style.width]=\"input.thumbnailSize\">\r\n @switch (input._fileType) {\r\n <!-- IMAGENS -->\r\n @case ('image') {\r\n <!-- THUMBNAIL DE IMAGENS -->\r\n @if (input.base64) {\r\n <img class=\"upload_field-img mr-3\" [src]=\"input.base64 | safeUrl\"/>\r\n }\r\n <!-- ZOOM PARA IMAGENS -->\r\n <div class=\"upload_field__actions\">\r\n <div class=\"grid grid-nogutter items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <!-- APLICA\u00C7\u00D5ES -->\r\n @case ('application') {\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <!-- THUMBNAIL DE APLICA\u00C7\u00D5ES -->\r\n @switch (input._fileExtension) {\r\n @case ('.pdf') {\r\n <i class=\"fa-solid fa-file-pdf\"></i>\r\n }\r\n @case ('.doc') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.docx') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.ppt') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.pptx') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.xls') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.xlsx') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.7zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.rar') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.txt') {\r\n <i class=\"fa-solid fa-file-lines\"></i>\r\n }\r\n @default {\r\n <i class=\"fa-solid fa-file\"></i>\r\n }\r\n }\r\n </div>\r\n <!-- ZOOM PARA PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n <div class=\"upload_field__actions\">\r\n <div class=\"grid grid-nogutter items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n <!-- V\u00CDDEOS -->\r\n @case ('video') {\r\n <!-- THUMBNAIL DE V\u00CDDEOS -->\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-video\"></i>\r\n </div>\r\n }\r\n <!-- AUDIOS -->\r\n @case ('audio') {\r\n <!-- THUMBNAIL DE AUDIOS -->\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-audio\"></i>\r\n </div>\r\n }\r\n <!-- OUTROS -->\r\n @default {\r\n <!-- THUMBNAIL GENERICOS -->\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file\"></i>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <!-- NOME E TAMANHO DO ARQUIVO -->\r\n <div class=\"grid grid-nogutter flex-col items-start justify-end ml-3\">\r\n <span>{{ input._file.name | fileNameShorten : input.shortenLength : input.shortenSeparator }} <i class=\"far fa-trash-alt hvr hvr-grow text-red-500 clickable ml-2 mb-1 cursor-pointer\" (click)=\"clear(true)\"></i></span>\r\n @if (input.showFileSize) {\r\n <span><small>{{ formatBytes(input._file.size) }}</small></span>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O DO FORM -->\r\n<smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n\r\n@if (isZoomActive) {\r\n <div class=\"upload_field__fullscreen-image\">\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n @if (input.base64) {\r\n <iframe [src]=\"input.base64 | safeUrl\" class=\"animate__animated animate__zoomIn animate__faster\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\r\n }\r\n } @else {\r\n @if (input.base64) {\r\n <img class=\"animate__animated animate__zoomIn animate__faster\" [src]=\"input.base64 | safeUrl\" height=\"100%\" width=\"100%\"/>\r\n }\r\n }\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE IMAGENS -->\r\n <!-- ICONE DE SAIR DO FULLSCREEN -->\r\n <i class=\"far fa-times-circle clickable m-4 hvr hvr-grow text-4xl text-white\" (click)=\"restoreZoom()\"></i>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzMessageComponent, selector: "ui-message", inputs: ["severity", "text", "icon"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "directive", type: FileDragDropDirective, selector: "[SmzDragDrop]", outputs: ["fileDropped"] }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }, { kind: "pipe", type: FileNameShortenPipe, name: "fileNameShorten" }] });
3650
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FileUploadComponent, isStandalone: false, selector: "smz-file-upload", inputs: { input: "input", form: "form", control: "control", behaviors: "behaviors" }, outputs: { selectChange: "selectChange" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container flex flex-wrap items-center justify-center mt-1 mb-1\">\r\n <div class=\"flex flex-wrap flex-col items-center justify-center pt-3 pb-3\">\r\n <!-- ICONE DE UPLOAD -->\r\n <i [ngClass]=\"input.dragIconClass\" class=\"text-4xl mb-2\"></i>\r\n <span class=\"flex flex-wrap gap-2\">\r\n <!-- INPUT DE UPLOAD MANUAL -->\r\n <input type=\"file\" [name]=\"uploadControl\" class=\"upload_manual_control\" [attr.disabled]=\"input.isDisabled\" [accept]=\"input.fileAccept\" [id]=\"uploadControl\" (change)=\"onInputFiles($event)\" />\r\n <!-- BOT\u00C3O PARA SELECIONAR ARQUIVO -->\r\n <label [for]=\"uploadControl\" [ngClass]=\"{ 'text-gray-500' : input.isDisabled,'clickable upload_manual_label hvr hvr-grow': !input.isDisabled }\">{{ input.inputMessage }}</label>\r\n <!-- MENSAGEM PARA ARRASTAR -->\r\n <span class=\"upload_field-drag-message\">ou {{ input.dragMessage }}</span>\r\n </span>\r\n <!-- MENSAGEM DE ERRO PARA SELE\u00C7\u00C3O DE ARQUIVO -->\r\n @for (error of errors; track error) {\r\n <ui-message [ngStyle]=\"{ 'width': '100%;' }\" class=\"dialog-messages\" [severity]=\"$any(error?.severity)\">\r\n {{ error?.detail ?? error?.summary ?? 'Erro desconhecido' }}\r\n </ui-message>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- CONTE\u00DADO COM ARQUIVO CARREGADO -->\r\n@if (input._file != null) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-nowrap mt-1 mb-1 file_upload-container\">\r\n <div class=\"upload_field\" [style.height]=\"input.thumbnailSize\" [style.width]=\"input.thumbnailSize\">\r\n @switch (input._fileType) {\r\n <!-- IMAGENS -->\r\n @case ('image') {\r\n <!-- THUMBNAIL DE IMAGENS -->\r\n @if (input.base64) {\r\n <img class=\"upload_field-img mr-3\" [src]=\"input.base64 | safeUrl\"/>\r\n }\r\n <!-- ZOOM PARA IMAGENS -->\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <!-- APLICA\u00C7\u00D5ES -->\r\n @case ('application') {\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <!-- THUMBNAIL DE APLICA\u00C7\u00D5ES -->\r\n @switch (input._fileExtension) {\r\n @case ('.pdf') {\r\n <i class=\"fa-solid fa-file-pdf\"></i>\r\n }\r\n @case ('.doc') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.docx') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.ppt') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.pptx') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.xls') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.xlsx') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.7zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.rar') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.txt') {\r\n <i class=\"fa-solid fa-file-lines\"></i>\r\n }\r\n @default {\r\n <i class=\"fa-solid fa-file\"></i>\r\n }\r\n }\r\n </div>\r\n <!-- ZOOM PARA PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n <!-- V\u00CDDEOS -->\r\n @case ('video') {\r\n <!-- THUMBNAIL DE V\u00CDDEOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-video\"></i>\r\n </div>\r\n }\r\n <!-- AUDIOS -->\r\n @case ('audio') {\r\n <!-- THUMBNAIL DE AUDIOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-audio\"></i>\r\n </div>\r\n }\r\n <!-- OUTROS -->\r\n @default {\r\n <!-- THUMBNAIL GENERICOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file\"></i>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <!-- NOME E TAMANHO DO ARQUIVO -->\r\n <div class=\"flex flex-wrap flex-col items-start justify-end ml-3\">\r\n <span>{{ input._file.name | fileNameShorten : input.shortenLength : input.shortenSeparator }} <i class=\"far fa-trash-alt hvr hvr-grow text-red-500 clickable ml-2 mb-1 cursor-pointer\" (click)=\"clear(true)\"></i></span>\r\n @if (input.showFileSize) {\r\n <span><small>{{ formatBytes(input._file.size) }}</small></span>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O DO FORM -->\r\n<smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n\r\n@if (isZoomActive) {\r\n <div class=\"upload_field__fullscreen-image\">\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n @if (input.base64) {\r\n <iframe [src]=\"input.base64 | safeUrl\" class=\"animate__animated animate__zoomIn animate__faster\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\r\n }\r\n } @else {\r\n @if (input.base64) {\r\n <img class=\"animate__animated animate__zoomIn animate__faster\" [src]=\"input.base64 | safeUrl\" height=\"100%\" width=\"100%\"/>\r\n }\r\n }\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE IMAGENS -->\r\n <!-- ICONE DE SAIR DO FULLSCREEN -->\r\n <i class=\"far fa-times-circle clickable m-4 hvr hvr-grow text-4xl text-white\" (click)=\"restoreZoom()\"></i>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzMessageComponent, selector: "ui-message", inputs: ["severity", "text", "icon"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "directive", type: FileDragDropDirective, selector: "[SmzDragDrop]", outputs: ["fileDropped"] }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }, { kind: "pipe", type: FileNameShortenPipe, name: "fileNameShorten" }] });
3651
3651
  }
3652
3652
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FileUploadComponent, decorators: [{
3653
3653
  type: Component,
3654
- args: [{ selector: 'smz-file-upload', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container grid grid-nogutter items-center justify-center mt-1 mb-1\">\r\n <div class=\"grid grid-nogutter flex-col items-center justify-center pt-3 pb-3\">\r\n <!-- ICONE DE UPLOAD -->\r\n <i [ngClass]=\"input.dragIconClass\" class=\"text-4xl mb-2\"></i>\r\n <span class=\"grid grid-nogutter gap-2\">\r\n <!-- INPUT DE UPLOAD MANUAL -->\r\n <input type=\"file\" [name]=\"uploadControl\" class=\"upload_manual_control\" [attr.disabled]=\"input.isDisabled\" [accept]=\"input.fileAccept\" [id]=\"uploadControl\" (change)=\"onInputFiles($event)\" />\r\n <!-- BOT\u00C3O PARA SELECIONAR ARQUIVO -->\r\n <label [for]=\"uploadControl\" [ngClass]=\"{ 'text-gray-500' : input.isDisabled,'clickable upload_manual_label hvr hvr-grow': !input.isDisabled }\">{{ input.inputMessage }}</label>\r\n <!-- MENSAGEM PARA ARRASTAR -->\r\n <span class=\"upload_field-drag-message\">ou {{ input.dragMessage }}</span>\r\n </span>\r\n <!-- MENSAGEM DE ERRO PARA SELE\u00C7\u00C3O DE ARQUIVO -->\r\n @for (error of errors; track error) {\r\n <ui-message [ngStyle]=\"{ 'width': '100%;' }\" class=\"dialog-messages\" [severity]=\"$any(error?.severity)\">\r\n {{ error?.detail ?? error?.summary ?? 'Erro desconhecido' }}\r\n </ui-message>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- CONTE\u00DADO COM ARQUIVO CARREGADO -->\r\n@if (input._file != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start flex-nowrap mt-1 mb-1 file_upload-container\">\r\n <div class=\"upload_field\" [style.height]=\"input.thumbnailSize\" [style.width]=\"input.thumbnailSize\">\r\n @switch (input._fileType) {\r\n <!-- IMAGENS -->\r\n @case ('image') {\r\n <!-- THUMBNAIL DE IMAGENS -->\r\n @if (input.base64) {\r\n <img class=\"upload_field-img mr-3\" [src]=\"input.base64 | safeUrl\"/>\r\n }\r\n <!-- ZOOM PARA IMAGENS -->\r\n <div class=\"upload_field__actions\">\r\n <div class=\"grid grid-nogutter items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <!-- APLICA\u00C7\u00D5ES -->\r\n @case ('application') {\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <!-- THUMBNAIL DE APLICA\u00C7\u00D5ES -->\r\n @switch (input._fileExtension) {\r\n @case ('.pdf') {\r\n <i class=\"fa-solid fa-file-pdf\"></i>\r\n }\r\n @case ('.doc') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.docx') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.ppt') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.pptx') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.xls') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.xlsx') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.7zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.rar') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.txt') {\r\n <i class=\"fa-solid fa-file-lines\"></i>\r\n }\r\n @default {\r\n <i class=\"fa-solid fa-file\"></i>\r\n }\r\n }\r\n </div>\r\n <!-- ZOOM PARA PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n <div class=\"upload_field__actions\">\r\n <div class=\"grid grid-nogutter items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n <!-- V\u00CDDEOS -->\r\n @case ('video') {\r\n <!-- THUMBNAIL DE V\u00CDDEOS -->\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-video\"></i>\r\n </div>\r\n }\r\n <!-- AUDIOS -->\r\n @case ('audio') {\r\n <!-- THUMBNAIL DE AUDIOS -->\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-audio\"></i>\r\n </div>\r\n }\r\n <!-- OUTROS -->\r\n @default {\r\n <!-- THUMBNAIL GENERICOS -->\r\n <div class=\"upload_field-generic h-full w-full grid grid-nogutter items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file\"></i>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <!-- NOME E TAMANHO DO ARQUIVO -->\r\n <div class=\"grid grid-nogutter flex-col items-start justify-end ml-3\">\r\n <span>{{ input._file.name | fileNameShorten : input.shortenLength : input.shortenSeparator }} <i class=\"far fa-trash-alt hvr hvr-grow text-red-500 clickable ml-2 mb-1 cursor-pointer\" (click)=\"clear(true)\"></i></span>\r\n @if (input.showFileSize) {\r\n <span><small>{{ formatBytes(input._file.size) }}</small></span>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O DO FORM -->\r\n<smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n\r\n@if (isZoomActive) {\r\n <div class=\"upload_field__fullscreen-image\">\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n @if (input.base64) {\r\n <iframe [src]=\"input.base64 | safeUrl\" class=\"animate__animated animate__zoomIn animate__faster\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\r\n }\r\n } @else {\r\n @if (input.base64) {\r\n <img class=\"animate__animated animate__zoomIn animate__faster\" [src]=\"input.base64 | safeUrl\" height=\"100%\" width=\"100%\"/>\r\n }\r\n }\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE IMAGENS -->\r\n <!-- ICONE DE SAIR DO FULLSCREEN -->\r\n <i class=\"far fa-times-circle clickable m-4 hvr hvr-grow text-4xl text-white\" (click)=\"restoreZoom()\"></i>\r\n </div>\r\n}" }]
3654
+ args: [{ selector: 'smz-file-upload', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<!-- ZONA DE DROPPING -->\r\n@if (input._file == null) {\r\n <div SmzDragDrop (fileDropped)=\"input.isDisabled ? notAllowed() : onFilesDropped($event, true, true, this.cdf)\" class=\"file_upload__drag-container flex flex-wrap items-center justify-center mt-1 mb-1\">\r\n <div class=\"flex flex-wrap flex-col items-center justify-center pt-3 pb-3\">\r\n <!-- ICONE DE UPLOAD -->\r\n <i [ngClass]=\"input.dragIconClass\" class=\"text-4xl mb-2\"></i>\r\n <span class=\"flex flex-wrap gap-2\">\r\n <!-- INPUT DE UPLOAD MANUAL -->\r\n <input type=\"file\" [name]=\"uploadControl\" class=\"upload_manual_control\" [attr.disabled]=\"input.isDisabled\" [accept]=\"input.fileAccept\" [id]=\"uploadControl\" (change)=\"onInputFiles($event)\" />\r\n <!-- BOT\u00C3O PARA SELECIONAR ARQUIVO -->\r\n <label [for]=\"uploadControl\" [ngClass]=\"{ 'text-gray-500' : input.isDisabled,'clickable upload_manual_label hvr hvr-grow': !input.isDisabled }\">{{ input.inputMessage }}</label>\r\n <!-- MENSAGEM PARA ARRASTAR -->\r\n <span class=\"upload_field-drag-message\">ou {{ input.dragMessage }}</span>\r\n </span>\r\n <!-- MENSAGEM DE ERRO PARA SELE\u00C7\u00C3O DE ARQUIVO -->\r\n @for (error of errors; track error) {\r\n <ui-message [ngStyle]=\"{ 'width': '100%;' }\" class=\"dialog-messages\" [severity]=\"$any(error?.severity)\">\r\n {{ error?.detail ?? error?.summary ?? 'Erro desconhecido' }}\r\n </ui-message>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- CONTE\u00DADO COM ARQUIVO CARREGADO -->\r\n@if (input._file != null) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-nowrap mt-1 mb-1 file_upload-container\">\r\n <div class=\"upload_field\" [style.height]=\"input.thumbnailSize\" [style.width]=\"input.thumbnailSize\">\r\n @switch (input._fileType) {\r\n <!-- IMAGENS -->\r\n @case ('image') {\r\n <!-- THUMBNAIL DE IMAGENS -->\r\n @if (input.base64) {\r\n <img class=\"upload_field-img mr-3\" [src]=\"input.base64 | safeUrl\"/>\r\n }\r\n <!-- ZOOM PARA IMAGENS -->\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <!-- APLICA\u00C7\u00D5ES -->\r\n @case ('application') {\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <!-- THUMBNAIL DE APLICA\u00C7\u00D5ES -->\r\n @switch (input._fileExtension) {\r\n @case ('.pdf') {\r\n <i class=\"fa-solid fa-file-pdf\"></i>\r\n }\r\n @case ('.doc') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.docx') {\r\n <i class=\"fa-solid fa-file-word\"></i>\r\n }\r\n @case ('.ppt') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.pptx') {\r\n <i class=\"fa-solid fa-file-powerpoint\"></i>\r\n }\r\n @case ('.xls') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.xlsx') {\r\n <i class=\"fa-solid fa-file-excel\"></i>\r\n }\r\n @case ('.zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.7zip') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.rar') {\r\n <i class=\"fa-solid fa-file-zipper\"></i>\r\n }\r\n @case ('.txt') {\r\n <i class=\"fa-solid fa-file-lines\"></i>\r\n }\r\n @default {\r\n <i class=\"fa-solid fa-file\"></i>\r\n }\r\n }\r\n </div>\r\n <!-- ZOOM PARA PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n <div class=\"upload_field__actions\">\r\n <div class=\"flex flex-wrap items-center justify-end mr-2 mt-2\">\r\n @if (input.allowZoom) {\r\n <i class=\"fa-solid fa-magnifying-glass-plus upload_field__actions_icon hvr hvr-grow text-white clickable\" (click)=\"applyZoom()\"></i>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n <!-- V\u00CDDEOS -->\r\n @case ('video') {\r\n <!-- THUMBNAIL DE V\u00CDDEOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-video\"></i>\r\n </div>\r\n }\r\n <!-- AUDIOS -->\r\n @case ('audio') {\r\n <!-- THUMBNAIL DE AUDIOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file-audio\"></i>\r\n </div>\r\n }\r\n <!-- OUTROS -->\r\n @default {\r\n <!-- THUMBNAIL GENERICOS -->\r\n <div class=\"upload_field-generic h-full w-full flex flex-wrap items-center text-5xl justify-center mr-3\">\r\n <i class=\"fa-solid fa-file\"></i>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <!-- NOME E TAMANHO DO ARQUIVO -->\r\n <div class=\"flex flex-wrap flex-col items-start justify-end ml-3\">\r\n <span>{{ input._file.name | fileNameShorten : input.shortenLength : input.shortenSeparator }} <i class=\"far fa-trash-alt hvr hvr-grow text-red-500 clickable ml-2 mb-1 cursor-pointer\" (click)=\"clear(true)\"></i></span>\r\n @if (input.showFileSize) {\r\n <span><small>{{ formatBytes(input._file.size) }}</small></span>\r\n }\r\n </div>\r\n </div>\r\n}\r\n\r\n<!-- MENSAGEM DE ERRO DE VALIDA\u00C7\u00C3O DO FORM -->\r\n<smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n\r\n@if (isZoomActive) {\r\n <div class=\"upload_field__fullscreen-image\">\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE PDF -->\r\n @if (input._fileExtension === '.pdf') {\r\n @if (input.base64) {\r\n <iframe [src]=\"input.base64 | safeUrl\" class=\"animate__animated animate__zoomIn animate__faster\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\r\n }\r\n } @else {\r\n @if (input.base64) {\r\n <img class=\"animate__animated animate__zoomIn animate__faster\" [src]=\"input.base64 | safeUrl\" height=\"100%\" width=\"100%\"/>\r\n }\r\n }\r\n <!-- VISUALIZA\u00C7\u00C3O FULLSCREEN DE IMAGENS -->\r\n <!-- ICONE DE SAIR DO FULLSCREEN -->\r\n <i class=\"far fa-times-circle clickable m-4 hvr hvr-grow text-4xl text-white\" (click)=\"restoreZoom()\"></i>\r\n </div>\r\n}" }]
3655
3655
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.Store }], propDecorators: { input: [{
3656
3656
  type: Input
3657
3657
  }], form: [{
@@ -3710,11 +3710,11 @@ class InputCurrencyComponent {
3710
3710
  control;
3711
3711
  behaviors;
3712
3712
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3713
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputCurrencyComponent, isStandalone: false, selector: "smz-input-currency", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"col-12 smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"number\"\r\n [formControl]=\"control\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
3713
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputCurrencyComponent, isStandalone: false, selector: "smz-input-currency", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"w-full smz__input_value flex-1 py-2\" [id]=\"input.propertyName\" type=\"number\"\r\n [formControl]=\"control\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
3714
3714
  }
3715
3715
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputCurrencyComponent, decorators: [{
3716
3716
  type: Component,
3717
- args: [{ selector: 'smz-input-currency', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"col-12 smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"number\"\r\n [formControl]=\"control\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
3717
+ args: [{ selector: 'smz-input-currency', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"p-inputgroup input_inner__wrapper\">\r\n <span class=\"p-inputgroup-addon\">R$</span>\r\n <input smzInputText class=\"w-full smz__input_value flex-1 py-2\" [id]=\"input.propertyName\" type=\"number\"\r\n [formControl]=\"control\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
3718
3718
  }], propDecorators: { input: [{
3719
3719
  type: Input
3720
3720
  }], control: [{
@@ -4083,7 +4083,7 @@ class InputListComponent {
4083
4083
  return form;
4084
4084
  }
4085
4085
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.Store }, { token: i1$3.Actions }, { token: i1$1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
4086
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListComponent, isStandalone: false, selector: "smz-input-list", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <ui-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"grid grid-nogutter items-center w-full justify-between\">\r\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\r\n @if (input.crud?.inputType === 'float') {\r\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\r\n } @else {\r\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\r\n }\r\n }\r\n\r\n @if (isInlineEditingEnabled && current === item) {\r\n @if (editForm != null) {\r\n <div class=\"col grid grid-nogutter items-center justify-center flex-gap-2 py-3 px-0\" clickStopPropagation>\r\n <form #form [formGroup]=\"editForm\" class=\"col relative\">\r\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\r\n @if (editForm.get('value'); as valueInput) {\r\n @if (valueInput.touched && valueInput.hasError('required')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\r\n }\r\n @if (valueInput.touched && valueInput.hasError('unique')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\r\n }\r\n }\r\n </form>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" clickStopPropagation [disabled]=\"!editForm.valid\" class=\"p-nocustom inline_action_button\" (click)=\"onConfirmInlineEditing(item)\" [rounded]=\"true\" severity=\"success\" variant=\"text\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" clickStopPropagation class=\"p-nocustom inline_action_button\" (click)=\"cancelEdit()\" [rounded]=\"true\" severity=\"danger\" variant=\"text\"></button>\r\n </div>\r\n }\r\n }\r\n\r\n @if (current === item && !isInlineEditingEnabled) {\r\n <div class=\"smz__list_item-actions\" clickStopPropagation>\r\n @if (input.showEditButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showRemoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-trash\" class=\"p-nocustom\" (click)=\"input.askBeforeRemoveItem ? askBeforeRemove(item) : remove(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template smzTemplate=\"footer\">\r\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\r\n <span class=\"col-12 smz__footer-message\">*Campo obrigat\u00F3rio</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\r\n <span class=\"col-12 smz__footer-message text-blue-300\">*Limite atingido.</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\r\n <span class=\"col-12 smz__footer-message\">*Limite ultrapassado</span>\r\n }\r\n </ng-template>\r\n </ui-listbox>\r\n</div>", dependencies: [{ kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzListboxComponent, selector: "ui-listbox", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "checkbox", "filter", "filterBy", "filterMatchMode", "metaKeySelection", "readonly", "emptyMessage", "emptyFilterMessage", "listStyle", "style", "styleClass"], outputs: ["changed", "clicked"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4086
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListComponent, isStandalone: false, selector: "smz-input-list", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <ui-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"flex flex-wrap items-center w-full justify-between\">\r\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\r\n @if (input.crud?.inputType === 'float') {\r\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\r\n } @else {\r\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\r\n }\r\n }\r\n\r\n @if (isInlineEditingEnabled && current === item) {\r\n @if (editForm != null) {\r\n <div class=\"flex-1 flex flex-wrap items-center justify-center py-3 px-0 -m-2\" clickStopPropagation>\r\n <form #form [formGroup]=\"editForm\" class=\"flex-1 relative p-2\">\r\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\r\n @if (editForm.get('value'); as valueInput) {\r\n @if (valueInput.touched && valueInput.hasError('required')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\r\n }\r\n @if (valueInput.touched && valueInput.hasError('unique')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\r\n }\r\n }\r\n </form>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" clickStopPropagation [disabled]=\"!editForm.valid\" class=\"p-nocustom inline_action_button p-2\" (click)=\"onConfirmInlineEditing(item)\" [rounded]=\"true\" severity=\"success\" variant=\"text\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" clickStopPropagation class=\"p-nocustom inline_action_button p-2\" (click)=\"cancelEdit()\" [rounded]=\"true\" severity=\"danger\" variant=\"text\"></button>\r\n </div>\r\n }\r\n }\r\n\r\n @if (current === item && !isInlineEditingEnabled) {\r\n <div class=\"smz__list_item-actions\" clickStopPropagation>\r\n @if (input.showEditButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showRemoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-trash\" class=\"p-nocustom\" (click)=\"input.askBeforeRemoveItem ? askBeforeRemove(item) : remove(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template smzTemplate=\"footer\">\r\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Campo obrigat\u00F3rio</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message text-blue-300 p-2\">*Limite atingido.</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Limite ultrapassado</span>\r\n }\r\n </ng-template>\r\n </ui-listbox>\r\n</div>", dependencies: [{ kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzListboxComponent, selector: "ui-listbox", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "checkbox", "filter", "filterBy", "filterMatchMode", "metaKeySelection", "readonly", "emptyMessage", "emptyFilterMessage", "listStyle", "style", "styleClass"], outputs: ["changed", "clicked"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4087
4087
  }
4088
4088
  __decorate([
4089
4089
  Confirmable('Deseja realmente excluir esse item ?', 'Exclusão')
@@ -4093,7 +4093,7 @@ __decorate([
4093
4093
  ], InputListComponent.prototype, "onClear", null);
4094
4094
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListComponent, decorators: [{
4095
4095
  type: Component,
4096
- args: [{ selector: 'smz-input-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <ui-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"grid grid-nogutter items-center w-full justify-between\">\r\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\r\n @if (input.crud?.inputType === 'float') {\r\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\r\n } @else {\r\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\r\n }\r\n }\r\n\r\n @if (isInlineEditingEnabled && current === item) {\r\n @if (editForm != null) {\r\n <div class=\"col grid grid-nogutter items-center justify-center flex-gap-2 py-3 px-0\" clickStopPropagation>\r\n <form #form [formGroup]=\"editForm\" class=\"col relative\">\r\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\r\n @if (editForm.get('value'); as valueInput) {\r\n @if (valueInput.touched && valueInput.hasError('required')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\r\n }\r\n @if (valueInput.touched && valueInput.hasError('unique')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\r\n }\r\n }\r\n </form>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" clickStopPropagation [disabled]=\"!editForm.valid\" class=\"p-nocustom inline_action_button\" (click)=\"onConfirmInlineEditing(item)\" [rounded]=\"true\" severity=\"success\" variant=\"text\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" clickStopPropagation class=\"p-nocustom inline_action_button\" (click)=\"cancelEdit()\" [rounded]=\"true\" severity=\"danger\" variant=\"text\"></button>\r\n </div>\r\n }\r\n }\r\n\r\n @if (current === item && !isInlineEditingEnabled) {\r\n <div class=\"smz__list_item-actions\" clickStopPropagation>\r\n @if (input.showEditButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showRemoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-trash\" class=\"p-nocustom\" (click)=\"input.askBeforeRemoveItem ? askBeforeRemove(item) : remove(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template smzTemplate=\"footer\">\r\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\r\n <span class=\"col-12 smz__footer-message\">*Campo obrigat\u00F3rio</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\r\n <span class=\"col-12 smz__footer-message text-blue-300\">*Limite atingido.</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\r\n <span class=\"col-12 smz__footer-message\">*Limite ultrapassado</span>\r\n }\r\n </ng-template>\r\n </ui-listbox>\r\n</div>" }]
4096
+ args: [{ selector: 'smz-input-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <ui-listbox [options]=\"input.listBoxOptions\" [metaKeySelection]=\"false\" [checkbox]=\"false\" [filter]=\"input.showFilter\" optionLabel=\"name\" dataKey=\"id\" [listStyle]=\"{'height': input.height ? input.height : '200px'}\" [style]=\"{'width':'100%'}\" [styleClass]=\"input.styleClass\" [disabled]=\"input.isDisabled\" (clicked)=\"onClick($event)\" [readonly]=\"isInlineEditingEnabled\" [emptyMessage]=\"input.emptyMessage\" [(ngModel)]=\"current\">\r\n\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"smz__list-header\">\r\n @if (input.showAddButton && !input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAdd()\" [disabled]=\"input.limitCount != null && input.listBoxOptions?.length >= input.limitCount\" smzTooltip=\"Adicionar novo item\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showAddButton && input.allowBatchCreation) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-plus\" clickStopPropagation class=\"p-nocustom\" (click)=\"onAddInBatch()\" smzTooltip=\"Adicionar novos itens\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showSortButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-down-a-z\" clickStopPropagation class=\"p-nocustom\" (click)=\"onSort()\" smzTooltip=\"Reordenar\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showClearButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" clickStopPropagation class=\"p-nocustom\" (click)=\"onClear()\" smzTooltip=\"Limpar a lista\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template let-item smzTemplate=\"item\">\r\n <div class=\"flex flex-wrap items-center w-full justify-between\">\r\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\r\n @if (input.crud?.inputType === 'float') {\r\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\r\n } @else {\r\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\r\n }\r\n }\r\n\r\n @if (isInlineEditingEnabled && current === item) {\r\n @if (editForm != null) {\r\n <div class=\"flex-1 flex flex-wrap items-center justify-center py-3 px-0 -m-2\" clickStopPropagation>\r\n <form #form [formGroup]=\"editForm\" class=\"flex-1 relative p-2\">\r\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\r\n @if (editForm.get('value'); as valueInput) {\r\n @if (valueInput.touched && valueInput.hasError('required')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\r\n }\r\n @if (valueInput.touched && valueInput.hasError('unique')) {\r\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\r\n }\r\n }\r\n </form>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" clickStopPropagation [disabled]=\"!editForm.valid\" class=\"p-nocustom inline_action_button p-2\" (click)=\"onConfirmInlineEditing(item)\" [rounded]=\"true\" severity=\"success\" variant=\"text\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" clickStopPropagation class=\"p-nocustom inline_action_button p-2\" (click)=\"cancelEdit()\" [rounded]=\"true\" severity=\"danger\" variant=\"text\"></button>\r\n </div>\r\n }\r\n }\r\n\r\n @if (current === item && !isInlineEditingEnabled) {\r\n <div class=\"smz__list_item-actions\" clickStopPropagation>\r\n @if (input.showEditButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showRemoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-trash\" class=\"p-nocustom\" (click)=\"input.askBeforeRemoveItem ? askBeforeRemove(item) : remove(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (input.showMoveButton) {\r\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template smzTemplate=\"footer\">\r\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Campo obrigat\u00F3rio</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message text-blue-300 p-2\">*Limite atingido.</span>\r\n }\r\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\r\n <span class=\"w-full flex-none smz__footer-message p-2\">*Limite ultrapassado</span>\r\n }\r\n </ng-template>\r\n </ui-listbox>\r\n</div>" }]
4097
4097
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.Store }, { type: i1$3.Actions }, { type: i1$1.UntypedFormBuilder }], propDecorators: { input: [{
4098
4098
  type: Input
4099
4099
  }], control: [{
@@ -4169,11 +4169,11 @@ class InputPasswordComponent {
4169
4169
  control;
4170
4170
  behaviors;
4171
4171
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4172
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputPasswordComponent, isStandalone: false, selector: "smz-input-password", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-password [promptLabel]=\"input.promptLabel\" [weakLabel]=\"input.weakLabel\" [mediumLabel]=\"input.mediumLabel\" [strongLabel]=\"input.strongLabel\" class=\"col-12 smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"password\" [feedback]=\"input.feedback\" [toggleMask]=\"input.toggleMask\" [mediumRegex]=\"input.mediumRegex\" [strongRegex]=\"input.strongRegex\" [formControl]=\"control\">\r\n </ui-password>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzPasswordComponent, selector: "ui-password", inputs: ["toggleMask", "feedback", "promptLabel", "weakLabel", "mediumLabel", "strongLabel", "mediumRegex", "strongRegex", "placeholder", "inputId"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4172
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputPasswordComponent, isStandalone: false, selector: "smz-input-password", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-password [promptLabel]=\"input.promptLabel\" [weakLabel]=\"input.weakLabel\" [mediumLabel]=\"input.mediumLabel\" [strongLabel]=\"input.strongLabel\" class=\"w-full smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"password\" [feedback]=\"input.feedback\" [toggleMask]=\"input.toggleMask\" [mediumRegex]=\"input.mediumRegex\" [strongRegex]=\"input.strongRegex\" [formControl]=\"control\">\r\n </ui-password>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzPasswordComponent, selector: "ui-password", inputs: ["toggleMask", "feedback", "promptLabel", "weakLabel", "mediumLabel", "strongLabel", "mediumRegex", "strongRegex", "placeholder", "inputId"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4173
4173
  }
4174
4174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputPasswordComponent, decorators: [{
4175
4175
  type: Component,
4176
- args: [{ selector: 'smz-input-password', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-password [promptLabel]=\"input.promptLabel\" [weakLabel]=\"input.weakLabel\" [mediumLabel]=\"input.mediumLabel\" [strongLabel]=\"input.strongLabel\" class=\"col-12 smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"password\" [feedback]=\"input.feedback\" [toggleMask]=\"input.toggleMask\" [mediumRegex]=\"input.mediumRegex\" [strongRegex]=\"input.strongRegex\" [formControl]=\"control\">\r\n </ui-password>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4176
+ args: [{ selector: 'smz-input-password', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-password [promptLabel]=\"input.promptLabel\" [weakLabel]=\"input.weakLabel\" [mediumLabel]=\"input.mediumLabel\" [strongLabel]=\"input.strongLabel\" class=\"w-full smz__input_value flex-1\" [id]=\"input.propertyName\" type=\"password\" [feedback]=\"input.feedback\" [toggleMask]=\"input.toggleMask\" [mediumRegex]=\"input.mediumRegex\" [strongRegex]=\"input.strongRegex\" [formControl]=\"control\">\r\n </ui-password>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4177
4177
  }], propDecorators: { input: [{
4178
4178
  type: Input
4179
4179
  }], control: [{
@@ -4187,11 +4187,11 @@ class InputSwitchComponent {
4187
4187
  control;
4188
4188
  behaviors;
4189
4189
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4190
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputSwitchComponent, isStandalone: false, selector: "smz-input-switch", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"input_inner__wrapper col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n\r\n <ui-toggle-switch class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" [attr.disabled]=\"input.isDisabled\" binary=\"true\">\r\n </ui-toggle-switch>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputSwitchComponent, isStandalone: false, selector: "smz-input-switch", inputs: { input: "input", control: "control", behaviors: "behaviors" }, host: { classAttribute: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"input_inner__wrapper w-full flex-none flex justify-start items-center gap-1 -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n\r\n <ui-toggle-switch class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" [attr.disabled]=\"input.isDisabled\" binary=\"true\">\r\n </ui-toggle-switch>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4191
4191
  }
4192
4192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputSwitchComponent, decorators: [{
4193
4193
  type: Component,
4194
- args: [{ selector: 'smz-input-switch', host: { class: 'grid grid-nogutter' }, standalone: false, template: "<div class=\"input_inner__wrapper col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n\r\n <ui-toggle-switch class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" [attr.disabled]=\"input.isDisabled\" binary=\"true\">\r\n </ui-toggle-switch>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4194
+ args: [{ selector: 'smz-input-switch', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"input_inner__wrapper w-full flex-none flex justify-start items-center gap-1 -m-1\">\r\n <smz-label\r\n class=\"smz__input_name p-1\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n\r\n <ui-toggle-switch class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [formControl]=\"control\" [attr.disabled]=\"input.isDisabled\" binary=\"true\">\r\n </ui-toggle-switch>\r\n <smz-validation-messages class=\"p-1\" [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4195
4195
  }], propDecorators: { input: [{
4196
4196
  type: Input
4197
4197
  }], control: [{
@@ -4206,11 +4206,11 @@ class InputTextAreaComponent {
4206
4206
  control;
4207
4207
  behaviors;
4208
4208
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4209
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextAreaComponent, isStandalone: false, selector: "smz-input-text-area", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <textarea\r\n smzTextarea\r\n [rows]=\"input.textAreaRows != null ? input.textAreaRows : 5\"\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n [formControl]=\"control\">\r\n </textarea>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4209
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextAreaComponent, isStandalone: false, selector: "smz-input-text-area", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <textarea\r\n smzTextarea\r\n [rows]=\"input.textAreaRows != null ? input.textAreaRows : 5\"\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n [formControl]=\"control\">\r\n </textarea>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4210
4210
  }
4211
4211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextAreaComponent, decorators: [{
4212
4212
  type: Component,
4213
- args: [{ selector: 'smz-input-text-area', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <textarea\r\n smzTextarea\r\n [rows]=\"input.textAreaRows != null ? input.textAreaRows : 5\"\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n [formControl]=\"control\">\r\n </textarea>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4213
+ args: [{ selector: 'smz-input-text-area', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <textarea\r\n smzTextarea\r\n [rows]=\"input.textAreaRows != null ? input.textAreaRows : 5\"\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n [formControl]=\"control\">\r\n </textarea>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4214
4214
  }], propDecorators: { input: [{
4215
4215
  type: Input
4216
4216
  }], control: [{
@@ -4324,8 +4324,8 @@ class SmzAutocompleteSelectorComponent {
4324
4324
  }
4325
4325
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzAutocompleteSelectorComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4326
4326
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzAutocompleteSelectorComponent, isStandalone: true, selector: "smz-autocomplete-selector", inputs: { isRequired: "isRequired", allowCustomValues: "allowCustomValues", option: "option", suggestions: "suggestions" }, outputs: { selectedChange: "selectedChange", suggestionsChanged: "suggestionsChanged", finished: "finished" }, ngImport: i0, template: `
4327
- <div class="col-12 px-0 grid grid-nogutter items-center justify-start gap-2">
4328
- <ui-auto-complete class="col" styleClass="w-full" [(ngModel)]="option.selected" [suggestions]="suggestions" [dropdown]="true" [emptyMessage]="option.emptyMessage" (completeMethod)="search($event)" (cleared)="onClear()" (blurred)="handleSelection()" (selectedItem)="onSelect()" (keydown)="handleKeyDown($event)">
4327
+ <div class="w-full flex-none px-0 flex flex-wrap items-center justify-start gap-2">
4328
+ <ui-auto-complete class="flex-1" styleClass="w-full" [(ngModel)]="option.selected" [suggestions]="suggestions" [dropdown]="true" [emptyMessage]="option.emptyMessage" (completeMethod)="search($event)" (cleared)="onClear()" (blurred)="handleSelection()" (selectedItem)="onSelect()" (keydown)="handleKeyDown($event)">
4329
4329
 
4330
4330
  <ng-template smzTemplate="header">
4331
4331
  @if (option.dataSourceDisplayName != null) {
@@ -4349,8 +4349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
4349
4349
  ],
4350
4350
  changeDetection: ChangeDetectionStrategy.OnPush,
4351
4351
  template: `
4352
- <div class="col-12 px-0 grid grid-nogutter items-center justify-start gap-2">
4353
- <ui-auto-complete class="col" styleClass="w-full" [(ngModel)]="option.selected" [suggestions]="suggestions" [dropdown]="true" [emptyMessage]="option.emptyMessage" (completeMethod)="search($event)" (cleared)="onClear()" (blurred)="handleSelection()" (selectedItem)="onSelect()" (keydown)="handleKeyDown($event)">
4352
+ <div class="w-full flex-none px-0 flex flex-wrap items-center justify-start gap-2">
4353
+ <ui-auto-complete class="flex-1" styleClass="w-full" [(ngModel)]="option.selected" [suggestions]="suggestions" [dropdown]="true" [emptyMessage]="option.emptyMessage" (completeMethod)="search($event)" (cleared)="onClear()" (blurred)="handleSelection()" (selectedItem)="onSelect()" (keydown)="handleKeyDown($event)">
4354
4354
 
4355
4355
  <ng-template smzTemplate="header">
4356
4356
  @if (option.dataSourceDisplayName != null) {
@@ -4635,7 +4635,7 @@ class SmzInputAutocompleteTagArea {
4635
4635
  <label class="smz__input_name" [innerHTML]="input.name"></label>
4636
4636
  }
4637
4637
  <div class="input_inner__wrapper" [id]="input.propertyName">
4638
- <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="col-12"></textarea>
4638
+ <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
4639
4639
  <smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
4640
4640
  </div>
4641
4641
 
@@ -4662,7 +4662,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
4662
4662
  <label class="smz__input_name" [innerHTML]="input.name"></label>
4663
4663
  }
4664
4664
  <div class="input_inner__wrapper" [id]="input.propertyName">
4665
- <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="col-12"></textarea>
4665
+ <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
4666
4666
  <smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
4667
4667
  </div>
4668
4668
 
@@ -4706,11 +4706,11 @@ class InputTextComponent {
4706
4706
  control;
4707
4707
  behaviors;
4708
4708
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4709
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextComponent, isStandalone: false, selector: "smz-input-text", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <input\r\n smzInputText\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [smzAutoFocus]=\"input.autoFocus\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.SmzAutoFocusDirective, selector: "[smzAutoFocus]", inputs: ["smzAutoFocus"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4709
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextComponent, isStandalone: false, selector: "smz-input-text", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [smzAutoFocus]=\"input.autoFocus\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.SmzAutoFocusDirective, selector: "[smzAutoFocus]", inputs: ["smzAutoFocus"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4710
4710
  }
4711
4711
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextComponent, decorators: [{
4712
4712
  type: Component,
4713
- args: [{ selector: 'smz-input-text', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <input\r\n smzInputText\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [smzAutoFocus]=\"input.autoFocus\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4713
+ args: [{ selector: 'smz-input-text', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [smzAutoFocus]=\"input.autoFocus\">\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4714
4714
  }], propDecorators: { input: [{
4715
4715
  type: Input
4716
4716
  }], control: [{
@@ -4777,11 +4777,11 @@ class InputTreeComponent {
4777
4777
  }
4778
4778
  }
4779
4779
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTreeComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
4780
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputTreeComponent, isStandalone: false, selector: "smz-input-tree", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (nodes$ | async; as nodes) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-tree-select class=\"col-12 grid-nogutter smz__input_value flex-1\" containerStyleClass=\"w-full\" [formControl]=\"control\" [options]=\"nodes\" [placeholder]=\"input.name\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [selectionMode]=\"input.selectionMode\" [filterInputAutoFocus]=\"input.autofocusFilter\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [filterPlaceholder]=\"input.emptyFilterMessage\" [scrollHeight]=\"input.scrollHeight\" [display]=\"input.display\">\r\n @for (inputType of input.allTypes; track inputType) {\r\n <ng-template let-node [smzTemplate]=\"inputType\">\r\n @if (node != null) {\r\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\r\n }\r\n </ng-template>\r\n }\r\n </ui-tree-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzTreeSelectComponent, selector: "ui-tree-select", inputs: ["options", "selectionMode", "placeholder", "filter", "filterPlaceholder", "emptyMessage", "showClear", "scrollHeight", "styleClass", "containerStyleClass", "appendTo", "display", "filterInputAutoFocus"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
4780
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputTreeComponent, isStandalone: false, selector: "smz-input-tree", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (nodes$ | async; as nodes) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-tree-select class=\"w-full m-0 smz__input_value flex-1\" containerStyleClass=\"w-full\" [formControl]=\"control\" [options]=\"nodes\" [placeholder]=\"input.name\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [selectionMode]=\"input.selectionMode\" [filterInputAutoFocus]=\"input.autofocusFilter\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [filterPlaceholder]=\"input.emptyFilterMessage\" [scrollHeight]=\"input.scrollHeight\" [display]=\"input.display\">\r\n @for (inputType of input.allTypes; track inputType) {\r\n <ng-template let-node [smzTemplate]=\"inputType\">\r\n @if (node != null) {\r\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\r\n }\r\n </ng-template>\r\n }\r\n </ui-tree-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzTreeSelectComponent, selector: "ui-tree-select", inputs: ["options", "selectionMode", "placeholder", "filter", "filterPlaceholder", "emptyMessage", "showClear", "scrollHeight", "styleClass", "containerStyleClass", "appendTo", "display", "filterInputAutoFocus"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
4781
4781
  }
4782
4782
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTreeComponent, decorators: [{
4783
4783
  type: Component,
4784
- args: [{ selector: 'smz-input-tree', standalone: false, template: "@if (nodes$ | async; as nodes) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-tree-select class=\"col-12 grid-nogutter smz__input_value flex-1\" containerStyleClass=\"w-full\" [formControl]=\"control\" [options]=\"nodes\" [placeholder]=\"input.name\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [selectionMode]=\"input.selectionMode\" [filterInputAutoFocus]=\"input.autofocusFilter\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [filterPlaceholder]=\"input.emptyFilterMessage\" [scrollHeight]=\"input.scrollHeight\" [display]=\"input.display\">\r\n @for (inputType of input.allTypes; track inputType) {\r\n <ng-template let-node [smzTemplate]=\"inputType\">\r\n @if (node != null) {\r\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\r\n }\r\n </ng-template>\r\n }\r\n </ui-tree-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}" }]
4784
+ args: [{ selector: 'smz-input-tree', standalone: false, template: "@if (nodes$ | async; as nodes) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-tree-select class=\"w-full m-0 smz__input_value flex-1\" containerStyleClass=\"w-full\" [formControl]=\"control\" [options]=\"nodes\" [placeholder]=\"input.name\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [selectionMode]=\"input.selectionMode\" [filterInputAutoFocus]=\"input.autofocusFilter\" [emptyMessage]=\"input.emptyMessage\" [showClear]=\"input.showClear\" [filterPlaceholder]=\"input.emptyFilterMessage\" [scrollHeight]=\"input.scrollHeight\" [display]=\"input.display\">\r\n @for (inputType of input.allTypes; track inputType) {\r\n <ng-template let-node [smzTemplate]=\"inputType\">\r\n @if (node != null) {\r\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\r\n }\r\n </ng-template>\r\n }\r\n </ui-tree-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}" }]
4785
4785
  }], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
4786
4786
  type: Input
4787
4787
  }], formId: [{
@@ -4828,11 +4828,11 @@ class LinkedDropdownComponent {
4828
4828
  }));
4829
4829
  }
4830
4830
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedDropdownComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
4831
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: LinkedDropdownComponent, isStandalone: false, selector: "smz-linked-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (options$ | async; as options) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-select appendTo=\"body\" class=\"col-12 grid-nogutter smz__input_value flex-1\" [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" (changed)=\"service.setValue(input, formId, $event)\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}", dependencies: [{ kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
4831
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: LinkedDropdownComponent, isStandalone: false, selector: "smz-linked-dropdown", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "@if (options$ | async; as options) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" (changed)=\"service.setValue(input, formId, $event)\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}", dependencies: [{ kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
4832
4832
  }
4833
4833
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedDropdownComponent, decorators: [{
4834
4834
  type: Component,
4835
- args: [{ selector: 'smz-linked-dropdown', standalone: false, template: "@if (options$ | async; as options) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-select appendTo=\"body\" class=\"col-12 grid-nogutter smz__input_value flex-1\" [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" (changed)=\"service.setValue(input, formId, $event)\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}" }]
4835
+ args: [{ selector: 'smz-linked-dropdown', standalone: false, template: "@if (options$ | async; as options) {\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-select appendTo=\"body\" class=\"w-full m-0 smz__input_value flex-1\" [options]=\"options\" [formControl]=\"control\" optionLabel=\"name\" dataKey=\"id\" (changed)=\"service.setValue(input, formId, $event)\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\">\r\n <!-- TODO: AutofocusFilter foi removido pois n\u00E3o existe no primeng\r\n [autofocusFilter]=\"input.autofocusFilter\" -->\r\n </ui-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n </div>\r\n}" }]
4836
4836
  }], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
4837
4837
  type: Input
4838
4838
  }], formId: [{
@@ -4878,11 +4878,11 @@ class LinkedMultiSelectComponent {
4878
4878
  this.service.registryObserver(this.input, this.formId);
4879
4879
  }
4880
4880
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedMultiSelectComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
4881
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LinkedMultiSelectComponent, isStandalone: false, selector: "smz-linked-multi-select", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-multi-select class=\"col-12 grid-nogutter smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: GetCurrentMultiselectOptionsPipe, name: "GetCurrentMultiselectOptions" }] });
4881
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LinkedMultiSelectComponent, isStandalone: false, selector: "smz-linked-multi-select", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: GetCurrentMultiselectOptionsPipe, name: "GetCurrentMultiselectOptions" }] });
4882
4882
  }
4883
4883
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LinkedMultiSelectComponent, decorators: [{
4884
4884
  type: Component,
4885
- args: [{ selector: 'smz-linked-multi-select', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-multi-select class=\"col-12 grid-nogutter smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
4885
+ args: [{ selector: 'smz-linked-multi-select', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"(service.observers[formId + input.propertyName]?.options | async ) | GetCurrentMultiselectOptions : input\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>\r\n" }]
4886
4886
  }], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
4887
4887
  type: Input
4888
4888
  }], formId: [{
@@ -4924,11 +4924,11 @@ class MultiSelectComponent {
4924
4924
  this.formsVisibility.setValue(input, formId, event);
4925
4925
  }
4926
4926
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MultiSelectComponent, deps: [{ token: SmzFormsDropdownService }, { token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
4927
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: MultiSelectComponent, isStandalone: false, selector: "smz-multi-select", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-multi-select class=\"col-12 grid-nogutter smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4927
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: MultiSelectComponent, isStandalone: false, selector: "smz-multi-select", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4928
4928
  }
4929
4929
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: MultiSelectComponent, decorators: [{
4930
4930
  type: Component,
4931
- args: [{ selector: 'smz-multi-select', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper grid grid-nogutter\">\r\n <ui-multi-select class=\"col-12 grid-nogutter smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4931
+ args: [{ selector: 'smz-multi-select', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper flex flex-wrap\">\r\n <ui-multi-select class=\"w-full m-0 smz__input_value flex-1\" [id]=\"input.propertyName\" [options]=\"input.options\" [formControl]=\"control\" optionLabel=\"name\" [placeholder]=\"input.defaultLabel\" [panelStyle]=\"{ minWidth: '20em' }\" appendTo=\"body\" [filter]=\"input.showFilter ? true : false\" [filterMatchMode]=\"input.filterMatchMode != null ? input.filterMatchMode : 'contains'\" (changed)=\"emitChange(input, formId, $event)\" [showClear]=\"input.showClear\" [emptyMessage]=\"input.emptyMessage\" [emptyFilterMessage]=\"input.emptyFilterMessage\" [autofocusFilter]=\"input.autofocusFilter\">\r\n </ui-multi-select>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4932
4932
  }], ctorParameters: () => [{ type: SmzFormsDropdownService }, { type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
4933
4933
  type: Input
4934
4934
  }], formId: [{
@@ -4959,11 +4959,11 @@ class RadioButtonComponent {
4959
4959
  this.dialogVisibility.setValue(input, formId, event);
4960
4960
  }
4961
4961
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RadioButtonComponent, deps: [{ token: SmzFormsVisibilityService }, { token: SmzDialogsVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
4962
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RadioButtonComponent, isStandalone: false, selector: "smz-radio-button", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "grid grid-nogutter" }, ngImport: i0, template: "<div class=\"flex flex-col col-12 input_inner__wrapper gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n @for (option of input.options; track option) {\r\n <ui-radio-button class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\" (clicked)=\"emitChange(input, formId, $event)\">\r\n </ui-radio-button>\r\n <label [for]=\"input.propertyName\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzRadioButtonComponent, selector: "ui-radio-button", inputs: ["value", "name", "label"], outputs: ["clicked"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4962
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RadioButtonComponent, isStandalone: false, selector: "smz-radio-button", inputs: { input: "input", formId: "formId", control: "control", behaviors: "behaviors" }, host: { classAttribute: "flex flex-wrap" }, ngImport: i0, template: "<div class=\"flex flex-col w-full flex-none input_inner__wrapper gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"w-full flex-none flex justify-start items-center gap-1 -m-1 p-2\">\r\n @for (option of input.options; track option) {\r\n <ui-radio-button class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\" (clicked)=\"emitChange(input, formId, $event)\">\r\n </ui-radio-button>\r\n <label class=\"p-1\" [for]=\"input.propertyName\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzRadioButtonComponent, selector: "ui-radio-button", inputs: ["value", "name", "label"], outputs: ["clicked"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
4963
4963
  }
4964
4964
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RadioButtonComponent, decorators: [{
4965
4965
  type: Component,
4966
- args: [{ selector: 'smz-radio-button', host: { class: 'grid grid-nogutter' }, standalone: false, template: "<div class=\"flex flex-col col-12 input_inner__wrapper gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"col-12 flex justify-start items-center gap-1 flex-gap-1\">\r\n @for (option of input.options; track option) {\r\n <ui-radio-button class=\"smz__input_value\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\" (clicked)=\"emitChange(input, formId, $event)\">\r\n </ui-radio-button>\r\n <label [for]=\"input.propertyName\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4966
+ args: [{ selector: 'smz-radio-button', host: { class: 'flex flex-wrap' }, standalone: false, template: "<div class=\"flex flex-col w-full flex-none input_inner__wrapper gap-1\">\r\n <smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n </smz-label>\r\n <div class=\"w-full flex-none flex justify-start items-center gap-1 -m-1 p-2\">\r\n @for (option of input.options; track option) {\r\n <ui-radio-button class=\"smz__input_value p-1\" [name]=\"input.propertyName\" [id]=\"input.propertyName\" [value]=\"option.id\" [formControl]=\"control\" (clicked)=\"emitChange(input, formId, $event)\">\r\n </ui-radio-button>\r\n <label class=\"p-1\" [for]=\"input.propertyName\">{{option.name}}</label>\r\n }\r\n </div>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4967
4967
  }], ctorParameters: () => [{ type: SmzFormsVisibilityService }, { type: SmzDialogsVisibilityService }], propDecorators: { input: [{
4968
4968
  type: Input
4969
4969
  }], formId: [{
@@ -5247,7 +5247,7 @@ class SmzInputTagArea {
5247
5247
  };
5248
5248
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputTagArea, deps: [{ token: i1$1.NgModel, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
5249
5249
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInputTagArea, isStandalone: false, selector: "smz-input-tag-area", inputs: { config: "config", rows: "rows", control: "control" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: SmzPopoverComponent, descendants: true }, { propertyName: "inputElement", first: true, predicate: ["inputArea"], descendants: true }, { propertyName: "listboxElement", first: true, predicate: ["listbox"], descendants: true }], ngImport: i0, template: `
5250
- <textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="col-12"></textarea>
5250
+ <textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
5251
5251
  <ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
5252
5252
  @if (currentTag) {
5253
5253
  <ui-listbox #listbox (clicked)="hide($event)" (keyup.enter)="hide($event)" styleClass="tag-dropdown" [options]="currentTag.data" [(ngModel)]="currentTagSelection" optionLabel="key"></ui-listbox>
@@ -5258,7 +5258,7 @@ class SmzInputTagArea {
5258
5258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputTagArea, decorators: [{
5259
5259
  type: Component,
5260
5260
  args: [{ selector: 'smz-input-tag-area', template: `
5261
- <textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="col-12"></textarea>
5261
+ <textarea #inputArea id="inputArea" smzTextarea smzSmartTag [(ngModel)]="ngModel" [formControl]="control" [options]="config?.options" [rows]="rows" (tagTyped)="onTag($event)" class="w-full flex-none py-2"></textarea>
5262
5262
  <ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
5263
5263
  @if (currentTag) {
5264
5264
  <ui-listbox #listbox (clicked)="hide($event)" (keyup.enter)="hide($event)" styleClass="tag-dropdown" [options]="currentTag.data" [(ngModel)]="currentTagSelection" optionLabel="key"></ui-listbox>
@@ -5604,11 +5604,11 @@ class InputTextButtonComponent {
5604
5604
  });
5605
5605
  }
5606
5606
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5607
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextButtonComponent, isStandalone: false, selector: "smz-input-text-button", inputs: { input: "input", control: "control", viewdata: "viewdata", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControl]=\"$any(control)\">\r\n <button type=\"button\" [disabled]=\"!control.valid || blocked\" smzButton class=\"min-w-fit mt-3\" [label]=\"input.label\" [icon]=\"input.icon\" styleClass=\"p-button-warn\" (click)=\"emit()\"></button>\r\n </div>\r\n\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\" [extraMessages]=\"input.buttonMessages\"></smz-validation-messages>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
5607
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputTextButtonComponent, isStandalone: false, selector: "smz-input-text-button", inputs: { input: "input", control: "control", viewdata: "viewdata", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControl]=\"$any(control)\">\r\n <button type=\"button\" [disabled]=\"!control.valid || blocked\" smzButton class=\"min-w-fit mt-3\" [label]=\"input.label\" [icon]=\"input.icon\" styleClass=\"p-button-warn\" (click)=\"emit()\"></button>\r\n </div>\r\n\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\" [extraMessages]=\"input.buttonMessages\"></smz-validation-messages>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: LabelComponent, selector: "smz-label", inputs: ["text", "propertyName", "showLabel", "warning", "help", "popover"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }] });
5608
5608
  }
5609
5609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextButtonComponent, decorators: [{
5610
5610
  type: Component,
5611
- args: [{ selector: 'smz-input-text-button', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"col-12 smz__input_value flex-1\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControl]=\"$any(control)\">\r\n <button type=\"button\" [disabled]=\"!control.valid || blocked\" smzButton class=\"min-w-fit mt-3\" [label]=\"input.label\" [icon]=\"input.icon\" styleClass=\"p-button-warn\" (click)=\"emit()\"></button>\r\n </div>\r\n\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\" [extraMessages]=\"input.buttonMessages\"></smz-validation-messages>\r\n\r\n</div>" }]
5611
+ args: [{ selector: 'smz-input-text-button', standalone: false, template: "<smz-label\r\n class=\"smz__input_name\"\r\n [text]=\"input.name\"\r\n [propertyName]=\"input.propertyName\"\r\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\r\n [warning]=\"input.warning?.()\"\r\n [help]=\"input.tooltip?.()\"\r\n [popover]=\"input.popover?.()\">\r\n</smz-label>\r\n\r\n<div class=\"input_inner__wrapper\">\r\n\r\n <div class=\"p-inputgroup\">\r\n <input\r\n smzInputText\r\n class=\"w-full smz__input_value flex-1 py-2\"\r\n [id]=\"input.propertyName\"\r\n type=\"text\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControl]=\"$any(control)\">\r\n <button type=\"button\" [disabled]=\"!control.valid || blocked\" smzButton class=\"min-w-fit mt-3\" [label]=\"input.label\" [icon]=\"input.icon\" styleClass=\"p-button-warn\" (click)=\"emit()\"></button>\r\n </div>\r\n\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\" [extraMessages]=\"input.buttonMessages\"></smz-validation-messages>\r\n\r\n</div>" }]
5612
5612
  }], propDecorators: { input: [{
5613
5613
  type: Input
5614
5614
  }], control: [{
@@ -5639,35 +5639,72 @@ var SmzBreakpoints;
5639
5639
  })(SmzBreakpoints || (SmzBreakpoints = {}));
5640
5640
 
5641
5641
  const ORDER = ['extraSmall', 'small', 'medium', 'large', 'extraLarge'];
5642
+ const warned = new Set();
5642
5643
  /**
5643
5644
  * Classes de layout de um template responsivo. Funcao pura (sem Angular) para ser testavel em vitest.
5644
5645
  *
5645
5646
  * - `span` (padrao): filhos de `grid grid-cols-12` -> `col-span-N`, `sm:col-span-N`, ...
5647
+ * Sem `extraSmall` valido, a base e `col-span-12` (o item ocupa a linha inteira ate o primeiro breakpoint declarado).
5646
5648
  * - `width`: elementos fora de uma grade (o proprio dialog, filho flex da mascara) -> `w-N/12` (`w-full` para 12).
5647
5649
  *
5650
+ * `row` e tipado como `SmzColumns`, mas layouts persistidos (JSON/API) ainda chegam como `'col-N'`/`'N'`: sao
5651
+ * normalizados em runtime; `'col'`/`'col-auto'` valem 12 (o que o legado fazia na pratica); valor invalido e
5652
+ * descartado com aviso em dev, nunca vira `col-span-NaN`.
5653
+ *
5648
5654
  * As classes sao montadas em runtime, por isso o preset do ui-kit as publica em `safelist`.
5649
5655
  */
5650
5656
  function SetTemplateClasses(template, properties = ['row'], variant = 'span') {
5651
- if (template == null || !properties.includes('row')) {
5657
+ if (!properties.includes('row')) {
5652
5658
  return '';
5653
5659
  }
5660
+ if (template == null) {
5661
+ return variant === 'span' ? 'col-span-12' : ''; // sem template, o item ocupa a linha (equivale ao `col` legado numa grade)
5662
+ }
5654
5663
  const classes = [];
5655
5664
  for (const breakpoint of ORDER) {
5656
- const columns = template[breakpoint]?.row;
5665
+ const raw = template[breakpoint]?.row;
5666
+ if (raw == null) {
5667
+ continue;
5668
+ }
5669
+ const columns = normalizeColumns(raw);
5657
5670
  if (columns == null) {
5671
+ warnOnce(`SetTemplateClasses: valor de row invalido em ${breakpoint}: ${JSON.stringify(raw)} (esperado 1 a 12); breakpoint ignorado.`);
5658
5672
  continue;
5659
5673
  }
5660
- const prefix = SmzBreakpoints.Tags[breakpoint];
5661
- classes.push(`${prefix}${columnsClass(columns, variant)}`);
5674
+ classes.push(`${SmzBreakpoints.Tags[breakpoint]}${columnsClass(columns, variant)}`);
5675
+ }
5676
+ if (variant === 'span' && !classes.some((cls) => cls.startsWith('col-span-'))) {
5677
+ classes.unshift('col-span-12');
5662
5678
  }
5663
5679
  return classes.join(' ');
5664
5680
  }
5681
+ /** `12`, `'12'`, `'col-12'` -> 12; `'col'`/`'col-auto'` -> 12; fora de 1..12 e limitado; nao numerico -> null. */
5682
+ function normalizeColumns(value) {
5683
+ if (typeof value === 'string') {
5684
+ const text = value.trim();
5685
+ if (text === 'col' || text === 'col-auto')
5686
+ return 12;
5687
+ const match = /^(?:col-)?(\d{1,2})$/.exec(text);
5688
+ if (!match)
5689
+ return null;
5690
+ value = Number(match[1]);
5691
+ }
5692
+ if (typeof value !== 'number' || !Number.isFinite(value))
5693
+ return null;
5694
+ return Math.min(12, Math.max(1, Math.round(value)));
5695
+ }
5665
5696
  function columnsClass(columns, variant) {
5666
- const value = Math.min(12, Math.max(1, Math.round(Number(columns))));
5667
5697
  if (variant === 'width') {
5668
- return value === 12 ? 'w-full' : `w-${value}/12`;
5698
+ return columns === 12 ? 'w-full' : `w-${columns}/12`;
5669
5699
  }
5670
- return `col-span-${value}`;
5700
+ return `col-span-${columns}`;
5701
+ }
5702
+ function warnOnce(message) {
5703
+ const dev = typeof ngDevMode === 'undefined' || !!ngDevMode;
5704
+ if (!dev || warned.has(message))
5705
+ return;
5706
+ warned.add(message);
5707
+ console.warn(message);
5671
5708
  }
5672
5709
 
5673
5710
  class SetTemplateClassesPipe {
@@ -7108,9 +7145,9 @@ class InputListDialogCrudComponent {
7108
7145
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListDialogCrudComponent, deps: [{ token: DialogCrudStateService }, { token: i2.SmzDialogConfig }], target: i0.ɵɵFactoryTarget.Component });
7109
7146
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListDialogCrudComponent, isStandalone: false, selector: "smz-input-list-dialog-crud", viewQueries: [{ propertyName: "formComponent", first: true, predicate: ["formComponent"], descendants: true }], ngImport: i0, template: `
7110
7147
  @if (form != null) {
7111
- <div class="grid grid-nogutter items-start justify-start">
7112
- <smz-form-group class="col" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7113
- <div class="w-full grid grid-nogutter items-start justify-end">
7148
+ <div class="flex flex-wrap items-start justify-start">
7149
+ <smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7150
+ <div class="w-full flex flex-wrap items-start justify-end">
7114
7151
  <button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
7115
7152
  </div>
7116
7153
  </div>
@@ -7123,9 +7160,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
7123
7160
  selector: 'smz-input-list-dialog-crud',
7124
7161
  template: `
7125
7162
  @if (form != null) {
7126
- <div class="grid grid-nogutter items-start justify-start">
7127
- <smz-form-group class="col" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7128
- <div class="w-full grid grid-nogutter items-start justify-end">
7163
+ <div class="flex flex-wrap items-start justify-start">
7164
+ <smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7165
+ <div class="w-full flex flex-wrap items-start justify-end">
7129
7166
  <button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
7130
7167
  </div>
7131
7168
  </div>
@@ -7252,9 +7289,9 @@ class InputListBatchCrudComponent {
7252
7289
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListBatchCrudComponent, deps: [{ token: DialogCrudStateService }, { token: i2.SmzDialogConfig }], target: i0.ɵɵFactoryTarget.Component });
7253
7290
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputListBatchCrudComponent, isStandalone: false, selector: "smz-input-list-batch-crud", viewQueries: [{ propertyName: "formComponent", first: true, predicate: ["formComponent"], descendants: true }], ngImport: i0, template: `
7254
7291
  @if (form != null) {
7255
- <div class="grid grid-nogutter items-start justify-start">
7256
- <smz-form-group class="col" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7257
- <div class="w-full grid grid-nogutter items-start justify-end">
7292
+ <div class="flex flex-wrap items-start justify-start">
7293
+ <smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7294
+ <div class="w-full flex flex-wrap items-start justify-end">
7258
7295
  <button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
7259
7296
  </div>
7260
7297
  </div>
@@ -7267,9 +7304,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
7267
7304
  selector: 'smz-input-list-batch-crud',
7268
7305
  template: `
7269
7306
  @if (form != null) {
7270
- <div class="grid grid-nogutter items-start justify-start">
7271
- <smz-form-group class="col" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7272
- <div class="w-full grid grid-nogutter items-start justify-end">
7307
+ <div class="flex flex-wrap items-start justify-start">
7308
+ <smz-form-group class="flex-1" #formComponent [config]="form" clickStopPropagation></smz-form-group>
7309
+ <div class="w-full flex flex-wrap items-start justify-end">
7273
7310
  <button smzButton (click)="confirm()" type="button" [disabled]="!formComponent.isValid" icon="fa-solid fa-check" label="Confirmar" styleClass="mr-2"></button>
7274
7311
  </div>
7275
7312
  </div>
@@ -7403,11 +7440,11 @@ class FormSubmitComponent {
7403
7440
  this.dispose();
7404
7441
  }
7405
7442
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FormSubmitComponent, deps: [{ token: SmzUiBlockService }], target: i0.ɵɵFactoryTarget.Component });
7406
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FormSubmitComponent, isStandalone: false, selector: "smz-ui-form-submit", inputs: { form: "form", unBlockOnSave: "unBlockOnSave", useBlockUi: "useBlockUi", resetLabel: "resetLabel", resetStyleClass: "resetStyleClass", resetIcon: "resetIcon", saveLabel: "saveLabel", saveStyleClass: "saveStyleClass", saveIcon: "saveIcon" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "@if (form != null && response != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <button smzButton smzRipple type=\"button\" [icon]=\"saveIcon\" [styleClass]=\"saveStyleClass\" [disabled]=\"!response.isValid || !response.hasUnsavedChanges\" (click)=\"submitSave()\" [label]=\"saveLabel\"></button>\r\n <button smzButton smzRipple type=\"button\" [icon]=\"resetIcon\" [styleClass]=\"resetStyleClass\" [disabled]=\"!response.hasUnsavedChanges\" (click)=\"cancel()\" [label]=\"resetLabel\"></button>\r\n </div>\r\n}", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }] });
7443
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FormSubmitComponent, isStandalone: false, selector: "smz-ui-form-submit", inputs: { form: "form", unBlockOnSave: "unBlockOnSave", useBlockUi: "useBlockUi", resetLabel: "resetLabel", resetStyleClass: "resetStyleClass", resetIcon: "resetIcon", saveLabel: "saveLabel", saveStyleClass: "saveStyleClass", saveIcon: "saveIcon" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: "@if (form != null && response != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <button smzButton smzRipple type=\"button\" [icon]=\"saveIcon\" [styleClass]=\"saveStyleClass\" [disabled]=\"!response.isValid || !response.hasUnsavedChanges\" (click)=\"submitSave()\" [label]=\"saveLabel\"></button>\r\n <button smzButton smzRipple type=\"button\" [icon]=\"resetIcon\" [styleClass]=\"resetStyleClass\" [disabled]=\"!response.hasUnsavedChanges\" (click)=\"cancel()\" [label]=\"resetLabel\"></button>\r\n </div>\r\n}", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }] });
7407
7444
  }
7408
7445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FormSubmitComponent, decorators: [{
7409
7446
  type: Component,
7410
- args: [{ selector: 'smz-ui-form-submit', standalone: false, template: "@if (form != null && response != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <button smzButton smzRipple type=\"button\" [icon]=\"saveIcon\" [styleClass]=\"saveStyleClass\" [disabled]=\"!response.isValid || !response.hasUnsavedChanges\" (click)=\"submitSave()\" [label]=\"saveLabel\"></button>\r\n <button smzButton smzRipple type=\"button\" [icon]=\"resetIcon\" [styleClass]=\"resetStyleClass\" [disabled]=\"!response.hasUnsavedChanges\" (click)=\"cancel()\" [label]=\"resetLabel\"></button>\r\n </div>\r\n}" }]
7447
+ args: [{ selector: 'smz-ui-form-submit', standalone: false, template: "@if (form != null && response != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <button smzButton smzRipple type=\"button\" [icon]=\"saveIcon\" [styleClass]=\"saveStyleClass\" [disabled]=\"!response.isValid || !response.hasUnsavedChanges\" (click)=\"submitSave()\" [label]=\"saveLabel\"></button>\r\n <button smzButton smzRipple type=\"button\" [icon]=\"resetIcon\" [styleClass]=\"resetStyleClass\" [disabled]=\"!response.hasUnsavedChanges\" (click)=\"cancel()\" [label]=\"resetLabel\"></button>\r\n </div>\r\n}" }]
7411
7448
  }], ctorParameters: () => [{ type: SmzUiBlockService }], propDecorators: { form: [{
7412
7449
  type: Input
7413
7450
  }], unBlockOnSave: [{
@@ -9224,11 +9261,11 @@ class DialogFooterComponent {
9224
9261
  return response;
9225
9262
  }
9226
9263
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogFooterComponent, deps: [{ token: DynamicDialogRef }, { token: SmzDynamicDialogConfig }, { token: SmzDialogsVisibilityService }, { token: InjectComponentService }, { token: i0.ChangeDetectorRef }, { token: i1$3.Actions }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
9227
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogFooterComponent, isStandalone: false, selector: "smz-dialog-footer", ngImport: i0, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"grid grid-nogutter items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => i2.SmzButtonComponent), selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i2.SmzToolbarComponent), selector: "ui-toolbar" }, { kind: "directive", type: i0.forwardRef(() => i2.SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => ConfirmOnEnterDirective), selector: "[confirmOnEnter]", inputs: ["confirmOnEnter", "clickEvent", "delayConfirmation", "disabled", "dialogId"] }], encapsulation: i0.ViewEncapsulation.None });
9264
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DialogFooterComponent, isStandalone: false, selector: "smz-dialog-footer", ngImport: i0, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"flex flex-wrap items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i0.forwardRef(() => i2.SmzButtonComponent), selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i2.SmzToolbarComponent), selector: "ui-toolbar" }, { kind: "directive", type: i0.forwardRef(() => i2.SmzTooltipDirective), selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: i0.forwardRef(() => ConfirmOnEnterDirective), selector: "[confirmOnEnter]", inputs: ["confirmOnEnter", "clickEvent", "delayConfirmation", "disabled", "dialogId"] }], encapsulation: i0.ViewEncapsulation.None });
9228
9265
  }
9229
9266
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DialogFooterComponent, decorators: [{
9230
9267
  type: Component,
9231
- args: [{ selector: 'smz-dialog-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"grid grid-nogutter items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n" }]
9268
+ args: [{ selector: 'smz-dialog-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data._context; as context) {\r\n <ui-toolbar class=\"smz-dialog-footer\">\r\n <div class=\"flex flex-wrap items-center justify-end gap-2\">\r\n @if (context.customButtonsOrder == null || context.customButtonsOrder === 'first') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n @if (context.behaviors.showCancelButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('cancel')\" [label]=\"context.builtInButtons.cancelName\" [styleClass]=\"context.builtInButtons.cancelClass\" (click)=\"close()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showConfirmButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('confirm')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.confirmName\" [styleClass]=\"context.builtInButtons.confirmClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"confirm()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showOkButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('ok')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.okName\" [styleClass]=\"context.builtInButtons.okClass\" [disabled]=\"context.isGlobalDisabled\" (click)=\"ok()\">\r\n </button>\r\n }\r\n <!-- DependsOnValidation -->\r\n @if (context.behaviors.showSaveButton) {\r\n <button smzButton [attr.data-testid]=\"buildDialogTestId('save')\" [confirmOnEnter]=\"context.isLoading ? false : context.behaviors.confirmOnEnter\" [dialogId]=\"context.id\" [label]=\"context.builtInButtons.saveName\" [styleClass]=\"context.builtInButtons.saveClass\" [icon]=\"context.isLoading ? 'fa-solid fa-spinner fa-spin' : ''\" [disabled]=\"context.isGlobalDisabled\" (click)=\"save()\">\r\n </button>\r\n }\r\n @if (context.customButtonsOrder === 'last') {\r\n @for (customButton of context.customButtons; track customButton) {\r\n <!-- DependsOnValidation -->\r\n @if (customButton.visible == null || customButton.visible) {\r\n <button smzButton [attr.data-testid]=\"buildCustomButtonTestId(customButton)\" [label]=\"customButton.name\" [styleClass]=\"customButton.class\" [disabled]=\"context.isGlobalDisabled || customButton.dependsOnValidation && !isValid() || customButton.disabled\" [smzTooltip]=\"customButton.tooltip\" tooltipPosition=\"top\" (click)=\"customClick(customButton)\">\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}\r\n" }]
9232
9269
  }], ctorParameters: () => [{ type: DynamicDialogRef }, { type: SmzDynamicDialogConfig }, { type: SmzDialogsVisibilityService }, { type: InjectComponentService }, { type: i0.ChangeDetectorRef }, { type: i1$3.Actions }, { type: i1$3.Store }] });
9233
9270
  class ConfirmOnEnterDirective {
9234
9271
  el;
@@ -9451,7 +9488,7 @@ class TableFormsService {
9451
9488
  this.state.columns
9452
9489
  .filter(c => c.editable.type !== SmzEditableType.NONE)
9453
9490
  .forEach(col => {
9454
- // console.log('col', col);
9491
+ // console.log('flex-1', col);
9455
9492
  // VALOR
9456
9493
  const value = SmzObjectUtils.resolveFieldData(row, col.editable.property);
9457
9494
  // CRIAR VALIDADORES COM BASE NA CONFIGURAÇÃO DA COLUNA
@@ -17047,7 +17084,7 @@ class ColumnFilter {
17047
17084
  <div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
17048
17085
  @if (display === 'row') {
17049
17086
  <p-columnFilterFormElement
17050
- class="p-fluid"
17087
+ class=""
17051
17088
  [type]="type"
17052
17089
  [field]="field"
17053
17090
  [filterConstraint]="$any(dt.filters[field])"
@@ -17087,7 +17124,7 @@ class ColumnFilter {
17087
17124
  }
17088
17125
  @if (showMenu && overlayVisible) {
17089
17126
  <div
17090
- [ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
17127
+ [ngClass]="{ 'p-column-filter-overlay p-component': true, 'p-column-filter-overlay-menu': display === 'menu' }"
17091
17128
  (click)="onContentClick()"
17092
17129
  [@overlayAnimation]="'visible'"
17093
17130
  (@overlayAnimation.start)="onOverlayAnimationStart($event)"
@@ -17177,7 +17214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
17177
17214
  <div class="p-column-filter" [ngClass]="{ 'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu' }">
17178
17215
  @if (display === 'row') {
17179
17216
  <p-columnFilterFormElement
17180
- class="p-fluid"
17217
+ class=""
17181
17218
  [type]="type"
17182
17219
  [field]="field"
17183
17220
  [filterConstraint]="$any(dt.filters[field])"
@@ -17217,7 +17254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
17217
17254
  }
17218
17255
  @if (showMenu && overlayVisible) {
17219
17256
  <div
17220
- [ngClass]="{ 'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu' }"
17257
+ [ngClass]="{ 'p-column-filter-overlay p-component': true, 'p-column-filter-overlay-menu': display === 'menu' }"
17221
17258
  (click)="onContentClick()"
17222
17259
  [@overlayAnimation]="'visible'"
17223
17260
  (@overlayAnimation.start)="onOverlayAnimationStart($event)"
@@ -17753,11 +17790,11 @@ class SmzDataInfoComponent {
17753
17790
  });
17754
17791
  }
17755
17792
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17756
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDataInfoComponent, isStandalone: false, selector: "smz-data-info", inputs: { image: "image", message: "message", actions: "actions", callbackInfo: "callbackInfo", callbackLabel: "callbackLabel" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<div class=\"grid justify-center items-center p-4 m-0 h-full w-full text-center\">\r\n <div class=\"col-10 md:col-8 grid grid-nogutter flex-col items-center justify-center\">\r\n\r\n @if (image != null && image !== '') {\r\n <img [src]=\"image\" class=\"img-fluid\" width=\"60%\" [ngStyle]=\"{ 'max-width': '250px' }\" />\r\n }\r\n <h3 class=\"mt-2\">{{ message }}</h3>\r\n @if (callbackInfo != null) {\r\n <div class=\"mb-2\" [innerHtml]=\"callbackInfo\"></div>\r\n }\r\n\r\n <div class=\"grid grid-nogutter items-center justify-center mt-2 gap-2\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: { } }\"></ng-container>\r\n @if (callbackLabel != null) {\r\n <button smzButton type=\"button\" [label]=\"callbackLabel\" (click)=\"clicked.emit($event)\"></button>\r\n }\r\n @if (actions) {\r\n @for (action of actions; track action) {\r\n <button smzButton type=\"button\" [label]=\"action.label\" [icon]=\"action.icon\" (click)=\"action.callback($event)\"></button>\r\n }\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }] });
17793
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDataInfoComponent, isStandalone: false, selector: "smz-data-info", inputs: { image: "image", message: "message", actions: "actions", callbackInfo: "callbackInfo", callbackLabel: "callbackLabel" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<div class=\"flex flex-wrap justify-center items-center p-4 m-0 h-full w-full text-center\">\r\n <div class=\"w-10/12 flex-none md:w-8/12 flex flex-wrap flex-col items-center justify-center p-2\">\r\n\r\n @if (image != null && image !== '') {\r\n <img [src]=\"image\" class=\"img-fluid\" width=\"60%\" [ngStyle]=\"{ 'max-width': '250px' }\" />\r\n }\r\n <h3 class=\"mt-2\">{{ message }}</h3>\r\n @if (callbackInfo != null) {\r\n <div class=\"mb-2\" [innerHtml]=\"callbackInfo\"></div>\r\n }\r\n\r\n <div class=\"flex flex-wrap items-center justify-center mt-2 gap-2\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: { } }\"></ng-container>\r\n @if (callbackLabel != null) {\r\n <button smzButton type=\"button\" [label]=\"callbackLabel\" (click)=\"clicked.emit($event)\"></button>\r\n }\r\n @if (actions) {\r\n @for (action of actions; track action) {\r\n <button smzButton type=\"button\" [label]=\"action.label\" [icon]=\"action.icon\" (click)=\"action.callback($event)\"></button>\r\n }\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }] });
17757
17794
  }
17758
17795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDataInfoComponent, decorators: [{
17759
17796
  type: Component,
17760
- args: [{ selector: 'smz-data-info', standalone: false, template: "<div class=\"grid justify-center items-center p-4 m-0 h-full w-full text-center\">\r\n <div class=\"col-10 md:col-8 grid grid-nogutter flex-col items-center justify-center\">\r\n\r\n @if (image != null && image !== '') {\r\n <img [src]=\"image\" class=\"img-fluid\" width=\"60%\" [ngStyle]=\"{ 'max-width': '250px' }\" />\r\n }\r\n <h3 class=\"mt-2\">{{ message }}</h3>\r\n @if (callbackInfo != null) {\r\n <div class=\"mb-2\" [innerHtml]=\"callbackInfo\"></div>\r\n }\r\n\r\n <div class=\"grid grid-nogutter items-center justify-center mt-2 gap-2\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: { } }\"></ng-container>\r\n @if (callbackLabel != null) {\r\n <button smzButton type=\"button\" [label]=\"callbackLabel\" (click)=\"clicked.emit($event)\"></button>\r\n }\r\n @if (actions) {\r\n @for (action of actions; track action) {\r\n <button smzButton type=\"button\" [label]=\"action.label\" [icon]=\"action.icon\" (click)=\"action.callback($event)\"></button>\r\n }\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>" }]
17797
+ args: [{ selector: 'smz-data-info', standalone: false, template: "<div class=\"flex flex-wrap justify-center items-center p-4 m-0 h-full w-full text-center\">\r\n <div class=\"w-10/12 flex-none md:w-8/12 flex flex-wrap flex-col items-center justify-center p-2\">\r\n\r\n @if (image != null && image !== '') {\r\n <img [src]=\"image\" class=\"img-fluid\" width=\"60%\" [ngStyle]=\"{ 'max-width': '250px' }\" />\r\n }\r\n <h3 class=\"mt-2\">{{ message }}</h3>\r\n @if (callbackInfo != null) {\r\n <div class=\"mb-2\" [innerHtml]=\"callbackInfo\"></div>\r\n }\r\n\r\n <div class=\"flex flex-wrap items-center justify-center mt-2 gap-2\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: { } }\"></ng-container>\r\n @if (callbackLabel != null) {\r\n <button smzButton type=\"button\" [label]=\"callbackLabel\" (click)=\"clicked.emit($event)\"></button>\r\n }\r\n @if (actions) {\r\n @for (action of actions; track action) {\r\n <button smzButton type=\"button\" [label]=\"action.label\" [icon]=\"action.icon\" (click)=\"action.callback($event)\"></button>\r\n }\r\n }\r\n </div>\r\n\r\n </div>\r\n</div>" }]
17761
17798
  }], propDecorators: { templates: [{
17762
17799
  type: ContentChildren,
17763
17800
  args: [SmzTemplateDirective]
@@ -18000,11 +18037,11 @@ class SmzMenuComponent {
18000
18037
  });
18001
18038
  }
18002
18039
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18003
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzMenuComponent, isStandalone: false, selector: "smz-menu", inputs: { items: "items", callback: "callback", data: "data", buttonClass: "buttonClass", styleClass: "styleClass", icon: "icon", behavior: "behavior", testId: "testId" }, ngImport: i0, template: "\r\n@switch (behavior) {\r\n @case ('overlay') {\r\n <ui-menu #actionMenu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></ui-menu>\r\n <button smzButton id=\"action-button\" type=\"button\" [attr.data-testid]=\"testId\" [styleClass]=\"[buttonClass, styleClass]\" [icon]=\"icon\" (click)=\"toggle($event, actionMenu)\"></button>\r\n }\r\n @case ('inline') {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n @for (item of (items | smzFlattenMenu : data); track item) {\r\n @if (item.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"item\" [data]=\"data\" [icon]=\"item.icon\" [styleClass]=\"item.styleClass\" [disabled]=\"item.disabled\" [smzTooltip]=\"item.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n}\r\n", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18040
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzMenuComponent, isStandalone: false, selector: "smz-menu", inputs: { items: "items", callback: "callback", data: "data", buttonClass: "buttonClass", styleClass: "styleClass", icon: "icon", behavior: "behavior", testId: "testId" }, ngImport: i0, template: "\r\n@switch (behavior) {\r\n @case ('overlay') {\r\n <ui-menu #actionMenu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></ui-menu>\r\n <button smzButton id=\"action-button\" type=\"button\" [attr.data-testid]=\"testId\" [styleClass]=\"[buttonClass, styleClass]\" [icon]=\"icon\" (click)=\"toggle($event, actionMenu)\"></button>\r\n }\r\n @case ('inline') {\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n @for (item of (items | smzFlattenMenu : data); track item) {\r\n @if (item.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"item\" [data]=\"data\" [icon]=\"item.icon\" [styleClass]=\"item.styleClass\" [disabled]=\"item.disabled\" [smzTooltip]=\"item.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n}\r\n", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18004
18041
  }
18005
18042
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzMenuComponent, decorators: [{
18006
18043
  type: Component,
18007
- args: [{ selector: 'smz-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (behavior) {\r\n @case ('overlay') {\r\n <ui-menu #actionMenu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></ui-menu>\r\n <button smzButton id=\"action-button\" type=\"button\" [attr.data-testid]=\"testId\" [styleClass]=\"[buttonClass, styleClass]\" [icon]=\"icon\" (click)=\"toggle($event, actionMenu)\"></button>\r\n }\r\n @case ('inline') {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n @for (item of (items | smzFlattenMenu : data); track item) {\r\n @if (item.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"item\" [data]=\"data\" [icon]=\"item.icon\" [styleClass]=\"item.styleClass\" [disabled]=\"item.disabled\" [smzTooltip]=\"item.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n}\r\n" }]
18044
+ args: [{ selector: 'smz-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (behavior) {\r\n @case ('overlay') {\r\n <ui-menu #actionMenu [popup]=\"true\" [model]=\"menuItems\" appendTo=\"body\"></ui-menu>\r\n <button smzButton id=\"action-button\" type=\"button\" [attr.data-testid]=\"testId\" [styleClass]=\"[buttonClass, styleClass]\" [icon]=\"icon\" (click)=\"toggle($event, actionMenu)\"></button>\r\n }\r\n @case ('inline') {\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n @for (item of (items | smzFlattenMenu : data); track item) {\r\n @if (item.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"item\" [data]=\"data\" [icon]=\"item.icon\" [styleClass]=\"item.styleClass\" [disabled]=\"item.disabled\" [smzTooltip]=\"item.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n}\r\n" }]
18008
18045
  }], propDecorators: { items: [{
18009
18046
  type: Input
18010
18047
  }], callback: [{
@@ -18307,11 +18344,11 @@ class SmzTableContentActionsComponent {
18307
18344
  constructor() { }
18308
18345
  ngOnInit() { }
18309
18346
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableContentActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18310
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableContentActionsComponent, isStandalone: false, selector: "smz-table-content-actions", inputs: { col: "col", contentTypes: "contentTypes", item: "item", rowIndex: "rowIndex" }, host: { classAttribute: "grid grid-nogutter items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of col.actions; track action.icon) {\r\n @if (action.condition(item)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(item)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(item) : null\"></i>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
18347
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableContentActionsComponent, isStandalone: false, selector: "smz-table-content-actions", inputs: { col: "col", contentTypes: "contentTypes", item: "item", rowIndex: "rowIndex" }, host: { classAttribute: "flex flex-wrap items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of col.actions; track action.icon) {\r\n @if (action.condition(item)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(item)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(item) : null\"></i>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
18311
18348
  }
18312
18349
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableContentActionsComponent, decorators: [{
18313
18350
  type: Component,
18314
- args: [{ selector: 'smz-table-content-actions', host: { class: 'grid grid-nogutter items-center justify-start gap-2' }, standalone: false, template: "@for (action of col.actions; track action.icon) {\r\n @if (action.condition(item)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(item)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(item) : null\"></i>\r\n }\r\n}" }]
18351
+ args: [{ selector: 'smz-table-content-actions', host: { class: 'flex flex-wrap items-center justify-start gap-2' }, standalone: false, template: "@for (action of col.actions; track action.icon) {\r\n @if (action.condition(item)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(item)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(item) : null\"></i>\r\n }\r\n}" }]
18315
18352
  }], ctorParameters: () => [], propDecorators: { col: [{
18316
18353
  type: Input
18317
18354
  }], contentTypes: [{
@@ -18443,11 +18480,11 @@ class SmzTableCaptionButtonsComponent {
18443
18480
  return buildSmzTableTestId(this.tableTestId, `caption-${key}`);
18444
18481
  }
18445
18482
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableCaptionButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18446
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableCaptionButtonsComponent, isStandalone: false, selector: "smz-table-caption-buttons", inputs: { buttons: "buttons", tableTestId: "tableTestId" }, host: { classAttribute: "grid grid-nogutter items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of buttons; track action.label) {\r\n @if (action.visibilityCondition()) {\r\n <button smzButton type=\"button\" [attr.data-testid]=\"buildCaptionButtonTestId(action)\" [styleClass]=\"action.styleClass\" [icon]=\"action.icon\" [label]=\"action.label\" (click)=\"action.callback()\" [disabled]=\"!(action.activationCondition() && action.claimsWithAccess | rbkCanAccess)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip() : null\"></button>\r\n }\r\n}\r\n", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }] });
18483
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableCaptionButtonsComponent, isStandalone: false, selector: "smz-table-caption-buttons", inputs: { buttons: "buttons", tableTestId: "tableTestId" }, host: { classAttribute: "flex flex-wrap items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of buttons; track action.label) {\r\n @if (action.visibilityCondition()) {\r\n <button smzButton type=\"button\" [attr.data-testid]=\"buildCaptionButtonTestId(action)\" [styleClass]=\"action.styleClass\" [icon]=\"action.icon\" [label]=\"action.label\" (click)=\"action.callback()\" [disabled]=\"!(action.activationCondition() && action.claimsWithAccess | rbkCanAccess)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip() : null\"></button>\r\n }\r\n}\r\n", dependencies: [{ kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }] });
18447
18484
  }
18448
18485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableCaptionButtonsComponent, decorators: [{
18449
18486
  type: Component,
18450
- args: [{ selector: 'smz-table-caption-buttons', host: { class: 'grid grid-nogutter items-center justify-start gap-2' }, standalone: false, template: "@for (action of buttons; track action.label) {\r\n @if (action.visibilityCondition()) {\r\n <button smzButton type=\"button\" [attr.data-testid]=\"buildCaptionButtonTestId(action)\" [styleClass]=\"action.styleClass\" [icon]=\"action.icon\" [label]=\"action.label\" (click)=\"action.callback()\" [disabled]=\"!(action.activationCondition() && action.claimsWithAccess | rbkCanAccess)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip() : null\"></button>\r\n }\r\n}\r\n" }]
18487
+ args: [{ selector: 'smz-table-caption-buttons', host: { class: 'flex flex-wrap items-center justify-start gap-2' }, standalone: false, template: "@for (action of buttons; track action.label) {\r\n @if (action.visibilityCondition()) {\r\n <button smzButton type=\"button\" [attr.data-testid]=\"buildCaptionButtonTestId(action)\" [styleClass]=\"action.styleClass\" [icon]=\"action.icon\" [label]=\"action.label\" (click)=\"action.callback()\" [disabled]=\"!(action.activationCondition() && action.claimsWithAccess | rbkCanAccess)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip() : null\"></button>\r\n }\r\n}\r\n" }]
18451
18488
  }], ctorParameters: () => [], propDecorators: { buttons: [{
18452
18489
  type: Input
18453
18490
  }], tableTestId: [{
@@ -18460,11 +18497,11 @@ class SmzTableHeaderActionsComponent {
18460
18497
  constructor() { }
18461
18498
  ngOnInit() { }
18462
18499
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableHeaderActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18463
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableHeaderActionsComponent, isStandalone: false, selector: "smz-table-header-actions", inputs: { col: "col" }, host: { classAttribute: "grid grid-nogutter items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of col.headerActions; track action.icon) {\r\n @if (action.condition(col)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(col)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(col) : null\"></i>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
18500
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableHeaderActionsComponent, isStandalone: false, selector: "smz-table-header-actions", inputs: { col: "col" }, host: { classAttribute: "flex flex-wrap items-center justify-start gap-2" }, ngImport: i0, template: "@for (action of col.headerActions; track action.icon) {\r\n @if (action.condition(col)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(col)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(col) : null\"></i>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
18464
18501
  }
18465
18502
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableHeaderActionsComponent, decorators: [{
18466
18503
  type: Component,
18467
- args: [{ selector: 'smz-table-header-actions', host: { class: 'grid grid-nogutter items-center justify-start gap-2' }, standalone: false, template: "@for (action of col.headerActions; track action.icon) {\r\n @if (action.condition(col)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(col)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(col) : null\"></i>\r\n }\r\n}" }]
18504
+ args: [{ selector: 'smz-table-header-actions', host: { class: 'flex flex-wrap items-center justify-start gap-2' }, standalone: false, template: "@for (action of col.headerActions; track action.icon) {\r\n @if (action.condition(col)) {\r\n <i [ngClass]=\"action.icon + ' ' + action.styleClass\" class=\"cursor-pointer\" (click)=\"action.callback(col)\" [smzTooltip]=\"action.tooltip != null ? action.tooltip(col) : null\"></i>\r\n }\r\n}" }]
18468
18505
  }], ctorParameters: () => [], propDecorators: { col: [{
18469
18506
  type: Input
18470
18507
  }] } });
@@ -18486,7 +18523,7 @@ class SmzTableContextPipe {
18486
18523
  const contextColumn = {
18487
18524
  ...column,
18488
18525
  width,
18489
- content: column.content ?? { type: SmzContentType.TEXT, contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2', styleClass: '', data: {}, ngStyle: {} },
18526
+ content: column.content ?? { type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: {}, ngStyle: {} },
18490
18527
  filter: column.filter ?? { type: SmzFilterType.NONE, isGlobalFilterable: false }
18491
18528
  };
18492
18529
  if (column.content != null) {
@@ -18717,7 +18754,7 @@ const ContentConvertions = [
18717
18754
  isOrderable: true,
18718
18755
  isGlobalFilterable: true,
18719
18756
  filterType: SmzFilterType.TEXT,
18720
- content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18757
+ content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18721
18758
  editable: (input) => ({
18722
18759
  property: input.propertyName,
18723
18760
  type: SmzEditableType.TEXT,
@@ -18733,7 +18770,7 @@ const ContentConvertions = [
18733
18770
  isOrderable: false,
18734
18771
  isGlobalFilterable: true,
18735
18772
  filterType: SmzFilterType.MULTI_SELECT,
18736
- content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18773
+ content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18737
18774
  editable: (input) => ({
18738
18775
  property: input.propertyName,
18739
18776
  type: SmzEditableType.DROPDOWN,
@@ -18749,7 +18786,7 @@ const ContentConvertions = [
18749
18786
  isOrderable: true,
18750
18787
  isGlobalFilterable: true,
18751
18788
  filterType: SmzFilterType.TEXT,
18752
- content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18789
+ content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18753
18790
  editable: (input) => ({
18754
18791
  property: input.propertyName,
18755
18792
  type: SmzEditableType.AREA,
@@ -18765,7 +18802,7 @@ const ContentConvertions = [
18765
18802
  isOrderable: true,
18766
18803
  isGlobalFilterable: true,
18767
18804
  filterType: SmzFilterType.DATE,
18768
- content: () => ({ type: SmzContentType.CALENDAR, contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2', styleClass: '', data: { format: 'shortDate' }, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18805
+ content: () => ({ type: SmzContentType.CALENDAR, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: { format: 'shortDate' }, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18769
18806
  editable: (input) => ({
18770
18807
  property: input.propertyName,
18771
18808
  type: SmzEditableType.CALENDAR,
@@ -18781,7 +18818,7 @@ const ContentConvertions = [
18781
18818
  isOrderable: true,
18782
18819
  isGlobalFilterable: true,
18783
18820
  filterType: SmzFilterType.BOOLEAN,
18784
- content: () => ({ type: SmzContentType.ICON, contentStyleClass: 'grid grid-nogutter items-center justify-start', styleClass: '', data: {
18821
+ content: () => ({ type: SmzContentType.ICON, contentStyleClass: 'flex flex-wrap items-center justify-start', styleClass: '', data: {
18785
18822
  matches: [
18786
18823
  { icon: 'fa-solid fa-toggle-on', class: 'text-green-500', value: true },
18787
18824
  { icon: 'fa-solid fa-toggle-off', class: 'text-gray-300', value: false }
@@ -18802,7 +18839,7 @@ const ContentConvertions = [
18802
18839
  isOrderable: true,
18803
18840
  isGlobalFilterable: true,
18804
18841
  filterType: SmzFilterType.BOOLEAN,
18805
- content: () => ({ type: SmzContentType.ICON, contentStyleClass: 'grid grid-nogutter items-center justify-start', styleClass: '', data: {
18842
+ content: () => ({ type: SmzContentType.ICON, contentStyleClass: 'flex flex-wrap items-center justify-start', styleClass: '', data: {
18806
18843
  matches: [
18807
18844
  { icon: 'fa-solid fa-toggle-on', class: 'text-green-500', value: true },
18808
18845
  { icon: 'fa-solid fa-toggle-off', class: 'text-gray-300', value: false }
@@ -18823,7 +18860,7 @@ const ContentConvertions = [
18823
18860
  isOrderable: true,
18824
18861
  isGlobalFilterable: true,
18825
18862
  filterType: SmzFilterType.NUMERIC,
18826
- content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18863
+ content: () => ({ type: SmzContentType.TEXT, contentStyleClass: 'flex flex-wrap items-center justify-start gap-2', styleClass: '', data: null, ngStyle: {}, exportAs: null, exportSource: SmzExportableContentSource.DATA }),
18827
18864
  editable: (input) => ({
18828
18865
  property: input.propertyName,
18829
18866
  type: SmzEditableType.NUMBER,
@@ -19313,7 +19350,7 @@ class SmzBaseColumnBuilder {
19313
19350
  hasSubTotal: false,
19314
19351
  content: {
19315
19352
  type: type,
19316
- contentStyleClass: 'grid grid-nogutter items-center justify-start gap-2',
19353
+ contentStyleClass: 'flex flex-wrap items-center justify-start gap-2',
19317
19354
  styleClass: '',
19318
19355
  data: { matches: [] },
19319
19356
  ngStyle: {},
@@ -19472,7 +19509,7 @@ class SmzBaseColumnBuilder {
19472
19509
  throw Error(`You can´t set more than one column with the same field name. ${this.columnRef.field}`);
19473
19510
  }
19474
19511
  if (this.columnRef.actions.length > 0 && this.columnRef.actionsAlignment === 'begin') {
19475
- this.columnRef.content.styleClass += ' col grid grid-nogutter items-center justify-start';
19512
+ this.columnRef.content.styleClass += ' flex-1 flex flex-wrap items-center justify-start';
19476
19513
  }
19477
19514
  return this.parentRef;
19478
19515
  }
@@ -22609,11 +22646,11 @@ class SmzTableComponent {
22609
22646
  this.tableHelper.clear(this.tableKey);
22610
22647
  }
22611
22648
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TableEditableService }, { token: TableFormsService }, { token: TableHelperService }, { token: i1$3.Store }, { token: SmzExcelService }], target: i0.ɵɵFactoryTarget.Component });
22612
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableComponent, isStandalone: false, selector: "smz-ui-table", inputs: { state: "state", items: "items", loading: "loading" }, outputs: { selectionChange: "selectionChange", validChange: "validChange", filterChange: "filterChange", columnVisibilityChange: "columnVisibilityChange", create: "create", update: "update", delete: "delete" }, host: { properties: { "attr.data-testid": "this.hostTestId" } }, providers: [TableEditableService, TableFormsService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }, { propertyName: "columnMultiselect", first: true, predicate: ["columnMultiselect"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state | tableContext; as context) {\r\n @if ((context.state.emptyFeedback != null && (context.state.emptyFeedback.extraInfo || context.state.emptyFeedback.image || context.state.emptyFeedback.actionButtons)) && (items != null && items.length === 0) && context.state.emptyFeedback.isFeatured) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\n [class]=\"'p-datatable-smz-ui-table' + (context.state.styles.showGrid ? ' p-datatable-gridlines' : '') + (context.state.styles.size === 'extra-small' ? ' p-datatable-xs' : '') + (context.state.styles.size === 'small' ? ' p-datatable-sm' : '') + (context.state.styles.size === 'large' ? ' p-datatable-lg' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-pdf')\" [label]=\"context.state.locale.exportToPdf.label\" icon=\"fa-solid fa-file-pdf\" (click)=\"exportToPdf(context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-excel')\" [label]=\"context.state.locale.exportToExcel.label\" icon=\"fa-solid fa-file-excel\" (click)=\"exportToExcel(table, context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('create')\" [label]=\"context.state.editable.creation.buttonLabel\" icon=\"fa-solid fa-plus\" (click)=\"editableService.onRowCreateInit(table, context.columns)\" [disabled]=\"clonedData.showSkeleton || editableService.isEditing || editableService.isCreating || context.state.editable.creation.isButtonDisabled\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-selection')\" [label]=\"context.state.locale.rowSelection.label\" icon=\"fa-solid fa-check-double\" (click)=\"onRowSelection(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-expansion')\" [label]=\"context.state.rowExpansion.label\" icon=\"fa-solid fa-list\" (click)=\"onRowExpansion(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('clear-filters')\" [label]=\"context.state.locale.clearFilters.label\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 col-12 md:col-2\" styleClass=\"w-full\" appendTo=\"body\" [options]=\"context.hideableColumns\" [(ngModel)]=\"selectedColumns\" [placeholder]=\"context.state.locale.columnVisibility.placeholder\" [selectedItemsLabel]=\"context.state.locale.columnVisibility.selectedItemsLabel\" optionLabel=\"name\" dataKey=\"field\" optionLabel=\"header\" [filter]=\"true\" (panelHide)=\"updateColumnsVisibility(true)\" [smzTooltip]=\"context.state.locale.columnVisibility.pTooltip\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal [(ngModel)]=\"globalSearchInput\" smzInputText type=\"text\" styleClass=\"database-global-search\" (input)=\"updateGlobalFilter(inputGlobal.value)\" [disabled]=\"clonedData.showSkeleton\" [placeholder]=\"context.state.locale.globalFilter.placeholder\" [attr.data-testid]=\"buildTableTestId('search')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-select appendTo=\"body\" [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : true\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField : filterField : null : true : false : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\n <th [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\n <button smzButton [label]=\"batchItem.label\" class=\"animate__animated animate__fadeIn\" [styleClass]=\"'p-button-plain ' + (batchItem.styleClass)\" [icon]=\"batchItem.icon\" (click)=\"batchItem.command(selectedItems); selectedItems = [];\" [disabled]=\"batchItem.disabled\" [smzTooltip]=\"batchItem.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'grid grid-nogutter justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\n <button smzButton type=\"button\" class=\"smz-table-row-expansion-toggle\" [icon]=\"item._isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\" (click)=\"item._isExpanded = !item._isExpanded; item._isNew = false\" variant=\"text\" [rounded]=\"true\" size=\"sm\"></button>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\n <div class=\"rounded bg-cyan-400 text-sm text-white px-2 py-0 smz-table-new-tag\" (click)=\"item._isNew = false\">{{ context.state.rowExpansion.highlightLabel }}</div>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [attr.data-testid]=\"buildCellTestId(item, rowIndex, col.field)\" [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\" [ngStyle]=\"col.content.ngStyle\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-input-number *ngVar=\"col.editable.data as numberData\" [formControl]=\"$any(control)\" [mode]=\"numberData.mode\" [minFractionDigits]=\"numberData.minFractionDigits\" [maxFractionDigits]=\"numberData.maxFractionDigits\" [currency]=\"numberData.currency\" [useGrouping]=\"numberData.useGrouping\" [allowEmpty]=\"numberData.allowEmpty\" [showClear]=\"numberData.showClear\" [showButtons]=\"numberData.showButtons\" [prefix]=\"numberData.prefix\" [suffix]=\"numberData.suffix\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-select appendTo=\"body\" [formControl]=\"$any(control)\" styleClass=\"w-full\" [options]=\"col.editable.data | editableSource\" optionLabel=\"name\" dataKey=\"id\" [placeholder]=\"$any(col.editable.data).placeholder\" [showClear]=\"!col.editable.validatorsPreset?.isRequired\" [filter]=\"true\"></ui-select>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-pencil\" (click)=\"editableService.onRowEditInit(item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.update.isButtonDisabled || (!context.state.editable.update.condition(item))\" pInitEditableRow [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" (click)=\"editableService.onRowRemove($event, table, item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.remove.isButtonDisabled || (!context.state.editable.remove.condition(item))\" [rounded]=\"true\" variant=\"text\" severity=\"secondary\"></button>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-rotate fa-spin\" [disabled]=\"true\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-info\"></button>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowCreateSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowEditSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\n <button smzButton type=\"button\" icon=\"fas fa-exclamation-triangle\" [disabled]=\"false\" class=\"mr-2\" (click)=\"errorsOverlay.toggle($event)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\n <smz-menu [callback]=\"context.state.actions.menu.callback\" [items]=\"context.state.actions.menu.items\" [data]=\"item\" [behavior]=\"context.state.actions.menu.behavior\" [ngClass]=\"{ 'ml-2': context.state.actions.customActions.isVisible }\" [icon]=\"context.state.actions.menu.styles.icon\" [styleClass]=\"context.state.actions.menu.styles.styleClass\" [buttonClass]=\"context.state.actions.menu.styles.buttonClass\" [testId]=\"buildRowMenuTestId(item, rowIndex)\"></smz-menu>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\" [ngStyle]=\"{ 'text-align': 'center' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\n <button smzButton [label]=\"context.state.locale.clearFilters.label\" class=\"mt-3\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" variant=\"outlined\"></button>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "stripedRows", "size", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: CellEditor, selector: "p-cellEditor" }, { kind: "component", type: SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "component", type: i2.SmzDatePickerComponent, selector: "ui-date-picker", inputs: ["selectionMode", "dateFormat", "showTime", "timeOnly", "showSeconds", "hourFormat", "minDate", "maxDate", "showButtonBar", "showIcon", "showOnFocus", "keepInvalid", "readonlyInput", "placeholder", "inputId", "styleClass", "appendTo", "touchUI", "focusTrap"], outputs: ["selected", "cleared", "opened", "closed", "blurred"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TableItemActionsDirective, selector: "[tableItemAction]", inputs: ["isClickable", "item", "callback", "expandRowOnClick"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: SmzDataInfoComponent, selector: "smz-data-info", inputs: ["image", "message", "actions", "callbackInfo", "callbackLabel"], outputs: ["clicked"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSkeletonComponent, selector: "ui-skeleton", inputs: ["shape", "width", "height"] }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { kind: "component", type: i2.SmzInputNumberComponent, selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId", "name"], outputs: ["inputed", "keyDown", "blurred", "focused"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }, { kind: "component", type: SmzColumnFilterComponent, selector: "smz-column-filter", inputs: ["currency", "display", "field", "matchMode", "showAddButton", "showMatchModes", "showOperator", "showApplyButton", "type", "showTime"] }, { kind: "component", type: SmzTableValidationMessagesComponent, selector: "smz-table-validation-messages", inputs: ["errors", "messages", "isFormInvalid", "isFormDirty"] }, { kind: "component", type: SmzTableContentComponent, selector: "smz-table-content", inputs: ["col", "contentTypes", "item", "rowIndex", "contentTemplate"] }, { kind: "component", type: SmzTableCaptionButtonsComponent, selector: "smz-table-caption-buttons", inputs: ["buttons", "tableTestId"] }, { kind: "component", type: SmzTableHeaderActionsComponent, selector: "smz-table-header-actions", inputs: ["col"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: UniqueFilterPipe, name: "uniqueFilter" }, { kind: "pipe", type: SmzTableContextPipe, name: "tableContext" }, { kind: "pipe", type: SmzFilterObjectPipe, name: "filterObject" }, { kind: "pipe", type: SmzCloneTableItemsPipe, name: "cloneTableItems" }, { kind: "pipe", type: SmzEditableSourcePipe, name: "editableSource" }, { kind: "pipe", type: SmzContentErrorsPipe, name: "contentErrors" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22649
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTableComponent, isStandalone: false, selector: "smz-ui-table", inputs: { state: "state", items: "items", loading: "loading" }, outputs: { selectionChange: "selectionChange", validChange: "validChange", filterChange: "filterChange", columnVisibilityChange: "columnVisibilityChange", create: "create", update: "update", delete: "delete" }, host: { properties: { "attr.data-testid": "this.hostTestId" } }, providers: [TableEditableService, TableFormsService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["dt"], descendants: true }, { propertyName: "columnMultiselect", first: true, predicate: ["columnMultiselect"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state | tableContext; as context) {\r\n @if ((context.state.emptyFeedback != null && (context.state.emptyFeedback.extraInfo || context.state.emptyFeedback.image || context.state.emptyFeedback.actionButtons)) && (items != null && items.length === 0) && context.state.emptyFeedback.isFeatured) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\n [class]=\"'p-datatable-smz-ui-table' + (context.state.styles.showGrid ? ' p-datatable-gridlines' : '') + (context.state.styles.size === 'extra-small' ? ' p-datatable-xs' : '') + (context.state.styles.size === 'small' ? ' p-datatable-sm' : '') + (context.state.styles.size === 'large' ? ' p-datatable-lg' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"flex flex-wrap items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"flex-1 database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-pdf')\" [label]=\"context.state.locale.exportToPdf.label\" icon=\"fa-solid fa-file-pdf\" (click)=\"exportToPdf(context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-excel')\" [label]=\"context.state.locale.exportToExcel.label\" icon=\"fa-solid fa-file-excel\" (click)=\"exportToExcel(table, context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('create')\" [label]=\"context.state.editable.creation.buttonLabel\" icon=\"fa-solid fa-plus\" (click)=\"editableService.onRowCreateInit(table, context.columns)\" [disabled]=\"clonedData.showSkeleton || editableService.isEditing || editableService.isCreating || context.state.editable.creation.isButtonDisabled\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-selection')\" [label]=\"context.state.locale.rowSelection.label\" icon=\"fa-solid fa-check-double\" (click)=\"onRowSelection(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-expansion')\" [label]=\"context.state.rowExpansion.label\" icon=\"fa-solid fa-list\" (click)=\"onRowExpansion(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('clear-filters')\" [label]=\"context.state.locale.clearFilters.label\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 w-full flex-none md:w-2/12\" styleClass=\"w-full\" appendTo=\"body\" [options]=\"context.hideableColumns\" [(ngModel)]=\"selectedColumns\" [placeholder]=\"context.state.locale.columnVisibility.placeholder\" [selectedItemsLabel]=\"context.state.locale.columnVisibility.selectedItemsLabel\" optionLabel=\"name\" dataKey=\"field\" optionLabel=\"header\" [filter]=\"true\" (panelHide)=\"updateColumnsVisibility(true)\" [smzTooltip]=\"context.state.locale.columnVisibility.pTooltip\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"{ 'md:w-2/12 flex-none': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal [(ngModel)]=\"globalSearchInput\" smzInputText type=\"text\" styleClass=\"database-global-search\" (input)=\"updateGlobalFilter(inputGlobal.value)\" [disabled]=\"clonedData.showSkeleton\" [placeholder]=\"context.state.locale.globalFilter.placeholder\" [attr.data-testid]=\"buildTableTestId('search')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-select appendTo=\"body\" [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : true\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField : filterField : null : true : false : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\n <th [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\n <button smzButton [label]=\"batchItem.label\" class=\"animate__animated animate__fadeIn\" [styleClass]=\"'p-button-plain ' + (batchItem.styleClass)\" [icon]=\"batchItem.icon\" (click)=\"batchItem.command(selectedItems); selectedItems = [];\" [disabled]=\"batchItem.disabled\" [smzTooltip]=\"batchItem.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'flex flex-wrap justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\n <button smzButton type=\"button\" class=\"smz-table-row-expansion-toggle\" [icon]=\"item._isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\" (click)=\"item._isExpanded = !item._isExpanded; item._isNew = false\" variant=\"text\" [rounded]=\"true\" size=\"sm\"></button>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\n <div class=\"rounded bg-cyan-400 text-sm text-white px-2 py-0 smz-table-new-tag\" (click)=\"item._isNew = false\">{{ context.state.rowExpansion.highlightLabel }}</div>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [attr.data-testid]=\"buildCellTestId(item, rowIndex, col.field)\" [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\" [ngStyle]=\"col.content.ngStyle\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-input-number *ngVar=\"col.editable.data as numberData\" [formControl]=\"$any(control)\" [mode]=\"numberData.mode\" [minFractionDigits]=\"numberData.minFractionDigits\" [maxFractionDigits]=\"numberData.maxFractionDigits\" [currency]=\"numberData.currency\" [useGrouping]=\"numberData.useGrouping\" [allowEmpty]=\"numberData.allowEmpty\" [showClear]=\"numberData.showClear\" [showButtons]=\"numberData.showButtons\" [prefix]=\"numberData.prefix\" [suffix]=\"numberData.suffix\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-select appendTo=\"body\" [formControl]=\"$any(control)\" styleClass=\"w-full\" [options]=\"col.editable.data | editableSource\" optionLabel=\"name\" dataKey=\"id\" [placeholder]=\"$any(col.editable.data).placeholder\" [showClear]=\"!col.editable.validatorsPreset?.isRequired\" [filter]=\"true\"></ui-select>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-pencil\" (click)=\"editableService.onRowEditInit(item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.update.isButtonDisabled || (!context.state.editable.update.condition(item))\" pInitEditableRow [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" (click)=\"editableService.onRowRemove($event, table, item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.remove.isButtonDisabled || (!context.state.editable.remove.condition(item))\" [rounded]=\"true\" variant=\"text\" severity=\"secondary\"></button>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-rotate fa-spin\" [disabled]=\"true\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-info\"></button>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowCreateSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowEditSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\n <button smzButton type=\"button\" icon=\"fas fa-exclamation-triangle\" [disabled]=\"false\" class=\"mr-2\" (click)=\"errorsOverlay.toggle($event)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\n <smz-menu [callback]=\"context.state.actions.menu.callback\" [items]=\"context.state.actions.menu.items\" [data]=\"item\" [behavior]=\"context.state.actions.menu.behavior\" [ngClass]=\"{ 'ml-2': context.state.actions.customActions.isVisible }\" [icon]=\"context.state.actions.menu.styles.icon\" [styleClass]=\"context.state.actions.menu.styles.styleClass\" [buttonClass]=\"context.state.actions.menu.styles.buttonClass\" [testId]=\"buildRowMenuTestId(item, rowIndex)\"></smz-menu>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\" [ngStyle]=\"{ 'text-align': 'center' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\n <button smzButton [label]=\"context.state.locale.clearFilters.label\" class=\"mt-3\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" variant=\"outlined\"></button>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "stripedRows", "size", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: CellEditor, selector: "p-cellEditor" }, { kind: "component", type: SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzMultiSelectComponent, selector: "ui-multi-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "showToggleAll", "emptyMessage", "emptyFilterMessage", "maxSelectedLabels", "selectedItemsLabel", "panelStyle", "styleClass", "inputId", "autofocusFilter", "appendTo", "display"], outputs: ["changed", "panelHide", "panelShow"] }, { kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "component", type: i2.SmzDatePickerComponent, selector: "ui-date-picker", inputs: ["selectionMode", "dateFormat", "showTime", "timeOnly", "showSeconds", "hourFormat", "minDate", "maxDate", "showButtonBar", "showIcon", "showOnFocus", "keepInvalid", "readonlyInput", "placeholder", "inputId", "styleClass", "appendTo", "touchUI", "focusTrap"], outputs: ["selected", "cleared", "opened", "closed", "blurred"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TableItemActionsDirective, selector: "[tableItemAction]", inputs: ["isClickable", "item", "callback", "expandRowOnClick"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: SmzDataInfoComponent, selector: "smz-data-info", inputs: ["image", "message", "actions", "callbackInfo", "callbackLabel"], outputs: ["clicked"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSkeletonComponent, selector: "ui-skeleton", inputs: ["shape", "width", "height"] }, { kind: "directive", type: i2.SmzTextareaDirective, selector: "textarea[smzTextarea]", inputs: ["invalid", "autoResize"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }, { kind: "component", type: i2.SmzInputNumberComponent, selector: "ui-input-number", inputs: ["mode", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "min", "max", "step", "prefix", "suffix", "showButtons", "showClear", "allowEmpty", "placeholder", "readonly", "inputId", "name"], outputs: ["inputed", "keyDown", "blurred", "focused"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }, { kind: "component", type: SmzColumnFilterComponent, selector: "smz-column-filter", inputs: ["currency", "display", "field", "matchMode", "showAddButton", "showMatchModes", "showOperator", "showApplyButton", "type", "showTime"] }, { kind: "component", type: SmzTableValidationMessagesComponent, selector: "smz-table-validation-messages", inputs: ["errors", "messages", "isFormInvalid", "isFormDirty"] }, { kind: "component", type: SmzTableContentComponent, selector: "smz-table-content", inputs: ["col", "contentTypes", "item", "rowIndex", "contentTemplate"] }, { kind: "component", type: SmzTableCaptionButtonsComponent, selector: "smz-table-caption-buttons", inputs: ["buttons", "tableTestId"] }, { kind: "component", type: SmzTableHeaderActionsComponent, selector: "smz-table-header-actions", inputs: ["col"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: UniqueFilterPipe, name: "uniqueFilter" }, { kind: "pipe", type: SmzTableContextPipe, name: "tableContext" }, { kind: "pipe", type: SmzFilterObjectPipe, name: "filterObject" }, { kind: "pipe", type: SmzCloneTableItemsPipe, name: "cloneTableItems" }, { kind: "pipe", type: SmzEditableSourcePipe, name: "editableSource" }, { kind: "pipe", type: SmzContentErrorsPipe, name: "contentErrors" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22613
22650
  }
22614
22651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableComponent, decorators: [{
22615
22652
  type: Component,
22616
- args: [{ selector: 'smz-ui-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableEditableService, TableFormsService], standalone: false, template: "@if (state | tableContext; as context) {\r\n @if ((context.state.emptyFeedback != null && (context.state.emptyFeedback.extraInfo || context.state.emptyFeedback.image || context.state.emptyFeedback.actionButtons)) && (items != null && items.length === 0) && context.state.emptyFeedback.isFeatured) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\n [class]=\"'p-datatable-smz-ui-table' + (context.state.styles.showGrid ? ' p-datatable-gridlines' : '') + (context.state.styles.size === 'extra-small' ? ' p-datatable-xs' : '') + (context.state.styles.size === 'small' ? ' p-datatable-sm' : '') + (context.state.styles.size === 'large' ? ' p-datatable-lg' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-pdf')\" [label]=\"context.state.locale.exportToPdf.label\" icon=\"fa-solid fa-file-pdf\" (click)=\"exportToPdf(context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-excel')\" [label]=\"context.state.locale.exportToExcel.label\" icon=\"fa-solid fa-file-excel\" (click)=\"exportToExcel(table, context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('create')\" [label]=\"context.state.editable.creation.buttonLabel\" icon=\"fa-solid fa-plus\" (click)=\"editableService.onRowCreateInit(table, context.columns)\" [disabled]=\"clonedData.showSkeleton || editableService.isEditing || editableService.isCreating || context.state.editable.creation.isButtonDisabled\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-selection')\" [label]=\"context.state.locale.rowSelection.label\" icon=\"fa-solid fa-check-double\" (click)=\"onRowSelection(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-expansion')\" [label]=\"context.state.rowExpansion.label\" icon=\"fa-solid fa-list\" (click)=\"onRowExpansion(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('clear-filters')\" [label]=\"context.state.locale.clearFilters.label\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 col-12 md:col-2\" styleClass=\"w-full\" appendTo=\"body\" [options]=\"context.hideableColumns\" [(ngModel)]=\"selectedColumns\" [placeholder]=\"context.state.locale.columnVisibility.placeholder\" [selectedItemsLabel]=\"context.state.locale.columnVisibility.selectedItemsLabel\" optionLabel=\"name\" dataKey=\"field\" optionLabel=\"header\" [filter]=\"true\" (panelHide)=\"updateColumnsVisibility(true)\" [smzTooltip]=\"context.state.locale.columnVisibility.pTooltip\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal [(ngModel)]=\"globalSearchInput\" smzInputText type=\"text\" styleClass=\"database-global-search\" (input)=\"updateGlobalFilter(inputGlobal.value)\" [disabled]=\"clonedData.showSkeleton\" [placeholder]=\"context.state.locale.globalFilter.placeholder\" [attr.data-testid]=\"buildTableTestId('search')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-select appendTo=\"body\" [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : true\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField : filterField : null : true : false : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\n <th [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\n <button smzButton [label]=\"batchItem.label\" class=\"animate__animated animate__fadeIn\" [styleClass]=\"'p-button-plain ' + (batchItem.styleClass)\" [icon]=\"batchItem.icon\" (click)=\"batchItem.command(selectedItems); selectedItems = [];\" [disabled]=\"batchItem.disabled\" [smzTooltip]=\"batchItem.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'grid grid-nogutter justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\n <button smzButton type=\"button\" class=\"smz-table-row-expansion-toggle\" [icon]=\"item._isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\" (click)=\"item._isExpanded = !item._isExpanded; item._isNew = false\" variant=\"text\" [rounded]=\"true\" size=\"sm\"></button>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\n <div class=\"rounded bg-cyan-400 text-sm text-white px-2 py-0 smz-table-new-tag\" (click)=\"item._isNew = false\">{{ context.state.rowExpansion.highlightLabel }}</div>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [attr.data-testid]=\"buildCellTestId(item, rowIndex, col.field)\" [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\" [ngStyle]=\"col.content.ngStyle\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-input-number *ngVar=\"col.editable.data as numberData\" [formControl]=\"$any(control)\" [mode]=\"numberData.mode\" [minFractionDigits]=\"numberData.minFractionDigits\" [maxFractionDigits]=\"numberData.maxFractionDigits\" [currency]=\"numberData.currency\" [useGrouping]=\"numberData.useGrouping\" [allowEmpty]=\"numberData.allowEmpty\" [showClear]=\"numberData.showClear\" [showButtons]=\"numberData.showButtons\" [prefix]=\"numberData.prefix\" [suffix]=\"numberData.suffix\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-select appendTo=\"body\" [formControl]=\"$any(control)\" styleClass=\"w-full\" [options]=\"col.editable.data | editableSource\" optionLabel=\"name\" dataKey=\"id\" [placeholder]=\"$any(col.editable.data).placeholder\" [showClear]=\"!col.editable.validatorsPreset?.isRequired\" [filter]=\"true\"></ui-select>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"grid grid-nogutter items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-pencil\" (click)=\"editableService.onRowEditInit(item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.update.isButtonDisabled || (!context.state.editable.update.condition(item))\" pInitEditableRow [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" (click)=\"editableService.onRowRemove($event, table, item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.remove.isButtonDisabled || (!context.state.editable.remove.condition(item))\" [rounded]=\"true\" variant=\"text\" severity=\"secondary\"></button>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-rotate fa-spin\" [disabled]=\"true\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-info\"></button>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowCreateSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowEditSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\n <button smzButton type=\"button\" icon=\"fas fa-exclamation-triangle\" [disabled]=\"false\" class=\"mr-2\" (click)=\"errorsOverlay.toggle($event)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\n <smz-menu [callback]=\"context.state.actions.menu.callback\" [items]=\"context.state.actions.menu.items\" [data]=\"item\" [behavior]=\"context.state.actions.menu.behavior\" [ngClass]=\"{ 'ml-2': context.state.actions.customActions.isVisible }\" [icon]=\"context.state.actions.menu.styles.icon\" [styleClass]=\"context.state.actions.menu.styles.styleClass\" [buttonClass]=\"context.state.actions.menu.styles.buttonClass\" [testId]=\"buildRowMenuTestId(item, rowIndex)\"></smz-menu>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\" [ngStyle]=\"{ 'text-align': 'center' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\n <button smzButton [label]=\"context.state.locale.clearFilters.label\" class=\"mt-3\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" variant=\"outlined\"></button>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
22653
+ args: [{ selector: 'smz-ui-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableEditableService, TableFormsService], standalone: false, template: "@if (state | tableContext; as context) {\r\n @if ((context.state.emptyFeedback != null && (context.state.emptyFeedback.extraInfo || context.state.emptyFeedback.image || context.state.emptyFeedback.actionButtons)) && (items != null && items.length === 0) && context.state.emptyFeedback.isFeatured) {\r\n <smz-data-info\r\n [attr.data-testid]=\"buildTableTestId('empty')\"\r\n [image]=\"context.state.emptyFeedback.image\"\r\n [message]=\"context.state.emptyFeedback.message\"\r\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\r\n [actions]=\"context.state.emptyFeedback.actionButtons\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\r\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\r\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\r\n <p-table #dt\r\n dataKey=\"id\"\r\n editMode=\"row\"\r\n [stripedRows]=\"context.state.styles.striped\"\r\n [value]=\"clonedData.items\"\r\n [(selection)]=\"selectedItems\"\r\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\r\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\r\n [class]=\"'p-datatable-smz-ui-table' + (context.state.styles.showGrid ? ' p-datatable-gridlines' : '') + (context.state.styles.size === 'extra-small' ? ' p-datatable-xs' : '') + (context.state.styles.size === 'small' ? ' p-datatable-sm' : '') + (context.state.styles.size === 'large' ? ' p-datatable-lg' : '')\"\r\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\r\n [rows]=\"context.state.pagination.rows\"\r\n [first]=\"context.state.pagination.state.first\"\r\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\r\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\r\n [loading]=\"loading || isViewportInitializing\"\r\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\r\n [paginator]=\"context.state.pagination.isVisible\"\r\n paginatorDropdownAppendTo=\"body\"\r\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\r\n [sortField]=\"context.state.sort.field\"\r\n [sortMode]=\"context.state.sort.mode\"\r\n [sortOrder]=\"context.state.sort.order\"\r\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\r\n [scrollable]=\"context.state.viewport.scrollable\"\r\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\r\n [filterDelay]=\"0\"\r\n [globalFilterFields]=\"context.globalFilter\"\r\n [columns]=\"context.visibleColumns\"\r\n [frozenColumns]=\"context.frozenColumns\"\r\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\r\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\r\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\r\n (onPage)=\"onPage($event)\"\r\n (onFilter)=\"onFilter($event)\"\r\n (selectionChange)=\"emitSelection($event)\"\r\n >\r\n @if (context.state.caption.isVisible) {\r\n <ng-template smzTemplate=\"caption\">\r\n <div class=\"flex flex-wrap items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n @if (context.state.caption.title != null) {\r\n <div class=\"flex-1 database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\r\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\r\n @if (context.state.caption.exportToPdf.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-pdf')\" [label]=\"context.state.locale.exportToPdf.label\" icon=\"fa-solid fa-file-pdf\" (click)=\"exportToPdf(context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.exportToExcel.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('export-excel')\" [label]=\"context.state.locale.exportToExcel.label\" icon=\"fa-solid fa-file-excel\" (click)=\"exportToExcel(table, context, clonedData.items)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.editable.creation.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('create')\" [label]=\"context.state.editable.creation.buttonLabel\" icon=\"fa-solid fa-plus\" (click)=\"editableService.onRowCreateInit(table, context.columns)\" [disabled]=\"clonedData.showSkeleton || editableService.isEditing || editableService.isCreating || context.state.editable.creation.isButtonDisabled\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.rowSelection.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-selection')\" [label]=\"context.state.locale.rowSelection.label\" icon=\"fa-solid fa-check-double\" (click)=\"onRowSelection(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.rowExpansion.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('row-expansion')\" [label]=\"context.state.rowExpansion.label\" icon=\"fa-solid fa-list\" (click)=\"onRowExpansion(context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.clearFilters.isButtonVisible) {\r\n <button smzButton [attr.data-testid]=\"buildTableTestId('clear-filters')\" [label]=\"context.state.locale.clearFilters.label\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" [disabled]=\"clonedData.showSkeleton\" variant=\"outlined\"></button>\r\n }\r\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\r\n <ui-multi-select #columnMultiselect [attr.data-testid]=\"buildTableTestId('column-visibility')\" class=\"ml-2 w-full flex-none md:w-2/12\" styleClass=\"w-full\" appendTo=\"body\" [options]=\"context.hideableColumns\" [(ngModel)]=\"selectedColumns\" [placeholder]=\"context.state.locale.columnVisibility.placeholder\" [selectedItemsLabel]=\"context.state.locale.columnVisibility.selectedItemsLabel\" optionLabel=\"name\" dataKey=\"field\" optionLabel=\"header\" [filter]=\"true\" (panelHide)=\"updateColumnsVisibility(true)\" [smzTooltip]=\"context.state.locale.columnVisibility.pTooltip\">\r\n </ui-multi-select>\r\n }\r\n @if (context.state.caption.globalFilter.isVisible) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"{ 'md:w-2/12 flex-none': !context.state.caption.globalFilter.expanded }\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal [(ngModel)]=\"globalSearchInput\" smzInputText type=\"text\" styleClass=\"database-global-search\" (input)=\"updateGlobalFilter(inputGlobal.value)\" [disabled]=\"clonedData.showSkeleton\" [placeholder]=\"context.state.locale.globalFilter.placeholder\" [attr.data-testid]=\"buildTableTestId('search')\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n }\r\n <ng-template smzTemplate=\"header\" let-columns>\r\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\r\n @if (context.state.caption.rowSelection.isEnabled) {\r\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\r\n @if (!context.state.actions.batchActions.isVisible) {\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n }\r\n </th>\r\n }\r\n @if (context.state.rowExpansion.isEnabled) {\r\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (context.state.viewport.resizableColumns) {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n } @else {\r\n @if (col.isOrderable) {\r\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n @if (!col.isOrderable) {\r\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\r\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\r\n </th>\r\n }\r\n }\r\n <ng-template #headerContent>\r\n <div class=\"flex justify-start items-center\">\r\n <span class=\"mr-1\">{{ col.header }}</span>\r\n @if (col.showHeaderActions) {\r\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\r\n }\r\n @if (!clonedData.showSkeleton && col.isOrderable) {\r\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\r\n }\r\n @if (!clonedData.showSkeleton) {\r\n @switch (col.filter.type) {\r\n @case (filterTypes.currency) {\r\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.numeric) {\r\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.date) {\r\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\r\n }\r\n @case (filterTypes.text) {\r\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.boolean) {\r\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\r\n }\r\n @case (filterTypes.dropdown) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-select appendTo=\"body\" [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_array) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField + '.id' : filterField : null : 'name' : true\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" optionLabel=\"name\" dataKey=\"id\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n @case (filterTypes.multiselect_string) {\r\n @if (col.filterField | filterObject; as filterField) {\r\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\r\n <ng-template smzTemplate=\"header\">\r\n <div class=\"px-3 pt-3 pb-0\">\r\n <span class=\"p-text-bold\">{{ col.header }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\r\n <ui-multi-select [ngModel]=\"value\" [options]=\"(clonedData.items != null ? clonedData.items : []) | uniqueFilter : filterField : filterField : null : true : false : false\" [placeholder]=\"context.state.locale.dropdownFilter.placeholder\" (changed)=\"filter($event.value)\" [maxSelectedLabels]=\"2\" [selectedItemsLabel]=\"'{0}'\"></ui-multi-select>\r\n </ng-template>\r\n </smz-column-filter>\r\n }\r\n }\r\n }\r\n }\r\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\r\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\r\n }\r\n </tr>\r\n @if (context.state.actions.batchActions.isVisible) {\r\n <tr>\r\n <th [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\"\r\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\r\n @if (selectedItems?.length > 0) {\r\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\r\n @if (batchItem.visible) {\r\n <button smzButton [label]=\"batchItem.label\" class=\"animate__animated animate__fadeIn\" [styleClass]=\"'p-button-plain ' + (batchItem.styleClass)\" [icon]=\"batchItem.icon\" (click)=\"batchItem.command(selectedItems); selectedItems = [];\" [disabled]=\"batchItem.disabled\" [smzTooltip]=\"batchItem.tooltip\" [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n }\r\n }\r\n </div>\r\n </th>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\r\n <tr #editableRowElement\r\n [pEditableRow]=\"item\"\r\n tableItemAction\r\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\r\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\r\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\r\n [item]=\"item\"\r\n class=\"p-selectable-row\"\r\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\r\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\r\n >\r\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\r\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\r\n >\r\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n </td>\r\n }\r\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\r\n <td\r\n clickStopPropagation\r\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\r\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading, 'flex flex-wrap justify-start items-center gap-2': context.state.rowExpansion.highlightNewItems && item._isNew }\"\r\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\r\n >\r\n <button smzButton type=\"button\" class=\"smz-table-row-expansion-toggle\" [icon]=\"item._isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\" (click)=\"item._isExpanded = !item._isExpanded; item._isNew = false\" variant=\"text\" [rounded]=\"true\" size=\"sm\"></button>\r\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\r\n <div class=\"rounded bg-cyan-400 text-sm text-white px-2 py-0 smz-table-new-tag\" (click)=\"item._isNew = false\">{{ context.state.rowExpansion.highlightLabel }}</div>\r\n }\r\n </td>\r\n }\r\n @for (col of columns; track col.field) {\r\n @if (clonedData.showSkeleton) {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\r\n } @else {\r\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [attr.data-testid]=\"buildCellTestId(item, rowIndex, col.field)\" [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\" [ngStyle]=\"col.content.ngStyle\">\r\n <span class=\"p-column-title\">{{ col.header }}</span>\r\n <p-cellEditor>\r\n <!-- CELULAR COM EDITOR -->\r\n <ng-template smzTemplate=\"input\">\r\n @switch (col.editable.type) {\r\n @case (editableTypes.none) {\r\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\r\n }\r\n @case (editableTypes.custom) {\r\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\r\n }\r\n <!-- INPUT TEXT -->\r\n @case (editableTypes.text) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT NUMBER -->\r\n @case (editableTypes.number) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-input-number *ngVar=\"col.editable.data as numberData\" [formControl]=\"$any(control)\" [mode]=\"numberData.mode\" [minFractionDigits]=\"numberData.minFractionDigits\" [maxFractionDigits]=\"numberData.maxFractionDigits\" [currency]=\"numberData.currency\" [useGrouping]=\"numberData.useGrouping\" [allowEmpty]=\"numberData.allowEmpty\" [showClear]=\"numberData.showClear\" [showButtons]=\"numberData.showButtons\" [prefix]=\"numberData.prefix\" [suffix]=\"numberData.suffix\">\r\n </ui-input-number>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT SWITCH -->\r\n @case (editableTypes.switch) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT TEXT AREA -->\r\n @case (editableTypes.area) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT DROPDOWN -->\r\n @case (editableTypes.dropdown) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-select appendTo=\"body\" [formControl]=\"$any(control)\" styleClass=\"w-full\" [options]=\"col.editable.data | editableSource\" optionLabel=\"name\" dataKey=\"id\" [placeholder]=\"$any(col.editable.data).placeholder\" [showClear]=\"!col.editable.validatorsPreset?.isRequired\" [filter]=\"true\"></ui-select>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n <!-- INPUT CALENDAR -->\r\n @case (editableTypes.calendar) {\r\n @if (editableService.context[item.id]?.form; as form) {\r\n @if (form.controls[col.editable.property]; as control) {\r\n <div class=\"relative w-full\">\r\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\r\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\r\n </div>\r\n }\r\n }\r\n }\r\n }\r\n </ng-template>\r\n <!-- CELULAR COM CONTE\u00DADO -->\r\n <ng-template smzTemplate=\"output\">\r\n <smz-table-content\r\n [col]=\"col\"\r\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\r\n tooltipPosition=\"left\"\r\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\r\n </smz-table-content>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n }\r\n }\r\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\r\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\r\n <div class=\"flex flex-wrap items-center justify-center\">\r\n @if (clonedData.showSkeleton) {\r\n <div class=\"w-full\">\r\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\r\n </div>\r\n } @else {\r\n <!-- SEM EDITAR -->\r\n @if (!editing) {\r\n @if (context.state.editable.update.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-pencil\" (click)=\"editableService.onRowEditInit(item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.update.isButtonDisabled || (!context.state.editable.update.condition(item))\" pInitEditableRow [rounded]=\"true\" variant=\"text\"></button>\r\n }\r\n @if (context.state.editable.remove.isButtonVisible) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-trash\" (click)=\"editableService.onRowRemove($event, table, item)\" class=\"mx-1\" [disabled]=\"editableService.isEditing || editableService.isCreating || context.state.editable.remove.isButtonDisabled || (!context.state.editable.remove.condition(item))\" [rounded]=\"true\" variant=\"text\" severity=\"secondary\"></button>\r\n }\r\n }\r\n <!-- EDITANDO -->\r\n @if (editing) {\r\n @if (editableService.context[item.id]; as editableContext) {\r\n <!-- COM LOADING -->\r\n @if (editableContext.isLoading) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-rotate fa-spin\" [disabled]=\"true\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-info\"></button>\r\n }\r\n <!-- SEM LOADING -->\r\n @if (!editableContext.isLoading) {\r\n <!-- EDITANDO -->\r\n @if (!editableContext.hasErrors) {\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowCreateSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" (click)=\"editableService.onRowEditSave($event, table, editableRowElement, item)\" [disabled]=\"!editableContext.hasChanged || !editableService.context[item.id]?.form.valid\" class=\"mr-2\" [rounded]=\"true\" variant=\"text\" severity=\"success\"></button>\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n <!-- COM ERRORS -->\r\n @if (editableContext.hasErrors) {\r\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\r\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\r\n </ui-popover>\r\n <button smzButton type=\"button\" icon=\"fas fa-exclamation-triangle\" [disabled]=\"false\" class=\"mr-2\" (click)=\"errorsOverlay.toggle($event)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n <!-- CRIANDO -->\r\n @if (item._context?.isCreating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n <!-- ATUALIZANDO -->\r\n @if (item._context?.isUpdating) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" size=\"sm\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n <!-- CUSTOM MENU -->\r\n @if (context.state.actions.customActions.isVisible && !editing) {\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\r\n }\r\n <!-- MENU -->\r\n @if (context.state.actions.menu.isVisible && !editing) {\r\n <smz-menu [callback]=\"context.state.actions.menu.callback\" [items]=\"context.state.actions.menu.items\" [data]=\"item\" [behavior]=\"context.state.actions.menu.behavior\" [ngClass]=\"{ 'ml-2': context.state.actions.customActions.isVisible }\" [icon]=\"context.state.actions.menu.styles.icon\" [styleClass]=\"context.state.actions.menu.styles.styleClass\" [buttonClass]=\"context.state.actions.menu.styles.buttonClass\" [testId]=\"buildRowMenuTestId(item, rowIndex)\"></smz-menu>\r\n }\r\n }\r\n </div>\r\n </td>\r\n }\r\n </tr>\r\n @if (item?._isExpanded) {\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\r\n </td>\r\n </tr>\r\n }\r\n </ng-template>\r\n <ng-template smzTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + ((context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) ? 1 : 0) + (context.state.caption.rowSelection.isEnabled ? 1 : 0) + (context.state.rowExpansion.isEnabled ? 1 : 0)\" [ngStyle]=\"{ 'text-align': 'center' }\">\r\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\r\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\r\n <button smzButton [label]=\"context.state.locale.clearFilters.label\" class=\"mt-3\" icon=\"fa-solid fa-filter-circle-xmark\" (click)=\"clear(table, context)\" variant=\"outlined\"></button>\r\n }\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
22617
22654
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TableEditableService }, { type: TableFormsService }, { type: TableHelperService }, { type: i1$3.Store }, { type: SmzExcelService }], propDecorators: { templates: [{
22618
22655
  type: ContentChildren,
22619
22656
  args: [SmzTemplateDirective]
@@ -23122,11 +23159,11 @@ class TableContentComponent {
23122
23159
  }
23123
23160
  onValidationError$ = new BehaviorSubject(null);
23124
23161
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23125
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: TableContentComponent, isStandalone: false, selector: "smz-table-content", inputs: { items$: "items$", state: "state" }, ngImport: i0, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"grid grid-nogutter items-center justify-end w-full\">\r\n @if (onValidationError) {\r\n <span style=\"color: red\">* Precisa selecionar pelo menos um item</span>\r\n }\r\n </div>\r\n}\r\n<smz-ui-table #smzdt [items]=\"items$ | async\" [state]=\"state\" (validChange)=\"tableValid = $event\"></smz-ui-table>", styles: [""], dependencies: [{ kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23162
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: TableContentComponent, isStandalone: false, selector: "smz-table-content", inputs: { items$: "items$", state: "state" }, ngImport: i0, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full\">\r\n @if (onValidationError) {\r\n <span style=\"color: red\">* Precisa selecionar pelo menos um item</span>\r\n }\r\n </div>\r\n}\r\n<smz-ui-table #smzdt [items]=\"items$ | async\" [state]=\"state\" (validChange)=\"tableValid = $event\"></smz-ui-table>", styles: [""], dependencies: [{ kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23126
23163
  }
23127
23164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TableContentComponent, decorators: [{
23128
23165
  type: Component,
23129
- args: [{ selector: 'smz-table-content', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"grid grid-nogutter items-center justify-end w-full\">\r\n @if (onValidationError) {\r\n <span style=\"color: red\">* Precisa selecionar pelo menos um item</span>\r\n }\r\n </div>\r\n}\r\n<smz-ui-table #smzdt [items]=\"items$ | async\" [state]=\"state\" (validChange)=\"tableValid = $event\"></smz-ui-table>" }]
23166
+ args: [{ selector: 'smz-table-content', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (onValidationError$ | async; as onValidationError) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full\">\r\n @if (onValidationError) {\r\n <span style=\"color: red\">* Precisa selecionar pelo menos um item</span>\r\n }\r\n </div>\r\n}\r\n<smz-ui-table #smzdt [items]=\"items$ | async\" [state]=\"state\" (validChange)=\"tableValid = $event\"></smz-ui-table>" }]
23130
23167
  }], propDecorators: { items$: [{
23131
23168
  type: Input
23132
23169
  }], state: [{
@@ -23156,11 +23193,11 @@ class SmzDocumentTitleComponent {
23156
23193
  constructor() { }
23157
23194
  ngOnInit() { }
23158
23195
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23159
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentTitleComponent, isStandalone: false, selector: "smz-document-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-center justify-center h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
23196
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentTitleComponent, isStandalone: false, selector: "smz-document-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-center h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
23160
23197
  }
23161
23198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTitleComponent, decorators: [{
23162
23199
  type: Component,
23163
- args: [{ selector: 'smz-document-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-center justify-center h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
23200
+ args: [{ selector: 'smz-document-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-center h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
23164
23201
  }], ctorParameters: () => [], propDecorators: { data: [{
23165
23202
  type: Input
23166
23203
  }], config: [{
@@ -23192,11 +23229,11 @@ class SmzDocumentFieldComponent {
23192
23229
  constructor() { }
23193
23230
  ngOnInit() { }
23194
23231
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23195
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldComponent, isStandalone: false, selector: "smz-document-field", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (data.label.isVisible) {\r\n <div\r\n [ngClass]=\"data.label.styles\"\r\n [style.color]=\"data.label.color\"\r\n [innerHtml]=\"data.label.value | safeHtml\"\r\n >\r\n </div>\r\n }\r\n\r\n <div\r\n [style.font-weight]=\"data.text.fontWeight\"\r\n [ngClass]=\"data.text.styles\"\r\n [style.color]=\"data.text.color\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
23232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldComponent, isStandalone: false, selector: "smz-document-field", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (data.label.isVisible) {\r\n <div\r\n [ngClass]=\"data.label.styles\"\r\n [style.color]=\"data.label.color\"\r\n [innerHtml]=\"data.label.value | safeHtml\"\r\n >\r\n </div>\r\n }\r\n\r\n <div\r\n [style.font-weight]=\"data.text.fontWeight\"\r\n [ngClass]=\"data.text.styles\"\r\n [style.color]=\"data.text.color\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
23196
23233
  }
23197
23234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldComponent, decorators: [{
23198
23235
  type: Component,
23199
- args: [{ selector: 'smz-document-field', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (data.label.isVisible) {\r\n <div\r\n [ngClass]=\"data.label.styles\"\r\n [style.color]=\"data.label.color\"\r\n [innerHtml]=\"data.label.value | safeHtml\"\r\n >\r\n </div>\r\n }\r\n\r\n <div\r\n [style.font-weight]=\"data.text.fontWeight\"\r\n [ngClass]=\"data.text.styles\"\r\n [style.color]=\"data.text.color\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
23236
+ args: [{ selector: 'smz-document-field', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (data.label.isVisible) {\r\n <div\r\n [ngClass]=\"data.label.styles\"\r\n [style.color]=\"data.label.color\"\r\n [innerHtml]=\"data.label.value | safeHtml\"\r\n >\r\n </div>\r\n }\r\n\r\n <div\r\n [style.font-weight]=\"data.text.fontWeight\"\r\n [ngClass]=\"data.text.styles\"\r\n [style.color]=\"data.text.color\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
23200
23237
  }], ctorParameters: () => [], propDecorators: { data: [{
23201
23238
  type: Input
23202
23239
  }], config: [{
@@ -23232,11 +23269,11 @@ class SmzDocumentImageComponent {
23232
23269
  xhr.send();
23233
23270
  }
23234
23271
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentImageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentImageComponent, isStandalone: false, selector: "smz-document-image", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (base64 != null) {\r\n <img\r\n [src]=\"base64 | safeUrl\"\r\n [ngClass]=\"data.image.styles\"\r\n [style.width]=\"data.image.width\"/>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }] });
23272
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentImageComponent, isStandalone: false, selector: "smz-document-image", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (base64 != null) {\r\n <img\r\n [src]=\"base64 | safeUrl\"\r\n [ngClass]=\"data.image.styles\"\r\n [style.width]=\"data.image.width\"/>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }] });
23236
23273
  }
23237
23274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentImageComponent, decorators: [{
23238
23275
  type: Component,
23239
- args: [{ selector: 'smz-document-image', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (base64 != null) {\r\n <img\r\n [src]=\"base64 | safeUrl\"\r\n [ngClass]=\"data.image.styles\"\r\n [style.width]=\"data.image.width\"/>\r\n }\r\n\r\n</div>" }]
23276
+ args: [{ selector: 'smz-document-image', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-start justify-center flex-col h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @if (base64 != null) {\r\n <img\r\n [src]=\"base64 | safeUrl\"\r\n [ngClass]=\"data.image.styles\"\r\n [style.width]=\"data.image.width\"/>\r\n }\r\n\r\n</div>" }]
23240
23277
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
23241
23278
  type: Input
23242
23279
  }], config: [{
@@ -23268,11 +23305,11 @@ class SmzDocumentSubTitleComponent {
23268
23305
  constructor() { }
23269
23306
  ngOnInit() { }
23270
23307
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentSubTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23271
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentSubTitleComponent, isStandalone: false, selector: "smz-document-sub-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-center justify-start h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
23308
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentSubTitleComponent, isStandalone: false, selector: "smz-document-sub-title", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-start h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }] });
23272
23309
  }
23273
23310
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentSubTitleComponent, decorators: [{
23274
23311
  type: Component,
23275
- args: [{ selector: 'smz-document-sub-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-center justify-start h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
23312
+ args: [{ selector: 'smz-document-sub-title', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-center justify-start h-full relative avoid-break\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <div\r\n [style.color]=\"data.text.color\"\r\n [ngClass]=\"data.text.styles\"\r\n [innerHtml]=\"data.text.value | safeHtml\"\r\n >\r\n </div>\r\n\r\n</div>" }]
23276
23313
  }], ctorParameters: () => [], propDecorators: { data: [{
23277
23314
  type: Input
23278
23315
  }], config: [{
@@ -23286,11 +23323,11 @@ class SmzDocumentFieldsGroupComponent {
23286
23323
  constructor() { }
23287
23324
  ngOnInit() { }
23288
23325
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldsGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23289
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldsGroupComponent, isStandalone: false, selector: "smz-document-fields-group", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @for (field of data.fields; track field) {\r\n <smz-document-field [ngClass]=\"field.flexWidth\" [data]=\"field\" [config]=\"config\"></smz-document-field>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmzDocumentFieldComponent, selector: "smz-document-field", inputs: ["data", "config"] }] });
23326
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentFieldsGroupComponent, isStandalone: false, selector: "smz-document-fields-group", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @for (field of data.fields; track field) {\r\n <smz-document-field [ngClass]=\"field.flexWidth\" [data]=\"field\" [config]=\"config\"></smz-document-field>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmzDocumentFieldComponent, selector: "smz-document-field", inputs: ["data", "config"] }] });
23290
23327
  }
23291
23328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentFieldsGroupComponent, decorators: [{
23292
23329
  type: Component,
23293
- args: [{ selector: 'smz-document-fields-group', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @for (field of data.fields; track field) {\r\n <smz-document-field [ngClass]=\"field.flexWidth\" [data]=\"field\" [config]=\"config\"></smz-document-field>\r\n }\r\n\r\n</div>" }]
23330
+ args: [{ selector: 'smz-document-fields-group', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n @for (field of data.fields; track field) {\r\n <smz-document-field [ngClass]=\"field.flexWidth\" [data]=\"field\" [config]=\"config\"></smz-document-field>\r\n }\r\n\r\n</div>" }]
23294
23331
  }], ctorParameters: () => [], propDecorators: { data: [{
23295
23332
  type: Input
23296
23333
  }], config: [{
@@ -23304,11 +23341,11 @@ class SmzDocumentTableComponent {
23304
23341
  constructor() { }
23305
23342
  ngOnInit() { }
23306
23343
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23307
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentTableComponent, isStandalone: false, selector: "smz-document-table", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <table class=\"w-full h-full border-collapse table-fixed smz-document-table-tag\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n <thead>\r\n @if (data?.header.isVisible) {\r\n <tr class=\"relative\">\r\n @for (column of data?.header.columns; track column) {\r\n <th\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.headerStyles.background ?? data.header.background\"\r\n [style.color]=\"column.headerStyles.color ?? data.header.color\"\r\n [ngClass]=\"column.headerStyles.styles ?? data.header.styles\">\r\n {{ column.value }}\r\n </th>\r\n }\r\n </tr>\r\n }\r\n </thead>\r\n\r\n <tbody>\r\n @for (row of data?.content.items$ | async; track row; let index = $index) {\r\n <tr class=\"relative\" [style.background]=\"data.content.background\">\r\n @for (column of data?.header.columns; track column) {\r\n <td\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.contentStyles.background ?? data.content.background\"\r\n [style.color]=\"column.contentStyles.color ?? data.content.color\"\r\n [ngClass]=\"column.contentStyles.styles ?? data.content.styles\">\r\n <div [innerHtml]=\"((row | getData : column.property : column.dataTransform : index).result) | safeHtml\"></div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n\r\n </table>\r\n\r\n</div>\r\n\r\n", styles: ["smz-document-table .smz-document-table-tag table{page-break-inside:auto}smz-document-table .smz-document-table-tag div{page-break-inside:avoid}smz-document-table .smz-document-table-tag thead{display:table-header-group}smz-document-table .smz-document-table-tag tfoot{display:table-footer-group}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzGetDataPipe, name: "getData" }], encapsulation: i0.ViewEncapsulation.None });
23344
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentTableComponent, isStandalone: false, selector: "smz-document-table", inputs: { data: "data", config: "config" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <table class=\"w-full h-full border-collapse table-fixed smz-document-table-tag\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n <thead>\r\n @if (data?.header.isVisible) {\r\n <tr class=\"relative\">\r\n @for (column of data?.header.columns; track column) {\r\n <th\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.headerStyles.background ?? data.header.background\"\r\n [style.color]=\"column.headerStyles.color ?? data.header.color\"\r\n [ngClass]=\"column.headerStyles.styles ?? data.header.styles\">\r\n {{ column.value }}\r\n </th>\r\n }\r\n </tr>\r\n }\r\n </thead>\r\n\r\n <tbody>\r\n @for (row of data?.content.items$ | async; track row; let index = $index) {\r\n <tr class=\"relative\" [style.background]=\"data.content.background\">\r\n @for (column of data?.header.columns; track column) {\r\n <td\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.contentStyles.background ?? data.content.background\"\r\n [style.color]=\"column.contentStyles.color ?? data.content.color\"\r\n [ngClass]=\"column.contentStyles.styles ?? data.content.styles\">\r\n <div [innerHtml]=\"((row | getData : column.property : column.dataTransform : index).result) | safeHtml\"></div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n\r\n </table>\r\n\r\n</div>\r\n\r\n", styles: ["smz-document-table .smz-document-table-tag table{page-break-inside:auto}smz-document-table .smz-document-table-tag div{page-break-inside:avoid}smz-document-table .smz-document-table-tag thead{display:table-header-group}smz-document-table .smz-document-table-tag tfoot{display:table-footer-group}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzGetDataPipe, name: "getData" }], encapsulation: i0.ViewEncapsulation.None });
23308
23345
  }
23309
23346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentTableComponent, decorators: [{
23310
23347
  type: Component,
23311
- args: [{ selector: 'smz-document-table', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <table class=\"w-full h-full border-collapse table-fixed smz-document-table-tag\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n <thead>\r\n @if (data?.header.isVisible) {\r\n <tr class=\"relative\">\r\n @for (column of data?.header.columns; track column) {\r\n <th\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.headerStyles.background ?? data.header.background\"\r\n [style.color]=\"column.headerStyles.color ?? data.header.color\"\r\n [ngClass]=\"column.headerStyles.styles ?? data.header.styles\">\r\n {{ column.value }}\r\n </th>\r\n }\r\n </tr>\r\n }\r\n </thead>\r\n\r\n <tbody>\r\n @for (row of data?.content.items$ | async; track row; let index = $index) {\r\n <tr class=\"relative\" [style.background]=\"data.content.background\">\r\n @for (column of data?.header.columns; track column) {\r\n <td\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.contentStyles.background ?? data.content.background\"\r\n [style.color]=\"column.contentStyles.color ?? data.content.color\"\r\n [ngClass]=\"column.contentStyles.styles ?? data.content.styles\">\r\n <div [innerHtml]=\"((row | getData : column.property : column.dataTransform : index).result) | safeHtml\"></div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n\r\n </table>\r\n\r\n</div>\r\n\r\n", styles: ["smz-document-table .smz-document-table-tag table{page-break-inside:auto}smz-document-table .smz-document-table-tag div{page-break-inside:avoid}smz-document-table .smz-document-table-tag thead{display:table-header-group}smz-document-table .smz-document-table-tag tfoot{display:table-footer-group}\n"] }]
23348
+ args: [{ selector: 'smz-document-table', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full w-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <table class=\"w-full h-full border-collapse table-fixed smz-document-table-tag\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n <thead>\r\n @if (data?.header.isVisible) {\r\n <tr class=\"relative\">\r\n @for (column of data?.header.columns; track column) {\r\n <th\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.headerStyles.background ?? data.header.background\"\r\n [style.color]=\"column.headerStyles.color ?? data.header.color\"\r\n [ngClass]=\"column.headerStyles.styles ?? data.header.styles\">\r\n {{ column.value }}\r\n </th>\r\n }\r\n </tr>\r\n }\r\n </thead>\r\n\r\n <tbody>\r\n @for (row of data?.content.items$ | async; track row; let index = $index) {\r\n <tr class=\"relative\" [style.background]=\"data.content.background\">\r\n @for (column of data?.header.columns; track column) {\r\n <td\r\n class=\"relative\"\r\n [colSpan]=\"column.colspan\"\r\n [rowSpan]=\"column.rowspan\"\r\n [style.height]=\"column.height\"\r\n [style.width]=\"column.width\"\r\n [style.background]=\"column.contentStyles.background ?? data.content.background\"\r\n [style.color]=\"column.contentStyles.color ?? data.content.color\"\r\n [ngClass]=\"column.contentStyles.styles ?? data.content.styles\">\r\n <div [innerHtml]=\"((row | getData : column.property : column.dataTransform : index).result) | safeHtml\"></div>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n\r\n </table>\r\n\r\n</div>\r\n\r\n", styles: ["smz-document-table .smz-document-table-tag table{page-break-inside:auto}smz-document-table .smz-document-table-tag div{page-break-inside:avoid}smz-document-table .smz-document-table-tag thead{display:table-header-group}smz-document-table .smz-document-table-tag tfoot{display:table-footer-group}\n"] }]
23312
23349
  }], ctorParameters: () => [], propDecorators: { data: [{
23313
23350
  type: Input
23314
23351
  }], config: [{
@@ -23436,11 +23473,11 @@ class SmzChartComponent {
23436
23473
  }
23437
23474
  }
23438
23475
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
23439
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzChartComponent, isStandalone: false, selector: "smz-ui-chart", inputs: { type: "type", plugins: "plugins", width: "width", height: "height", responsive: "responsive", styleClass: "styleClass", data: "data", options: "options" }, outputs: { chartClick: "chartClick", chartHover: "chartHover" }, ngImport: i0, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"grid grid-nogutter flex-col gap-3 items-center justify-center h-full\">\r\n <i class=\"fa-solid fa-chart-bar text-4xl\"></i>\r\n <p>{{uiConfig.dialogs.charts.emptyMessage}}</p>\r\n </div>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23476
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzChartComponent, isStandalone: false, selector: "smz-ui-chart", inputs: { type: "type", plugins: "plugins", width: "width", height: "height", responsive: "responsive", styleClass: "styleClass", data: "data", options: "options" }, outputs: { chartClick: "chartClick", chartHover: "chartHover" }, ngImport: i0, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"flex flex-wrap flex-col items-center justify-center h-full gap-3\">\r\n <i class=\"fa-solid fa-chart-bar text-4xl\"></i>\r\n <p>{{uiConfig.dialogs.charts.emptyMessage}}</p>\r\n </div>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23440
23477
  }
23441
23478
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzChartComponent, decorators: [{
23442
23479
  type: Component,
23443
- args: [{ selector: 'smz-ui-chart', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"grid grid-nogutter flex-col gap-3 items-center justify-center h-full\">\r\n <i class=\"fa-solid fa-chart-bar text-4xl\"></i>\r\n <p>{{uiConfig.dialogs.charts.emptyMessage}}</p>\r\n </div>\r\n </div>\r\n}" }]
23480
+ args: [{ selector: 'smz-ui-chart', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div [ngClass]=\"{ 'invisible fixed': type == null || type === 'empty' }\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n class=\"{{styleClass}}\">\r\n <canvas [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\">\r\n </canvas>\r\n</div>\r\n\r\n@if (type === 'empty') {\r\n <div class=\"relative h-full\"\r\n [ngStyle]=\"{ height: responsive && !height ? 'auto' : height + 'px', width: responsive && !width ? 'auto' : width + 'px'}\"\r\n class=\"h-full\">\r\n @if (title != null) {\r\n <div class=\"text-center smz-chart-title\">{{title}}</div>\r\n }\r\n <div class=\"flex flex-wrap flex-col items-center justify-center h-full gap-3\">\r\n <i class=\"fa-solid fa-chart-bar text-4xl\"></i>\r\n <p>{{uiConfig.dialogs.charts.emptyMessage}}</p>\r\n </div>\r\n </div>\r\n}" }]
23444
23481
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { type: [{
23445
23482
  type: Input
23446
23483
  }], plugins: [{
@@ -23514,11 +23551,11 @@ class SmzDocumentInjectableComponent {
23514
23551
  config;
23515
23552
  state;
23516
23553
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentInjectableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23517
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentInjectableComponent, isStandalone: false, selector: "smz-document-injectable", inputs: { data: "data", config: "config", state: "state" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-stretch justify-start h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <ng-template [smzGenericInjectComponent]=\"data.content.component\" [context]=\"config\"></ng-template>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: GenericInjectComponentDirective, selector: "[smzGenericInjectComponent]", inputs: ["smzGenericInjectComponent", "context"] }] });
23554
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzDocumentInjectableComponent, isStandalone: false, selector: "smz-document-injectable", inputs: { data: "data", config: "config", state: "state" }, ngImport: i0, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <ng-template [smzGenericInjectComponent]=\"data.content.component\" [context]=\"config\"></ng-template>\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: GenericInjectComponentDirective, selector: "[smzGenericInjectComponent]", inputs: ["smzGenericInjectComponent", "context"] }] });
23518
23555
  }
23519
23556
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentInjectableComponent, decorators: [{
23520
23557
  type: Component,
23521
- args: [{ selector: 'smz-document-injectable', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"grid grid-nogutter items-stretch justify-start h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <ng-template [smzGenericInjectComponent]=\"data.content.component\" [context]=\"config\"></ng-template>\r\n\r\n</div>" }]
23558
+ args: [{ selector: 'smz-document-injectable', standalone: false, template: "<div\r\n [style.background]=\"data.container.background\"\r\n class=\"flex flex-wrap items-stretch justify-start h-full relative\"\r\n [ngClass]=\"data.container.styles\">\r\n\r\n <ng-template [smzGenericInjectComponent]=\"data.content.component\" [context]=\"config\"></ng-template>\r\n\r\n</div>" }]
23522
23559
  }], propDecorators: { data: [{
23523
23560
  type: Input
23524
23561
  }], config: [{
@@ -23750,11 +23787,11 @@ class SmzDocumentViewerComponent {
23750
23787
  this.documentService.setPaperElement(null);
23751
23788
  }
23752
23789
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentViewerComponent, deps: [{ token: i0.ElementRef }, { token: SmzDocumentsService }, { token: i1.Location }, { token: i0.ChangeDetectorRef }, { token: i1$3.Store }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
23753
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentViewerComponent, isStandalone: false, selector: "document-viewer", inputs: { state: "state" }, providers: [SmzDocumentsService], viewQueries: [{ propertyName: "paperElement", first: true, predicate: ["paper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"grid grid-nogutter items-center justify-start flex-col gap-2\" [ngClass]=\"state.viewer.container.styleClass\">\r\n\r\n <div class=\"grid grid-nogutter items-start justify-start gap-2\">\r\n\r\n @if (state.viewer.zoom.isEnabled) {\r\n <button smzButton type=\"button\" label=\"ZOOM -\" (click)=\"documentService.lessZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"100%\" (click)=\"documentService.restoreZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"ZOOM +\" (click)=\"documentService.moreZoom()\" variant=\"outlined\"></button>\r\n }\r\n @if (state.viewer.open.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.open.label\" (click)=\"documentService.generate('open')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.print.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.print.label\" (click)=\"documentService.generate('print')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.download.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.download.label\" (click)=\"documentService.generate('download')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n </div>\r\n\r\n <div class=\"pager\" [ngClass]=\"state.viewer.paper.styleClass\"\r\n [style.transform]=\"'scale(' + documentService.zoom + ')'\"\r\n [style.width.pt]=\"state.viewer.paper.ptWidth\"\r\n [style.padding-left]=\"state.export.margin.left + 'pt !important'\"\r\n [style.padding-right]=\"state.export.margin.right + 'pt !important'\"\r\n [style.padding-top]=\"state.export.margin.top + 'pt !important'\"\r\n [style.padding-bottom]=\"state.export.margin.bottom + 'pt !important'\"\r\n >\r\n <div #paper [style.font-family]=\"state.globals.font.family\" [style.padding]=\"state.export.paddingCompensation\">\r\n <ng-content select=\"header\"></ng-content>\r\n <ng-content select=\"content\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".pager{transform-origin:top center;transition:transform .1s ease-in-out;margin-top:0;margin-left:auto;margin-right:auto}.footer-container{position:absolute;bottom:14.173px;right:22.6768px;font-size:\"0.8px\"}.sticky-header{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
23790
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDocumentViewerComponent, isStandalone: false, selector: "document-viewer", inputs: { state: "state" }, providers: [SmzDocumentsService], viewQueries: [{ propertyName: "paperElement", first: true, predicate: ["paper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-wrap items-center justify-start flex-col gap-2\" [ngClass]=\"state.viewer.container.styleClass\">\r\n\r\n <div class=\"flex flex-wrap items-start justify-start gap-2\">\r\n\r\n @if (state.viewer.zoom.isEnabled) {\r\n <button smzButton type=\"button\" label=\"ZOOM -\" (click)=\"documentService.lessZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"100%\" (click)=\"documentService.restoreZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"ZOOM +\" (click)=\"documentService.moreZoom()\" variant=\"outlined\"></button>\r\n }\r\n @if (state.viewer.open.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.open.label\" (click)=\"documentService.generate('open')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.print.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.print.label\" (click)=\"documentService.generate('print')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.download.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.download.label\" (click)=\"documentService.generate('download')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n </div>\r\n\r\n <div class=\"pager\" [ngClass]=\"state.viewer.paper.styleClass\"\r\n [style.transform]=\"'scale(' + documentService.zoom + ')'\"\r\n [style.width.pt]=\"state.viewer.paper.ptWidth\"\r\n [style.padding-left]=\"state.export.margin.left + 'pt !important'\"\r\n [style.padding-right]=\"state.export.margin.right + 'pt !important'\"\r\n [style.padding-top]=\"state.export.margin.top + 'pt !important'\"\r\n [style.padding-bottom]=\"state.export.margin.bottom + 'pt !important'\"\r\n >\r\n <div #paper [style.font-family]=\"state.globals.font.family\" [style.padding]=\"state.export.paddingCompensation\">\r\n <ng-content select=\"header\"></ng-content>\r\n <ng-content select=\"content\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".pager{transform-origin:top center;transition:transform .1s ease-in-out;margin-top:0;margin-left:auto;margin-right:auto}.footer-container{position:absolute;bottom:14.173px;right:22.6768px;font-size:\"0.8px\"}.sticky-header{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
23754
23791
  }
23755
23792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDocumentViewerComponent, decorators: [{
23756
23793
  type: Component,
23757
- args: [{ selector: 'document-viewer', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, providers: [SmzDocumentsService], standalone: false, template: "<div class=\"grid grid-nogutter items-center justify-start flex-col gap-2\" [ngClass]=\"state.viewer.container.styleClass\">\r\n\r\n <div class=\"grid grid-nogutter items-start justify-start gap-2\">\r\n\r\n @if (state.viewer.zoom.isEnabled) {\r\n <button smzButton type=\"button\" label=\"ZOOM -\" (click)=\"documentService.lessZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"100%\" (click)=\"documentService.restoreZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"ZOOM +\" (click)=\"documentService.moreZoom()\" variant=\"outlined\"></button>\r\n }\r\n @if (state.viewer.open.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.open.label\" (click)=\"documentService.generate('open')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.print.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.print.label\" (click)=\"documentService.generate('print')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.download.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.download.label\" (click)=\"documentService.generate('download')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n </div>\r\n\r\n <div class=\"pager\" [ngClass]=\"state.viewer.paper.styleClass\"\r\n [style.transform]=\"'scale(' + documentService.zoom + ')'\"\r\n [style.width.pt]=\"state.viewer.paper.ptWidth\"\r\n [style.padding-left]=\"state.export.margin.left + 'pt !important'\"\r\n [style.padding-right]=\"state.export.margin.right + 'pt !important'\"\r\n [style.padding-top]=\"state.export.margin.top + 'pt !important'\"\r\n [style.padding-bottom]=\"state.export.margin.bottom + 'pt !important'\"\r\n >\r\n <div #paper [style.font-family]=\"state.globals.font.family\" [style.padding]=\"state.export.paddingCompensation\">\r\n <ng-content select=\"header\"></ng-content>\r\n <ng-content select=\"content\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".pager{transform-origin:top center;transition:transform .1s ease-in-out;margin-top:0;margin-left:auto;margin-right:auto}.footer-container{position:absolute;bottom:14.173px;right:22.6768px;font-size:\"0.8px\"}.sticky-header{position:absolute}\n"] }]
23794
+ args: [{ selector: 'document-viewer', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, providers: [SmzDocumentsService], standalone: false, template: "<div class=\"flex flex-wrap items-center justify-start flex-col gap-2\" [ngClass]=\"state.viewer.container.styleClass\">\r\n\r\n <div class=\"flex flex-wrap items-start justify-start gap-2\">\r\n\r\n @if (state.viewer.zoom.isEnabled) {\r\n <button smzButton type=\"button\" label=\"ZOOM -\" (click)=\"documentService.lessZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"100%\" (click)=\"documentService.restoreZoom()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" label=\"ZOOM +\" (click)=\"documentService.moreZoom()\" variant=\"outlined\"></button>\r\n }\r\n @if (state.viewer.open.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.open.label\" (click)=\"documentService.generate('open')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.print.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.print.label\" (click)=\"documentService.generate('print')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n @if (state.viewer.download.isEnabled) {\r\n <button smzButton type=\"button\" [label]=\"state.viewer.download.label\" (click)=\"documentService.generate('download')\" [disabled]=\"state.isDebug\" severity=\"success\"></button>\r\n }\r\n </div>\r\n\r\n <div class=\"pager\" [ngClass]=\"state.viewer.paper.styleClass\"\r\n [style.transform]=\"'scale(' + documentService.zoom + ')'\"\r\n [style.width.pt]=\"state.viewer.paper.ptWidth\"\r\n [style.padding-left]=\"state.export.margin.left + 'pt !important'\"\r\n [style.padding-right]=\"state.export.margin.right + 'pt !important'\"\r\n [style.padding-top]=\"state.export.margin.top + 'pt !important'\"\r\n [style.padding-bottom]=\"state.export.margin.bottom + 'pt !important'\"\r\n >\r\n <div #paper [style.font-family]=\"state.globals.font.family\" [style.padding]=\"state.export.paddingCompensation\">\r\n <ng-content select=\"header\"></ng-content>\r\n <ng-content select=\"content\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [".pager{transform-origin:top center;transition:transform .1s ease-in-out;margin-top:0;margin-left:auto;margin-right:auto}.footer-container{position:absolute;bottom:14.173px;right:22.6768px;font-size:\"0.8px\"}.sticky-header{position:absolute}\n"] }]
23758
23795
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: SmzDocumentsService }, { type: i1.Location }, { type: i0.ChangeDetectorRef }, { type: i1$3.Store }, { type: i0.Renderer2 }], propDecorators: { paperElement: [{
23759
23796
  type: ViewChild,
23760
23797
  args: ['paper', { static: true }]
@@ -28711,11 +28748,11 @@ class GuideFooterComponent {
28711
28748
  this.refService.close();
28712
28749
  }
28713
28750
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GuideFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28714
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GuideFooterComponent, isStandalone: false, selector: "smz-guide-footer", ngImport: i0, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full grid grid-nogutter items-center justify-between gap-2\">\r\n @if (overlay.state.allowBackNavigation) {\r\n <button [disabled]=\"overlay.state.context.step <= 1\" smzButton type=\"button\" icon=\"fa-solid fa-arrow-left-long\" class=\"text-lg w-11 h-11\" (click)=\"previous()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.showSummaryCount) {\r\n <div class=\"grid grid-nogutter items-center justify-center gap-2\">\r\n @for (step of overlay.state.steps; track step; let index = $index) {\r\n <div\r\n class=\"rounded-full h-4 w-4 border-1 border-surface-border\"\r\n [ngClass]=\"{ 'bg-primary-color' : overlay.state.context.step === (index + 1), 'bg-surface-ground' : overlay.state.context.step !== (index + 1) }\">\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (overlay.state.context.step === overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" class=\"text-lg w-11 h-11\" (click)=\"conclude()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.context.step < overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-right-long\" class=\"text-lg w-11 h-11\" (click)=\"next()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzToolbarComponent, selector: "ui-toolbar" }], encapsulation: i0.ViewEncapsulation.None });
28751
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GuideFooterComponent, isStandalone: false, selector: "smz-guide-footer", ngImport: i0, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full flex flex-wrap items-center justify-between gap-2\">\r\n @if (overlay.state.allowBackNavigation) {\r\n <button [disabled]=\"overlay.state.context.step <= 1\" smzButton type=\"button\" icon=\"fa-solid fa-arrow-left-long\" class=\"text-lg w-11 h-11\" (click)=\"previous()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.showSummaryCount) {\r\n <div class=\"flex flex-wrap items-center justify-center gap-2\">\r\n @for (step of overlay.state.steps; track step; let index = $index) {\r\n <div\r\n class=\"rounded-full h-4 w-4 border-1 border-surface-border\"\r\n [ngClass]=\"{ 'bg-primary-color' : overlay.state.context.step === (index + 1), 'bg-surface-ground' : overlay.state.context.step !== (index + 1) }\">\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (overlay.state.context.step === overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" class=\"text-lg w-11 h-11\" (click)=\"conclude()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.context.step < overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-right-long\" class=\"text-lg w-11 h-11\" (click)=\"next()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzToolbarComponent, selector: "ui-toolbar" }], encapsulation: i0.ViewEncapsulation.None });
28715
28752
  }
28716
28753
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GuideFooterComponent, decorators: [{
28717
28754
  type: Component,
28718
- args: [{ selector: 'smz-guide-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full grid grid-nogutter items-center justify-between gap-2\">\r\n @if (overlay.state.allowBackNavigation) {\r\n <button [disabled]=\"overlay.state.context.step <= 1\" smzButton type=\"button\" icon=\"fa-solid fa-arrow-left-long\" class=\"text-lg w-11 h-11\" (click)=\"previous()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.showSummaryCount) {\r\n <div class=\"grid grid-nogutter items-center justify-center gap-2\">\r\n @for (step of overlay.state.steps; track step; let index = $index) {\r\n <div\r\n class=\"rounded-full h-4 w-4 border-1 border-surface-border\"\r\n [ngClass]=\"{ 'bg-primary-color' : overlay.state.context.step === (index + 1), 'bg-surface-ground' : overlay.state.context.step !== (index + 1) }\">\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (overlay.state.context.step === overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" class=\"text-lg w-11 h-11\" (click)=\"conclude()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.context.step < overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-right-long\" class=\"text-lg w-11 h-11\" (click)=\"next()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}" }]
28755
+ args: [{ selector: 'smz-guide-footer', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (dialogConfig.data?.overlayPanel; as overlay) {\r\n <ui-toolbar class=\"smz-guide-footer\">\r\n <div class=\"w-full flex flex-wrap items-center justify-between gap-2\">\r\n @if (overlay.state.allowBackNavigation) {\r\n <button [disabled]=\"overlay.state.context.step <= 1\" smzButton type=\"button\" icon=\"fa-solid fa-arrow-left-long\" class=\"text-lg w-11 h-11\" (click)=\"previous()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.showSummaryCount) {\r\n <div class=\"flex flex-wrap items-center justify-center gap-2\">\r\n @for (step of overlay.state.steps; track step; let index = $index) {\r\n <div\r\n class=\"rounded-full h-4 w-4 border-1 border-surface-border\"\r\n [ngClass]=\"{ 'bg-primary-color' : overlay.state.context.step === (index + 1), 'bg-surface-ground' : overlay.state.context.step !== (index + 1) }\">\r\n </div>\r\n }\r\n </div>\r\n }\r\n @if (overlay.state.context.step === overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-check\" class=\"text-lg w-11 h-11\" (click)=\"conclude()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n @if (overlay.state.context.step < overlay.state.steps.length) {\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-arrow-right-long\" class=\"text-lg w-11 h-11\" (click)=\"next()\" [rounded]=\"true\" variant=\"text\">\r\n </button>\r\n }\r\n </div>\r\n </ui-toolbar>\r\n}" }]
28719
28756
  }] });
28720
28757
 
28721
28758
  // export const ngxsModuleForFeatureDialogsState = NgxsModule.forFeature([DialogsState]);
@@ -31961,11 +31998,11 @@ class UserClaimsComponent {
31961
31998
  this.claims = claims.filter(claim => this.user?.claims.findIndex(u => u.id === claim.id) !== -1 ? false : true);
31962
31999
  }
31963
32000
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UserClaimsComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
31964
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UserClaimsComponent, isStandalone: false, selector: "app-user-claims", inputs: { username: "username" }, outputs: { desassociateClaim: "desassociateClaim" }, ngImport: i0, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <div class=\"claim-access-type-indicator\">\r\n @if (item.access.id === 0) {\r\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n @if (item.access.id === 1) {\r\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n </div>\r\n <div>{{ item.claim.name }}</div>\r\n </div>\r\n <div></div>\r\n } @else {\r\n {{ item.description }}\r\n }\r\n\r\n <!-- SOURCE -->\r\n\r\n </ng-template>\r\n </ui-pick-list>\r\n </div>\r\n</div>", styles: ["app-user-claims .nameInput{height:60px}app-user-claims .p-picklist .p-picklist-filter-container{padding-right:30px!important}app-user-claims .p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:10px!important;left:unset}app-user-claims .p-picklist .p-picklist-list{height:300px}app-user-claims .p-picklist.p-picklist-responsive .p-picklist-listwrapper.p-picklist-listwrapper-nocontrols{width:50%}app-user-claims .claim-access-type-indicator{float:right}app-user-claims .allow-text{color:#1a9c2a}app-user-claims .block-text{color:#9c1a1a}\n"], dependencies: [{ kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: i2.SmzPickListComponent, selector: "ui-pick-list", inputs: ["source", "target", "sourceHeader", "targetHeader", "sourceFilterPlaceholder", "targetFilterPlaceholder", "filterBy", "dragdrop", "responsive", "listStyle", "showSourceControls", "showTargetControls"], outputs: ["movedToTarget", "movedToSource", "movedAllToTarget", "movedAllToSource"] }], encapsulation: i0.ViewEncapsulation.None });
32001
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UserClaimsComponent, isStandalone: false, selector: "app-user-claims", inputs: { username: "username" }, outputs: { desassociateClaim: "desassociateClaim" }, ngImport: i0, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div class=\"claim-access-type-indicator\">\r\n @if (item.access.id === 0) {\r\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n @if (item.access.id === 1) {\r\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n </div>\r\n <div>{{ item.claim.name }}</div>\r\n </div>\r\n <div></div>\r\n } @else {\r\n {{ item.description }}\r\n }\r\n\r\n <!-- SOURCE -->\r\n\r\n </ng-template>\r\n </ui-pick-list>\r\n </div>\r\n</div>", styles: ["app-user-claims .nameInput{height:60px}app-user-claims .p-picklist .p-picklist-filter-container{padding-right:30px!important}app-user-claims .p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:10px!important;left:unset}app-user-claims .p-picklist .p-picklist-list{height:300px}app-user-claims .p-picklist.p-picklist-responsive .p-picklist-listwrapper.p-picklist-listwrapper-nocontrols{width:50%}app-user-claims .claim-access-type-indicator{float:right}app-user-claims .allow-text{color:#1a9c2a}app-user-claims .block-text{color:#9c1a1a}\n"], dependencies: [{ kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: i2.SmzPickListComponent, selector: "ui-pick-list", inputs: ["source", "target", "sourceHeader", "targetHeader", "sourceFilterPlaceholder", "targetFilterPlaceholder", "filterBy", "dragdrop", "responsive", "listStyle", "showSourceControls", "showTargetControls"], outputs: ["movedToTarget", "movedToSource", "movedAllToTarget", "movedAllToSource"] }], encapsulation: i0.ViewEncapsulation.None });
31965
32002
  }
31966
32003
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UserClaimsComponent, decorators: [{
31967
32004
  type: Component,
31968
- args: [{ selector: 'app-user-claims', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <div class=\"claim-access-type-indicator\">\r\n @if (item.access.id === 0) {\r\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n @if (item.access.id === 1) {\r\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n </div>\r\n <div>{{ item.claim.name }}</div>\r\n </div>\r\n <div></div>\r\n } @else {\r\n {{ item.description }}\r\n }\r\n\r\n <!-- SOURCE -->\r\n\r\n </ng-template>\r\n </ui-pick-list>\r\n </div>\r\n</div>", styles: ["app-user-claims .nameInput{height:60px}app-user-claims .p-picklist .p-picklist-filter-container{padding-right:30px!important}app-user-claims .p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:10px!important;left:unset}app-user-claims .p-picklist .p-picklist-list{height:300px}app-user-claims .p-picklist.p-picklist-responsive .p-picklist-listwrapper.p-picklist-listwrapper-nocontrols{width:50%}app-user-claims .claim-access-type-indicator{float:right}app-user-claims .allow-text{color:#1a9c2a}app-user-claims .block-text{color:#9c1a1a}\n"] }]
32005
+ args: [{ selector: 'app-user-claims', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"ui-g form-group\">\r\n <div class=\"ui-g-12 ui-md-12\">\r\n <ui-pick-list [source]=\"claims\" [target]=\"targetClaims\" [responsive]=\"true\" sourceHeader=\"Claims dispon\u00EDveis\" targetHeader=\"Claims associados\" sourceFilterPlaceholder=\"Filtrar claims\" targetFilterPlaceholder=\"Filtrar claims\" filterBy=\"name\" [showSourceControls]=\"false\" [showTargetControls]=\"false\" [dragdrop]=\"true\" (movedToTarget)=\"addItemToTarget($event)\" (movedToSource)=\"addItemToSource($event)\" (movedAllToTarget)=\"addItemToTarget($event)\" (movedAllToSource)=\"addItemToSource($event)\">\r\n <ng-template let-item smzTemplate=\"item\">\r\n\r\n <!-- TARGET -->\r\n @if (item.access != null) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div class=\"claim-access-type-indicator\">\r\n @if (item.access.id === 0) {\r\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n @if (item.access.id === 1) {\r\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\r\n }\r\n </div>\r\n <div>{{ item.claim.name }}</div>\r\n </div>\r\n <div></div>\r\n } @else {\r\n {{ item.description }}\r\n }\r\n\r\n <!-- SOURCE -->\r\n\r\n </ng-template>\r\n </ui-pick-list>\r\n </div>\r\n</div>", styles: ["app-user-claims .nameInput{height:60px}app-user-claims .p-picklist .p-picklist-filter-container{padding-right:30px!important}app-user-claims .p-picklist .p-picklist-filter-container .p-picklist-filter-icon{right:10px!important;left:unset}app-user-claims .p-picklist .p-picklist-list{height:300px}app-user-claims .p-picklist.p-picklist-responsive .p-picklist-listwrapper.p-picklist-listwrapper-nocontrols{width:50%}app-user-claims .claim-access-type-indicator{float:right}app-user-claims .allow-text{color:#1a9c2a}app-user-claims .block-text{color:#9c1a1a}\n"] }]
31969
32006
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { username: [{
31970
32007
  type: Input
31971
32008
  }], desassociateClaim: [{
@@ -32188,11 +32225,11 @@ class UsersPageComponent {
32188
32225
  this.cdr.markForCheck();
32189
32226
  }
32190
32227
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UsersPageComponent, deps: [{ token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
32191
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UsersPageComponent, isStandalone: false, selector: "smz-ui-users-page", ngImport: i0, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"grid grid-nogutter items-center gap-3 justify-start\">\r\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\r\n @if (item.avatar == null) {\r\n <img\r\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\r\n @if (item.avatar != null) {\r\n <img\r\n [src]=\"item.avatar\"\r\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <span>{{ item.displayName }}</span>\r\n </div>\r\n }\r\n @case ('role.name') {\r\n {{ item.role?.name }}\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32228
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UsersPageComponent, isStandalone: false, selector: "smz-ui-users-page", ngImport: i0, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"flex flex-wrap items-center justify-start gap-3\">\r\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\r\n @if (item.avatar == null) {\r\n <img\r\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\r\n @if (item.avatar != null) {\r\n <img\r\n [src]=\"item.avatar\"\r\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <span>{{ item.displayName }}</span>\r\n </div>\r\n }\r\n @case ('role.name') {\r\n {{ item.role?.name }}\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32192
32229
  }
32193
32230
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UsersPageComponent, decorators: [{
32194
32231
  type: Component,
32195
- args: [{ selector: 'smz-ui-users-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"grid grid-nogutter items-center gap-3 justify-start\">\r\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\r\n @if (item.avatar == null) {\r\n <img\r\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\r\n @if (item.avatar != null) {\r\n <img\r\n [src]=\"item.avatar\"\r\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <span>{{ item.displayName }}</span>\r\n </div>\r\n }\r\n @case ('role.name') {\r\n {{ item.role?.name }}\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>" }]
32232
+ args: [{ selector: 'smz-ui-users-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n<ng-container *ngVar=\"(users$ | async) as users\">\r\n\r\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n\r\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\r\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\r\n </ui-select-button>\r\n }\r\n\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('displayName') {\r\n <div class=\"flex flex-wrap items-center justify-start gap-3\">\r\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\r\n @if (item.avatar == null) {\r\n <img\r\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\r\n @if (item.avatar != null) {\r\n <img\r\n [src]=\"item.avatar\"\r\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\r\n class=\"w-14 align-middle\"\r\n />\r\n }\r\n <span>{{ item.displayName }}</span>\r\n </div>\r\n }\r\n @case ('role.name') {\r\n {{ item.role?.name }}\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>" }]
32196
32233
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: i0.ChangeDetectorRef }] });
32197
32234
 
32198
32235
  const routes$7 = [
@@ -32669,14 +32706,14 @@ class RolesPageComponent {
32669
32706
  this.dialogs.open(CreateRoleDialog());
32670
32707
  }
32671
32708
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RolesPageComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
32672
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RolesPageComponent, isStandalone: false, selector: "app-roles-page", ngImport: i0, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"grid grid-nogutter items-start justify-start flex-col gap-1\">\r\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\r\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\r\n <ul class=\"list-disc\">\r\n @for (claim of limitedClaims; track claim) {\r\n <li class=\"\">{{ $any(claim).name }}</li>\r\n }\r\n @if (item.claims.length > 3) {\r\n <li>(...)</li>\r\n }\r\n </ul>\r\n @if (item.claims.length > 3) {\r\n <button\r\n type=\"button\"\r\n (click)=\"onShowRoleClaimsDialog(item)\"\r\n class=\"block rounded-md bg-amber-400 px-2.5 py-1.5 text-center text-sm font-semibold text-black shadow-sm hover:bg-amber-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500\">\r\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\r\n </button>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n", dependencies: [{ kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SmzInitialPipe, name: "smzInitial" }, { kind: "pipe", type: RbkCanAccessAnyPipe, name: "rbkCanAccessAny" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32709
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: RolesPageComponent, isStandalone: false, selector: "app-roles-page", ngImport: i0, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"flex flex-wrap items-start justify-start flex-col gap-1\">\r\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\r\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\r\n <ul class=\"list-disc\">\r\n @for (claim of limitedClaims; track claim) {\r\n <li class=\"\">{{ $any(claim).name }}</li>\r\n }\r\n @if (item.claims.length > 3) {\r\n <li>(...)</li>\r\n }\r\n </ul>\r\n @if (item.claims.length > 3) {\r\n <button\r\n type=\"button\"\r\n (click)=\"onShowRoleClaimsDialog(item)\"\r\n class=\"block rounded-md bg-amber-400 px-2.5 py-1.5 text-center text-sm font-semibold text-black shadow-sm hover:bg-amber-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500\">\r\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\r\n </button>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n", dependencies: [{ kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SmzInitialPipe, name: "smzInitial" }, { kind: "pipe", type: RbkCanAccessAnyPipe, name: "rbkCanAccessAny" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32673
32710
  }
32674
32711
  __decorate([
32675
32712
  Confirmable('Tem certeza de que deseja excluir esse perfil ?', 'Atenção', true)
32676
32713
  ], RolesPageComponent.prototype, "showDeleteConfirmation", null);
32677
32714
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RolesPageComponent, decorators: [{
32678
32715
  type: Component,
32679
- args: [{ selector: 'app-roles-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"grid grid-nogutter items-start justify-start flex-col gap-1\">\r\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\r\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\r\n <ul class=\"list-disc\">\r\n @for (claim of limitedClaims; track claim) {\r\n <li class=\"\">{{ $any(claim).name }}</li>\r\n }\r\n @if (item.claims.length > 3) {\r\n <li>(...)</li>\r\n }\r\n </ul>\r\n @if (item.claims.length > 3) {\r\n <button\r\n type=\"button\"\r\n (click)=\"onShowRoleClaimsDialog(item)\"\r\n class=\"block rounded-md bg-amber-400 px-2.5 py-1.5 text-center text-sm font-semibold text-black shadow-sm hover:bg-amber-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500\">\r\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\r\n </button>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n" }]
32716
+ args: [{ selector: 'app-roles-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('claims') {\r\n <div class=\"flex flex-wrap items-start justify-start flex-col gap-1\">\r\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\r\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\r\n <ul class=\"list-disc\">\r\n @for (claim of limitedClaims; track claim) {\r\n <li class=\"\">{{ $any(claim).name }}</li>\r\n }\r\n @if (item.claims.length > 3) {\r\n <li>(...)</li>\r\n }\r\n </ul>\r\n @if (item.claims.length > 3) {\r\n <button\r\n type=\"button\"\r\n (click)=\"onShowRoleClaimsDialog(item)\"\r\n class=\"block rounded-md bg-amber-400 px-2.5 py-1.5 text-center text-sm font-semibold text-black shadow-sm hover:bg-amber-300 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500\">\r\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\r\n </button>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n" }]
32680
32717
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { showDeleteConfirmation: [] } });
32681
32718
 
32682
32719
  const data$4 = {
@@ -34096,11 +34133,11 @@ class SmzLoginComponent {
34096
34133
  }
34097
34134
  }
34098
34135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLoginComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
34099
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzLoginComponent, isStandalone: false, selector: "smz-ui-login", inputs: { state: "state" }, host: { properties: { "class": "this.colorClass" } }, queries: [{ propertyName: "templates", predicate: i0.forwardRef(() => SmzTemplateDirective) }], ngImport: i0, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full grid grid-nogutter flex-col items-stretch justify-center gap-4 p-6\">\r\n @if (state.message) {\r\n <div class=\"ml-auto mr-auto\" [innerHtml]=\"state.message | safeHtml\"></div>\r\n }\r\n <smz-form-group #formComponent (submit)=\"login($any(formComponent.getData()))\" [config]=\"state.form\"></smz-form-group>\r\n <button smzButton [disabled]=\"!formComponent.isValid\" type=\"button\" [label]=\"state.loginButtonLabel\" (click)=\"login($any(formComponent.getData()))\"></button>\r\n @for (action of (state.customButtons | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n @if (state.extraInfo) {\r\n <div class=\"text-sm ml-auto mr-auto\" [innerHtml]=\"state.extraInfo | safeHtml\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (extraTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34136
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzLoginComponent, isStandalone: false, selector: "smz-ui-login", inputs: { state: "state" }, host: { properties: { "class": "this.colorClass" } }, queries: [{ propertyName: "templates", predicate: i0.forwardRef(() => SmzTemplateDirective) }], ngImport: i0, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full flex flex-wrap flex-col items-stretch justify-center p-6 gap-4\">\r\n @if (state.message) {\r\n <div class=\"ml-auto mr-auto\" [innerHtml]=\"state.message | safeHtml\"></div>\r\n }\r\n <smz-form-group #formComponent (submit)=\"login($any(formComponent.getData()))\" [config]=\"state.form\"></smz-form-group>\r\n <button smzButton [disabled]=\"!formComponent.isValid\" type=\"button\" [label]=\"state.loginButtonLabel\" (click)=\"login($any(formComponent.getData()))\"></button>\r\n @for (action of (state.customButtons | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n @if (state.extraInfo) {\r\n <div class=\"text-sm ml-auto mr-auto\" [innerHtml]=\"state.extraInfo | safeHtml\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (extraTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "directive", type: SmzMenuItemActionsDirective, selector: "[smzMenuItemAction]", inputs: ["item", "data"], outputs: ["collapse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzFlattenMenuPipe, name: "smzFlattenMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34100
34137
  }
34101
34138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLoginComponent, decorators: [{
34102
34139
  type: Component,
34103
- args: [{ selector: 'smz-ui-login', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full grid grid-nogutter flex-col items-stretch justify-center gap-4 p-6\">\r\n @if (state.message) {\r\n <div class=\"ml-auto mr-auto\" [innerHtml]=\"state.message | safeHtml\"></div>\r\n }\r\n <smz-form-group #formComponent (submit)=\"login($any(formComponent.getData()))\" [config]=\"state.form\"></smz-form-group>\r\n <button smzButton [disabled]=\"!formComponent.isValid\" type=\"button\" [label]=\"state.loginButtonLabel\" (click)=\"login($any(formComponent.getData()))\"></button>\r\n @for (action of (state.customButtons | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n @if (state.extraInfo) {\r\n <div class=\"text-sm ml-auto mr-auto\" [innerHtml]=\"state.extraInfo | safeHtml\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (extraTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n\r\n</div>" }]
34140
+ args: [{ selector: 'smz-ui-login', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div [ngClass]=\"state.styleClass.card\" class=\"flex overflow-y-auto flex-col flex-nowrap items-stretch justify-center gap-3 w-full md:max-w-md h-full mx-auto shadow-6\">\r\n\r\n @if (state.logo.customPath != null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"state.logo.customPath\" />\r\n }\r\n @if (state.logo.customPath == null) {\r\n <img [ngClass]=\"state.logo.styleClass\" class=\"object-fill ml-auto mr-auto\" [src]=\"(appLogo$ | async)[state.logo.type]\" />\r\n }\r\n\r\n @if (state.isFormVisible) {\r\n <div class=\"w-full flex flex-wrap flex-col items-stretch justify-center p-6 gap-4\">\r\n @if (state.message) {\r\n <div class=\"ml-auto mr-auto\" [innerHtml]=\"state.message | safeHtml\"></div>\r\n }\r\n <smz-form-group #formComponent (submit)=\"login($any(formComponent.getData()))\" [config]=\"state.form\"></smz-form-group>\r\n <button smzButton [disabled]=\"!formComponent.isValid\" type=\"button\" [label]=\"state.loginButtonLabel\" (click)=\"login($any(formComponent.getData()))\"></button>\r\n @for (action of (state.customButtons | smzFlattenMenu : null); track action) {\r\n @if (action.visible) {\r\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\r\n }\r\n }\r\n @if (state.extraInfo) {\r\n <div class=\"text-sm ml-auto mr-auto\" [innerHtml]=\"state.extraInfo | safeHtml\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n @if (extraTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n\r\n</div>" }]
34104
34141
  }], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
34105
34142
  type: ContentChildren,
34106
34143
  args: [forwardRef(() => SmzTemplateDirective)]
@@ -35622,7 +35659,7 @@ class FaqsContentComponent {
35622
35659
  this.manager.delete(data.id);
35623
35660
  }
35624
35661
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FaqsContentComponent, deps: [{ token: FaqsManagerService }, { token: i0.ChangeDetectorRef }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
35625
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FaqsContentComponent, isStandalone: false, selector: "smz-faqs-content", inputs: { items: "items" }, ngImport: i0, template: "<div class=\"grid\">\r\n\r\n <div class=\"col-12\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".faqs__answer{white-space:pre-wrap}.faqs__actions{width:100%;text-align:right;padding:0 0 10px}.p-input-icon-left,.p-input-icon-right{position:relative}.ui-float-icon{position:absolute;top:50%;margin-top:-.5rem;left:.5rem;color:#6c757d}.p-input-icon-left>.ui-inputtext{padding-left:2rem;border-left-width:1px}\n"], dependencies: [{ kind: "component", type: SmzIconMessageComponent, selector: "smz-icon-message", inputs: ["icon", "message", "comment"] }, { kind: "component", type: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzAccordionComponent, selector: "ui-accordion", inputs: ["value", "multiple", "transitionOptions"], outputs: ["valueChange", "opened", "closed"] }, { kind: "component", type: i2.SmzAccordionPanelComponent, selector: "ui-accordion-panel", inputs: ["value"] }, { kind: "component", type: i2.SmzAccordionHeaderComponent, selector: "ui-accordion-header" }, { kind: "component", type: i2.SmzAccordionContentComponent, selector: "ui-accordion-content" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzInputGroupComponent, selector: "ui-input-group" }, { kind: "component", type: i2.SmzInputGroupAddonComponent, selector: "ui-input-group-addon" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }, { kind: "pipe", type: SearchFaqsPipe, name: "searchFaqs" }, { kind: "pipe", type: HighlightSearch, name: "highlight" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] });
35662
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FaqsContentComponent, isStandalone: false, selector: "smz-faqs-content", inputs: { items: "items" }, ngImport: i0, template: "<div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".faqs__answer{white-space:pre-wrap}.faqs__actions{width:100%;text-align:right;padding:0 0 10px}.p-input-icon-left,.p-input-icon-right{position:relative}.ui-float-icon{position:absolute;top:50%;margin-top:-.5rem;left:.5rem;color:#6c757d}.p-input-icon-left>.ui-inputtext{padding-left:2rem;border-left-width:1px}\n"], dependencies: [{ kind: "component", type: SmzIconMessageComponent, selector: "smz-icon-message", inputs: ["icon", "message", "comment"] }, { kind: "component", type: FormGroupComponent, selector: "smz-form-group", inputs: ["config"], outputs: ["statusChanges", "initialStateChanged", "previousStateChanged", "submit"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzAccordionComponent, selector: "ui-accordion", inputs: ["value", "multiple", "transitionOptions"], outputs: ["valueChange", "opened", "closed"] }, { kind: "component", type: i2.SmzAccordionPanelComponent, selector: "ui-accordion-panel", inputs: ["value"] }, { kind: "component", type: i2.SmzAccordionHeaderComponent, selector: "ui-accordion-header" }, { kind: "component", type: i2.SmzAccordionContentComponent, selector: "ui-accordion-content" }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzInputGroupComponent, selector: "ui-input-group" }, { kind: "component", type: i2.SmzInputGroupAddonComponent, selector: "ui-input-group-addon" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: RbkCanAccessPipe, name: "rbkCanAccess" }, { kind: "pipe", type: SearchFaqsPipe, name: "searchFaqs" }, { kind: "pipe", type: HighlightSearch, name: "highlight" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] });
35626
35663
  }
35627
35664
  __decorate([
35628
35665
  Confirmable('Confirma a criação desta pergunta/resposta ?', 'Aviso')
@@ -35632,7 +35669,7 @@ __decorate([
35632
35669
  ], FaqsContentComponent.prototype, "delete", null);
35633
35670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FaqsContentComponent, decorators: [{
35634
35671
  type: Component,
35635
- args: [{ selector: 'smz-faqs-content', standalone: false, template: "<div class=\"grid\">\r\n\r\n <div class=\"col-12\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".faqs__answer{white-space:pre-wrap}.faqs__actions{width:100%;text-align:right;padding:0 0 10px}.p-input-icon-left,.p-input-icon-right{position:relative}.ui-float-icon{position:absolute;top:50%;margin-top:-.5rem;left:.5rem;color:#6c757d}.p-input-icon-left>.ui-inputtext{padding-left:2rem;border-left-width:1px}\n"] }]
35672
+ args: [{ selector: 'smz-faqs-content', standalone: false, template: "<div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\r\n\r\n <ui-input-group>\r\n <ui-input-group-addon>\r\n <i class=\"fa-solid fa-magnifying-glass\"></i>\r\n </ui-input-group-addon>\r\n\r\n <input\r\n type=\"text\"\r\n smzInputText\r\n [(ngModel)]=\"keywords\"\r\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\r\n />\r\n\r\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\r\n </ui-input-group>\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((items | searchFaqs : keywords); as filtered) {\r\n @if (filtered.length > 0) {\r\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\r\n <ui-accordion [multiple]=\"true\">\r\n @for (item of filtered; track item.id) {\r\n <ui-accordion-panel [value]=\"item.id\">\r\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\r\n\r\n <ui-accordion-content>\r\n @if (manager.config.creationClaim | rbkCanAccess) {\r\n <div class=\"faqs__actions\">\r\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\r\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\r\n </div>\r\n }\r\n\r\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\r\n </ui-accordion-content>\r\n </ui-accordion-panel>\r\n }\r\n </ui-accordion>\r\n } @else {\r\n <smz-icon-message\r\n [message]=\"manager.config.placeholders.emptyMessage\"\r\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\r\n manager.config.placeholders.creationMessage :\r\n (keywords === '') ?\r\n manager.config.placeholders.supportMessage :\r\n manager.config.placeholders.noSearchResultsMessage\"\r\n >\r\n </smz-icon-message>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"col-span-12 min-w-0\">\r\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\r\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\r\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\r\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".faqs__answer{white-space:pre-wrap}.faqs__actions{width:100%;text-align:right;padding:0 0 10px}.p-input-icon-left,.p-input-icon-right{position:relative}.ui-float-icon{position:absolute;top:50%;margin-top:-.5rem;left:.5rem;color:#6c757d}.p-input-icon-left>.ui-inputtext{padding-left:2rem;border-left-width:1px}\n"] }]
35636
35673
  }], ctorParameters: () => [{ type: FaqsManagerService }, { type: i0.ChangeDetectorRef }, { type: SmzDialogsService }], propDecorators: { items: [{
35637
35674
  type: Input
35638
35675
  }], create: [], delete: [] } });
@@ -36420,11 +36457,11 @@ class LoaderCubeComponent {
36420
36457
  this.width = `${Math.round((characters * 160) / 18)}px`;
36421
36458
  }
36422
36459
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderCubeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36423
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderCubeComponent, isStandalone: false, selector: "smz-ui-loader-cube", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container grid flex-col items-start justify-middle\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:10px}.spinner-container{--aspect-ratio: 1/1;height:60px;width:60px;background:var(--primary-color);border-radius:60px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.sk-cube-grid{margin-top:14px!important;width:30px;height:30px;margin:0 auto}.sk-cube-grid .sk-cube{width:33%;height:33%;background-color:var(--surface-card);float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
36460
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderCubeComponent, isStandalone: false, selector: "smz-ui-loader-cube", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:10px}.spinner-container{--aspect-ratio: 1/1;height:60px;width:60px;background:var(--primary-color);border-radius:60px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.sk-cube-grid{margin-top:14px!important;width:30px;height:30px;margin:0 auto}.sk-cube-grid .sk-cube{width:33%;height:33%;background-color:var(--surface-card);float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
36424
36461
  }
36425
36462
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderCubeComponent, decorators: [{
36426
36463
  type: Component,
36427
- args: [{ selector: 'smz-ui-loader-cube', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container grid flex-col items-start justify-middle\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:10px}.spinner-container{--aspect-ratio: 1/1;height:60px;width:60px;background:var(--primary-color);border-radius:60px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.sk-cube-grid{margin-top:14px!important;width:30px;height:30px;margin:0 auto}.sk-cube-grid .sk-cube{width:33%;height:33%;background-color:var(--surface-card);float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}\n"] }]
36464
+ args: [{ selector: 'smz-ui-loader-cube', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-cube-grid\">\r\n <div class=\"sk-cube sk-cube1\"></div>\r\n <div class=\"sk-cube sk-cube2\"></div>\r\n <div class=\"sk-cube sk-cube3\"></div>\r\n <div class=\"sk-cube sk-cube4\"></div>\r\n <div class=\"sk-cube sk-cube5\"></div>\r\n <div class=\"sk-cube sk-cube6\"></div>\r\n <div class=\"sk-cube sk-cube7\"></div>\r\n <div class=\"sk-cube sk-cube8\"></div>\r\n <div class=\"sk-cube sk-cube9\"></div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:10px}.spinner-container{--aspect-ratio: 1/1;height:60px;width:60px;background:var(--primary-color);border-radius:60px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.sk-cube-grid{margin-top:14px!important;width:30px;height:30px;margin:0 auto}.sk-cube-grid .sk-cube{width:33%;height:33%;background-color:var(--surface-card);float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-cube-grid .sk-cube1{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube2{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube3{-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid .sk-cube4{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube5{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid .sk-cube6{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid .sk-cube7{-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid .sk-cube8{-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid .sk-cube9{-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scaleZ(1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}\n"] }]
36428
36465
  }], ctorParameters: () => [], propDecorators: { title: [{
36429
36466
  type: Input
36430
36467
  }], message: [{
@@ -36449,11 +36486,11 @@ class LoaderSquareComponent {
36449
36486
  this.width = `${Math.round((characters * 160) / 18)}px`;
36450
36487
  }
36451
36488
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderSquareComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36452
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderSquareComponent, isStandalone: false, selector: "smz-ui-loader-square", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container grid flex-col items-start justify-middle\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:8px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.spinner-container{height:65px;width:65px;display:flex;justify-content:center;align-items:center;background:var(--primary-color);border-radius:100%}.sk-square-grid{height:35px;width:35px;transform:rotate(45deg);font-size:0;line-height:0;animation:rotate-loader 5s infinite;padding:4px;border:1px solid var(--surface-card)}.sk-segment-holder{position:relative;display:inline-block;width:50%;height:50%}.sk-segment{position:absolute;background:var(--surface-card)}.sk-one{bottom:0;height:0;width:100%;animation:slide-one 1s infinite}.sk-two{left:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.25s}.sk-three{right:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.75s}.sk-four{top:0;height:0;width:100%;animation:slide-one 1s infinite;animation-delay:.5s}@keyframes slide-one{0%{height:0;opacity:1}12.5%{height:100%;opacity:1}50%{opacity:1}to{height:100%;opacity:0}}@keyframes slide-two{0%{width:0;opacity:1}12.5%{width:100%;opacity:1}50%{opacity:1}to{width:100%;opacity:0}}@keyframes rotate-loader{0%{transform:rotate(45deg)}20%{transform:rotate(45deg)}25%{transform:rotate(135deg)}45%{transform:rotate(135deg)}50%{transform:rotate(225deg)}70%{transform:rotate(225deg)}75%{transform:rotate(315deg)}95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
36489
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: LoaderSquareComponent, isStandalone: false, selector: "smz-ui-loader-square", inputs: { title: "title", message: "message", width: "width" }, ngImport: i0, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:8px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.spinner-container{height:65px;width:65px;display:flex;justify-content:center;align-items:center;background:var(--primary-color);border-radius:100%}.sk-square-grid{height:35px;width:35px;transform:rotate(45deg);font-size:0;line-height:0;animation:rotate-loader 5s infinite;padding:4px;border:1px solid var(--surface-card)}.sk-segment-holder{position:relative;display:inline-block;width:50%;height:50%}.sk-segment{position:absolute;background:var(--surface-card)}.sk-one{bottom:0;height:0;width:100%;animation:slide-one 1s infinite}.sk-two{left:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.25s}.sk-three{right:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.75s}.sk-four{top:0;height:0;width:100%;animation:slide-one 1s infinite;animation-delay:.5s}@keyframes slide-one{0%{height:0;opacity:1}12.5%{height:100%;opacity:1}50%{opacity:1}to{height:100%;opacity:0}}@keyframes slide-two{0%{width:0;opacity:1}12.5%{width:100%;opacity:1}50%{opacity:1}to{width:100%;opacity:0}}@keyframes rotate-loader{0%{transform:rotate(45deg)}20%{transform:rotate(45deg)}25%{transform:rotate(135deg)}45%{transform:rotate(135deg)}50%{transform:rotate(225deg)}70%{transform:rotate(225deg)}75%{transform:rotate(315deg)}95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
36453
36490
  }
36454
36491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: LoaderSquareComponent, decorators: [{
36455
36492
  type: Component,
36456
- args: [{ selector: 'smz-ui-loader-square', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container grid flex-col items-start justify-middle\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:8px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.spinner-container{height:65px;width:65px;display:flex;justify-content:center;align-items:center;background:var(--primary-color);border-radius:100%}.sk-square-grid{height:35px;width:35px;transform:rotate(45deg);font-size:0;line-height:0;animation:rotate-loader 5s infinite;padding:4px;border:1px solid var(--surface-card)}.sk-segment-holder{position:relative;display:inline-block;width:50%;height:50%}.sk-segment{position:absolute;background:var(--surface-card)}.sk-one{bottom:0;height:0;width:100%;animation:slide-one 1s infinite}.sk-two{left:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.25s}.sk-three{right:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.75s}.sk-four{top:0;height:0;width:100%;animation:slide-one 1s infinite;animation-delay:.5s}@keyframes slide-one{0%{height:0;opacity:1}12.5%{height:100%;opacity:1}50%{opacity:1}to{height:100%;opacity:0}}@keyframes slide-two{0%{width:0;opacity:1}12.5%{width:100%;opacity:1}50%{opacity:1}to{width:100%;opacity:0}}@keyframes rotate-loader{0%{transform:rotate(45deg)}20%{transform:rotate(45deg)}25%{transform:rotate(135deg)}45%{transform:rotate(135deg)}50%{transform:rotate(225deg)}70%{transform:rotate(225deg)}75%{transform:rotate(315deg)}95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}\n"] }]
36493
+ args: [{ selector: 'smz-ui-loader-square', standalone: false, template: "<div class=\"loading-page-container\">\r\n <div class=\"loading-container\" [ngStyle]=\"{ 'width': width }\">\r\n <div class=\"spinner-container\">\r\n <div class=\"sk-square-grid\">\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-one\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-two\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-three\"></div>\r\n </div>\r\n <div class=\"sk-segment-holder\">\r\n <div class=\"sk-segment sk-four\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-container flex flex-wrap flex-col items-start justify-middle -mt-2 -mx-2\">\r\n <h3>{{ title }}</h3>\r\n <p>{{ message }}</p>\r\n </div>\r\n </div>\r\n</div>", styles: [".loading-page-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;-webkit-user-select:none;user-select:none;z-index:10001}.loading-container{min-width:230px;max-width:500px;height:80px;background:var(--surface-card);border-radius:60px;border:1px solid var(--surface-ground);box-shadow:0 6.2px 4.5px #00000006,0 14.4px 10.6px #00000009,0 25.8px 19px #0000000a,0 42.9px 31.5px #0000000c,0 70.6px 51.8px #0000000e,0 123.4px 90.6px #0001,0 267px 196px #00000017;display:grid!important;grid-template-columns:70px 1fr;grid-template-rows:60px;grid-column-gap:10px;grid-row-gap:0px;margin-left:auto;margin-right:auto;margin-top:calc(50vh - 40px);padding:8px}.text-container h3{font-size:18px;color:var(--text-color);margin-top:16px;margin-bottom:0}.text-container p{color:var(--text-color);margin:2px 0 0;font-size:12px;line-height:15px}.spinner-container{height:65px;width:65px;display:flex;justify-content:center;align-items:center;background:var(--primary-color);border-radius:100%}.sk-square-grid{height:35px;width:35px;transform:rotate(45deg);font-size:0;line-height:0;animation:rotate-loader 5s infinite;padding:4px;border:1px solid var(--surface-card)}.sk-segment-holder{position:relative;display:inline-block;width:50%;height:50%}.sk-segment{position:absolute;background:var(--surface-card)}.sk-one{bottom:0;height:0;width:100%;animation:slide-one 1s infinite}.sk-two{left:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.25s}.sk-three{right:0;height:100%;width:0;animation:slide-two 1s infinite;animation-delay:.75s}.sk-four{top:0;height:0;width:100%;animation:slide-one 1s infinite;animation-delay:.5s}@keyframes slide-one{0%{height:0;opacity:1}12.5%{height:100%;opacity:1}50%{opacity:1}to{height:100%;opacity:0}}@keyframes slide-two{0%{width:0;opacity:1}12.5%{width:100%;opacity:1}50%{opacity:1}to{width:100%;opacity:0}}@keyframes rotate-loader{0%{transform:rotate(45deg)}20%{transform:rotate(45deg)}25%{transform:rotate(135deg)}45%{transform:rotate(135deg)}50%{transform:rotate(225deg)}70%{transform:rotate(225deg)}75%{transform:rotate(315deg)}95%{transform:rotate(315deg)}to{transform:rotate(405deg)}}\n"] }]
36457
36494
  }], ctorParameters: () => [], propDecorators: { title: [{
36458
36495
  type: Input
36459
36496
  }], message: [{
@@ -36520,11 +36557,11 @@ class SmzDockComponent {
36520
36557
  }
36521
36558
  }
36522
36559
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36523
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDockComponent, isStandalone: false, selector: "smz-ui-dock", ngImport: i0, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0 grid grid-nogutter items-center justify-center flex-col\">\r\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n" });
36560
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzDockComponent, isStandalone: false, selector: "smz-ui-dock", ngImport: i0, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0 flex flex-wrap items-center justify-center flex-col\">\r\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n" });
36524
36561
  }
36525
36562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDockComponent, decorators: [{
36526
36563
  type: Component,
36527
- args: [{ selector: 'smz-ui-dock', standalone: false, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0 grid grid-nogutter items-center justify-center flex-col\">\r\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n" }]
36564
+ args: [{ selector: 'smz-ui-dock', standalone: false, template: "<div class=\"dock-window fixed bottom-0 left-0 right-0 z-50\" [class.hidden]=\"dockService.dockItems().length === 0\">\r\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\r\n @for (item of dockService.dockItems(); track item.id) {\r\n <div class=\"relative w-16 cursor-pointer transition-transform duration-ui hover:-translate-y-1\" role=\"button\" tabindex=\"0\" (click)=\"execute(item)\" (keydown.enter)=\"execute(item)\">\r\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\r\n @if (item.label != null) {\r\n <div class=\"absolute inset-0 flex flex-wrap items-center justify-center flex-col\">\r\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n" }]
36528
36565
  }] });
36529
36566
 
36530
36567
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
@@ -36634,7 +36671,7 @@ class SmzCellChartBuilder extends SmzDocumentBaseCellBuilder {
36634
36671
  return this.that;
36635
36672
  }
36636
36673
  setWidth(width) {
36637
- const newStyle = width === 'auto' ? 'col' : `${width}`;
36674
+ const newStyle = width === 'auto' ? 'flex-1' : `${width}`;
36638
36675
  this.cellData.flexWidth = newStyle;
36639
36676
  return this;
36640
36677
  }
@@ -36984,12 +37021,12 @@ class SmzCellFieldGroupBuilder {
36984
37021
  container: { styles: defaultConfig.fields.container },
36985
37022
  label: { value: label, isVisible: label !== null && label !== undefined, styles: defaultConfig.fields.label },
36986
37023
  text: { value: text, styles: defaultConfig.fields.text },
36987
- flexWidth: 'col'
37024
+ flexWidth: 'flex-1'
36988
37025
  };
36989
37026
  this.groupBuilderRef.cellData.fields.push(this.fieldGroupData);
36990
37027
  }
36991
37028
  setWidth(width) {
36992
- const newStyle = width === 'auto' ? 'col' : `${width}`;
37029
+ const newStyle = width === 'auto' ? 'flex-1' : `${width}`;
36993
37030
  this.fieldGroupData.flexWidth = newStyle;
36994
37031
  return this;
36995
37032
  }
@@ -37227,7 +37264,7 @@ class SmzCellComponentBuilder extends SmzDocumentBaseCellBuilder {
37227
37264
  return this.that;
37228
37265
  }
37229
37266
  setWidth(width) {
37230
- const newStyle = width === 'auto' ? 'col' : `${width}`;
37267
+ const newStyle = width === 'auto' ? 'flex-1' : `${width}`;
37231
37268
  this.cellData.flexWidth = newStyle;
37232
37269
  return this;
37233
37270
  }
@@ -37395,7 +37432,7 @@ class SmzDocumentRowBuilder extends SmzBuilderUtilities {
37395
37432
  chart(chartData) {
37396
37433
  const cell = { colspan: 1, rowspan: 1, height: '100%', width: 'auto', data: null };
37397
37434
  this.rowData.cells.push(cell);
37398
- const item = { type: SmzDocumentFeatureDefinitions.CHART, content: { chartData }, flexWidth: 'col', height: undefined };
37435
+ const item = { type: SmzDocumentFeatureDefinitions.CHART, content: { chartData }, flexWidth: 'flex-1', height: undefined };
37399
37436
  cell.data = item;
37400
37437
  return new SmzCellChartBuilder(this, cell, item, this.documentBuilderRef);
37401
37438
  }
@@ -37403,7 +37440,7 @@ class SmzDocumentRowBuilder extends SmzBuilderUtilities {
37403
37440
  const cell = { colspan: 1, rowspan: 1, height: '100%', width: 'auto', data: null };
37404
37441
  this.rowData.cells.push(cell);
37405
37442
  const injectable = { component: component, inputs: [], outputs: [], styleClass: 'w-full h-full' };
37406
- const item = { type: SmzDocumentFeatureDefinitions.COMPONENT, content: { component: injectable }, flexWidth: 'col' };
37443
+ const item = { type: SmzDocumentFeatureDefinitions.COMPONENT, content: { component: injectable }, flexWidth: 'flex-1' };
37407
37444
  cell.data = item;
37408
37445
  return new SmzCellComponentBuilder(this, cell, item, this.documentBuilderRef);
37409
37446
  }
@@ -38288,7 +38325,7 @@ class HephaestusProfileMenuComponent {
38288
38325
  }
38289
38326
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusProfileMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38290
38327
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusProfileMenuComponent, isStandalone: false, selector: "[smz-ui-hephaestus-profile-menu]", inputs: { items: "items" }, host: { properties: { "class": "this.themeClass" } }, ngImport: i0, template: `
38291
- <a class="profile clickable grid items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
38328
+ <a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
38292
38329
  @if (userData$ | async; as userdata) {
38293
38330
  <span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
38294
38331
  @if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
@@ -38319,7 +38356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
38319
38356
  selector: '[smz-ui-hephaestus-profile-menu]',
38320
38357
  changeDetection: ChangeDetectionStrategy.OnPush,
38321
38358
  template: `
38322
- <a class="profile clickable grid items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
38359
+ <a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
38323
38360
  @if (userData$ | async; as userdata) {
38324
38361
  <span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
38325
38362
  @if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
@@ -38833,10 +38870,10 @@ class SmzLocalizationSwitchComponent {
38833
38870
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLocalizationSwitchComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
38834
38871
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzLocalizationSwitchComponent, isStandalone: true, selector: "smz-localization-switch", host: { classAttribute: "h-full relative" }, ngImport: i0, template: `
38835
38872
  @if (showLocalizationSwitch) {
38836
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start">
38873
+ <smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2">
38837
38874
  <!-- LANDSCAPE -->
38838
38875
  <ng-template smzTemplate="landscape">
38839
- <div class="h-full grid grid-nogutter items-center justify-center">
38876
+ <div class="h-full flex flex-wrap items-center justify-center">
38840
38877
  <ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
38841
38878
  <ng-template smzTemplate="selectedItem">
38842
38879
  @if (selected) {
@@ -38868,10 +38905,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
38868
38905
  type: Component,
38869
38906
  args: [{ selector: 'smz-localization-switch', imports: [CommonModule, SmzSelectComponent, FormsModule, SmzTemplateDirective, SmzResponsiveComponent], host: { class: 'h-full relative' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: `
38870
38907
  @if (showLocalizationSwitch) {
38871
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start">
38908
+ <smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2">
38872
38909
  <!-- LANDSCAPE -->
38873
38910
  <ng-template smzTemplate="landscape">
38874
- <div class="h-full grid grid-nogutter items-center justify-center">
38911
+ <div class="h-full flex flex-wrap items-center justify-center">
38875
38912
  <ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
38876
38913
  <ng-template smzTemplate="selectedItem">
38877
38914
  @if (selected) {
@@ -39351,11 +39388,11 @@ class HephaestusFooterComponent {
39351
39388
  });
39352
39389
  }
39353
39390
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39354
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusFooterComponent, isStandalone: false, selector: "smz-ui-hephaestus-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container col\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright col ml-2 mr-2 hide-mobile\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
39391
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusFooterComponent, isStandalone: false, selector: "smz-ui-hephaestus-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
39355
39392
  }
39356
39393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusFooterComponent, decorators: [{
39357
39394
  type: Component,
39358
- args: [{ selector: 'smz-ui-hephaestus-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container col\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright col ml-2 mr-2 hide-mobile\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
39395
+ args: [{ selector: 'smz-ui-hephaestus-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
39359
39396
  }], ctorParameters: () => [], propDecorators: { templates: [{
39360
39397
  type: ContentChildren,
39361
39398
  args: [SmzTemplateDirective]
@@ -39531,11 +39568,11 @@ class GlobalAssistanceComponent {
39531
39568
  this.store.dispatch(new LayoutUiActions.SetAssistanceButtonPosition(data));
39532
39569
  }
39533
39570
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalAssistanceComponent, deps: [{ token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39534
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GlobalAssistanceComponent, isStandalone: false, selector: "smz-ui-global-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n <ui-toggle-switch class=\"col-12\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 5)\"></ui-toggle-switch>\r\n <ui-toggle-switch class=\"col-12\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 60)\"></ui-toggle-switch>\r\n @for (loader of loaders; track loader) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"loader.name\" class=\"mr-2 mb-2\" (click)=\"onSetGlobalLoader(loader.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Messages</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (toast of toasts; track toast) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toast.name\" class=\"mr-2 mb-2\" (click)=\"onShowToast(toast.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Positions</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (toastPosition of toastPositions; track toastPosition) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toastPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetToastPosition(toastPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Positions</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (\r\n assistancePosition of assistancePositions;\r\n track assistancePosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistancePosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistancePosition(assistancePosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Button Positions</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (\r\n assistanceButtonPosition of assistanceButtonPositions;\r\n track assistanceButtonPosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistanceButtonPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistanceButtonPosition(assistanceButtonPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Content Themes</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (content of contentThemes; track content) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"content.name\" class=\"mr-2 mb-2\" [styleClass]=\"{\r\n 'p-button-outlined': content.tone === 'light',\r\n 'p-button-secondary': content.tone === 'dark',\r\n }\" (click)=\"onSetContentTheme(content.id)\"></button>\r\n }\r\n </div>\r\n <h5>Color Schemas</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (schema of colorSchemes; track schema) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"schema.name\" class=\"mr-2 mb-2\" [ngStyle]=\"{ background: schema.color, color: schema.constrast }\" (click)=\"onSetColorSchema(schema.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["smz-ui-global-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-global-assistance .assistence_sidebar{width:25em}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }], encapsulation: i0.ViewEncapsulation.None });
39571
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: GlobalAssistanceComponent, isStandalone: false, selector: "smz-ui-global-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 5)\"></ui-toggle-switch>\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 60)\"></ui-toggle-switch>\r\n @for (loader of loaders; track loader) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"loader.name\" class=\"mr-2 mb-2\" (click)=\"onSetGlobalLoader(loader.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Messages</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toast of toasts; track toast) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toast.name\" class=\"mr-2 mb-2\" (click)=\"onShowToast(toast.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toastPosition of toastPositions; track toastPosition) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toastPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetToastPosition(toastPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistancePosition of assistancePositions;\r\n track assistancePosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistancePosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistancePosition(assistancePosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Button Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistanceButtonPosition of assistanceButtonPositions;\r\n track assistanceButtonPosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistanceButtonPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistanceButtonPosition(assistanceButtonPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Content Themes</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (content of contentThemes; track content) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"content.name\" class=\"mr-2 mb-2\" [styleClass]=\"{\r\n 'p-button-outlined': content.tone === 'light',\r\n 'p-button-secondary': content.tone === 'dark',\r\n }\" (click)=\"onSetContentTheme(content.id)\"></button>\r\n }\r\n </div>\r\n <h5>Color Schemas</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (schema of colorSchemes; track schema) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"schema.name\" class=\"mr-2 mb-2\" [ngStyle]=\"{ background: schema.color, color: schema.constrast }\" (click)=\"onSetColorSchema(schema.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["smz-ui-global-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-global-assistance .assistence_sidebar{width:25em}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: i2.SmzToggleSwitchComponent, selector: "ui-toggle-switch", inputs: ["name"], outputs: ["changed"] }], encapsulation: i0.ViewEncapsulation.None });
39535
39572
  }
39536
39573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: GlobalAssistanceComponent, decorators: [{
39537
39574
  type: Component,
39538
- args: [{ selector: 'smz-ui-global-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n <ui-toggle-switch class=\"col-12\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 5)\"></ui-toggle-switch>\r\n <ui-toggle-switch class=\"col-12\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 60)\"></ui-toggle-switch>\r\n @for (loader of loaders; track loader) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"loader.name\" class=\"mr-2 mb-2\" (click)=\"onSetGlobalLoader(loader.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Messages</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (toast of toasts; track toast) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toast.name\" class=\"mr-2 mb-2\" (click)=\"onShowToast(toast.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Positions</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (toastPosition of toastPositions; track toastPosition) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toastPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetToastPosition(toastPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Positions</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (\r\n assistancePosition of assistancePositions;\r\n track assistancePosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistancePosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistancePosition(assistancePosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Button Positions</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (\r\n assistanceButtonPosition of assistanceButtonPositions;\r\n track assistanceButtonPosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistanceButtonPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistanceButtonPosition(assistanceButtonPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Content Themes</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (content of contentThemes; track content) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"content.name\" class=\"mr-2 mb-2\" [styleClass]=\"{\r\n 'p-button-outlined': content.tone === 'light',\r\n 'p-button-secondary': content.tone === 'dark',\r\n }\" (click)=\"onSetContentTheme(content.id)\"></button>\r\n }\r\n </div>\r\n <h5>Color Schemas</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n @for (schema of colorSchemes; track schema) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"schema.name\" class=\"mr-2 mb-2\" [ngStyle]=\"{ background: schema.color, color: schema.constrast }\" (click)=\"onSetColorSchema(schema.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["smz-ui-global-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-global-assistance .assistence_sidebar{width:25em}\n"] }]
39575
+ args: [{ selector: 'smz-ui-global-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <h5 class=\"mt-4\">\r\n Global Loading\r\n @if (timer != null) {\r\n <span>{{ timer }}</span>\r\n }\r\n </h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 5)\"></ui-toggle-switch>\r\n <ui-toggle-switch class=\"w-full flex-none\" [(ngModel)]=\"globalIsLoading\" (changed)=\"changeGlobalLoading($event, 60)\"></ui-toggle-switch>\r\n @for (loader of loaders; track loader) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"loader.name\" class=\"mr-2 mb-2\" (click)=\"onSetGlobalLoader(loader.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Messages</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toast of toasts; track toast) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toast.name\" class=\"mr-2 mb-2\" (click)=\"onShowToast(toast.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Toast Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (toastPosition of toastPositions; track toastPosition) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"toastPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetToastPosition(toastPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistancePosition of assistancePositions;\r\n track assistancePosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistancePosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistancePosition(assistancePosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Assistance Button Positions</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (\r\n assistanceButtonPosition of assistanceButtonPositions;\r\n track assistanceButtonPosition\r\n ) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"assistanceButtonPosition.name\" class=\"mr-2 mb-2\" (click)=\"onSetAssistanceButtonPosition(assistanceButtonPosition.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n <h5>Content Themes</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (content of contentThemes; track content) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"content.name\" class=\"mr-2 mb-2\" [styleClass]=\"{\r\n 'p-button-outlined': content.tone === 'light',\r\n 'p-button-secondary': content.tone === 'dark',\r\n }\" (click)=\"onSetContentTheme(content.id)\"></button>\r\n }\r\n </div>\r\n <h5>Color Schemas</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n @for (schema of colorSchemes; track schema) {\r\n <button smzButton smzRipple type=\"button\" [label]=\"schema.name\" class=\"mr-2 mb-2\" [ngStyle]=\"{ background: schema.color, color: schema.constrast }\" (click)=\"onSetColorSchema(schema.id)\" variant=\"outlined\"></button>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["smz-ui-global-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-global-assistance .assistence_sidebar{width:25em}\n"] }]
39539
39576
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: i0.ChangeDetectorRef }] });
39540
39577
 
39541
39578
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
@@ -39595,11 +39632,11 @@ class HephaestusAssistanceComponent {
39595
39632
  this.store.dispatch(new LayoutUiActions.ShowConfigAssistance);
39596
39633
  }
39597
39634
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusAssistanceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39598
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusAssistanceComponent, isStandalone: false, selector: "smz-ui-hephaestus-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"grid flex-col items-start justify-start p-2 grid-nogutter\">\r\n <h5>Menu</h5>\r\n <div class=\"grid grid-nogutter\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"col-5 mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"col mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-hephaestus-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-hephaestus-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
39635
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusAssistanceComponent, isStandalone: false, selector: "smz-ui-hephaestus-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-hephaestus-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-hephaestus-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
39599
39636
  }
39600
39637
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusAssistanceComponent, decorators: [{
39601
39638
  type: Component,
39602
- args: [{ selector: 'smz-ui-hephaestus-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"grid flex-col items-start justify-start p-2 grid-nogutter\">\r\n <h5>Menu</h5>\r\n <div class=\"grid grid-nogutter\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"col-5 mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"col mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-hephaestus-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-hephaestus-assistance .assistence_sidebar{width:35em}\n"] }]
39639
+ args: [{ selector: 'smz-ui-hephaestus-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear\"></i></a>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-hephaestus-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-hephaestus-assistance .assistence_sidebar{width:35em}\n"] }]
39603
39640
  }], ctorParameters: () => [] });
39604
39641
 
39605
39642
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
@@ -40505,7 +40542,7 @@ class AthenaProfileMenuComponent {
40505
40542
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaProfileMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
40506
40543
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaProfileMenuComponent, isStandalone: false, selector: "[smz-ui-athena-profile-menu]", inputs: { profile: "profile" }, host: { listeners: { "document:click": "collapse($event)" }, properties: { "class": "this.themeClass" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: `
40507
40544
  <!-- <ng-content></ng-content> -->
40508
- <a class="profile clickable grid items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
40545
+ <a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
40509
40546
  @if (userData$ | async; as userdata) {
40510
40547
  <span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
40511
40548
  @if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
@@ -40534,7 +40571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
40534
40571
  changeDetection: ChangeDetectionStrategy.OnPush,
40535
40572
  template: `
40536
40573
  <!-- <ng-content></ng-content> -->
40537
- <a class="profile clickable grid items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
40574
+ <a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
40538
40575
  @if (userData$ | async; as userdata) {
40539
40576
  <span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
40540
40577
  @if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
@@ -40591,7 +40628,7 @@ class AthenaNotificationItemsComponent {
40591
40628
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaNotificationItemsComponent, isStandalone: false, selector: "[smz-ui-athena-notification-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
40592
40629
  @for (item of items; track item; let index = $index) {
40593
40630
  <li role="menuitem">
40594
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40631
+ <a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40595
40632
  @if (item.icon != null) {
40596
40633
  <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
40597
40634
  }
@@ -40609,7 +40646,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
40609
40646
  args: [{ selector: '[smz-ui-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
40610
40647
  @for (item of items; track item; let index = $index) {
40611
40648
  <li role="menuitem">
40612
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40649
+ <a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40613
40650
  @if (item.icon != null) {
40614
40651
  <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
40615
40652
  }
@@ -41121,11 +41158,11 @@ class NotificationItemComponent {
41121
41158
  ngOnInit() {
41122
41159
  }
41123
41160
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41124
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationItemComponent, isStandalone: false, selector: "smz-notification-item", inputs: { item: "item", charactersLimit: "charactersLimit", showDate: "showDate" }, ngImport: i0, template: "<div class=\"grid grid-nogutter flex-row flex-nowrap items-center justify-between relative flex-gap-1 py-2 pl-2 min-h-[90px]\" [ngClass]=\"uiConfig.rbkUtils.notifications.showTypeIndicators ? typeClass[item.type] : ''\">\r\n\r\n <div class=\"grid grid-nogutter flex-col items-stretch justify-start relative flex-gap-1\">\r\n <div class=\"grid grid-nogutter items-center justify-start mb-1\">\r\n <div class=\"font-medium\" [ngClass]=\"{ 'font-extrabold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{item.title}}</div>\r\n @if (item.status === status.NEW) {\r\n <div class=\"rounded bg-blue-500 text-white px-1 py-0.5 ml-2 text-xs\">NOVO</div>\r\n }\r\n </div>\r\n <div class=\"text-sm\" [ngClass]=\"{ 'font-bold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{ charactersLimit != null ? (item.body | shorten : charactersLimit : '...') : item.body}}</div>\r\n </div>\r\n\r\n @if (showDate) {\r\n <div>\r\n @if (uiConfig.rbkUtils.notifications.date; as date) {\r\n <span class=\"text-xs text-right whitespace-nowrap\">\r\n {{ item.date | calendar : date.recentsMethod : date.recentsDaysCount : date.othersFormat }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n</div>\r\n", styles: ["smz-notification-item .success-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-success)}smz-notification-item .info-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-info)}smz-notification-item .warning-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-warning)}smz-notification-item .danger-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-danger)}smz-notification-item .help-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-help)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CalendarPipe, name: "calendar" }, { kind: "pipe", type: ShortenPipe, name: "shorten" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationItemComponent, isStandalone: false, selector: "smz-notification-item", inputs: { item: "item", charactersLimit: "charactersLimit", showDate: "showDate" }, ngImport: i0, template: "<div class=\"flex flex-wrap flex-row flex-nowrap items-center justify-between relative py-2 pl-2 min-h-[90px] -m-1\" [ngClass]=\"uiConfig.rbkUtils.notifications.showTypeIndicators ? typeClass[item.type] : ''\">\r\n\r\n <div class=\"flex flex-wrap flex-col items-stretch justify-start relative p-1 -m-1\">\r\n <div class=\"flex flex-wrap items-center justify-start mb-1 p-1\">\r\n <div class=\"font-medium\" [ngClass]=\"{ 'font-extrabold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{item.title}}</div>\r\n @if (item.status === status.NEW) {\r\n <div class=\"rounded bg-blue-500 text-white px-1 py-0.5 ml-2 text-xs\">NOVO</div>\r\n }\r\n </div>\r\n <div class=\"text-sm p-1\" [ngClass]=\"{ 'font-bold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{ charactersLimit != null ? (item.body | shorten : charactersLimit : '...') : item.body}}</div>\r\n </div>\r\n\r\n @if (showDate) {\r\n <div class=\"p-1\">\r\n @if (uiConfig.rbkUtils.notifications.date; as date) {\r\n <span class=\"text-xs text-right whitespace-nowrap\">\r\n {{ item.date | calendar : date.recentsMethod : date.recentsDaysCount : date.othersFormat }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n</div>\r\n", styles: ["smz-notification-item .success-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-success)}smz-notification-item .info-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-info)}smz-notification-item .warning-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-warning)}smz-notification-item .danger-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-danger)}smz-notification-item .help-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-help)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CalendarPipe, name: "calendar" }, { kind: "pipe", type: ShortenPipe, name: "shorten" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41125
41162
  }
41126
41163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationItemComponent, decorators: [{
41127
41164
  type: Component,
41128
- args: [{ selector: 'smz-notification-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"grid grid-nogutter flex-row flex-nowrap items-center justify-between relative flex-gap-1 py-2 pl-2 min-h-[90px]\" [ngClass]=\"uiConfig.rbkUtils.notifications.showTypeIndicators ? typeClass[item.type] : ''\">\r\n\r\n <div class=\"grid grid-nogutter flex-col items-stretch justify-start relative flex-gap-1\">\r\n <div class=\"grid grid-nogutter items-center justify-start mb-1\">\r\n <div class=\"font-medium\" [ngClass]=\"{ 'font-extrabold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{item.title}}</div>\r\n @if (item.status === status.NEW) {\r\n <div class=\"rounded bg-blue-500 text-white px-1 py-0.5 ml-2 text-xs\">NOVO</div>\r\n }\r\n </div>\r\n <div class=\"text-sm\" [ngClass]=\"{ 'font-bold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{ charactersLimit != null ? (item.body | shorten : charactersLimit : '...') : item.body}}</div>\r\n </div>\r\n\r\n @if (showDate) {\r\n <div>\r\n @if (uiConfig.rbkUtils.notifications.date; as date) {\r\n <span class=\"text-xs text-right whitespace-nowrap\">\r\n {{ item.date | calendar : date.recentsMethod : date.recentsDaysCount : date.othersFormat }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n</div>\r\n", styles: ["smz-notification-item .success-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-success)}smz-notification-item .info-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-info)}smz-notification-item .warning-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-warning)}smz-notification-item .danger-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-danger)}smz-notification-item .help-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-help)}\n"] }]
41165
+ args: [{ selector: 'smz-notification-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"flex flex-wrap flex-row flex-nowrap items-center justify-between relative py-2 pl-2 min-h-[90px] -m-1\" [ngClass]=\"uiConfig.rbkUtils.notifications.showTypeIndicators ? typeClass[item.type] : ''\">\r\n\r\n <div class=\"flex flex-wrap flex-col items-stretch justify-start relative p-1 -m-1\">\r\n <div class=\"flex flex-wrap items-center justify-start mb-1 p-1\">\r\n <div class=\"font-medium\" [ngClass]=\"{ 'font-extrabold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{item.title}}</div>\r\n @if (item.status === status.NEW) {\r\n <div class=\"rounded bg-blue-500 text-white px-1 py-0.5 ml-2 text-xs\">NOVO</div>\r\n }\r\n </div>\r\n <div class=\"text-sm p-1\" [ngClass]=\"{ 'font-bold': item.status === status.NEW || item.status === status.NOTIFIED }\">{{ charactersLimit != null ? (item.body | shorten : charactersLimit : '...') : item.body}}</div>\r\n </div>\r\n\r\n @if (showDate) {\r\n <div class=\"p-1\">\r\n @if (uiConfig.rbkUtils.notifications.date; as date) {\r\n <span class=\"text-xs text-right whitespace-nowrap\">\r\n {{ item.date | calendar : date.recentsMethod : date.recentsDaysCount : date.othersFormat }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n</div>\r\n", styles: ["smz-notification-item .success-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-success)}smz-notification-item .info-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-info)}smz-notification-item .warning-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-warning)}smz-notification-item .danger-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-danger)}smz-notification-item .help-type:before{content:\"\";position:absolute;top:5px;left:-5px;width:5px;bottom:5px;background-color:var(--color-help)}\n"] }]
41129
41166
  }], ctorParameters: () => [], propDecorators: { item: [{
41130
41167
  type: Input
41131
41168
  }], charactersLimit: [{
@@ -41212,7 +41249,7 @@ class NotificationsListComponent {
41212
41249
  .columns()
41213
41250
  .custom('searchData', '')
41214
41251
  .forceGlobalFilter()
41215
- .addStyles('col')
41252
+ .addStyles('flex-1')
41216
41253
  .disableFilter()
41217
41254
  .columns
41218
41255
  .table;
@@ -41280,7 +41317,7 @@ class NotificationsListComponent {
41280
41317
  }
41281
41318
  }
41282
41319
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41283
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationsListComponent, isStandalone: false, selector: "smz-notifications-list", ngImport: i0, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"grid grid-nogutter items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\r\n <div class=\"col\">\r\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\r\n </div>\r\n @if (item._showActions) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-4 flex-col pl-4 animate__animated animate__fadeIn relative\" clickStopPropagation>\r\n @if (item.status !== status.ARCHIVED) {\r\n <i #archiveButton smzTooltip=\"Arquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-box-archive p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"archive([item])\"></i>\r\n }\r\n @if (item.status === status.ARCHIVED) {\r\n <i #inboxButton smzTooltip=\"Desarquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-inbox p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"moveToInbox([item])\"></i>\r\n }\r\n @if (item.route != '') {\r\n <i #routeButton smzTooltip=\"Navegar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-share p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"navigate(item)\"></i>\r\n }\r\n @if (item.link != '') {\r\n <i #linkButton smzTooltip=\"Abrir Link\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-up-right-from-square p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"openLink(item)\"></i>\r\n }\r\n <i #trashButton smzTooltip=\"Excluir\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-trash p-button-rounded p-button-text p-button-plain relative text-gray-500\" styleClass=\"relative\" (click)=\"remove(item)\"></i>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", styles: ["smz-notifications-list .database-title{font-size:1.2rem}smz-notifications-list i .p-tooltip .p-tooltip-text{word-break:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: NotificationItemComponent, selector: "smz-notification-item", inputs: ["item", "charactersLimit", "showDate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: FilterByPipe, name: "filterBy" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41320
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NotificationsListComponent, isStandalone: false, selector: "smz-notifications-list", ngImport: i0, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"flex flex-wrap items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\r\n <div class=\"flex-1\">\r\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\r\n </div>\r\n @if (item._showActions) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-col pl-4 animate__animated animate__fadeIn relative gap-4\" clickStopPropagation>\r\n @if (item.status !== status.ARCHIVED) {\r\n <i #archiveButton smzTooltip=\"Arquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-box-archive p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"archive([item])\"></i>\r\n }\r\n @if (item.status === status.ARCHIVED) {\r\n <i #inboxButton smzTooltip=\"Desarquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-inbox p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"moveToInbox([item])\"></i>\r\n }\r\n @if (item.route != '') {\r\n <i #routeButton smzTooltip=\"Navegar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-share p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"navigate(item)\"></i>\r\n }\r\n @if (item.link != '') {\r\n <i #linkButton smzTooltip=\"Abrir Link\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-up-right-from-square p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"openLink(item)\"></i>\r\n }\r\n <i #trashButton smzTooltip=\"Excluir\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-trash p-button-rounded p-button-text p-button-plain relative text-gray-500\" styleClass=\"relative\" (click)=\"remove(item)\"></i>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", styles: ["smz-notifications-list .database-title{font-size:1.2rem}smz-notifications-list i .p-tooltip .p-tooltip-text{word-break:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzTableComponent, selector: "smz-ui-table", inputs: ["state", "items", "loading"], outputs: ["selectionChange", "validChange", "filterChange", "columnVisibilityChange", "create", "update", "delete"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: NotificationItemComponent, selector: "smz-notification-item", inputs: ["item", "charactersLimit", "showDate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: FilterByPipe, name: "filterBy" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41284
41321
  }
41285
41322
  __decorate([
41286
41323
  Confirmable('Deseja realmente excluir as notificações selecionadas ?<br>Está operação não poderá ser desfeita.', 'Exclusão', true)
@@ -41290,7 +41327,7 @@ __decorate([
41290
41327
  ], NotificationsListComponent.prototype, "remove", null);
41291
41328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationsListComponent, decorators: [{
41292
41329
  type: Component,
41293
- args: [{ selector: 'smz-notifications-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"grid grid-nogutter items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\r\n <div class=\"col\">\r\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\r\n </div>\r\n @if (item._showActions) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-4 flex-col pl-4 animate__animated animate__fadeIn relative\" clickStopPropagation>\r\n @if (item.status !== status.ARCHIVED) {\r\n <i #archiveButton smzTooltip=\"Arquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-box-archive p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"archive([item])\"></i>\r\n }\r\n @if (item.status === status.ARCHIVED) {\r\n <i #inboxButton smzTooltip=\"Desarquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-inbox p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"moveToInbox([item])\"></i>\r\n }\r\n @if (item.route != '') {\r\n <i #routeButton smzTooltip=\"Navegar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-share p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"navigate(item)\"></i>\r\n }\r\n @if (item.link != '') {\r\n <i #linkButton smzTooltip=\"Abrir Link\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-up-right-from-square p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"openLink(item)\"></i>\r\n }\r\n <i #trashButton smzTooltip=\"Excluir\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-trash p-button-rounded p-button-text p-button-plain relative text-gray-500\" styleClass=\"relative\" (click)=\"remove(item)\"></i>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", styles: ["smz-notifications-list .database-title{font-size:1.2rem}smz-notifications-list i .p-tooltip .p-tooltip-text{word-break:normal}\n"] }]
41330
+ args: [{ selector: 'smz-notifications-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\r\n\r\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\r\n\r\n <ng-template smzTemplate=\"caption\" let-primeTable>\r\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\r\n <button smzButton smzRipple type=\"button\" icon=\"fa-solid fa-rotate\" smzTooltip=\"Atualizar\" class=\"mr-3\" (click)=\"refresh()\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\r\n }\r\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\r\n <ng-template #item let-item>\r\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\r\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\r\n </ng-template>\r\n </ui-select-button>\r\n </ng-template>\r\n\r\n <!-- CONTE\u00DADOS COM OVERRIDE -->\r\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\r\n\r\n @switch (col.field) {\r\n @case ('searchData') {\r\n <div class=\"flex flex-wrap items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\r\n <div class=\"flex-1\">\r\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\r\n </div>\r\n @if (item._showActions) {\r\n <div class=\"flex flex-wrap items-center justify-start flex-col pl-4 animate__animated animate__fadeIn relative gap-4\" clickStopPropagation>\r\n @if (item.status !== status.ARCHIVED) {\r\n <i #archiveButton smzTooltip=\"Arquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-box-archive p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"archive([item])\"></i>\r\n }\r\n @if (item.status === status.ARCHIVED) {\r\n <i #inboxButton smzTooltip=\"Desarquivar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-inbox p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"moveToInbox([item])\"></i>\r\n }\r\n @if (item.route != '') {\r\n <i #routeButton smzTooltip=\"Navegar\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-share p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"navigate(item)\"></i>\r\n }\r\n @if (item.link != '') {\r\n <i #linkButton smzTooltip=\"Abrir Link\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-up-right-from-square p-button-rounded p-button-text p-button-plain relative text-gray-500\" (click)=\"openLink(item)\"></i>\r\n }\r\n <i #trashButton smzTooltip=\"Excluir\" appendTo=\"body\" tooltipZIndex=\"9999\" tooltipPosition=\"bottom\" class=\"fa-solid fa-trash p-button-rounded p-button-text p-button-plain relative text-gray-500\" styleClass=\"relative\" (click)=\"remove(item)\"></i>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n\r\n </ng-template>\r\n\r\n </smz-ui-table>\r\n\r\n</ng-container>", styles: ["smz-notifications-list .database-title{font-size:1.2rem}smz-notifications-list i .p-tooltip .p-tooltip-text{word-break:normal}\n"] }]
41294
41331
  }], ctorParameters: () => [], propDecorators: { batchRemove: [], remove: [] } });
41295
41332
 
41296
41333
  function showNotificationsDialog() {
@@ -41323,11 +41360,11 @@ class SmzNotificationsComponent {
41323
41360
  showNotificationsDialog();
41324
41361
  }
41325
41362
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41326
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzNotificationsComponent, isStandalone: false, selector: "smz-ui-notifications", ngImport: i0, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"col grid grid-nogutter w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\r\n </i>\r\n <ui-popover #op [style]=\"{ 'width': uiConfig.rbkUtils.notifications.width, 'z-index': uiConfig.rbkUtils.notifications.zIndex }\" [styleClass]=\"uiConfig.rbkUtils.notifications.styleClass\" appendTo=\"body\" [autoZIndex]=\"false\">\r\n <smz-notifications-list></smz-notifications-list>\r\n </ui-popover>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\r\n </i>\r\n </ng-template>\r\n </smz-responsive>\r\n}", styles: ["smz-ui-notifications .notification-container{min-width:40px}smz-ui-notifications .badge-color{color:var(--text-color-secondary)}smz-ui-notifications .p-badge{background:var(--surface-a);color:var(--primary-color)}smz-ui-notifications .regular-badge{font-size:1.6rem;line-height:1.6rem}smz-ui-notifications .regular-badge .p-badge{font-size:.8rem;font-weight:700;min-width:1.1rem;height:1.1rem;line-height:1.1rem}\n"], dependencies: [{ kind: "directive", type: i2.SmzBadgeDirective, selector: "[smzBadge]", inputs: ["value", "severity"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "component", type: NotificationsListComponent, selector: "smz-notifications-list" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41363
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzNotificationsComponent, isStandalone: false, selector: "smz-ui-notifications", ngImport: i0, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\r\n </i>\r\n <ui-popover #op [style]=\"{ 'width': uiConfig.rbkUtils.notifications.width, 'z-index': uiConfig.rbkUtils.notifications.zIndex }\" [styleClass]=\"uiConfig.rbkUtils.notifications.styleClass\" appendTo=\"body\" [autoZIndex]=\"false\">\r\n <smz-notifications-list></smz-notifications-list>\r\n </ui-popover>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\r\n </i>\r\n </ng-template>\r\n </smz-responsive>\r\n}", styles: ["smz-ui-notifications .notification-container{min-width:40px}smz-ui-notifications .badge-color{color:var(--text-color-secondary)}smz-ui-notifications .p-badge{background:var(--surface-a);color:var(--primary-color)}smz-ui-notifications .regular-badge{font-size:1.6rem;line-height:1.6rem}smz-ui-notifications .regular-badge .p-badge{font-size:.8rem;font-weight:700;min-width:1.1rem;height:1.1rem;line-height:1.1rem}\n"], dependencies: [{ kind: "directive", type: i2.SmzBadgeDirective, selector: "[smzBadge]", inputs: ["value", "severity"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "component", type: NotificationsListComponent, selector: "smz-notifications-list" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41327
41364
  }
41328
41365
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzNotificationsComponent, decorators: [{
41329
41366
  type: Component,
41330
- args: [{ selector: 'smz-ui-notifications', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"col grid grid-nogutter w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\r\n </i>\r\n <ui-popover #op [style]=\"{ 'width': uiConfig.rbkUtils.notifications.width, 'z-index': uiConfig.rbkUtils.notifications.zIndex }\" [styleClass]=\"uiConfig.rbkUtils.notifications.styleClass\" appendTo=\"body\" [autoZIndex]=\"false\">\r\n <smz-notifications-list></smz-notifications-list>\r\n </ui-popover>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\r\n </i>\r\n </ng-template>\r\n </smz-responsive>\r\n}", styles: ["smz-ui-notifications .notification-container{min-width:40px}smz-ui-notifications .badge-color{color:var(--text-color-secondary)}smz-ui-notifications .p-badge{background:var(--surface-a);color:var(--primary-color)}smz-ui-notifications .regular-badge{font-size:1.6rem;line-height:1.6rem}smz-ui-notifications .regular-badge .p-badge{font-size:.8rem;font-weight:700;min-width:1.1rem;height:1.1rem;line-height:1.1rem}\n"] }]
41367
+ args: [{ selector: 'smz-ui-notifications', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (notifications$ | async; as notifications) {\r\n <smz-responsive class=\"flex-1 basis-0 flex flex-wrap w-full items-center justify-start p-2\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\r\n </i>\r\n <ui-popover #op [style]=\"{ 'width': uiConfig.rbkUtils.notifications.width, 'z-index': uiConfig.rbkUtils.notifications.zIndex }\" [styleClass]=\"uiConfig.rbkUtils.notifications.styleClass\" appendTo=\"body\" [autoZIndex]=\"false\">\r\n <smz-notifications-list></smz-notifications-list>\r\n </ui-popover>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\r\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\r\n </i>\r\n </ng-template>\r\n </smz-responsive>\r\n}", styles: ["smz-ui-notifications .notification-container{min-width:40px}smz-ui-notifications .badge-color{color:var(--text-color-secondary)}smz-ui-notifications .p-badge{background:var(--surface-a);color:var(--primary-color)}smz-ui-notifications .regular-badge{font-size:1.6rem;line-height:1.6rem}smz-ui-notifications .regular-badge .p-badge{font-size:.8rem;font-weight:700;min-width:1.1rem;height:1.1rem;line-height:1.1rem}\n"] }]
41331
41368
  }], ctorParameters: () => [] });
41332
41369
 
41333
41370
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
@@ -41344,7 +41381,7 @@ let AthenaTopbarActionsComponent$1 = class AthenaTopbarActionsComponent {
41344
41381
 
41345
41382
  <div id="smz-ui-topbar"></div>
41346
41383
 
41347
- <span class="col extras-container justify-end extras-container mr-3">
41384
+ <span class="flex-1 basis-0 extras-container justify-end mr-3 p-2">
41348
41385
  @if (headerExtrasTemplate != null) {
41349
41386
  <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
41350
41387
  }
@@ -41380,7 +41417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
41380
41417
 
41381
41418
  <div id="smz-ui-topbar"></div>
41382
41419
 
41383
- <span class="col extras-container justify-end extras-container mr-3">
41420
+ <span class="flex-1 basis-0 extras-container justify-end mr-3 p-2">
41384
41421
  @if (headerExtrasTemplate != null) {
41385
41422
  <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
41386
41423
  }
@@ -41450,11 +41487,11 @@ class AthenaTopbarComponent {
41450
41487
  this.store.dispatch(new UiAthenaActions$1.ToggleSidebar);
41451
41488
  }
41452
41489
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaTopbarComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
41453
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaTopbarComponent, isStandalone: false, selector: "smz-ui-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-start flex-nowrap\" smz-ui-athena-topbar-actions [headerExtrasTemplate]=\"headerExtrasTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo col\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\" [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n style=\"outline: none; cursor: pointer;\" tabindex=\"0\">\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n <!-- <a *ngIf=\"layout.menu === horizontalMenuType\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left text-red\"></i>\r\n </a> -->\r\n </div>\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: AthenaTopbarActionsComponent$1, selector: "[smz-ui-athena-topbar-actions]", inputs: ["profile", "notifications", "headerExtrasTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41490
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaTopbarComponent, isStandalone: false, selector: "smz-ui-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-athena-topbar-actions [headerExtrasTemplate]=\"headerExtrasTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo flex-1\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\" [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n style=\"outline: none; cursor: pointer;\" tabindex=\"0\">\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n <!-- <a *ngIf=\"layout.menu === horizontalMenuType\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left text-red\"></i>\r\n </a> -->\r\n </div>\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: AthenaTopbarActionsComponent$1, selector: "[smz-ui-athena-topbar-actions]", inputs: ["profile", "notifications", "headerExtrasTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41454
41491
  }
41455
41492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaTopbarComponent, decorators: [{
41456
41493
  type: Component,
41457
- args: [{ selector: 'smz-ui-athena-topbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-start flex-nowrap\" smz-ui-athena-topbar-actions [headerExtrasTemplate]=\"headerExtrasTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo col\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\" [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n style=\"outline: none; cursor: pointer;\" tabindex=\"0\">\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n <!-- <a *ngIf=\"layout.menu === horizontalMenuType\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left text-red\"></i>\r\n </a> -->\r\n </div>\r\n </div>\r\n}" }]
41494
+ args: [{ selector: 'smz-ui-athena-topbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-athena-topbar-actions [headerExtrasTemplate]=\"headerExtrasTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo flex-1\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\" [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n style=\"outline: none; cursor: pointer;\" tabindex=\"0\">\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n <!-- <a *ngIf=\"layout.menu === horizontalMenuType\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left text-red\"></i>\r\n </a> -->\r\n </div>\r\n </div>\r\n}" }]
41458
41495
  }], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
41459
41496
  type: ContentChildren,
41460
41497
  args: [SmzTemplateDirective]
@@ -41496,11 +41533,11 @@ class AthenaFooterComponent {
41496
41533
  this.store.dispatch(new UiAthenaActions$1.ToggleSidebar);
41497
41534
  }
41498
41535
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaFooterComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
41499
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaFooterComponent, isStandalone: false, selector: "smz-ui-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container col\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright col ml-2 mr-2 hide-mobile\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
41536
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaFooterComponent, isStandalone: false, selector: "smz-ui-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
41500
41537
  }
41501
41538
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaFooterComponent, decorators: [{
41502
41539
  type: Component,
41503
- args: [{ selector: 'smz-ui-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container col\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright col ml-2 mr-2 hide-mobile\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
41540
+ args: [{ selector: 'smz-ui-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
41504
41541
  }], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
41505
41542
  type: ContentChildren,
41506
41543
  args: [SmzTemplateDirective]
@@ -41570,11 +41607,11 @@ class AthenaAssistanceComponent {
41570
41607
  this.store.dispatch(new LayoutUiActions.ShowConfigAssistance);
41571
41608
  }
41572
41609
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaAssistanceComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
41573
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"grid flex-col items-start justify-start p-2 grid-nogutter\">\r\n <h5>Menu</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"col-5 mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"col mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-athena-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
41610
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-athena-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
41574
41611
  }
41575
41612
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaAssistanceComponent, decorators: [{
41576
41613
  type: Component,
41577
- args: [{ selector: 'smz-ui-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"grid flex-col items-start justify-start p-2 grid-nogutter\">\r\n <h5>Menu</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"col-5 mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"col mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-athena-assistance .assistence_sidebar{width:35em}\n"] }]
41614
+ args: [{ selector: 'smz-ui-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-athena-assistance .assistence_sidebar{width:35em}\n"] }]
41578
41615
  }], ctorParameters: () => [{ type: i1$3.Store }] });
41579
41616
 
41580
41617
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
@@ -42618,7 +42655,7 @@ class NewAthenaProfileMenuComponent {
42618
42655
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaProfileMenuComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
42619
42656
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaProfileMenuComponent, isStandalone: false, selector: "[smz-ui-new-athena-profile-menu]", inputs: { profile: "profile" }, host: { listeners: { "document:click": "collapse($event)" }, properties: { "class": "this.themeClass" } }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: `
42620
42657
  <!-- <ng-content></ng-content> -->
42621
- <a class="profile clickable grid items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
42658
+ <a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
42622
42659
  @if (userData$ | async; as userdata) {
42623
42660
  <span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
42624
42661
  @if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
@@ -42651,7 +42688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
42651
42688
  changeDetection: ChangeDetectionStrategy.OnPush,
42652
42689
  template: `
42653
42690
  <!-- <ng-content></ng-content> -->
42654
- <a class="profile clickable grid items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
42691
+ <a class="profile clickable flex flex-wrap items-center justify-end m-0 p-0 flex-nowrap gap-2" [ngClass]="{ 'profile-with-icon': !uiConfig.layouts.useAvatar }" (click)="toggle()">
42655
42692
  @if (userData$ | async; as userdata) {
42656
42693
  <span class="username">{{ uiConfig.layouts.profileMessage }}{{ userdata[uiConfig.layouts.usernameProperty] }}</span>
42657
42694
  @if (uiConfig.layouts.useAvatar && userdata[uiConfig.layouts.avatarProperty]) {
@@ -42712,7 +42749,7 @@ class NewAthenaNotificationItemsComponent {
42712
42749
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaNotificationItemsComponent, isStandalone: false, selector: "[smz-ui-new-athena-notification-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
42713
42750
  @for (item of items; track item; let index = $index) {
42714
42751
  <li role="menuitem">
42715
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42752
+ <a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42716
42753
  @if (item.icon != null) {
42717
42754
  <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
42718
42755
  }
@@ -42730,7 +42767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
42730
42767
  args: [{ selector: '[smz-ui-new-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
42731
42768
  @for (item of items; track item; let index = $index) {
42732
42769
  <li role="menuitem">
42733
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42770
+ <a menuItemAction class="flex flex-wrap items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42734
42771
  @if (item.icon != null) {
42735
42772
  <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
42736
42773
  }
@@ -42819,12 +42856,12 @@ class AthenaTopbarActionsComponent {
42819
42856
 
42820
42857
  <div id="smz-ui-topbar"></div>
42821
42858
 
42822
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start gap-5">
42859
+ <smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start gap-5 p-2">
42823
42860
 
42824
42861
  <!-- LANDSCAPE -->
42825
42862
  <ng-template smzTemplate="landscape">
42826
42863
 
42827
- <span class="col extras-container justify-end extras-container">
42864
+ <span class="flex-1 basis-0 extras-container justify-end p-2">
42828
42865
  @if (headerExtrasTemplate != null) {
42829
42866
  <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42830
42867
  }
@@ -42856,7 +42893,7 @@ class AthenaTopbarActionsComponent {
42856
42893
  <!-- PORTRAIT -->
42857
42894
  <ng-template smzTemplate="portrait">
42858
42895
 
42859
- <span class="col extras-container justify-end extras-container">
42896
+ <span class="flex-1 basis-0 extras-container justify-end p-2">
42860
42897
  @if (headerExtrasTemplate != null) {
42861
42898
  <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42862
42899
  }
@@ -42892,12 +42929,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
42892
42929
 
42893
42930
  <div id="smz-ui-topbar"></div>
42894
42931
 
42895
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start gap-5">
42932
+ <smz-responsive class="flex-1 basis-0 flex flex-wrap w-full items-center justify-start gap-5 p-2">
42896
42933
 
42897
42934
  <!-- LANDSCAPE -->
42898
42935
  <ng-template smzTemplate="landscape">
42899
42936
 
42900
- <span class="col extras-container justify-end extras-container">
42937
+ <span class="flex-1 basis-0 extras-container justify-end p-2">
42901
42938
  @if (headerExtrasTemplate != null) {
42902
42939
  <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42903
42940
  }
@@ -42929,7 +42966,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
42929
42966
  <!-- PORTRAIT -->
42930
42967
  <ng-template smzTemplate="portrait">
42931
42968
 
42932
- <span class="col extras-container justify-end extras-container">
42969
+ <span class="flex-1 basis-0 extras-container justify-end p-2">
42933
42970
  @if (headerExtrasTemplate != null) {
42934
42971
  <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42935
42972
  }
@@ -43003,11 +43040,11 @@ class NewAthenaTopbarComponent {
43003
43040
  this.store.dispatch(new UiAthenaActions.ToggleSidebar);
43004
43041
  }
43005
43042
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaTopbarComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
43006
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaTopbarComponent, isStandalone: false, selector: "smz-ui-new-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"grid grid-nogutter w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerLandscapeTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerPortraitTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo max-w-[100px]\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n </smz-responsive>\r\n }", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: AthenaTopbarActionsComponent, selector: "[smz-ui-new-athena-topbar-actions]", inputs: ["profile", "notifications", "headerExtrasTemplate"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
43043
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaTopbarComponent, isStandalone: false, selector: "smz-ui-new-athena-topbar", inputs: { notifications: "notifications", profile: "profile" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"flex flex-wrap w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerLandscapeTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerPortraitTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo max-w-[100px]\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n </smz-responsive>\r\n }", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: AthenaTopbarActionsComponent, selector: "[smz-ui-new-athena-topbar-actions]", inputs: ["profile", "notifications", "headerExtrasTemplate"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
43007
43044
  }
43008
43045
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaTopbarComponent, decorators: [{
43009
43046
  type: Component,
43010
- args: [{ selector: 'smz-ui-new-athena-topbar', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"grid grid-nogutter w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerLandscapeTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerPortraitTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo max-w-[100px]\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n </smz-responsive>\r\n }" }]
43047
+ args: [{ selector: 'smz-ui-new-athena-topbar', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (layout$ | async; as layout) {\r\n <smz-responsive class=\"flex flex-wrap w-full items-center justify-start\">\r\n <!-- LANDSCAPE -->\r\n <ng-template smzTemplate=\"landscape\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerLandscapeTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\r\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- PORTRAIT -->\r\n <ng-template smzTemplate=\"portrait\">\r\n <div class=\"topbar clearfix\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-start flex-nowrap\" smz-ui-new-athena-topbar-actions [headerExtrasTemplate]=\"headerPortraitTemplate\" [profile]=\"profile\" [notifications]=\"notifications\">\r\n <a class=\"topbar-logo max-w-[100px]\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\r\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\r\n >\r\n }\r\n </a>\r\n @if (!layout.hideResponsiveMenuButton) {\r\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\r\n <i class=\"fa-solid fa-align-left\"></i>\r\n </a>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n </smz-responsive>\r\n }" }]
43011
43048
  }], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
43012
43049
  type: ContentChildren,
43013
43050
  args: [SmzTemplateDirective]
@@ -43049,11 +43086,11 @@ class NewAthenaFooterComponent {
43049
43086
  this.store.dispatch(new UiAthenaActions.ToggleSidebar);
43050
43087
  }
43051
43088
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaFooterComponent, deps: [{ token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
43052
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaFooterComponent, isStandalone: false, selector: "smz-ui-new-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container col\" id=\"footer-logo-container\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright col ml-2 mr-2 hide-mobile\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
43089
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaFooterComponent, isStandalone: false, selector: "smz-ui-new-athena-footer", host: { classAttribute: "z-10" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\" id=\"footer-logo-container\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
43053
43090
  }
43054
43091
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaFooterComponent, decorators: [{
43055
43092
  type: Component,
43056
- args: [{ selector: 'smz-ui-new-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container col\" id=\"footer-logo-container\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright col ml-2 mr-2 hide-mobile\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
43093
+ args: [{ selector: 'smz-ui-new-athena-footer', host: { 'class': 'z-10' }, standalone: false, template: "@if (state$ | async; as state) {\r\n <div class=\"layout-footer\" id=\"footer-container\">\r\n <div class=\"footer-logo-container flex-1 basis-0 p-2\" id=\"footer-logo-container\">\r\n @if ((appLogo$ | async); as appLogo) {\r\n @if (uiConfig.layouts.footer.showLogo) {\r\n <img id=\"footer-logo\" alt=\"athenas-layout\" [src]=\"appLogo.icon\">\r\n }\r\n @if (uiConfig.layouts.footer.showAppName) {\r\n <span class=\"app-name\">{{ state.appName }}</span>\r\n }\r\n }\r\n <span class=\"copyright flex-1 basis-0 ml-2 mr-2 hide-mobile p-2\">{{ uiConfig.layouts.footer.leftSideText }}</span>\r\n </div>\r\n <span class=\"copyright ml-2 hide-mobile\">{{ uiConfig.layouts.footer.rightSideText }}</span>\r\n <div class=\"copyright ml-2\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </div>\r\n @if (uiConfig.layouts.footer.rightSideImages != null) {\r\n @for (image of uiConfig.layouts.footer.rightSideImages; track image) {\r\n <img [src]=\"image\" class=\"h-full ml-4 pb-2 pt-2 hide-mobile\" [ngClass]=\"uiConfig.layouts.footer.rightSideImageStyleClass ?? 'max-w-24'\">\r\n }\r\n }\r\n </div>\r\n}" }]
43057
43094
  }], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
43058
43095
  type: ContentChildren,
43059
43096
  args: [SmzTemplateDirective]
@@ -43120,11 +43157,11 @@ class NewAthenaAssistanceComponent {
43120
43157
  this.store.dispatch(new LayoutUiActions.ShowConfigAssistance);
43121
43158
  }
43122
43159
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaAssistanceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43123
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-new-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"grid flex-col items-start justify-start p-2 grid-nogutter\">\r\n <h5>Menu</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"col-5 mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"col mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-new-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-new-athena-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
43160
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaAssistanceComponent, isStandalone: false, selector: "smz-ui-new-athena-assistance", ngImport: i0, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-new-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-new-athena-assistance .assistence_sidebar{width:35em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SmzDrawerComponent, selector: "ui-drawer", inputs: ["visible", "position", "fullScreen", "header", "modal", "dismissible", "closeOnEscape", "showCloseIcon", "style", "styleClass", "blockScroll", "ariaCloseLabel", "appendTo"], outputs: ["visibleChange", "shown", "hidden"] }, { kind: "component", type: i2.SmzSelectButtonComponent, selector: "ui-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "multiple", "allowEmpty", "size", "styleClass", "appendTo"], outputs: ["changed"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "directive", type: InputChangeDetectionDirective, selector: "[appInputChangeDetection]", outputs: ["valueChanged"] }, { kind: "component", type: GlobalAssistanceComponent, selector: "smz-ui-global-assistance" }], encapsulation: i0.ViewEncapsulation.None });
43124
43161
  }
43125
43162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaAssistanceComponent, decorators: [{
43126
43163
  type: Component,
43127
- args: [{ selector: 'smz-ui-new-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"grid flex-col items-start justify-start p-2 grid-nogutter\">\r\n <h5>Menu</h5>\r\n <div class=\"grid grid-nogutter gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"col-5 mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"col mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-new-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-new-athena-assistance .assistence_sidebar{width:35em}\n"] }]
43164
+ args: [{ selector: 'smz-ui-new-athena-assistance', encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (assistance(); as assistance) {\r\n @if (assistance.isEnabled) {\r\n <div class=\"layout-config\">\r\n <a id=\"layout-config-button\" class=\"layout-config-button\" [ngClass]=\"assistance.buttonPosition\" style=\"cursor: pointer;\" (click)=\"showAssistance()\"><i class=\"fa-solid fa-gear text-surface-100\"></i></a>\r\n </div>\r\n <ui-drawer [(visible)]=\"isVisible\" [position]=\"assistance.sidebarData.position\" styleClass=\"assistence_sidebar\" (hidden)=\"onHide()\" (shown)=\"onShow()\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-start p-2\">\r\n <h5>Menu</h5>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <ui-select-button appendTo=\"body\" [options]=\"menuTypes\" [(ngModel)]=\"menuType\" (changed)=\"onMenuTypeChange()\" optionLabel=\"label\" optionValue=\"value\"></ui-select-button>\r\n <div class=\"w-5/12 flex-none mt-2 mr-2\">\r\n <label for=\"sidebar-width\">Sidebar Width</label>\r\n <input id=\"sidebar-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarWidth\" appInputChangeDetection (valueChanged)=\"setSidebarWidth($event)\"/>\r\n </div>\r\n <div class=\"flex-1 mt-2\">\r\n <label for=\"sidebar-slim-width\">Slim Width</label>\r\n <input id=\"sidebar-slim-width\" type=\"text\" smzInputText [(ngModel)]=\"layout.sidebarSlimWidth\" appInputChangeDetection (valueChanged)=\"setSidebarSlimWidth($event)\"/>\r\n </div>\r\n </div>\r\n <smz-ui-global-assistance></smz-ui-global-assistance>\r\n </div>\r\n </ui-drawer>\r\n }\r\n}", styles: ["smz-ui-new-athena-assistance .p-sidebar-content{overflow-y:auto;height:100%}smz-ui-new-athena-assistance .assistence_sidebar{width:35em}\n"] }]
43128
43165
  }], ctorParameters: () => [] });
43129
43166
 
43130
43167
  /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type, @typescript-eslint/typedef, no-underscore-dangle, no-console, eqeqeq, @typescript-eslint/no-unused-vars, @typescript-eslint/no-useless-constructor, @typescript-eslint/explicit-member-accessibility, max-len, no-prototype-builtins, @typescript-eslint/no-shadow, @typescript-eslint/no-empty-object-type */
@@ -43714,7 +43751,7 @@ class SmzTreeBuilder {
43714
43751
  mode: 'lenient',
43715
43752
  show: false,
43716
43753
  textPlaceholder: 'Filtro...',
43717
- styleClass: 'lg:col-4 md:col-6'
43754
+ styleClass: 'lg:w-4/12 flex-none md:w-6/12'
43718
43755
  },
43719
43756
  loading: {
43720
43757
  icon: 'fa-solid fa-circle-notch fa-spin',
@@ -44736,11 +44773,11 @@ class SmzTreeComponent {
44736
44773
  }
44737
44774
  }
44738
44775
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TreeHelperService }], target: i0.ɵɵFactoryTarget.Component });
44739
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeComponent, isStandalone: false, selector: "smz-ui-tree", inputs: { state: "state", items: "items", loading: "loading", styleClass: "styleClass", inlineStyle: "inlineStyle", appendTo: "appendTo", selection: "selection", selectionKey: "selectionKey" }, outputs: { selectedNodes: "selectedNodes", selectionChange: "selectionChange", parentChange: "parentChange", reorder: "reorder", blockedDrop: "blockedDrop", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed", treeExpanded: "treeExpanded", nodeDropped: "nodeDropped" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dt", first: true, predicate: SmzUiTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 col\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"grid grid-nogutter justify-start items-center\">\r\n <span class=\"col mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: SmzDataInfoComponent, selector: "smz-data-info", inputs: ["image", "message", "actions", "callbackInfo", "callbackLabel"], outputs: ["clicked"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "component", type: i2.SmzUiTreeComponent, selector: "ui-tree", inputs: ["value", "selectionMode", "selection", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "filter", "filterMode", "filterPlaceholder", "filterBy", "emptyMessage", "draggableNodes", "droppableNodes", "validateDrop", "scrollHeight", "style", "styleClass", "contextMenu", "templateOverride", "layout", "virtualScroll"], outputs: ["selectionChange", "nodeSelect", "nodeUnselect", "nodeExpand", "nodeCollapse", "nodeContextMenuSelect", "nodeDblClick", "nodeDrop", "filtered"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
44776
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeComponent, isStandalone: false, selector: "smz-ui-tree", inputs: { state: "state", items: "items", loading: "loading", styleClass: "styleClass", inlineStyle: "inlineStyle", appendTo: "appendTo", selection: "selection", selectionKey: "selectionKey" }, outputs: { selectedNodes: "selectedNodes", selectionChange: "selectionChange", parentChange: "parentChange", reorder: "reorder", blockedDrop: "blockedDrop", nodeExpanded: "nodeExpanded", nodeCollapsed: "nodeCollapsed", treeExpanded: "treeExpanded", nodeDropped: "nodeDropped" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dt", first: true, predicate: SmzUiTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"flex flex-wrap items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 flex-1\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"flex flex-wrap justify-start items-center\">\r\n <span class=\"flex-1 mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "component", type: SmzDataInfoComponent, selector: "smz-data-info", inputs: ["image", "message", "actions", "callbackInfo", "callbackLabel"], outputs: ["clicked"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: i2.SmzMenuListComponent, selector: "ui-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "appendTo", "baseZIndex"], outputs: ["shown", "hidden"] }, { kind: "component", type: i2.SmzUiTreeComponent, selector: "ui-tree", inputs: ["value", "selectionMode", "selection", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "filter", "filterMode", "filterPlaceholder", "filterBy", "emptyMessage", "draggableNodes", "droppableNodes", "validateDrop", "scrollHeight", "style", "styleClass", "contextMenu", "templateOverride", "layout", "virtualScroll"], outputs: ["selectionChange", "nodeSelect", "nodeUnselect", "nodeExpand", "nodeCollapse", "nodeContextMenuSelect", "nodeDblClick", "nodeDrop", "filtered"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
44740
44777
  }
44741
44778
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeComponent, decorators: [{
44742
44779
  type: Component,
44743
- args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 col\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"grid grid-nogutter justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"grid grid-nogutter items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"grid grid-nogutter justify-start items-center\">\r\n <span class=\"col mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
44780
+ args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (state) {\r\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\r\n <smz-data-info\r\n [image]=\"state.emptyFeedback.image\"\r\n [message]=\"state.emptyFeedback.message\"\r\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\r\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\r\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\r\n <ng-template smzTemplate=\"actions\">\r\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\r\n </ng-template>\r\n </smz-data-info>\r\n } @else {\r\n @if (treeItems != null) {\r\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\r\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\r\n <ui-tree #dt [value]=\"treeItems\" scrollHeight=\"flex\" [contextMenu]=\"state.menu.behavior === 'context-menu' ? cm : null\" [selectionMode]=\"state.selection.mode\" [(selection)]=\"primeSelection\" layout=\"vertical\" [style]=\"inlineStyle\" [styleClass]=\"styleClass\" [propagateSelectionUp]=\"state.selection.propagateUp\" [propagateSelectionDown]=\"state.selection.propagateDown\" [loading]=\"state.loading.isLoading\" [loadingIcon]=\"state.loading.icon\" [filter]=\"false\" [filterMode]=\"state.filter.mode\" [filterPlaceholder]=\"state.filter.textPlaceholder\" [draggableNodes]=\"state.dragAndDrop.draggable\" [droppableNodes]=\"state.dragAndDrop.droppable\" [validateDrop]=\"state.dragAndDrop.validateDrop\" (nodeContextMenuSelect)=\"onContextMenuOpen($event)\" (nodeSelect)=\"onSelected($event)\" (nodeUnselect)=\"onUnselected($event)\" (nodeExpand)=\"onExpanded($event)\" (nodeCollapse)=\"onCollapsed($event)\" (nodeDrop)=\"onDropped($event)\" (filtered)=\"onFiltered($event)\">\r\n @if (state.header.isVisible) {\r\n <ng-template smzTemplate=\"header\">\r\n @if (state.header.toolbar; as toolbar) {\r\n @if (headerTemplate != null) {\r\n <div class=\"flex flex-wrap items-center w-full justify-start\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center mb-2 gap-2\">\r\n @if (state.header.title != null) {\r\n <h3 class=\"m-2 flex-1\">{{state.header.title}}</h3>\r\n }\r\n <div class=\"flex flex-wrap justify-start items-center gap-2\">\r\n @for (button of state.header.toolbar.items; track button; let i = $index) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': button.color === 'secondary', 'p-button-success': button.color === 'success', 'p-button-info': button.color === 'info', 'p-button-warning': button.color === 'warning', 'p-button-help': button.color === 'help', 'p-button-danger': button.color === 'danger' }\" [label]=\"button.label\" [icon]=\"button.icon\" (click)=\"onToolbarButtonClick($event, button, treeItems)\" [smzTooltip]=\"button.tooltip\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.expandLabel\" icon=\"fa-solid fa-angle-down\" (click)=\"expandNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.expandTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.nodeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.nodeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angle-up\" (click)=\"collapseNode()\" [smzTooltip]=\"selection != null ? toolbar.nodeExpandButtons.collapseTooltip : toolbar.nodeExpandButtons.disabledTooltip\" [disabled]=\"selection == null\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.expandLabel\" icon=\"fa-solid fa-angles-down\" (click)=\"expandAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.expandLabel != null && toolbar.treeExpandButtons.expandLabel !== '' \r\n ? toolbar.treeExpandButtons.expandLabel \r\n : 'Expandir \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeExpandButtons.isVisible === true) {\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeExpandButtons.collapseLabel\" icon=\"fa-solid fa-angles-up\" (click)=\"collapseAll()\" [smzTooltip]=\"toolbar.treeExpandButtons.collapseLabel != null && toolbar.treeExpandButtons.collapseLabel !== '' \r\n ? toolbar.treeExpandButtons.collapseLabel \r\n : 'Colapsar \u00E1rvore'\">\r\n </button>\r\n }\r\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.selectAllLabel\" icon=\"fa-solid fa-check-double\" (click)=\"selectAll()\" [disabled]=\"state.selection?.mode === 'single'\" [smzTooltip]=\"state.selection?.mode === 'single' \r\n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \r\n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\r\n </button>\r\n\r\n <button smzButton smzRipple type=\"button\" [styleClass]=\"{ 'p-button-text': toolbar.buttonType.endsWith('borderless'), 'p-button-outlined': toolbar.buttonType.endsWith('outlined'), 'p-button-rounded': toolbar.buttonType.startsWith('rounded'), 'p-button-secondary': true }\" [label]=\"toolbar.treeSelectionButtons.clearSelectionLabel\" icon=\"fa-solid fa-eraser\" (click)=\"clearSelection()\" [disabled]=\"!hasSelection\" [smzTooltip]=\"toolbar.treeSelectionButtons.clearSelectionLabel != null && toolbar.treeSelectionButtons.clearSelectionLabel !== '' \r\n ? toolbar.treeSelectionButtons.clearSelectionLabel \r\n : 'Limpar sele\u00E7\u00E3o'\">\r\n </button>\r\n }\r\n\r\n @if (actionsTemplate != null) {\r\n <div class=\"flex flex-wrap items-center justify-start\">\r\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n @if (state.filter.show) {\r\n <ui-icon-field class=\"w-full flex-none\" [ngClass]=\"state.filter.styleClass\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\r\n </ui-icon-field>\r\n }\r\n </div>\r\n @if (toolbarTemplate != null) {\r\n <div class=\"flex flex-wrap items-center mt-2\"\r\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </ng-template>\r\n }\r\n @if (state.footer.isVisible) {\r\n <ng-template smzTemplate=\"footer\">\r\n <div class=\"flex flex-wrap justify-start items-center\">\r\n <span class=\"flex-1 mr-2\">FOOTER</span>\r\n </div>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"content.type\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (content.template != null) {\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n } @else {\r\n <div>{{ node.label }}</div>\r\n }\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-node smzTemplate=\"Check\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <div>{{ node.label }}</div>\r\n @if (state.menu.behavior === 'row-menu') {\r\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n <ng-template smzTemplate=\"empty\">\r\n @if (!state.emptyFeedback.isFeatured) {\r\n <div>{{ state.emptyFeedback.message }}</div>\r\n }\r\n </ng-template>\r\n </ui-tree>\r\n }\r\n }\r\n} @else {\r\n @if (emptyStateTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\r\n }\r\n}\r\n\r\n" }]
44744
44781
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TreeHelperService }], propDecorators: { dt: [{
44745
44782
  type: ViewChild,
44746
44783
  args: [SmzUiTreeComponent]
@@ -45032,11 +45069,11 @@ class SmzTreeWithDetailsComponent {
45032
45069
  this.selectionChange.emit(node);
45033
45070
  }
45034
45071
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeWithDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
45035
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeWithDetailsComponent, isStandalone: false, selector: "smz-ui-tree-with-details", inputs: { state: "state" }, outputs: { selectionChange: "selectionChange", detailsChange: "detailsChange" }, host: { classAttribute: "absolute inset-0" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "treeComponent", first: true, predicate: SmzTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state != null) {\r\n <div class=\"grid grid-nogutter items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\r\n <ng-container *ngClone=\"state.items$ | async as items\">\r\n <!-- TREE -->\r\n <div class=\"h-full col p-0\">\r\n <div smzUiBlock #treeContainer [component]=\"treeContainer\" class=\"h-full w-full rounded p-2 bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <div class=\"h-full\">\r\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\r\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\r\n @if (headerTemplate != null) {\r\n <ng-template smzTemplate=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (toolbarTemplate != null) {\r\n <ng-template smzTemplate=\"toolbar\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- DETAILS -->\r\n <div class=\"h-full col-12\" [ngClass]=\"state.layout.detailsStyleClass\">\r\n <div class=\"h-full items-stretch flex-col grid justify-start grid-nogutter rounded w-full overflow-y-auto bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <!-- CONTE\u00DADO -->\r\n @if (state.context.selectedNode != null) {\r\n @if (detailsTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n }\r\n } @else {\r\n @if (items != null) {\r\n @if (emptySelectionTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n } @else {\r\n <div class=\"grid grid-nogutter items-center justify-center p-4 flex-col flex-grow mt-10\">\r\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\r\n <div class=\"text-lg\">Nenhum item selecionado.</div>\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzTreeComponent, selector: "smz-ui-tree", inputs: ["state", "items", "loading", "styleClass", "inlineStyle", "appendTo", "selection", "selectionKey"], outputs: ["selectedNodes", "selectionChange", "parentChange", "reorder", "blockedDrop", "nodeExpanded", "nodeCollapsed", "treeExpanded", "nodeDropped"] }, { kind: "directive", type: NgCloneDirective, selector: "[ngClone]", inputs: ["ngClone"] }, { kind: "directive", type: SmzUiBlockDirective, selector: "[smzUiBlock]", inputs: ["component"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TreeItemsPipe, name: "treeItems" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45072
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTreeWithDetailsComponent, isStandalone: false, selector: "smz-ui-tree-with-details", inputs: { state: "state" }, outputs: { selectionChange: "selectionChange", detailsChange: "detailsChange" }, host: { classAttribute: "absolute inset-0" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "treeComponent", first: true, predicate: SmzTreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (state != null) {\r\n <div class=\"flex flex-wrap items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\r\n <ng-container *ngClone=\"state.items$ | async as items\">\r\n <!-- TREE -->\r\n <div class=\"h-full flex-1 basis-0 p-0\">\r\n <div smzUiBlock #treeContainer [component]=\"treeContainer\" class=\"h-full w-full rounded p-2 bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <div class=\"h-full\">\r\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\r\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\r\n @if (headerTemplate != null) {\r\n <ng-template smzTemplate=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (toolbarTemplate != null) {\r\n <ng-template smzTemplate=\"toolbar\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- DETAILS -->\r\n <div class=\"h-full w-full flex-none p-2\" [ngClass]=\"state.layout.detailsStyleClass\">\r\n <div class=\"h-full items-stretch flex-col flex flex-wrap justify-start rounded w-full overflow-y-auto bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <!-- CONTE\u00DADO -->\r\n @if (state.context.selectedNode != null) {\r\n @if (detailsTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n }\r\n } @else {\r\n @if (items != null) {\r\n @if (emptySelectionTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n } @else {\r\n <div class=\"flex flex-wrap items-center justify-center p-4 flex-col flex-grow mt-10\">\r\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\r\n <div class=\"text-lg\">Nenhum item selecionado.</div>\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzTreeComponent, selector: "smz-ui-tree", inputs: ["state", "items", "loading", "styleClass", "inlineStyle", "appendTo", "selection", "selectionKey"], outputs: ["selectedNodes", "selectionChange", "parentChange", "reorder", "blockedDrop", "nodeExpanded", "nodeCollapsed", "treeExpanded", "nodeDropped"] }, { kind: "directive", type: NgCloneDirective, selector: "[ngClone]", inputs: ["ngClone"] }, { kind: "directive", type: SmzUiBlockDirective, selector: "[smzUiBlock]", inputs: ["component"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TreeItemsPipe, name: "treeItems" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45036
45073
  }
45037
45074
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeWithDetailsComponent, decorators: [{
45038
45075
  type: Component,
45039
- args: [{ selector: 'smz-ui-tree-with-details', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'absolute inset-0' }, standalone: false, template: "@if (state != null) {\r\n <div class=\"grid grid-nogutter items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\r\n <ng-container *ngClone=\"state.items$ | async as items\">\r\n <!-- TREE -->\r\n <div class=\"h-full col p-0\">\r\n <div smzUiBlock #treeContainer [component]=\"treeContainer\" class=\"h-full w-full rounded p-2 bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <div class=\"h-full\">\r\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\r\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\r\n @if (headerTemplate != null) {\r\n <ng-template smzTemplate=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (toolbarTemplate != null) {\r\n <ng-template smzTemplate=\"toolbar\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- DETAILS -->\r\n <div class=\"h-full col-12\" [ngClass]=\"state.layout.detailsStyleClass\">\r\n <div class=\"h-full items-stretch flex-col grid justify-start grid-nogutter rounded w-full overflow-y-auto bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <!-- CONTE\u00DADO -->\r\n @if (state.context.selectedNode != null) {\r\n @if (detailsTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n }\r\n } @else {\r\n @if (items != null) {\r\n @if (emptySelectionTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n } @else {\r\n <div class=\"grid grid-nogutter items-center justify-center p-4 flex-col flex-grow mt-10\">\r\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\r\n <div class=\"text-lg\">Nenhum item selecionado.</div>\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n}" }]
45076
+ args: [{ selector: 'smz-ui-tree-with-details', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'absolute inset-0' }, standalone: false, template: "@if (state != null) {\r\n <div class=\"flex flex-wrap items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\r\n <ng-container *ngClone=\"state.items$ | async as items\">\r\n <!-- TREE -->\r\n <div class=\"h-full flex-1 basis-0 p-0\">\r\n <div smzUiBlock #treeContainer [component]=\"treeContainer\" class=\"h-full w-full rounded p-2 bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <div class=\"h-full\">\r\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\r\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\r\n @if (headerTemplate != null) {\r\n <ng-template smzTemplate=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (toolbarTemplate != null) {\r\n <ng-template smzTemplate=\"toolbar\">\r\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\r\n </ng-template>\r\n }\r\n @for (content of contentTemplates; track content) {\r\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\r\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-tree>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- DETAILS -->\r\n <div class=\"h-full w-full flex-none p-2\" [ngClass]=\"state.layout.detailsStyleClass\">\r\n <div class=\"h-full items-stretch flex-col flex flex-wrap justify-start rounded w-full overflow-y-auto bg-surface-a text-text-color border border-solid border-surface-d\">\r\n <!-- CONTE\u00DADO -->\r\n @if (state.context.selectedNode != null) {\r\n @if (detailsTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n }\r\n } @else {\r\n @if (items != null) {\r\n @if (emptySelectionTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\r\n } @else {\r\n <div class=\"flex flex-wrap items-center justify-center p-4 flex-col flex-grow mt-10\">\r\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\r\n <div class=\"text-lg\">Nenhum item selecionado.</div>\r\n </div>\r\n }\r\n }\r\n }\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n}" }]
45040
45077
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { treeComponent: [{
45041
45078
  type: ViewChild,
45042
45079
  args: [SmzTreeComponent]
@@ -46133,13 +46170,13 @@ class SmzCommentsComponent {
46133
46170
  <ui-tree [value]="data">
46134
46171
  <ng-template let-node smzTemplate="default">
46135
46172
  <!-- CONTAINER -->
46136
- <div class="grid grid-nogutter items-start justify-start flex-nowrap gap-3 mb-3 py-1">
46173
+ <div class="flex flex-wrap items-start justify-start flex-nowrap mb-3 py-1 gap-3">
46137
46174
  <!-- AVATAR -->
46138
46175
  <img class="w-20" [src]="node.data.avatar | safeUrl"/>
46139
46176
  <!-- CONTENT -->
46140
- <div class="col grid grid-nogutter flex-col items-start justify-start gap-2">
46177
+ <div class="flex-1 flex flex-wrap flex-col items-start justify-start gap-2">
46141
46178
  <!-- NAME AND DATE -->
46142
- <div class="grid grid-nogutter items-center justify-start gap-2">
46179
+ <div class="flex flex-wrap items-center justify-start gap-2">
46143
46180
  <!-- DISPLAY NAME -->
46144
46181
  <div class="font-bold leading-4">{{ node.data.displayName }}</div>
46145
46182
  <!-- DATE: lastUpdated → timestamp → date -->
@@ -46169,13 +46206,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
46169
46206
  <ui-tree [value]="data">
46170
46207
  <ng-template let-node smzTemplate="default">
46171
46208
  <!-- CONTAINER -->
46172
- <div class="grid grid-nogutter items-start justify-start flex-nowrap gap-3 mb-3 py-1">
46209
+ <div class="flex flex-wrap items-start justify-start flex-nowrap mb-3 py-1 gap-3">
46173
46210
  <!-- AVATAR -->
46174
46211
  <img class="w-20" [src]="node.data.avatar | safeUrl"/>
46175
46212
  <!-- CONTENT -->
46176
- <div class="col grid grid-nogutter flex-col items-start justify-start gap-2">
46213
+ <div class="flex-1 flex flex-wrap flex-col items-start justify-start gap-2">
46177
46214
  <!-- NAME AND DATE -->
46178
- <div class="grid grid-nogutter items-center justify-start gap-2">
46215
+ <div class="flex flex-wrap items-center justify-start gap-2">
46179
46216
  <!-- DISPLAY NAME -->
46180
46217
  <div class="font-bold leading-4">{{ node.data.displayName }}</div>
46181
46218
  <!-- DATE: lastUpdated → timestamp → date -->
@@ -46374,11 +46411,11 @@ class SmzCommentsSectionComponent {
46374
46411
  });
46375
46412
  }
46376
46413
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCommentsSectionComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
46377
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCommentsSectionComponent, isStandalone: false, selector: "smz-comments-section", inputs: { state: "state" }, ngImport: i0, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"col-12\" [ngClass]=\"{ 'lg:col-10 xl:col-6': !state.fullWidth }\">\r\n <div class=\"grid justify-between items-center\">\r\n <div class=\"col-6\">\r\n <h2>{{ state.locale.title }}</h2>\r\n @if (comments != null) {\r\n <p>{{ state.locale.updateMessage }}: {{ comments.lastUpdated | simpleCalendar : 'fromNow'}}</p>\r\n }\r\n </div>\r\n <div class=\"grid col-6 justify-end\">\r\n <button smzButton type=\"button\" class=\"mr-2\" [label]=\"state.locale.refreshButton\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" [label]=\"state.locale.createButton\" (click)=\"showCreateDialog(null)\" severity=\"success\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid\">\r\n <div class=\"col-12\">\r\n <smz-comments [data]=\"comments.items\" [state]=\"state\"></smz-comments>\r\n </div>\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"col-12\" [ngClass]=\"{ 'lg:col-10 xl:col-6': !state.fullWidth }\">\r\n <div class=\"grid justify-between items-center\">\r\n <div class=\"col-6\">\r\n <h2>{{ state.locale.title }}</h2>\r\n </div>\r\n <div class=\"grid col-6 justify-end\">\r\n <button smzButton type=\"button\" label=\"CARREGAR COMENT\u00C1RIOS\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid\">\r\n <div class=\"col-12\">\r\n <p>{{ state.locale.emptyMessage }}</p>\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzCommentsComponent, selector: "smz-comments", inputs: ["state", "data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SimpleCalendarPipe, name: "simpleCalendar" }], encapsulation: i0.ViewEncapsulation.None });
46414
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCommentsSectionComponent, isStandalone: false, selector: "smz-comments-section", inputs: { state: "state" }, ngImport: i0, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n @if (comments != null) {\r\n <p>{{ state.locale.updateMessage }}: {{ comments.lastUpdated | simpleCalendar : 'fromNow'}}</p>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" class=\"mr-2\" [label]=\"state.locale.refreshButton\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" [label]=\"state.locale.createButton\" (click)=\"showCreateDialog(null)\" severity=\"success\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <smz-comments [data]=\"comments.items\" [state]=\"state\"></smz-comments>\r\n </div>\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" label=\"CARREGAR COMENT\u00C1RIOS\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <p>{{ state.locale.emptyMessage }}</p>\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n}", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzCommentsComponent, selector: "smz-comments", inputs: ["state", "data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SimpleCalendarPipe, name: "simpleCalendar" }], encapsulation: i0.ViewEncapsulation.None });
46378
46415
  }
46379
46416
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCommentsSectionComponent, decorators: [{
46380
46417
  type: Component,
46381
- args: [{ selector: 'smz-comments-section', encapsulation: ViewEncapsulation.None, standalone: false, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"col-12\" [ngClass]=\"{ 'lg:col-10 xl:col-6': !state.fullWidth }\">\r\n <div class=\"grid justify-between items-center\">\r\n <div class=\"col-6\">\r\n <h2>{{ state.locale.title }}</h2>\r\n @if (comments != null) {\r\n <p>{{ state.locale.updateMessage }}: {{ comments.lastUpdated | simpleCalendar : 'fromNow'}}</p>\r\n }\r\n </div>\r\n <div class=\"grid col-6 justify-end\">\r\n <button smzButton type=\"button\" class=\"mr-2\" [label]=\"state.locale.refreshButton\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" [label]=\"state.locale.createButton\" (click)=\"showCreateDialog(null)\" severity=\"success\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid\">\r\n <div class=\"col-12\">\r\n <smz-comments [data]=\"comments.items\" [state]=\"state\"></smz-comments>\r\n </div>\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"col-12\" [ngClass]=\"{ 'lg:col-10 xl:col-6': !state.fullWidth }\">\r\n <div class=\"grid justify-between items-center\">\r\n <div class=\"col-6\">\r\n <h2>{{ state.locale.title }}</h2>\r\n </div>\r\n <div class=\"grid col-6 justify-end\">\r\n <button smzButton type=\"button\" label=\"CARREGAR COMENT\u00C1RIOS\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid\">\r\n <div class=\"col-12\">\r\n <p>{{ state.locale.emptyMessage }}</p>\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n}" }]
46418
+ args: [{ selector: 'smz-comments-section', encapsulation: ViewEncapsulation.None, standalone: false, template: "<!-- COMENT\u00C1RIOS -->\r\n@if (state != null) {\r\n @if (comments$ | async; as comments) {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n @if (comments != null) {\r\n <p>{{ state.locale.updateMessage }}: {{ comments.lastUpdated | simpleCalendar : 'fromNow'}}</p>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" class=\"mr-2\" [label]=\"state.locale.refreshButton\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n <button smzButton type=\"button\" [label]=\"state.locale.createButton\" (click)=\"showCreateDialog(null)\" severity=\"success\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <smz-comments [data]=\"comments.items\" [state]=\"state\"></smz-comments>\r\n </div>\r\n </div>\r\n </section>\r\n } @else {\r\n <section class=\"w-full flex-none p-2\" [ngClass]=\"{ 'lg:w-10/12 flex-none xl:w-6/12': !state.fullWidth }\">\r\n <div class=\"flex flex-wrap justify-between items-center -mt-2 -mx-2\">\r\n <div class=\"w-6/12 flex-none p-2\">\r\n <h2>{{ state.locale.title }}</h2>\r\n </div>\r\n <div class=\"flex flex-wrap w-6/12 flex-none justify-end p-2 -mt-2 -mx-2\">\r\n <button smzButton type=\"button\" label=\"CARREGAR COMENT\u00C1RIOS\" (click)=\"loadComments()\" variant=\"outlined\"></button>\r\n </div>\r\n </div>\r\n <div class=\"grid grid-cols-12 gap-4 pb-2\">\r\n <div class=\"col-span-12 min-w-0\">\r\n <p>{{ state.locale.emptyMessage }}</p>\r\n </div>\r\n </div>\r\n </section>\r\n }\r\n}" }]
46382
46419
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { state: [{
46383
46420
  type: Input
46384
46421
  }] } });
@@ -47381,11 +47418,11 @@ class SmzImageWithDetailsTypeComponent {
47381
47418
  SmzCardsTextContent;
47382
47419
  modes = SmzCardsView;
47383
47420
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzImageWithDetailsTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47384
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzImageWithDetailsTypeComponent, isStandalone: false, selector: "smz-image-with-details-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-2 relative\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : ''\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n <div class=\"grid grid-nogutter flex-col items-start justify-start gap-2 col\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInGrid) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.title.styleClass ?? 'font-bold')\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.subTitle.styleClass ?? 'text-sm')\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInGrid) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.conditionalStyleClass != null ? other.conditionalStyleClass(data) : (other.styleClass ?? 'text-sm')\"></div>\r\n }\r\n }\r\n <div class=\"col\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"grid grid-nogutter items-start justify-start gap-4 relative col\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.listStyleClass\"\r\n >\r\n }\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-2 relative col\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInList) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded'\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInList) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.styleClass ?? 'text-sm'\"></div>\r\n }\r\n }\r\n <div class=\"col\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ServerImageDirective, selector: "img[serverImage]", inputs: ["src", "path", "placeholder", "errorPlaceholder", "maximize", "openMaximized", "title", "useServerPath"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzCardsContentSelectorDirective, selector: "div[contentSelector]", inputs: ["content", "data", "callback"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: SmzCardsContentPipe, name: "cardsContent" }, { kind: "pipe", type: SmzCardsTransformContentPipe, name: "transformContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47421
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzImageWithDetailsTypeComponent, isStandalone: false, selector: "smz-image-with-details-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative gap-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : ''\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n <div class=\"flex flex-wrap flex-col items-start justify-start flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInGrid) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.title.styleClass ?? 'font-bold')\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.subTitle.styleClass ?? 'text-sm')\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInGrid) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.conditionalStyleClass != null ? other.conditionalStyleClass(data) : (other.styleClass ?? 'text-sm')\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"flex flex-wrap items-start justify-start relative flex-1 basis-0 gap-4 p-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.listStyleClass\"\r\n >\r\n }\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInList) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded'\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInList) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.styleClass ?? 'text-sm'\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ServerImageDirective, selector: "img[serverImage]", inputs: ["src", "path", "placeholder", "errorPlaceholder", "maximize", "openMaximized", "title", "useServerPath"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzCardsContentSelectorDirective, selector: "div[contentSelector]", inputs: ["content", "data", "callback"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: SmzCardsContentPipe, name: "cardsContent" }, { kind: "pipe", type: SmzCardsTransformContentPipe, name: "transformContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47385
47422
  }
47386
47423
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzImageWithDetailsTypeComponent, decorators: [{
47387
47424
  type: Component,
47388
- args: [{ selector: 'smz-image-with-details-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-2 relative\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : ''\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n <div class=\"grid grid-nogutter flex-col items-start justify-start gap-2 col\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInGrid) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.title.styleClass ?? 'font-bold')\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.subTitle.styleClass ?? 'text-sm')\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInGrid) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.conditionalStyleClass != null ? other.conditionalStyleClass(data) : (other.styleClass ?? 'text-sm')\"></div>\r\n }\r\n }\r\n <div class=\"col\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"grid grid-nogutter items-start justify-start gap-4 relative col\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.listStyleClass\"\r\n >\r\n }\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-2 relative col\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInList) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded'\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInList) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.styleClass ?? 'text-sm'\"></div>\r\n }\r\n }\r\n <div class=\"col\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n" }]
47425
+ args: [{ selector: 'smz-image-with-details-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative gap-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : ''\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n <div class=\"flex flex-wrap flex-col items-start justify-start flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInGrid) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.title.styleClass ?? 'font-bold')\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.title.conditionalStyleClass != null ? template.title.conditionalStyleClass(data) : (template.subTitle.styleClass ?? 'text-sm')\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInGrid) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.conditionalStyleClass != null ? other.conditionalStyleClass(data) : (other.styleClass ?? 'text-sm')\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"flex flex-wrap items-start justify-start relative flex-1 basis-0 gap-4 p-2\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- IMAGE -->\r\n @if (template.image | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n [ngClass]=\"image.listStyleClass\"\r\n >\r\n }\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative flex-1 gap-2\" [ngClass]=\"template.contentStyleClass\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.hideInList) {\r\n <div contentSelector [content]=\"template.title\" [data]=\"data\" [ngClass]=\"template.title.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start gap-2\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded'\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- COMPONENTS -->\r\n @for (component of template.components; track component) {\r\n <ng-template [smzInjectDataPathComponent]=\"component.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n <!-- OTHERS -->\r\n @for (other of template.others; track other) {\r\n @if (!other.hideInList) {\r\n <div contentSelector [content]=\"other\" [data]=\"data\" [ngClass]=\"other.styleClass ?? 'text-sm'\"></div>\r\n }\r\n }\r\n <div class=\"flex-1\"></div>\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n" }]
47389
47426
  }], propDecorators: { template: [{
47390
47427
  type: Input
47391
47428
  }], data: [{
@@ -47414,11 +47451,11 @@ class SmzInfoATypeComponent {
47414
47451
  ngOnInit() {
47415
47452
  }
47416
47453
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInfoATypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47417
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInfoATypeComponent, isStandalone: false, selector: "smz-info-a-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-0 relative rounded-lg p-3 border-0 border-l-8\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInGrid) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" class=\"\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInGrid) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2 mr-3\">\r\n <div class=\"rounded-2xl h-4 w-4\" [ngClass]=\"info.bulletStyleClass ?? 'bg-gray-200'\"></div>\r\n <div class=\"grid grid-nogutter flex-col items-start justify-start gap-0\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"col mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-0 relative rounded-lg p-3 border-0 border-l-8 col\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInList) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInList) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2 mr-3\">\r\n <div class=\"rounded-2xl h-4 w-4 bg-gray-200\" [ngClass]=\"info.bulletStyleClass\"></div>\r\n <div class=\"grid grid-nogutter flex-col items-start justify-start gap-0\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"col mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n}\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzCardsContentSelectorDirective, selector: "div[contentSelector]", inputs: ["content", "data", "callback"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47454
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInfoATypeComponent, isStandalone: false, selector: "smz-info-a-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInGrid) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" class=\"\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInGrid) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4\" [ngClass]=\"info.bulletStyleClass ?? 'bg-gray-200'\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8 flex-1 basis-0\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInList) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInList) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4 bg-gray-200\" [ngClass]=\"info.bulletStyleClass\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n}\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: SmzCardsContentSelectorDirective, selector: "div[contentSelector]", inputs: ["content", "data", "callback"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47418
47455
  }
47419
47456
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInfoATypeComponent, decorators: [{
47420
47457
  type: Component,
47421
- args: [{ selector: 'smz-info-a-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-0 relative rounded-lg p-3 border-0 border-l-8\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInGrid) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" class=\"\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInGrid) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2 mr-3\">\r\n <div class=\"rounded-2xl h-4 w-4\" [ngClass]=\"info.bulletStyleClass ?? 'bg-gray-200'\"></div>\r\n <div class=\"grid grid-nogutter flex-col items-start justify-start gap-0\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"col mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"h-full grid grid-nogutter flex-col items-start justify-start gap-0 relative rounded-lg p-3 border-0 border-l-8 col\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInList) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"col-12 grid grid-nogutter items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInList) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2 mr-3\">\r\n <div class=\"rounded-2xl h-4 w-4 bg-gray-200\" [ngClass]=\"info.bulletStyleClass\"></div>\r\n <div class=\"grid grid-nogutter flex-col items-start justify-start gap-0\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"col mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"grid grid-nogutter items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n}\r\n" }]
47458
+ args: [{ selector: 'smz-info-a-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInGrid) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInGrid) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInGrid) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" class=\"\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInGrid) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4\" [ngClass]=\"info.bulletStyleClass ?? 'bg-gray-200'\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case (modes.LIST) {\r\n <div class=\"h-full flex flex-wrap flex-col items-start justify-start relative rounded-lg p-3 border-0 border-l-8 flex-1 basis-0\" [ngClass]=\"template.cardStyleClass + ' ' + template.verticalBarStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <!-- TITLE -->\r\n @if (template.title && !template.title.content.hideInList) {\r\n <div class=\"text-xs text-surface-600\">{{ template.title.caption }}</div>\r\n <div contentSelector [content]=\"template.title.content\" [data]=\"data\" [ngClass]=\"template.title.content.styleClass ?? 'font-bold'\"></div>\r\n }\r\n <!-- SUBTITLE -->\r\n @if (template.subTitle && !template.subTitle.hideInList) {\r\n <div contentSelector [content]=\"template.subTitle\" [data]=\"data\" class=\"mt-1\" [ngClass]=\"template.subTitle.styleClass ?? 'text-sm'\"></div>\r\n }\r\n <!-- TAGS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.tagsContainerStyleClass\">\r\n @for (tag of template.tags; track tag) {\r\n @if (!tag.hideInList) {\r\n <div contentSelector [content]=\"tag\" [data]=\"data\" [ngClass]=\"tag.conditionalStyleClass != null ? tag.conditionalStyleClass(data) : (tag.styleClass ?? 'px-2 py-1 text-sm bg-gray-200 text-surface-50 rounded')\"></div>\r\n }\r\n }\r\n </div>\r\n <!-- INFOS -->\r\n <div class=\"w-full flex-none flex flex-wrap items-center justify-start\" [ngClass]=\"template.infosContainerStyleClass\">\r\n @for (info of template.infos; track info) {\r\n @if (!info.content.hideInList) {\r\n <div class=\"flex flex-wrap items-center justify-start mr-3 gap-2\">\r\n <div class=\"rounded-2xl h-4 w-4 bg-gray-200\" [ngClass]=\"info.bulletStyleClass\"></div>\r\n <div class=\"flex flex-wrap flex-col items-start justify-start\">\r\n <div class=\"text-xs text-surface-600\">{{ info.caption }}</div>\r\n <div contentSelector [content]=\"info.content\" [data]=\"data\" class=\"\" [ngClass]=\"info.content.styleClass ?? 'text-sm'\"></div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"flex-1 mt-2\"></div>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1\">\r\n <smz-menu [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttons) {\r\n <div class=\"flex flex-wrap items-center justify-start gap-1\">\r\n @for (button of buttons; track button; let i = $index) {\r\n @if (button.visible) {\r\n <button smzButton type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass\" variant=\"outlined\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n}\r\n" }]
47422
47459
  }], ctorParameters: () => [], propDecorators: { template: [{
47423
47460
  type: Input
47424
47461
  }], data: [{
@@ -47456,11 +47493,11 @@ class SmzFlipCardTypeComponent {
47456
47493
  this.template.onChange(changes);
47457
47494
  }
47458
47495
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzFlipCardTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47459
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzFlipCardTypeComponent, isStandalone: false, selector: "smz-flip-card-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-center relative select-none\">\r\n <div class=\"relative\" [ngStyle]=\"{ width: template.width, height: template.height}\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <div class=\"cmp-card w-full h-full\" [ngClass]=\"{ 'cmp-card-flipped': status === 'back', 'cursor-pointer': template.back != null }\" (click)=\"flip()\">\r\n <div class=\"cmp-content\">\r\n <div class=\"cmp-front\">\r\n @if (status === 'front') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.front.image; as frontImage) {\r\n @if (frontImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.front.component; as frontComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"frontComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.front.html; as frontHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"frontHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n <div class=\"cmp-back\">\r\n @if (status === 'back') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.back.image; as backImage) {\r\n @if (backImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.back.component; as backComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"backComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.back.html; as backHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"backHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n }\r\n @case (modes.LIST) {\r\n }\r\n }\r\n\r\n <ng-template #buttonsTemplate let-template>\r\n <div class=\"absolute bottom-0 inset-x-0\">\r\n <div class=\"grid grid-nogutter flex-col items-start justify-center gap-2 col\" [ngClass]=\"template.contentStyleClass\">\r\n\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttonsData) {\r\n <div class=\"w-full grid grid-nogutter items-center justify-center gap-1\">\r\n @for (button of buttonsData; track button; let i = $index) {\r\n 1\r\n @if (button.visible) {\r\n <button smzButton clickStopPropagation type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass + ' ' + buttons.styleClass\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #menuTemplate let-template>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu clickStopPropagation [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </ng-template>", styles: ["smz-flip-card-type .cmp-card{perspective:500px}smz-flip-card-type .cmp-content{position:absolute;width:100%;height:100%;transition:transform .2s;transform-style:preserve-3d}smz-flip-card-type .cmp-card-flipped .cmp-content{transform:rotateY(180deg);transition:transform .2s}smz-flip-card-type .cmp-front,smz-flip-card-type .cmp-back{position:absolute;height:100%;width:100%;backface-visibility:hidden}smz-flip-card-type .cmp-back{transform:rotateY(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ServerImageDirective, selector: "img[serverImage]", inputs: ["src", "path", "placeholder", "errorPlaceholder", "maximize", "openMaximized", "title", "useServerPath"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzCardsContentPipe, name: "cardsContent" }, { kind: "pipe", type: SmzCardsTransformContentPipe, name: "transformContent" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
47496
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzFlipCardTypeComponent, isStandalone: false, selector: "smz-flip-card-type", inputs: { template: "template", data: "data", mode: "mode", isDebug: "isDebug", buttons: "buttons", menu: "menu" }, ngImport: i0, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-center relative select-none\">\r\n <div class=\"relative\" [ngStyle]=\"{ width: template.width, height: template.height}\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <div class=\"cmp-card w-full h-full\" [ngClass]=\"{ 'cmp-card-flipped': status === 'back', 'cursor-pointer': template.back != null }\" (click)=\"flip()\">\r\n <div class=\"cmp-content\">\r\n <div class=\"cmp-front\">\r\n @if (status === 'front') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.front.image; as frontImage) {\r\n @if (frontImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.front.component; as frontComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"frontComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.front.html; as frontHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"frontHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n <div class=\"cmp-back\">\r\n @if (status === 'back') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.back.image; as backImage) {\r\n @if (backImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.back.component; as backComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"backComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.back.html; as backHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"backHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n }\r\n @case (modes.LIST) {\r\n }\r\n }\r\n\r\n <ng-template #buttonsTemplate let-template>\r\n <div class=\"absolute bottom-0 inset-x-0\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-center flex-1 basis-0 gap-2 p-2\" [ngClass]=\"template.contentStyleClass\">\r\n\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttonsData) {\r\n <div class=\"w-full flex flex-wrap items-center justify-center gap-1\">\r\n @for (button of buttonsData; track button; let i = $index) {\r\n 1\r\n @if (button.visible) {\r\n <button smzButton clickStopPropagation type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass + ' ' + buttons.styleClass\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #menuTemplate let-template>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1 p-2\">\r\n <smz-menu clickStopPropagation [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </ng-template>", styles: ["smz-flip-card-type .cmp-card{perspective:500px}smz-flip-card-type .cmp-content{position:absolute;width:100%;height:100%;transition:transform .2s;transform-style:preserve-3d}smz-flip-card-type .cmp-card-flipped .cmp-content{transform:rotateY(180deg);transition:transform .2s}smz-flip-card-type .cmp-front,smz-flip-card-type .cmp-back{position:absolute;height:100%;width:100%;backface-visibility:hidden}smz-flip-card-type .cmp-back{transform:rotateY(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmzButtonComponent, selector: "button[smzButton], a[smzButton]", inputs: ["label", "icon", "iconPosition", "severity", "variant", "size", "text", "outlined", "rounded", "loading", "styleClass"] }, { kind: "directive", type: ServerImageDirective, selector: "img[serverImage]", inputs: ["src", "path", "placeholder", "errorPlaceholder", "maximize", "openMaximized", "title", "useServerPath"] }, { kind: "component", type: SmzMenuComponent, selector: "smz-menu", inputs: ["items", "callback", "data", "buttonClass", "styleClass", "icon", "behavior", "testId"] }, { kind: "directive", type: i2.SmzTooltipDirective, selector: "[smzTooltip]", inputs: ["smzTooltip", "tooltipPosition", "showDelay", "hideDelay", "tooltipEvent", "escape", "tooltipStyleClass", "tooltipZIndex", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: ClickStopPropagationDirective, selector: "[clickStopPropagation]" }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "directive", type: ButtonActionsDirective, selector: "[buttonAction]", inputs: ["item", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzCardsContentPipe, name: "cardsContent" }, { kind: "pipe", type: SmzCardsTransformContentPipe, name: "transformContent" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
47460
47497
  }
47461
47498
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzFlipCardTypeComponent, decorators: [{
47462
47499
  type: Component,
47463
- args: [{ selector: 'smz-flip-card-type', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full grid grid-nogutter items-center justify-center relative select-none\">\r\n <div class=\"relative\" [ngStyle]=\"{ width: template.width, height: template.height}\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <div class=\"cmp-card w-full h-full\" [ngClass]=\"{ 'cmp-card-flipped': status === 'back', 'cursor-pointer': template.back != null }\" (click)=\"flip()\">\r\n <div class=\"cmp-content\">\r\n <div class=\"cmp-front\">\r\n @if (status === 'front') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.front.image; as frontImage) {\r\n @if (frontImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.front.component; as frontComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"frontComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.front.html; as frontHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"frontHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n <div class=\"cmp-back\">\r\n @if (status === 'back') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.back.image; as backImage) {\r\n @if (backImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.back.component; as backComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"backComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.back.html; as backHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"backHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n }\r\n @case (modes.LIST) {\r\n }\r\n }\r\n\r\n <ng-template #buttonsTemplate let-template>\r\n <div class=\"absolute bottom-0 inset-x-0\">\r\n <div class=\"grid grid-nogutter flex-col items-start justify-center gap-2 col\" [ngClass]=\"template.contentStyleClass\">\r\n\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttonsData) {\r\n <div class=\"w-full grid grid-nogutter items-center justify-center gap-1\">\r\n @for (button of buttonsData; track button; let i = $index) {\r\n 1\r\n @if (button.visible) {\r\n <button smzButton clickStopPropagation type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass + ' ' + buttons.styleClass\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #menuTemplate let-template>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"grid grid-nogutter items-center justify-end gap-1 col-12 absolute top-2 right-2\">\r\n <smz-menu clickStopPropagation [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </ng-template>", styles: ["smz-flip-card-type .cmp-card{perspective:500px}smz-flip-card-type .cmp-content{position:absolute;width:100%;height:100%;transition:transform .2s;transform-style:preserve-3d}smz-flip-card-type .cmp-card-flipped .cmp-content{transform:rotateY(180deg);transition:transform .2s}smz-flip-card-type .cmp-front,smz-flip-card-type .cmp-back{position:absolute;height:100%;width:100%;backface-visibility:hidden}smz-flip-card-type .cmp-back{transform:rotateY(180deg)}\n"] }]
47500
+ args: [{ selector: 'smz-flip-card-type', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "\r\n@switch (mode) {\r\n @case (modes.GRID) {\r\n <ng-container *ngVar=\"template._context.getFlipState(data) as status\">\r\n <div class=\"w-full h-full flex flex-wrap items-center justify-center relative select-none\">\r\n <div class=\"relative\" [ngStyle]=\"{ width: template.width, height: template.height}\" [ngClass]=\"template.cardStyleClass + (isDebug ? ' border border-red-500 border-solid' : '')\">\r\n <div class=\"cmp-card w-full h-full\" [ngClass]=\"{ 'cmp-card-flipped': status === 'back', 'cursor-pointer': template.back != null }\" (click)=\"flip()\">\r\n <div class=\"cmp-content\">\r\n <div class=\"cmp-front\">\r\n @if (status === 'front') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.front.image; as frontImage) {\r\n @if (frontImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.front.component; as frontComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"frontComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.front.html; as frontHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"frontHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'front') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n <div class=\"cmp-back\">\r\n @if (status === 'back') {\r\n <!-- FRONT IMAGE -->\r\n @if (template.back.image; as backImage) {\r\n @if (backImage | transformContent : data; as image) {\r\n <img\r\n serverImage\r\n [path]=\"image.transform.override ? image.transform.override.dataPath : (data | cardsContent : image.dataPath).result\"\r\n [maximize]=\"image.maximize\"\r\n [openMaximized]=\"image.openMaximized\"\r\n [placeholder]=\"'assets/images/placeholder.jpeg'\"\r\n [title]=\"image.title.isVisible ? image.title.getText(data) : null\"\r\n [useServerPath]=\"image.useServerPath\"\r\n draggable=\"false\"\r\n [ngClass]=\"image.gridStyleClass\"\r\n >\r\n }\r\n }\r\n @if (template.back.component; as backComponent) {\r\n <ng-template [smzInjectDataPathComponent]=\"backComponent.componentData\" [data]=\"data\" [state]=\"template._context\"></ng-template>\r\n }\r\n @if (template.back.html; as backHtml) {\r\n <div class=\"w-full h-full\" [innerHTML]=\"backHtml | safeHtml\"></div>\r\n }\r\n @if (template.buttonsLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"buttonsTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n @if (template.menuLocation === 'back') {\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: template }\"></ng-container>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n }\r\n @case (modes.LIST) {\r\n }\r\n }\r\n\r\n <ng-template #buttonsTemplate let-template>\r\n <div class=\"absolute bottom-0 inset-x-0\">\r\n <div class=\"flex flex-wrap flex-col items-start justify-center flex-1 basis-0 gap-2 p-2\" [ngClass]=\"template.contentStyleClass\">\r\n\r\n <!-- BUTTONS -->\r\n @if (buttons.callback != null && buttons.callback(data); as buttonsData) {\r\n <div class=\"w-full flex flex-wrap items-center justify-center gap-1\">\r\n @for (button of buttonsData; track button; let i = $index) {\r\n 1\r\n @if (button.visible) {\r\n <button smzButton clickStopPropagation type=\"button\" buttonAction [item]=\"button\" [data]=\"data\" [label]=\"button.label\" [icon]=\"button.icon\" [disabled]=\"button.disabled\" [smzTooltip]=\"button.tooltip\" class=\"px-3 py-2\" [styleClass]=\"button.styleClass + ' ' + buttons.styleClass\" size=\"sm\"></button>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #menuTemplate let-template>\r\n <!-- MENU -->\r\n @if (menu.callback != null && menu.callback(data); as menuItem) {\r\n <div class=\"flex flex-wrap items-center justify-end w-full flex-none absolute top-2 right-2 gap-1 p-2\">\r\n <smz-menu clickStopPropagation [items]=\"menuItem\" [data]=\"data\" [icon]=\"menu.icon\" [styleClass]=\"menu.styleClass\" [buttonClass]=\"menu.buttonClass\"></smz-menu>\r\n </div>\r\n }\r\n </ng-template>", styles: ["smz-flip-card-type .cmp-card{perspective:500px}smz-flip-card-type .cmp-content{position:absolute;width:100%;height:100%;transition:transform .2s;transform-style:preserve-3d}smz-flip-card-type .cmp-card-flipped .cmp-content{transform:rotateY(180deg);transition:transform .2s}smz-flip-card-type .cmp-front,smz-flip-card-type .cmp-back{position:absolute;height:100%;width:100%;backface-visibility:hidden}smz-flip-card-type .cmp-back{transform:rotateY(180deg)}\n"] }]
47464
47501
  }], ctorParameters: () => [], propDecorators: { template: [{
47465
47502
  type: Input
47466
47503
  }], data: [{
@@ -47602,11 +47639,11 @@ class SmzCardsComponent {
47602
47639
  this.cdr.markForCheck();
47603
47640
  }
47604
47641
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47605
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCardsComponent, isStandalone: false, selector: "smz-ui-cards", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dataView", first: true, predicate: SmzDataViewComponent, descendants: true }], ngImport: i0, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"grid grid-nogutter lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"grid grid-nogutter items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n <ui-icon-field class=\"p-input-icon-left mb-2 md:mb-0\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input type=\"search\" smzInputText [placeholder]=\"state.locale.globalSearch.placeholder\" (input)=\"dataView.filter($any($event.target).value)\">\r\n </ui-icon-field>\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n <!-- FIXME: Implementar -->\r\n <!-- <p-dataViewLayoutOptions *ngIf=\"state.view.showLayoutOptions\"></p-dataViewLayoutOptions> -->\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-items #list>\r\n @if (state.template != null) {\r\n <div class=\"grid grid-nogutter\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n <smz-list-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.list.styleClass.all\"></smz-list-item>\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template let-items #grid>\r\n @if (state.template != null) {\r\n <div class=\"grid grid-nogutter\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.grid.styleClass.all\"></smz-grid-item>\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template #empty>\r\n @if (state.view.emptyMessageType === 'html') {\r\n <div [innerHTML]=\"state.locale.emptyMessage | safeHtml\" class=\"w-full h-full\"></div>\r\n }\r\n @if (state.view.emptyMessageType === 'component') {\r\n <ng-template [smzInjectDataPathComponent]=\"state.view.emptyMessageComponent\" [data]=\"items\" [state]=\"state\"></ng-template>\r\n }\r\n </ng-template>\r\n </ui-data-view>\r\n </ng-container>\r\n </ng-container>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SmzDataViewComponent, selector: "ui-data-view", inputs: ["value", "layout", "paginator", "rows", "first", "filterBy", "styleClass", "gridStyleClass"], outputs: ["firstChange"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }, { kind: "component", type: SmzListItemComponent, selector: "smz-list-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "component", type: SmzGridItemComponent, selector: "smz-grid-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzCardsResetContextPipe, name: "resetContext" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
47642
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCardsComponent, isStandalone: false, selector: "smz-ui-cards", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "dataView", first: true, predicate: SmzDataViewComponent, descendants: true }], ngImport: i0, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n <ui-icon-field class=\"p-input-icon-left mb-2 md:mb-0\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input type=\"search\" smzInputText [placeholder]=\"state.locale.globalSearch.placeholder\" (input)=\"dataView.filter($any($event.target).value)\">\r\n </ui-icon-field>\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n <!-- FIXME: Implementar -->\r\n <!-- <p-dataViewLayoutOptions *ngIf=\"state.view.showLayoutOptions\"></p-dataViewLayoutOptions> -->\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-items #list>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n <smz-list-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.list.styleClass.all\"></smz-list-item>\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template let-items #grid>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.grid.styleClass.all\"></smz-grid-item>\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template #empty>\r\n @if (state.view.emptyMessageType === 'html') {\r\n <div [innerHTML]=\"state.locale.emptyMessage | safeHtml\" class=\"w-full h-full\"></div>\r\n }\r\n @if (state.view.emptyMessageType === 'component') {\r\n <ng-template [smzInjectDataPathComponent]=\"state.view.emptyMessageComponent\" [data]=\"items\" [state]=\"state\"></ng-template>\r\n }\r\n </ng-template>\r\n </ui-data-view>\r\n </ng-container>\r\n </ng-container>\r\n}", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SmzDataViewComponent, selector: "ui-data-view", inputs: ["value", "layout", "paginator", "rows", "first", "filterBy", "styleClass", "gridStyleClass"], outputs: ["firstChange"] }, { kind: "directive", type: i2.SmzInputTextDirective, selector: "input[smzInputText]", inputs: ["size", "invalid"] }, { kind: "component", type: i2.SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgVar, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i2.SmzIconFieldComponent, selector: "ui-icon-field" }, { kind: "component", type: i2.SmzInputIconComponent, selector: "ui-input-icon", inputs: ["styleClass"] }, { kind: "component", type: SmzListItemComponent, selector: "smz-list-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "component", type: SmzGridItemComponent, selector: "smz-grid-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "directive", type: SmzInjectDataPathComponent, selector: "[smzInjectDataPathComponent]", inputs: ["smzInjectDataPathComponent", "data", "state"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SmzCardsResetContextPipe, name: "resetContext" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
47606
47643
  }
47607
47644
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCardsComponent, decorators: [{
47608
47645
  type: Component,
47609
- args: [{ selector: 'smz-ui-cards', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"grid grid-nogutter lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"grid grid-nogutter items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n <ui-icon-field class=\"p-input-icon-left mb-2 md:mb-0\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input type=\"search\" smzInputText [placeholder]=\"state.locale.globalSearch.placeholder\" (input)=\"dataView.filter($any($event.target).value)\">\r\n </ui-icon-field>\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n <!-- FIXME: Implementar -->\r\n <!-- <p-dataViewLayoutOptions *ngIf=\"state.view.showLayoutOptions\"></p-dataViewLayoutOptions> -->\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-items #list>\r\n @if (state.template != null) {\r\n <div class=\"grid grid-nogutter\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n <smz-list-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.list.styleClass.all\"></smz-list-item>\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template let-items #grid>\r\n @if (state.template != null) {\r\n <div class=\"grid grid-nogutter\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.grid.styleClass.all\"></smz-grid-item>\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template #empty>\r\n @if (state.view.emptyMessageType === 'html') {\r\n <div [innerHTML]=\"state.locale.emptyMessage | safeHtml\" class=\"w-full h-full\"></div>\r\n }\r\n @if (state.view.emptyMessageType === 'component') {\r\n <ng-template [smzInjectDataPathComponent]=\"state.view.emptyMessageComponent\" [data]=\"items\" [state]=\"state\"></ng-template>\r\n }\r\n </ng-template>\r\n </ui-data-view>\r\n </ng-container>\r\n </ng-container>\r\n}" }]
47646
+ args: [{ selector: 'smz-ui-cards', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (state != null) {\r\n <ng-container *ngVar=\"state.items$ | async as items\">\r\n <ng-container *ngVar=\"items | resetContext : state.template._context\">\r\n <ui-data-view #dataView [styleClass]=\"state.view.dataViewStyleClass\" [gridStyleClass]=\"state.view.gridStyleClass\" [value]=\"items ?? []\" [paginator]=\"state.view.paginator\" [rows]=\"state.view.rowsPerPage\" [filterBy]=\"state.view.filterBy\" [layout]=\"state.view.layout\">\r\n @if (state.view.showHeader) {\r\n <ng-template #header>\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n <ui-icon-field class=\"p-input-icon-left mb-2 md:mb-0\">\r\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\r\n <input type=\"search\" smzInputText [placeholder]=\"state.locale.globalSearch.placeholder\" (input)=\"dataView.filter($any($event.target).value)\">\r\n </ui-icon-field>\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n <!-- FIXME: Implementar -->\r\n <!-- <p-dataViewLayoutOptions *ngIf=\"state.view.showLayoutOptions\"></p-dataViewLayoutOptions> -->\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n <ng-template let-items #list>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n <smz-list-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.list.styleClass.all\"></smz-list-item>\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template let-items #grid>\r\n @if (state.template != null) {\r\n <div class=\"flex flex-wrap\" [ngClass]=\"state.view.gridStyleClass\">\r\n @for (item of items; track item) {\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"item\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.grid.styleClass.all\"></smz-grid-item>\r\n }\r\n }\r\n </div>\r\n }\r\n </ng-template>\r\n <ng-template #empty>\r\n @if (state.view.emptyMessageType === 'html') {\r\n <div [innerHTML]=\"state.locale.emptyMessage | safeHtml\" class=\"w-full h-full\"></div>\r\n }\r\n @if (state.view.emptyMessageType === 'component') {\r\n <ng-template [smzInjectDataPathComponent]=\"state.view.emptyMessageComponent\" [data]=\"items\" [state]=\"state\"></ng-template>\r\n }\r\n </ng-template>\r\n </ui-data-view>\r\n </ng-container>\r\n </ng-container>\r\n}" }]
47610
47647
  }], propDecorators: { dataView: [{
47611
47648
  type: ViewChild,
47612
47649
  args: [SmzDataViewComponent]
@@ -47970,7 +48007,7 @@ class SmzTimelineComponent {
47970
48007
  this.cdr.markForCheck();
47971
48008
  }
47972
48009
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47973
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTimelineComponent, isStandalone: true, selector: "smz-ui-timeline", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"grid grid-nogutter lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2 mb-3\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"grid grid-nogutter items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (items?.length > 0) {\r\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\r\n <ng-template smzTemplate=\"marker\" let-event>\r\n <span [ngClass]=\"state.marker.styleClass\">\r\n <i [ngClass]=\"state.marker.icon\"></i>\r\n </span>\r\n </ng-template>\r\n <ng-template smzTemplate=\"content\" let-event>\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"event\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.view.styleClass.event\"></smz-grid-item>\r\n }\r\n </ng-template>\r\n </ui-timeline>\r\n } @else {\r\n <div>{{ state.locale.emptyMessage }}</div>\r\n }\r\n }\r\n}", styles: ["@media screen and (max-width:960px){smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n){flex-direction:row!important}smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n) .p-timeline-event-content{text-align:left!important}smz-ui-timeline .mobile-timeline .p-timeline-event-opposite{flex:0}}smz-ui-timeline .p-timeline-left .p-timeline-event-opposite{display:none}smz-ui-timeline .p-timeline-right .p-timeline-event-opposite{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "component", type: SmzUiTimelineComponent, selector: "ui-timeline", inputs: ["value", "align", "layout", "styleClass"] }, { kind: "ngmodule", type: SafeContentPipeModule }, { kind: "ngmodule", type: NgxSmzCardsModule }, { kind: "component", type: SmzGridItemComponent, selector: "smz-grid-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$1, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
48010
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzTimelineComponent, isStandalone: true, selector: "smz-ui-timeline", inputs: { state: "state" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between mb-3 gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (items?.length > 0) {\r\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\r\n <ng-template smzTemplate=\"marker\" let-event>\r\n <span [ngClass]=\"state.marker.styleClass\">\r\n <i [ngClass]=\"state.marker.icon\"></i>\r\n </span>\r\n </ng-template>\r\n <ng-template smzTemplate=\"content\" let-event>\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"event\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.view.styleClass.event\"></smz-grid-item>\r\n }\r\n </ng-template>\r\n </ui-timeline>\r\n } @else {\r\n <div>{{ state.locale.emptyMessage }}</div>\r\n }\r\n }\r\n}", styles: ["@media screen and (max-width:960px){smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n){flex-direction:row!important}smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n) .p-timeline-event-content{text-align:left!important}smz-ui-timeline .mobile-timeline .p-timeline-event-opposite{flex:0}}smz-ui-timeline .p-timeline-left .p-timeline-event-opposite{display:none}smz-ui-timeline .p-timeline-right .p-timeline-event-opposite{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { kind: "component", type: SmzSelectComponent, selector: "ui-select", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "dataKey", "placeholder", "filter", "filterBy", "filterMatchMode", "filterPlaceholder", "showClear", "emptyMessage", "emptyFilterMessage", "styleClass", "inputId", "ariaLabel", "appendTo"], outputs: ["changed", "showed", "hidden"] }, { kind: "component", type: SmzUiTimelineComponent, selector: "ui-timeline", inputs: ["value", "align", "layout", "styleClass"] }, { kind: "ngmodule", type: SafeContentPipeModule }, { kind: "ngmodule", type: NgxSmzCardsModule }, { kind: "component", type: SmzGridItemComponent, selector: "smz-grid-item", inputs: ["isDebug", "template", "buttons", "menu", "data"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SafeHtmlPipe$1, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
47974
48011
  }
47975
48012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTimelineComponent, decorators: [{
47976
48013
  type: Component,
@@ -47982,7 +48019,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
47982
48019
  SmzUiTimelineComponent,
47983
48020
  SafeContentPipeModule,
47984
48021
  NgxSmzCardsModule,
47985
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"grid grid-nogutter lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between gap-2 mb-3\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"grid grid-nogutter items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (items?.length > 0) {\r\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\r\n <ng-template smzTemplate=\"marker\" let-event>\r\n <span [ngClass]=\"state.marker.styleClass\">\r\n <i [ngClass]=\"state.marker.icon\"></i>\r\n </span>\r\n </ng-template>\r\n <ng-template smzTemplate=\"content\" let-event>\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"event\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.view.styleClass.event\"></smz-grid-item>\r\n }\r\n </ng-template>\r\n </ui-timeline>\r\n } @else {\r\n <div>{{ state.locale.emptyMessage }}</div>\r\n }\r\n }\r\n}", styles: ["@media screen and (max-width:960px){smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n){flex-direction:row!important}smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n) .p-timeline-event-content{text-align:left!important}smz-ui-timeline .mobile-timeline .p-timeline-event-opposite{flex:0}}smz-ui-timeline .p-timeline-left .p-timeline-event-opposite{display:none}smz-ui-timeline .p-timeline-right .p-timeline-event-opposite{display:none}\n"] }]
48022
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (state != null) {\r\n @if (state.items$ | async; as items) {\r\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\r\n <div class=\"flex flex-wrap lg:flex-row xl:flex-row md:flex-col sm:flex-col items-center justify-between mb-3 gap-2\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\r\n }\r\n </div>\r\n <div class=\"flex flex-wrap items-center justify-end gap-3\">\r\n @if (headerTemplate != null) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\r\n }\r\n @if (state.sources.length > 0) {\r\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @if (items?.length > 0) {\r\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\r\n <ng-template smzTemplate=\"marker\" let-event>\r\n <span [ngClass]=\"state.marker.styleClass\">\r\n <i [ngClass]=\"state.marker.icon\"></i>\r\n </span>\r\n </ng-template>\r\n <ng-template smzTemplate=\"content\" let-event>\r\n @if (state.template != null) {\r\n <smz-grid-item [isDebug]=\"state.isDebug\" [template]=\"state.template\" [data]=\"event\" [menu]=\"state.menu\" [buttons]=\"state.buttons\" [ngClass]=\"state.view.styleClass.event\"></smz-grid-item>\r\n }\r\n </ng-template>\r\n </ui-timeline>\r\n } @else {\r\n <div>{{ state.locale.emptyMessage }}</div>\r\n }\r\n }\r\n}", styles: ["@media screen and (max-width:960px){smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n){flex-direction:row!important}smz-ui-timeline .mobile-timeline .p-timeline-event:nth-child(2n) .p-timeline-event-content{text-align:left!important}smz-ui-timeline .mobile-timeline .p-timeline-event-opposite{flex:0}}smz-ui-timeline .p-timeline-left .p-timeline-event-opposite{display:none}smz-ui-timeline .p-timeline-right .p-timeline-event-opposite{display:none}\n"] }]
47986
48023
  }], propDecorators: { templates: [{
47987
48024
  type: ContentChildren,
47988
48025
  args: [SmzTemplateDirective]
@@ -48169,7 +48206,7 @@ class SmzSubmitComponent {
48169
48206
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzSubmitComponent, deps: [{ token: SmzUiBlockService }], target: i0.ɵɵFactoryTarget.Component });
48170
48207
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzSubmitComponent, isStandalone: true, selector: "smz-ui-submit", inputs: { state: "state", unBlockOnSave: "unBlockOnSave", useBlockUi: "useBlockUi", resetLabel: "resetLabel", resetStyleClass: "resetStyleClass", resetIcon: "resetIcon", saveLabel: "saveLabel", saveStyleClass: "saveStyleClass", saveIcon: "saveIcon" }, outputs: { save: "save" }, usesOnChanges: true, ngImport: i0, template: `
48171
48208
  @if (state != null && response != null) {
48172
- <div class="grid grid-nogutter items-center justify-start gap-2">
48209
+ <div class="flex flex-wrap items-center justify-start gap-2">
48173
48210
  <button smzButton smzRipple type="button" [icon]="saveIcon" [styleClass]="saveStyleClass" [disabled]="!response.isValid || !response.hasUnsavedChanges" (click)="submitSave()" [label]="saveLabel"></button>
48174
48211
  <button smzButton smzRipple type="button" [icon]="resetIcon" [styleClass]="resetStyleClass" [disabled]="!response.hasUnsavedChanges" (click)="cancel()" [label]="resetLabel"></button>
48175
48212
  </div>
@@ -48183,7 +48220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
48183
48220
  selector: 'smz-ui-submit',
48184
48221
  template: `
48185
48222
  @if (state != null && response != null) {
48186
- <div class="grid grid-nogutter items-center justify-start gap-2">
48223
+ <div class="flex flex-wrap items-center justify-start gap-2">
48187
48224
  <button smzButton smzRipple type="button" [icon]="saveIcon" [styleClass]="saveStyleClass" [disabled]="!response.isValid || !response.hasUnsavedChanges" (click)="submitSave()" [label]="saveLabel"></button>
48188
48225
  <button smzButton smzRipple type="button" [icon]="resetIcon" [styleClass]="resetStyleClass" [disabled]="!response.hasUnsavedChanges" (click)="cancel()" [label]="resetLabel"></button>
48189
48226
  </div>
@@ -48809,11 +48846,11 @@ class SmzSvgComponent {
48809
48846
  this.state.dispatch.setScopes.unsubscribe();
48810
48847
  }
48811
48848
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzSvgComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
48812
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzSvgComponent, isStandalone: false, selector: "smz-svg", inputs: { state: "state" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: SmzPopoverComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <i class=\"fa-solid fa-map-pin text-blue-200 text-2xl\"></i>\r\n <div>{{ tooltipContent }}</div>\r\n </div>\r\n</ui-popover>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
48849
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: SmzSvgComponent, isStandalone: false, selector: "smz-svg", inputs: { state: "state" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: SmzPopoverComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <i class=\"fa-solid fa-map-pin text-blue-200 text-2xl\"></i>\r\n <div>{{ tooltipContent }}</div>\r\n </div>\r\n</ui-popover>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
48813
48850
  }
48814
48851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzSvgComponent, decorators: [{
48815
48852
  type: Component,
48816
- args: [{ selector: 'smz-svg', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\r\n <i class=\"fa-solid fa-map-pin text-blue-200 text-2xl\"></i>\r\n <div>{{ tooltipContent }}</div>\r\n </div>\r\n</ui-popover>\r\n" }]
48853
+ args: [{ selector: 'smz-svg', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<div id=\"smz-svg-container\" [ngClass]=\"state?.containerClass\">\r\n <div id=\"smz-svg-map\" [ngClass]=\"{ 'border-2 border-red-800 border-solid': state?.isDebug }\"></div>\r\n</div>\r\n\r\n<ui-popover #op appendTo=\"body\">\r\n <div class=\"flex flex-wrap items-center justify-start gap-2\">\r\n <i class=\"fa-solid fa-map-pin text-blue-200 text-2xl\"></i>\r\n <div>{{ tooltipContent }}</div>\r\n </div>\r\n</ui-popover>\r\n" }]
48817
48854
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { overlayPanel: [{
48818
48855
  type: ViewChild,
48819
48856
  args: [SmzPopoverComponent]
@@ -53940,11 +53977,11 @@ class SmzEasyTableComponent {
53940
53977
  this.dataService.disconnect();
53941
53978
  }
53942
53979
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzEasyTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TableDataSourceService }, { token: TableContentService }], target: i0.ɵɵFactoryTarget.Component });
53943
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzEasyTableComponent, isStandalone: false, selector: "smz-easy-table", inputs: { state: "state", dataSource: "dataSource" }, providers: [TableDataSourceService, TableContentService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n <div class=\"grid grid-nogutter items-start flex-col justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <et-title class=\"col-12\" [state]=\"state\"></et-title>\r\n }\r\n @if (state.globalSearch.isEnabled) {\r\n <div class=\"col-12 grid grid-nogutter items-center justify-end\">\r\n <et-global-search class=\"col-4\" [state]=\"state\" [dataSource]=\"dataService\"></et-global-search>\r\n </div>\r\n }\r\n @if (state.desktop.enabled) {\r\n <et-desktop-table class=\"col-12\" [state]=\"state\" [dataSource]=\"dataService\" [contentService]=\"contentService\"></et-desktop-table>\r\n }\r\n @if (state.mobile.enabled) {\r\n <et-mobile-table class=\"col-12\" [state]=\"state\" [data]=\"[]\"></et-mobile-table>\r\n }\r\n </div>\r\n}", dependencies: [{ kind: "component", type: DesktopTableComponent, selector: "et-desktop-table", inputs: ["state", "dataSource", "contentService"] }, { kind: "component", type: MobileTableComponent, selector: "et-mobile-table", inputs: ["state", "data"] }, { kind: "component", type: TitleComponent, selector: "et-title", inputs: ["state"] }, { kind: "component", type: GlobalSearchComponent, selector: "et-global-search", inputs: ["state", "dataSource"] }] });
53980
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzEasyTableComponent, isStandalone: false, selector: "smz-easy-table", inputs: { state: "state", dataSource: "dataSource" }, providers: [TableDataSourceService, TableContentService], queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "@if (state != null) {\r\n <div class=\"grid grid-cols-12 items-start flex-col justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <et-title class=\"col-span-12 min-w-0\" [state]=\"state\"></et-title>\r\n }\r\n @if (state.globalSearch.isEnabled) {\r\n <div class=\"col-span-12 flex flex-wrap items-center justify-end min-w-0\">\r\n <et-global-search class=\"w-4/12 flex-none\" [state]=\"state\" [dataSource]=\"dataService\"></et-global-search>\r\n </div>\r\n }\r\n @if (state.desktop.enabled) {\r\n <et-desktop-table class=\"col-span-12 min-w-0\" [state]=\"state\" [dataSource]=\"dataService\" [contentService]=\"contentService\"></et-desktop-table>\r\n }\r\n @if (state.mobile.enabled) {\r\n <et-mobile-table class=\"col-span-12 min-w-0\" [state]=\"state\" [data]=\"[]\"></et-mobile-table>\r\n }\r\n </div>\r\n}", dependencies: [{ kind: "component", type: DesktopTableComponent, selector: "et-desktop-table", inputs: ["state", "dataSource", "contentService"] }, { kind: "component", type: MobileTableComponent, selector: "et-mobile-table", inputs: ["state", "data"] }, { kind: "component", type: TitleComponent, selector: "et-title", inputs: ["state"] }, { kind: "component", type: GlobalSearchComponent, selector: "et-global-search", inputs: ["state", "dataSource"] }] });
53944
53981
  }
53945
53982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzEasyTableComponent, decorators: [{
53946
53983
  type: Component,
53947
- args: [{ selector: 'smz-easy-table', providers: [TableDataSourceService, TableContentService], standalone: false, template: "@if (state != null) {\r\n <div class=\"grid grid-nogutter items-start flex-col justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <et-title class=\"col-12\" [state]=\"state\"></et-title>\r\n }\r\n @if (state.globalSearch.isEnabled) {\r\n <div class=\"col-12 grid grid-nogutter items-center justify-end\">\r\n <et-global-search class=\"col-4\" [state]=\"state\" [dataSource]=\"dataService\"></et-global-search>\r\n </div>\r\n }\r\n @if (state.desktop.enabled) {\r\n <et-desktop-table class=\"col-12\" [state]=\"state\" [dataSource]=\"dataService\" [contentService]=\"contentService\"></et-desktop-table>\r\n }\r\n @if (state.mobile.enabled) {\r\n <et-mobile-table class=\"col-12\" [state]=\"state\" [data]=\"[]\"></et-mobile-table>\r\n }\r\n </div>\r\n}" }]
53984
+ args: [{ selector: 'smz-easy-table', providers: [TableDataSourceService, TableContentService], standalone: false, template: "@if (state != null) {\r\n <div class=\"grid grid-cols-12 items-start flex-col justify-start gap-2\">\r\n @if (state.title.isVisible) {\r\n <et-title class=\"col-span-12 min-w-0\" [state]=\"state\"></et-title>\r\n }\r\n @if (state.globalSearch.isEnabled) {\r\n <div class=\"col-span-12 flex flex-wrap items-center justify-end min-w-0\">\r\n <et-global-search class=\"w-4/12 flex-none\" [state]=\"state\" [dataSource]=\"dataService\"></et-global-search>\r\n </div>\r\n }\r\n @if (state.desktop.enabled) {\r\n <et-desktop-table class=\"col-span-12 min-w-0\" [state]=\"state\" [dataSource]=\"dataService\" [contentService]=\"contentService\"></et-desktop-table>\r\n }\r\n @if (state.mobile.enabled) {\r\n <et-mobile-table class=\"col-span-12 min-w-0\" [state]=\"state\" [data]=\"[]\"></et-mobile-table>\r\n }\r\n </div>\r\n}" }]
53948
53985
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TableDataSourceService }, { type: TableContentService }], propDecorators: { state: [{
53949
53986
  type: Input
53950
53987
  }], dataSource: [{
@@ -54516,7 +54553,7 @@ class SmzTreeWithDetailsBuilder {
54516
54553
  content: 'gap-3 p-6 overflow-y-auto'
54517
54554
  },
54518
54555
  layout: {
54519
- detailsStyleClass: 'p-2 lg:col-6'
54556
+ detailsStyleClass: 'p-2 lg:w-6/12 flex-none'
54520
54557
  },
54521
54558
  locale: null,
54522
54559
  };
@@ -54791,7 +54828,7 @@ class SmzCardsTextBuilder extends SmzCardsBaseBuilder {
54791
54828
  }
54792
54829
  else {
54793
54830
  const iconHtml = `<i class="${icon.icon}"></i>`;
54794
- const begin = icon.appendText === null || icon.appendText === undefined ? '' : `<div class="grid grid-nogutter items-center justify-start gap-1 ${icon.styleClass}">`;
54831
+ const begin = icon.appendText === null || icon.appendText === undefined ? '' : `<div class="flex flex-wrap items-center justify-start gap-1 ${icon.styleClass}">`;
54795
54832
  const end = icon.appendText === null || icon.appendText === undefined ? '' : `<div>${icon.appendText}</div></div>`;
54796
54833
  return `${begin}${iconHtml}${end}`;
54797
54834
  }
@@ -55379,7 +55416,7 @@ class SmzCardsBuilder {
55379
55416
  isVisible: false,
55380
55417
  styleClass: {
55381
55418
  all: '',
55382
- layout: 'col-12 lg:col-6 xl:col-3',
55419
+ layout: 'w-full flex-none lg:w-6/12 xl:w-3/12',
55383
55420
  padding: 'p-2',
55384
55421
  general: ''
55385
55422
  }
@@ -55388,7 +55425,7 @@ class SmzCardsBuilder {
55388
55425
  isVisible: false,
55389
55426
  styleClass: {
55390
55427
  all: '',
55391
- layout: 'col-12 lg:col-6 xl:col-3',
55428
+ layout: 'w-full flex-none lg:w-6/12 xl:w-3/12',
55392
55429
  padding: 'p-2',
55393
55430
  general: ''
55394
55431
  }