@ngx-smz/core 21.9.0-next.20 → 21.9.0-next.21

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.
@@ -2816,11 +2816,11 @@ class CalendarComponent {
2816
2816
  ngOnInit() {
2817
2817
  }
2818
2818
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2819
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CalendarComponent, isStandalone: false, selector: "smz-calendar", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<div class=\"input_inner__wrapper flex flex-col flex-auto p-0 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 <ui-date-picker class=\"w-full smz__input_value\" styleClass=\"w-full\" appendTo=\"body\" [dateFormat]=\"input.dateFormat != null ? input.dateFormat : 'dd/mm/yy'\" [touchUI]=\"input.touchUI != null ? input.touchUI : false\" [focusTrap]=\"input.focusTrap != null ? input.focusTrap : true\" [keepInvalid]=\"input.keepInvalid != null? input.keepInvalid : false\" [showButtonBar]=\"input.showButtonBar != null ? input.showButtonBar : false\" [showOnFocus]=\"input.showOnFocus != null ? input.showOnFocus : true\" [showIcon]=\"input.showIcon != null ? input.showIcon : false\" [timeOnly]=\"input.timeOnly\" [showTime]=\"input.showTime\" [inputId]=\"input.propertyName\" [formControl]=\"control\">\r\n </ui-date-picker>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>", dependencies: [{ 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.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"] }] });
2819
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CalendarComponent, isStandalone: false, selector: "smz-calendar", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<div class=\"input_inner__wrapper flex flex-col flex-auto p-0 gap-1\">\n <smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n </smz-label>\n <ui-date-picker class=\"w-full smz__input_value\" styleClass=\"w-full\" appendTo=\"body\" [dateFormat]=\"input.dateFormat != null ? input.dateFormat : 'dd/mm/yy'\" [touchUI]=\"input.touchUI != null ? input.touchUI : false\" [focusTrap]=\"input.focusTrap != null ? input.focusTrap : true\" [keepInvalid]=\"input.keepInvalid != null? input.keepInvalid : false\" [showButtonBar]=\"input.showButtonBar != null ? input.showButtonBar : false\" [showOnFocus]=\"input.showOnFocus != null ? input.showOnFocus : true\" [showIcon]=\"input.showIcon != null ? input.showIcon : false\" [timeOnly]=\"input.timeOnly\" [showTime]=\"input.showTime\" [inputId]=\"input.propertyName\" [formControl]=\"control\">\n </ui-date-picker>\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>", dependencies: [{ 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.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"] }] });
2820
2820
  }
2821
2821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CalendarComponent, decorators: [{
2822
2822
  type: Component,
2823
- args: [{ selector: 'smz-calendar', standalone: false, template: "<div class=\"input_inner__wrapper flex flex-col flex-auto p-0 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 <ui-date-picker class=\"w-full smz__input_value\" styleClass=\"w-full\" appendTo=\"body\" [dateFormat]=\"input.dateFormat != null ? input.dateFormat : 'dd/mm/yy'\" [touchUI]=\"input.touchUI != null ? input.touchUI : false\" [focusTrap]=\"input.focusTrap != null ? input.focusTrap : true\" [keepInvalid]=\"input.keepInvalid != null? input.keepInvalid : false\" [showButtonBar]=\"input.showButtonBar != null ? input.showButtonBar : false\" [showOnFocus]=\"input.showOnFocus != null ? input.showOnFocus : true\" [showIcon]=\"input.showIcon != null ? input.showIcon : false\" [timeOnly]=\"input.timeOnly\" [showTime]=\"input.showTime\" [inputId]=\"input.propertyName\" [formControl]=\"control\">\r\n </ui-date-picker>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
2823
+ args: [{ selector: 'smz-calendar', standalone: false, template: "<div class=\"input_inner__wrapper flex flex-col flex-auto p-0 gap-1\">\n <smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n </smz-label>\n <ui-date-picker class=\"w-full smz__input_value\" styleClass=\"w-full\" appendTo=\"body\" [dateFormat]=\"input.dateFormat != null ? input.dateFormat : 'dd/mm/yy'\" [touchUI]=\"input.touchUI != null ? input.touchUI : false\" [focusTrap]=\"input.focusTrap != null ? input.focusTrap : true\" [keepInvalid]=\"input.keepInvalid != null? input.keepInvalid : false\" [showButtonBar]=\"input.showButtonBar != null ? input.showButtonBar : false\" [showOnFocus]=\"input.showOnFocus != null ? input.showOnFocus : true\" [showIcon]=\"input.showIcon != null ? input.showIcon : false\" [timeOnly]=\"input.timeOnly\" [showTime]=\"input.showTime\" [inputId]=\"input.propertyName\" [formControl]=\"control\">\n </ui-date-picker>\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>" }]
2824
2824
  }], propDecorators: { input: [{
2825
2825
  type: Input
2826
2826
  }], control: [{
@@ -4085,7 +4085,7 @@ class InputListComponent {
4085
4085
  return form;
4086
4086
  }
4087
4087
  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 });
4088
- 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 });
4088
+ 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\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\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\">\n\n <ng-template smzTemplate=\"header\">\n <div class=\"smz__list-header\">\n @if (input.showAddButton && !input.allowBatchCreation) {\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>\n }\n @if (input.showAddButton && input.allowBatchCreation) {\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>\n }\n @if (input.showSortButton) {\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>\n }\n @if (input.showClearButton) {\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>\n }\n </div>\n </ng-template>\n\n <ng-template let-item smzTemplate=\"item\">\n <div class=\"grid grid-nogutter items-center w-full justify-between\">\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\n @if (input.crud?.inputType === 'float') {\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\n } @else {\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\n }\n }\n\n @if (isInlineEditingEnabled && current === item) {\n @if (editForm != null) {\n <div class=\"col grid grid-nogutter items-center justify-center flex-gap-2 py-3 px-0\" clickStopPropagation>\n <form #form [formGroup]=\"editForm\" class=\"col relative\">\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\n @if (editForm.get('value'); as valueInput) {\n @if (valueInput.touched && valueInput.hasError('required')) {\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\n }\n @if (valueInput.touched && valueInput.hasError('unique')) {\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\n }\n }\n </form>\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>\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>\n </div>\n }\n }\n\n @if (current === item && !isInlineEditingEnabled) {\n <div class=\"smz__list_item-actions\" clickStopPropagation>\n @if (input.showEditButton) {\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\n }\n @if (input.showRemoveButton) {\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>\n }\n @if (input.showMoveButton) {\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\n }\n @if (input.showMoveButton) {\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\n }\n </div>\n }\n\n </div>\n </ng-template>\n\n <ng-template smzTemplate=\"footer\">\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\n <span class=\"col-12 smz__footer-message\">*Campo obrigat\u00F3rio</span>\n }\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\n <span class=\"col-12 smz__footer-message text-blue-300\">*Limite atingido.</span>\n }\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\n <span class=\"col-12 smz__footer-message\">*Limite ultrapassado</span>\n }\n </ng-template>\n </ui-listbox>\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 });
4089
4089
  }
4090
4090
  __decorate([
4091
4091
  Confirmable('Deseja realmente excluir esse item ?', 'Exclusão')
@@ -4095,7 +4095,7 @@ __decorate([
4095
4095
  ], InputListComponent.prototype, "onClear", null);
4096
4096
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputListComponent, decorators: [{
4097
4097
  type: Component,
4098
- 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>" }]
4098
+ args: [{ selector: 'smz-input-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\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\">\n\n <ng-template smzTemplate=\"header\">\n <div class=\"smz__list-header\">\n @if (input.showAddButton && !input.allowBatchCreation) {\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>\n }\n @if (input.showAddButton && input.allowBatchCreation) {\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>\n }\n @if (input.showSortButton) {\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>\n }\n @if (input.showClearButton) {\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>\n }\n </div>\n </ng-template>\n\n <ng-template let-item smzTemplate=\"item\">\n <div class=\"grid grid-nogutter items-center w-full justify-between\">\n @if (!isInlineEditingEnabled || (isInlineEditingEnabled && current !== item)) {\n @if (input.crud?.inputType === 'float') {\n <div class=\"smz__list_item-title\">{{ item.name | number : input.crud.digitsInfo : input.crud.labelLocale }}</div>\n } @else {\n <div class=\"smz__list_item-title\">{{ item.name }}</div>\n }\n }\n\n @if (isInlineEditingEnabled && current === item) {\n @if (editForm != null) {\n <div class=\"col grid grid-nogutter items-center justify-center flex-gap-2 py-3 px-0\" clickStopPropagation>\n <form #form [formGroup]=\"editForm\" class=\"col relative\">\n <input type=\"text\" clickStopPropagation smzInputText formControlName=\"value\"/>\n @if (editForm.get('value'); as valueInput) {\n @if (valueInput.touched && valueInput.hasError('required')) {\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">Campo Obrigat\u00F3rio.</div>\n }\n @if (valueInput.touched && valueInput.hasError('unique')) {\n <div class=\"text-xs text-red-500 absolute right-3 my-1\">J\u00E1 existe um item com esse nome.</div>\n }\n }\n </form>\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>\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>\n </div>\n }\n }\n\n @if (current === item && !isInlineEditingEnabled) {\n <div class=\"smz__list_item-actions\" clickStopPropagation>\n @if (input.showEditButton) {\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-pencil\" class=\"p-nocustom\" (click)=\"onEdit(item)\" [rounded]=\"true\" variant=\"text\"></button>\n }\n @if (input.showRemoveButton) {\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>\n }\n @if (input.showMoveButton) {\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-up\" class=\"p-nocustom\" (click)=\"moveUp(item)\" [rounded]=\"true\" variant=\"text\"></button>\n }\n @if (input.showMoveButton) {\n <button clickStopPropagation smzButton type=\"button\" icon=\"fa-solid fa-arrow-down\" class=\"p-nocustom\" (click)=\"moveDown(item)\" [rounded]=\"true\" variant=\"text\"></button>\n }\n </div>\n }\n\n </div>\n </ng-template>\n\n <ng-template smzTemplate=\"footer\">\n @if (input.listBoxOptions.length === 0 && input.validatorsPreset?.isRequired) {\n <span class=\"col-12 smz__footer-message\">*Campo obrigat\u00F3rio</span>\n }\n @if (input.limitCount != null && input.listBoxOptions?.length === input.limitCount) {\n <span class=\"col-12 smz__footer-message text-blue-300\">*Limite atingido.</span>\n }\n @if (input.limitCount != null && input.listBoxOptions?.length > input.limitCount) {\n <span class=\"col-12 smz__footer-message\">*Limite ultrapassado</span>\n }\n </ng-template>\n </ui-listbox>\n</div>" }]
4099
4099
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.Store }, { type: i1$3.Actions }, { type: i1$1.UntypedFormBuilder }], propDecorators: { input: [{
4100
4100
  type: Input
4101
4101
  }], control: [{
@@ -4115,11 +4115,11 @@ class InputMaskComponent {
4115
4115
  control;
4116
4116
  behaviors;
4117
4117
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4118
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputMaskComponent, isStandalone: false, selector: "smz-input-mask", 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 <ui-input-mask class=\"smz__input_value flex-1\" [mask]=\"input.mask\" [characterPattern]=\"input.characterPattern\" [unmask]=\"input.unmask\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" type=\"text\" [formControl]=\"control\">\r\n </ui-input-mask>\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.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId", "name", "type"], outputs: ["inputed", "blurred", "completed"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.None });
4118
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: InputMaskComponent, isStandalone: false, selector: "smz-input-mask", inputs: { input: "input", control: "control", behaviors: "behaviors" }, ngImport: i0, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n <ui-input-mask class=\"smz__input_value flex-1\" [mask]=\"input.mask\" [characterPattern]=\"input.characterPattern\" [unmask]=\"input.unmask\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" type=\"text\" [formControl]=\"control\">\n </ui-input-mask>\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId", "name", "type"], outputs: ["inputed", "blurred", "completed"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.None });
4119
4119
  }
4120
4120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputMaskComponent, decorators: [{
4121
4121
  type: Component,
4122
- args: [{ selector: 'smz-input-mask', encapsulation: ViewEncapsulation.None, 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 <ui-input-mask class=\"smz__input_value flex-1\" [mask]=\"input.mask\" [characterPattern]=\"input.characterPattern\" [unmask]=\"input.unmask\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" type=\"text\" [formControl]=\"control\">\r\n </ui-input-mask>\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4122
+ args: [{ selector: 'smz-input-mask', encapsulation: ViewEncapsulation.None, standalone: false, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n <ui-input-mask class=\"smz__input_value flex-1\" [mask]=\"input.mask\" [characterPattern]=\"input.characterPattern\" [unmask]=\"input.unmask\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" type=\"text\" [formControl]=\"control\">\n </ui-input-mask>\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>" }]
4123
4123
  }], propDecorators: { input: [{
4124
4124
  type: Input
4125
4125
  }], control: [{
@@ -4151,11 +4151,11 @@ class InputNumberComponent {
4151
4151
  }
4152
4152
  }
4153
4153
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputNumberComponent, isStandalone: false, selector: "smz-input-number", inputs: { input: "input", control: "control", behaviors: "behaviors", form: "form" }, 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 @if (!input.useFraction) {\r\n <ui-input-mask class=\"smz__input_value flex-1\" slotChar=\"\" [autoClear]=\"false\" mask=\"9?9999999999999999999999999999999\" characterPattern=\"([0-9])\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" [formControl]=\"control\" (blurred)=\"onInputMaskBlur()\" (inputed)=\"onInputMaskInput()\">\r\n </ui-input-mask>\r\n }\r\n @if (input.useFraction) {\r\n <ui-input-number class=\"smz__input_value flex-1\" [formControl]=\"control\" [locale]=\"input.locale\" [minFractionDigits]=\"input.minFractionDigits\" [maxFractionDigits]=\"input.maxFractionDigits\" [useGrouping]=\"input.useGrouping\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" (inputed)=\"onInput($event)\">\r\n </ui-input-number>\r\n }\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.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId", "name", "type"], outputs: ["inputed", "blurred", "completed"] }, { 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: "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"] }] });
4154
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: InputNumberComponent, isStandalone: false, selector: "smz-input-number", inputs: { input: "input", control: "control", behaviors: "behaviors", form: "form" }, ngImport: i0, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n @if (!input.useFraction) {\n <ui-input-mask class=\"smz__input_value flex-1\" slotChar=\"\" [autoClear]=\"false\" mask=\"9?9999999999999999999999999999999\" characterPattern=\"([0-9])\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" [formControl]=\"control\" (blurred)=\"onInputMaskBlur()\" (inputed)=\"onInputMaskInput()\">\n </ui-input-mask>\n }\n @if (input.useFraction) {\n <ui-input-number class=\"smz__input_value flex-1\" [formControl]=\"control\" [locale]=\"input.locale\" [minFractionDigits]=\"input.minFractionDigits\" [maxFractionDigits]=\"input.maxFractionDigits\" [useGrouping]=\"input.useGrouping\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" (inputed)=\"onInput($event)\">\n </ui-input-number>\n }\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.SmzInputMaskComponent, selector: "ui-input-mask", inputs: ["mask", "slotChar", "characterPattern", "unmask", "autoClear", "placeholder", "readonly", "inputId", "name", "type"], outputs: ["inputed", "blurred", "completed"] }, { 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: "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"] }] });
4155
4155
  }
4156
4156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputNumberComponent, decorators: [{
4157
4157
  type: Component,
4158
- args: [{ selector: 'smz-input-number', 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 @if (!input.useFraction) {\r\n <ui-input-mask class=\"smz__input_value flex-1\" slotChar=\"\" [autoClear]=\"false\" mask=\"9?9999999999999999999999999999999\" characterPattern=\"([0-9])\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" [formControl]=\"control\" (blurred)=\"onInputMaskBlur()\" (inputed)=\"onInputMaskInput()\">\r\n </ui-input-mask>\r\n }\r\n @if (input.useFraction) {\r\n <ui-input-number class=\"smz__input_value flex-1\" [formControl]=\"control\" [locale]=\"input.locale\" [minFractionDigits]=\"input.minFractionDigits\" [maxFractionDigits]=\"input.maxFractionDigits\" [useGrouping]=\"input.useGrouping\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" (inputed)=\"onInput($event)\">\r\n </ui-input-number>\r\n }\r\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\r\n</div>" }]
4158
+ args: [{ selector: 'smz-input-number', standalone: false, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n @if (!input.useFraction) {\n <ui-input-mask class=\"smz__input_value flex-1\" slotChar=\"\" [autoClear]=\"false\" mask=\"9?9999999999999999999999999999999\" characterPattern=\"([0-9])\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" [formControl]=\"control\" (blurred)=\"onInputMaskBlur()\" (inputed)=\"onInputMaskInput()\">\n </ui-input-mask>\n }\n @if (input.useFraction) {\n <ui-input-number class=\"smz__input_value flex-1\" [formControl]=\"control\" [locale]=\"input.locale\" [minFractionDigits]=\"input.minFractionDigits\" [maxFractionDigits]=\"input.maxFractionDigits\" [useGrouping]=\"input.useGrouping\" [inputId]=\"input.propertyName\" [name]=\"input.propertyName\" [smzAutoFocus]=\"input.autoFocus\" (inputed)=\"onInput($event)\">\n </ui-input-number>\n }\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>" }]
4159
4159
  }], propDecorators: { input: [{
4160
4160
  type: Input
4161
4161
  }], control: [{
@@ -4325,18 +4325,18 @@ class SmzAutocompleteSelectorComponent {
4325
4325
  }
4326
4326
  }
4327
4327
  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 });
4328
- 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: `
4329
- <div class="col-12 px-0 grid grid-nogutter items-center justify-start gap-2">
4330
- <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)">
4331
-
4332
- <ng-template smzTemplate="header">
4333
- @if (option.dataSourceDisplayName != null) {
4334
- <div class="text-blue-500 font-bold text-lg mx-5 mt-4 mb-0">{{ option.dataSourceDisplayName }}</div>
4335
- }
4336
- </ng-template>
4337
-
4338
- </ui-auto-complete>
4339
- </div>
4328
+ 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: `
4329
+ <div class="col-12 px-0 grid grid-nogutter items-center justify-start gap-2">
4330
+ <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)">
4331
+
4332
+ <ng-template smzTemplate="header">
4333
+ @if (option.dataSourceDisplayName != null) {
4334
+ <div class="text-blue-500 font-bold text-lg mx-5 mt-4 mb-0">{{ option.dataSourceDisplayName }}</div>
4335
+ }
4336
+ </ng-template>
4337
+
4338
+ </ui-auto-complete>
4339
+ </div>
4340
4340
  `, isInline: true, dependencies: [{ kind: "component", type: SmzAutoCompleteComponent, selector: "ui-auto-complete", inputs: ["suggestions", "field", "dropdown", "emptyMessage", "minLength", "delay", "forceSelection", "showClear", "placeholder", "inputId", "styleClass", "appendTo"], outputs: ["completeMethod", "selectedItem", "cleared", "blurred", "focused"] }, { kind: "directive", type: SmzTemplateDirective, selector: "ng-template[smzTemplate]", inputs: ["smzTemplate"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4341
4341
  }
4342
4342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzAutocompleteSelectorComponent, decorators: [{
@@ -4350,18 +4350,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
4350
4350
  FormsModule
4351
4351
  ],
4352
4352
  changeDetection: ChangeDetectionStrategy.OnPush,
4353
- template: `
4354
- <div class="col-12 px-0 grid grid-nogutter items-center justify-start gap-2">
4355
- <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)">
4356
-
4357
- <ng-template smzTemplate="header">
4358
- @if (option.dataSourceDisplayName != null) {
4359
- <div class="text-blue-500 font-bold text-lg mx-5 mt-4 mb-0">{{ option.dataSourceDisplayName }}</div>
4360
- }
4361
- </ng-template>
4362
-
4363
- </ui-auto-complete>
4364
- </div>
4353
+ template: `
4354
+ <div class="col-12 px-0 grid grid-nogutter items-center justify-start gap-2">
4355
+ <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)">
4356
+
4357
+ <ng-template smzTemplate="header">
4358
+ @if (option.dataSourceDisplayName != null) {
4359
+ <div class="text-blue-500 font-bold text-lg mx-5 mt-4 mb-0">{{ option.dataSourceDisplayName }}</div>
4360
+ }
4361
+ </ng-template>
4362
+
4363
+ </ui-auto-complete>
4364
+ </div>
4365
4365
  `
4366
4366
  }]
4367
4367
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$3.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { isRequired: [{
@@ -4632,56 +4632,56 @@ class SmzInputAutocompleteTagArea {
4632
4632
  };
4633
4633
  };
4634
4634
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputAutocompleteTagArea, deps: [{ token: i1$1.NgModel, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4635
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInputAutocompleteTagArea, isStandalone: false, selector: "smz-input-autocomplete-tag-area", inputs: { input: "input", control: "control", behaviors: "behaviors" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: SmzPopoverComponent, descendants: true }, { propertyName: "inputElement", first: true, predicate: ["inputArea"], descendants: true }, { propertyName: "selectorElement", first: true, predicate: ["elementSelector"], descendants: true }], ngImport: i0, template: `
4636
- @if (input.hideLabel != true) {
4637
- <label class="smz__input_name" [innerHTML]="input.name"></label>
4638
- }
4639
- <div class="input_inner__wrapper" [id]="input.propertyName">
4640
- <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="col-12"></textarea>
4641
- <smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
4642
- </div>
4643
-
4644
- <ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
4645
- <ng-template pTemplate>
4646
- @if (currentOption) {
4647
- <smz-autocomplete-selector
4648
- #elementSelector
4649
- styleClass="tag-dropdown"
4650
- [option]="currentOption"
4651
- [allowCustomValues]="input.allowCustomValues"
4652
- (finished)="hide()"
4653
- >
4654
- </smz-autocomplete-selector>
4655
- }
4656
- </ng-template>
4657
- </ui-popover>
4635
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzInputAutocompleteTagArea, isStandalone: false, selector: "smz-input-autocomplete-tag-area", inputs: { input: "input", control: "control", behaviors: "behaviors" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: SmzPopoverComponent, descendants: true }, { propertyName: "inputElement", first: true, predicate: ["inputArea"], descendants: true }, { propertyName: "selectorElement", first: true, predicate: ["elementSelector"], descendants: true }], ngImport: i0, template: `
4636
+ @if (input.hideLabel != true) {
4637
+ <label class="smz__input_name" [innerHTML]="input.name"></label>
4638
+ }
4639
+ <div class="input_inner__wrapper" [id]="input.propertyName">
4640
+ <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="col-12"></textarea>
4641
+ <smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
4642
+ </div>
4643
+
4644
+ <ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
4645
+ <ng-template pTemplate>
4646
+ @if (currentOption) {
4647
+ <smz-autocomplete-selector
4648
+ #elementSelector
4649
+ styleClass="tag-dropdown"
4650
+ [option]="currentOption"
4651
+ [allowCustomValues]="input.allowCustomValues"
4652
+ (finished)="hide()"
4653
+ >
4654
+ </smz-autocomplete-selector>
4655
+ }
4656
+ </ng-template>
4657
+ </ui-popover>
4658
4658
  `, isInline: true, styles: [".p-overlaypanel.autocomplete-tag-overlay{box-shadow:unset}\n", ".p-overlaypanel.autocomplete-tag-overlay .p-overlaypanel-content{padding:0}\n", ".tag-dropdown.p-dropdown{width:100%}\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.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: SmzAutocompleteSelectorComponent, selector: "smz-autocomplete-selector", inputs: ["isRequired", "allowCustomValues", "option", "suggestions"], outputs: ["selectedChange", "suggestionsChanged", "finished"] }, { kind: "directive", type: SmzSmartAutocompleteTagDirective, selector: "[smzSmartAutocompleteTag]", inputs: ["options"], outputs: ["tagTyped"] }, { kind: "component", type: i2.SmzPopoverComponent, selector: "ui-popover", inputs: ["style", "styleClass", "dismissable", "autoZIndex", "appendTo"], outputs: ["shown", "hidden"] }, { kind: "component", type: ValidationMessagesComponent, selector: "smz-validation-messages", inputs: ["input", "control", "behaviors", "extraMessages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4659
4659
  }
4660
4660
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzInputAutocompleteTagArea, decorators: [{
4661
4661
  type: Component,
4662
- args: [{ selector: 'smz-input-autocomplete-tag-area', template: `
4663
- @if (input.hideLabel != true) {
4664
- <label class="smz__input_name" [innerHTML]="input.name"></label>
4665
- }
4666
- <div class="input_inner__wrapper" [id]="input.propertyName">
4667
- <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="col-12"></textarea>
4668
- <smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
4669
- </div>
4670
-
4671
- <ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
4672
- <ng-template pTemplate>
4673
- @if (currentOption) {
4674
- <smz-autocomplete-selector
4675
- #elementSelector
4676
- styleClass="tag-dropdown"
4677
- [option]="currentOption"
4678
- [allowCustomValues]="input.allowCustomValues"
4679
- (finished)="hide()"
4680
- >
4681
- </smz-autocomplete-selector>
4682
- }
4683
- </ng-template>
4684
- </ui-popover>
4662
+ args: [{ selector: 'smz-input-autocomplete-tag-area', template: `
4663
+ @if (input.hideLabel != true) {
4664
+ <label class="smz__input_name" [innerHTML]="input.name"></label>
4665
+ }
4666
+ <div class="input_inner__wrapper" [id]="input.propertyName">
4667
+ <textarea #inputArea id="inputArea" smzTextarea smzSmartAutocompleteTag [formControl]="$any(control)" [options]="input.config.options" [rows]="input.textAreaRows" (tagTyped)="onTag($event)" class="col-12"></textarea>
4668
+ <smz-validation-messages [input]="input" [control]="$any(control)" [behaviors]="behaviors"></smz-validation-messages>
4669
+ </div>
4670
+
4671
+ <ui-popover #overlay appendTo="body" [style]="{width: '450px'}" (hidden)="onHideOverlay()" styleClass="tag-overlay">
4672
+ <ng-template pTemplate>
4673
+ @if (currentOption) {
4674
+ <smz-autocomplete-selector
4675
+ #elementSelector
4676
+ styleClass="tag-dropdown"
4677
+ [option]="currentOption"
4678
+ [allowCustomValues]="input.allowCustomValues"
4679
+ (finished)="hide()"
4680
+ >
4681
+ </smz-autocomplete-selector>
4682
+ }
4683
+ </ng-template>
4684
+ </ui-popover>
4685
4685
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, styles: [".p-overlaypanel.autocomplete-tag-overlay{box-shadow:unset}\n", ".p-overlaypanel.autocomplete-tag-overlay .p-overlaypanel-content{padding:0}\n", ".tag-dropdown.p-dropdown{width:100%}\n"] }]
4686
4686
  }], ctorParameters: () => [{ type: i1$1.NgModel, decorators: [{
4687
4687
  type: Optional
@@ -4708,11 +4708,11 @@ class InputTextComponent {
4708
4708
  control;
4709
4709
  behaviors;
4710
4710
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4711
- 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"] }] });
4711
+ 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\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n <input\n smzInputText\n class=\"col-12 smz__input_value flex-1\"\n [id]=\"input.propertyName\"\n type=\"text\"\n [formControl]=\"control\"\n [smzAutoFocus]=\"input.autoFocus\">\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\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"] }] });
4712
4712
  }
4713
4713
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTextComponent, decorators: [{
4714
4714
  type: Component,
4715
- 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>" }]
4715
+ args: [{ selector: 'smz-input-text', standalone: false, template: "<smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideName == false && input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n</smz-label>\n\n<div class=\"input_inner__wrapper\">\n <input\n smzInputText\n class=\"col-12 smz__input_value flex-1\"\n [id]=\"input.propertyName\"\n type=\"text\"\n [formControl]=\"control\"\n [smzAutoFocus]=\"input.autoFocus\">\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n</div>" }]
4716
4716
  }], propDecorators: { input: [{
4717
4717
  type: Input
4718
4718
  }], control: [{
@@ -4779,11 +4779,11 @@ class InputTreeComponent {
4779
4779
  }
4780
4780
  }
4781
4781
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTreeComponent, deps: [{ token: SmzFormsDropdownService }], target: i0.ɵɵFactoryTarget.Component });
4782
- 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" }] });
4782
+ 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) {\n <smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n </smz-label>\n <div class=\"input_inner__wrapper grid grid-nogutter\">\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\">\n @for (inputType of input.allTypes; track inputType) {\n <ng-template let-node [smzTemplate]=\"inputType\">\n @if (node != null) {\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\n }\n </ng-template>\n }\n </ui-tree-select>\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n </div>\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" }] });
4783
4783
  }
4784
4784
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: InputTreeComponent, decorators: [{
4785
4785
  type: Component,
4786
- 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}" }]
4786
+ args: [{ selector: 'smz-input-tree', standalone: false, template: "@if (nodes$ | async; as nodes) {\n <smz-label\n class=\"smz__input_name\"\n [text]=\"input.name\"\n [propertyName]=\"input.propertyName\"\n [showLabel]=\"input.hideLabel != true\"\n [warning]=\"input.warning?.()\"\n [help]=\"input.tooltip?.()\"\n [popover]=\"input.popover?.()\">\n </smz-label>\n <div class=\"input_inner__wrapper grid grid-nogutter\">\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\">\n @for (inputType of input.allTypes; track inputType) {\n <ng-template let-node [smzTemplate]=\"inputType\">\n @if (node != null) {\n <div [innerHTML]=\"node.label | safeHtml\" [smzTooltip]=\"node.tooltip\"></div>\n }\n </ng-template>\n }\n </ui-tree-select>\n <smz-validation-messages [input]=\"input\" [control]=\"control\" [behaviors]=\"behaviors\"></smz-validation-messages>\n </div>\n}" }]
4787
4787
  }], ctorParameters: () => [{ type: SmzFormsDropdownService }], propDecorators: { input: [{
4788
4788
  type: Input
4789
4789
  }], formId: [{
@@ -6165,11 +6165,11 @@ class FormGroupComponent {
6165
6165
  this.repository.remove(this.config);
6166
6166
  }
6167
6167
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FormGroupComponent, deps: [{ token: i1$1.UntypedFormBuilder }, { token: i0.ChangeDetectorRef }, { token: SmzFormsManagerService }, { token: SmzFormsRepositoryService }, { token: SmzFormValidationMessagesService }], target: i0.ɵɵFactoryTarget.Component });
6168
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FormGroupComponent, isStandalone: false, selector: "smz-form-group", inputs: { config: "config" }, outputs: { statusChanges: "statusChanges", initialStateChanged: "initialStateChanged", previousStateChanged: "previousStateChanged", submit: "submit" }, providers: [SmzFormValidationMessagesService], usesOnChanges: true, ngImport: i0, template: "@if (config != null) {\r\n <div class=\"smz_form_grid_container\">\r\n @if (viewdata?.form != null && !configHasErrors) {\r\n <form focusFirstInput [focus]=\"!config.behaviors.avoidFocusOnLoad\" [formGroup]=\"viewdata.form\" class=\"smz_form__wrapper\" [attr.data-testid]=\"config.formTestId ?? null\" (submit)=\"$event.preventDefault()\" (keydown.enter)=\"onEnter($event)\">\r\n <ng-container *ngTemplateOutlet=\"groupTemplate\"></ng-container>\r\n </form>\r\n }\r\n @if (configHasErrors) {\r\n <div>Error</div>\r\n }\r\n </div>\r\n}\r\n\r\n<ng-template #groupTemplate>\r\n\r\n <div class=\"w-full px-0 mx-auto\">\r\n <div class=\"grid grid-nogutter flex-wrap items-start justify-start flex-gap-2\" [ngClass]=\"config.template | setTemplateClasses : ['horizontalAlignment', 'verticalAlignment']\">\r\n @for (group of config.groups; track group) {\r\n @if (!group.isHide) {\r\n <div class=\"col\" [ngClass]=\"group.template | setTemplateClasses : ['row']\">\r\n @if (group.showName) {\r\n <div class=\"smz__group_name\">{{ group.name }}</div>\r\n }\r\n <div [ngClass]=\"group.styleClass ?? 'grid grid-nogutter flex-wrap items-start justify-start flex-gap-2'\">\r\n @for (input of group.children; track input) {\r\n @if (input.isVisible) {\r\n <div class=\"input__control__wrapper col relative\" [ngClass]=\"input.template | setTemplateClasses : ['row'] : [input.styleClass, group.inputStyleClass]\">\r\n <ng-container *ngTemplateOutlet=\"inputTemplate; context: { $implicit: input }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<ng-template #inputTemplate let-input>\r\n\r\n @if (input.type == controlTypes.PASSWORD) {\r\n <smz-input-password [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-password>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT_MASK) {\r\n <smz-input-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-mask>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT) {\r\n <smz-input-text [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text>\r\n }\r\n\r\n @if (input.type == controlTypes.LIST) {\r\n <smz-input-list [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-list>\r\n }\r\n\r\n @if (input.type == controlTypes.NUMBER) {\r\n <smz-input-number [input]=\"input\" [form]=\"viewdata.form\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-number>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT_AREA) {\r\n <smz-input-text-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text-area>\r\n }\r\n\r\n @if (input.type == controlTypes.CONTENT_MASK) {\r\n <smz-input-content-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-content-mask>\r\n }\r\n\r\n @if (input.type == controlTypes.TAG_AREA) {\r\n <input-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></input-tag-area>\r\n }\r\n\r\n @if (input.type == controlTypes.AUTOCOMPLETE_TAG_AREA) {\r\n <smz-input-autocomplete-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-autocomplete-tag-area>\r\n }\r\n\r\n @if (input.type == controlTypes.RADIO) {\r\n <smz-radio-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-radio-button>\r\n }\r\n\r\n @if (input.type == controlTypes.SWITCH) {\r\n <smz-input-switch [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-switch>\r\n }\r\n\r\n @if (input.type == controlTypes.CHECKBOX) {\r\n <smz-checkbox [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-checkbox>\r\n }\r\n\r\n @if (input.type == controlTypes.CHECKBOX_GROUP) {\r\n <smz-checkbox-group [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-checkbox-group>\r\n }\r\n\r\n @if (input.type == controlTypes.CALENDAR) {\r\n <smz-calendar [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-calendar>\r\n }\r\n\r\n @if (input.type == controlTypes.DROPDOWN) {\r\n <smz-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-dropdown>\r\n }\r\n\r\n @if (input.type == controlTypes.LINKED_DROPDOWN) {\r\n <smz-linked-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-dropdown>\r\n }\r\n\r\n @if (input.type == controlTypes.FILE) {\r\n <smz-file-upload [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [form]=\"viewdata.form\" [behaviors]=\"config.behaviors\"></smz-file-upload>\r\n }\r\n\r\n @if (input.type == controlTypes.CURRENCY) {\r\n <smz-input-currency [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-currency>\r\n }\r\n\r\n @if (input.type == controlTypes.MULTI_SELECT) {\r\n <smz-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-multi-select>\r\n }\r\n\r\n @if (input.type == controlTypes.LINKED_MULTISELECT) {\r\n <smz-linked-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-multi-select>\r\n }\r\n\r\n @if (input.type == controlTypes.COLOR_PICKER) {\r\n <smz-color-picker [input]=\"input\" [control]=\"$any(viewdata.form.controls[input.propertyName])\" [behaviors]=\"config.behaviors\"></smz-color-picker>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT_BUTTON) {\r\n <smz-input-text-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [viewdata]=\"viewdata\" [behaviors]=\"config.behaviors\"></smz-input-text-button>\r\n }\r\n\r\n @if (input.type == controlTypes.TREE) {\r\n <smz-input-tree [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-input-tree>\r\n }\r\n\r\n</ng-template>\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$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CalendarComponent, selector: "smz-calendar", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: CheckBoxComponent, selector: "smz-checkbox", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: CheckBoxGroupComponent, selector: "smz-checkbox-group", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: ColorPickerComponent, selector: "smz-color-picker", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: DropdownComponent, selector: "smz-dropdown", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: FileUploadComponent, selector: "smz-file-upload", inputs: ["input", "form", "control", "behaviors"], outputs: ["selectChange"] }, { kind: "directive", type: FormFocusFirstInputDirective, selector: "[focusFirstInput]", inputs: ["focus"] }, { kind: "component", type: InputCurrencyComponent, selector: "smz-input-currency", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputListComponent, selector: "smz-input-list", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputMaskComponent, selector: "smz-input-mask", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputNumberComponent, selector: "smz-input-number", inputs: ["input", "control", "behaviors", "form"] }, { kind: "component", type: InputPasswordComponent, selector: "smz-input-password", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputSwitchComponent, selector: "smz-input-switch", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTextAreaComponent, selector: "smz-input-text-area", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: SmzInputAutocompleteTagArea, selector: "smz-input-autocomplete-tag-area", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTextComponent, selector: "smz-input-text", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTreeComponent, selector: "smz-input-tree", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: LinkedDropdownComponent, selector: "smz-linked-dropdown", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: LinkedMultiSelectComponent, selector: "smz-linked-multi-select", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: MultiSelectComponent, selector: "smz-multi-select", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: RadioButtonComponent, selector: "smz-radio-button", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: InputTagAreaComponent, selector: "input-tag-area", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputContentMaskComponent, selector: "smz-input-content-mask", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTextButtonComponent, selector: "smz-input-text-button", inputs: ["input", "control", "viewdata", "behaviors"] }, { kind: "pipe", type: SetTemplateClassesPipe, name: "setTemplateClasses" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6168
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: FormGroupComponent, isStandalone: false, selector: "smz-form-group", inputs: { config: "config" }, outputs: { statusChanges: "statusChanges", initialStateChanged: "initialStateChanged", previousStateChanged: "previousStateChanged", submit: "submit" }, providers: [SmzFormValidationMessagesService], usesOnChanges: true, ngImport: i0, template: "@if (config != null) {\n <div class=\"smz_form_grid_container\">\n @if (viewdata?.form != null && !configHasErrors) {\n <form focusFirstInput [focus]=\"!config.behaviors.avoidFocusOnLoad\" [formGroup]=\"viewdata.form\" class=\"smz_form__wrapper\" [attr.data-testid]=\"config.formTestId ?? null\" (submit)=\"$event.preventDefault()\" (keydown.enter)=\"onEnter($event)\">\n <ng-container *ngTemplateOutlet=\"groupTemplate\"></ng-container>\n </form>\n }\n @if (configHasErrors) {\n <div>Error</div>\n }\n </div>\n}\n\n<ng-template #groupTemplate>\n\n <div class=\"w-full px-0 mx-auto\">\n <div class=\"grid grid-nogutter flex-wrap items-start justify-start flex-gap-2\" [ngClass]=\"config.template | setTemplateClasses : ['horizontalAlignment', 'verticalAlignment']\">\n @for (group of config.groups; track group) {\n @if (!group.isHide) {\n <div class=\"col\" [ngClass]=\"group.template | setTemplateClasses : ['row']\">\n @if (group.showName) {\n <div class=\"smz__group_name\">{{ group.name }}</div>\n }\n <div [ngClass]=\"group.styleClass ?? 'grid grid-nogutter flex-wrap items-start justify-start flex-gap-2'\">\n @for (input of group.children; track input) {\n @if (input.isVisible) {\n <div class=\"input__control__wrapper col relative\" [ngClass]=\"input.template | setTemplateClasses : ['row'] : [input.styleClass, group.inputStyleClass]\">\n <ng-container *ngTemplateOutlet=\"inputTemplate; context: { $implicit: input }\"></ng-container>\n </div>\n }\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #inputTemplate let-input>\n\n @if (input.type == controlTypes.PASSWORD) {\n <smz-input-password [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-password>\n }\n\n @if (input.type == controlTypes.TEXT_MASK) {\n <smz-input-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-mask>\n }\n\n @if (input.type == controlTypes.TEXT) {\n <smz-input-text [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text>\n }\n\n @if (input.type == controlTypes.LIST) {\n <smz-input-list [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-list>\n }\n\n @if (input.type == controlTypes.NUMBER) {\n <smz-input-number [input]=\"input\" [form]=\"viewdata.form\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-number>\n }\n\n @if (input.type == controlTypes.TEXT_AREA) {\n <smz-input-text-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text-area>\n }\n\n @if (input.type == controlTypes.CONTENT_MASK) {\n <smz-input-content-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-content-mask>\n }\n\n @if (input.type == controlTypes.TAG_AREA) {\n <input-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></input-tag-area>\n }\n\n @if (input.type == controlTypes.AUTOCOMPLETE_TAG_AREA) {\n <smz-input-autocomplete-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-autocomplete-tag-area>\n }\n\n @if (input.type == controlTypes.RADIO) {\n <smz-radio-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-radio-button>\n }\n\n @if (input.type == controlTypes.SWITCH) {\n <smz-input-switch [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-switch>\n }\n\n @if (input.type == controlTypes.CHECKBOX) {\n <smz-checkbox [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-checkbox>\n }\n\n @if (input.type == controlTypes.CHECKBOX_GROUP) {\n <smz-checkbox-group [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-checkbox-group>\n }\n\n @if (input.type == controlTypes.CALENDAR) {\n <smz-calendar [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-calendar>\n }\n\n @if (input.type == controlTypes.DROPDOWN) {\n <smz-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-dropdown>\n }\n\n @if (input.type == controlTypes.LINKED_DROPDOWN) {\n <smz-linked-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-dropdown>\n }\n\n @if (input.type == controlTypes.FILE) {\n <smz-file-upload [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [form]=\"viewdata.form\" [behaviors]=\"config.behaviors\"></smz-file-upload>\n }\n\n @if (input.type == controlTypes.CURRENCY) {\n <smz-input-currency [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-currency>\n }\n\n @if (input.type == controlTypes.MULTI_SELECT) {\n <smz-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-multi-select>\n }\n\n @if (input.type == controlTypes.LINKED_MULTISELECT) {\n <smz-linked-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-multi-select>\n }\n\n @if (input.type == controlTypes.COLOR_PICKER) {\n <smz-color-picker [input]=\"input\" [control]=\"$any(viewdata.form.controls[input.propertyName])\" [behaviors]=\"config.behaviors\"></smz-color-picker>\n }\n\n @if (input.type == controlTypes.TEXT_BUTTON) {\n <smz-input-text-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [viewdata]=\"viewdata\" [behaviors]=\"config.behaviors\"></smz-input-text-button>\n }\n\n @if (input.type == controlTypes.TREE) {\n <smz-input-tree [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-input-tree>\n }\n\n</ng-template>\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$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CalendarComponent, selector: "smz-calendar", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: CheckBoxComponent, selector: "smz-checkbox", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: CheckBoxGroupComponent, selector: "smz-checkbox-group", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: ColorPickerComponent, selector: "smz-color-picker", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: DropdownComponent, selector: "smz-dropdown", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: FileUploadComponent, selector: "smz-file-upload", inputs: ["input", "form", "control", "behaviors"], outputs: ["selectChange"] }, { kind: "directive", type: FormFocusFirstInputDirective, selector: "[focusFirstInput]", inputs: ["focus"] }, { kind: "component", type: InputCurrencyComponent, selector: "smz-input-currency", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputListComponent, selector: "smz-input-list", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputMaskComponent, selector: "smz-input-mask", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputNumberComponent, selector: "smz-input-number", inputs: ["input", "control", "behaviors", "form"] }, { kind: "component", type: InputPasswordComponent, selector: "smz-input-password", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputSwitchComponent, selector: "smz-input-switch", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTextAreaComponent, selector: "smz-input-text-area", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: SmzInputAutocompleteTagArea, selector: "smz-input-autocomplete-tag-area", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTextComponent, selector: "smz-input-text", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTreeComponent, selector: "smz-input-tree", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: LinkedDropdownComponent, selector: "smz-linked-dropdown", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: LinkedMultiSelectComponent, selector: "smz-linked-multi-select", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: MultiSelectComponent, selector: "smz-multi-select", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: RadioButtonComponent, selector: "smz-radio-button", inputs: ["input", "formId", "control", "behaviors"] }, { kind: "component", type: InputTagAreaComponent, selector: "input-tag-area", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputContentMaskComponent, selector: "smz-input-content-mask", inputs: ["input", "control", "behaviors"] }, { kind: "component", type: InputTextButtonComponent, selector: "smz-input-text-button", inputs: ["input", "control", "viewdata", "behaviors"] }, { kind: "pipe", type: SetTemplateClassesPipe, name: "setTemplateClasses" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6169
6169
  }
6170
6170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FormGroupComponent, decorators: [{
6171
6171
  type: Component,
6172
- args: [{ selector: 'smz-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [SmzFormValidationMessagesService], standalone: false, template: "@if (config != null) {\r\n <div class=\"smz_form_grid_container\">\r\n @if (viewdata?.form != null && !configHasErrors) {\r\n <form focusFirstInput [focus]=\"!config.behaviors.avoidFocusOnLoad\" [formGroup]=\"viewdata.form\" class=\"smz_form__wrapper\" [attr.data-testid]=\"config.formTestId ?? null\" (submit)=\"$event.preventDefault()\" (keydown.enter)=\"onEnter($event)\">\r\n <ng-container *ngTemplateOutlet=\"groupTemplate\"></ng-container>\r\n </form>\r\n }\r\n @if (configHasErrors) {\r\n <div>Error</div>\r\n }\r\n </div>\r\n}\r\n\r\n<ng-template #groupTemplate>\r\n\r\n <div class=\"w-full px-0 mx-auto\">\r\n <div class=\"grid grid-nogutter flex-wrap items-start justify-start flex-gap-2\" [ngClass]=\"config.template | setTemplateClasses : ['horizontalAlignment', 'verticalAlignment']\">\r\n @for (group of config.groups; track group) {\r\n @if (!group.isHide) {\r\n <div class=\"col\" [ngClass]=\"group.template | setTemplateClasses : ['row']\">\r\n @if (group.showName) {\r\n <div class=\"smz__group_name\">{{ group.name }}</div>\r\n }\r\n <div [ngClass]=\"group.styleClass ?? 'grid grid-nogutter flex-wrap items-start justify-start flex-gap-2'\">\r\n @for (input of group.children; track input) {\r\n @if (input.isVisible) {\r\n <div class=\"input__control__wrapper col relative\" [ngClass]=\"input.template | setTemplateClasses : ['row'] : [input.styleClass, group.inputStyleClass]\">\r\n <ng-container *ngTemplateOutlet=\"inputTemplate; context: { $implicit: input }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n\r\n</ng-template>\r\n\r\n<ng-template #inputTemplate let-input>\r\n\r\n @if (input.type == controlTypes.PASSWORD) {\r\n <smz-input-password [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-password>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT_MASK) {\r\n <smz-input-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-mask>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT) {\r\n <smz-input-text [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text>\r\n }\r\n\r\n @if (input.type == controlTypes.LIST) {\r\n <smz-input-list [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-list>\r\n }\r\n\r\n @if (input.type == controlTypes.NUMBER) {\r\n <smz-input-number [input]=\"input\" [form]=\"viewdata.form\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-number>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT_AREA) {\r\n <smz-input-text-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text-area>\r\n }\r\n\r\n @if (input.type == controlTypes.CONTENT_MASK) {\r\n <smz-input-content-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-content-mask>\r\n }\r\n\r\n @if (input.type == controlTypes.TAG_AREA) {\r\n <input-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></input-tag-area>\r\n }\r\n\r\n @if (input.type == controlTypes.AUTOCOMPLETE_TAG_AREA) {\r\n <smz-input-autocomplete-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-autocomplete-tag-area>\r\n }\r\n\r\n @if (input.type == controlTypes.RADIO) {\r\n <smz-radio-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-radio-button>\r\n }\r\n\r\n @if (input.type == controlTypes.SWITCH) {\r\n <smz-input-switch [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-switch>\r\n }\r\n\r\n @if (input.type == controlTypes.CHECKBOX) {\r\n <smz-checkbox [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-checkbox>\r\n }\r\n\r\n @if (input.type == controlTypes.CHECKBOX_GROUP) {\r\n <smz-checkbox-group [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-checkbox-group>\r\n }\r\n\r\n @if (input.type == controlTypes.CALENDAR) {\r\n <smz-calendar [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-calendar>\r\n }\r\n\r\n @if (input.type == controlTypes.DROPDOWN) {\r\n <smz-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-dropdown>\r\n }\r\n\r\n @if (input.type == controlTypes.LINKED_DROPDOWN) {\r\n <smz-linked-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-dropdown>\r\n }\r\n\r\n @if (input.type == controlTypes.FILE) {\r\n <smz-file-upload [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [form]=\"viewdata.form\" [behaviors]=\"config.behaviors\"></smz-file-upload>\r\n }\r\n\r\n @if (input.type == controlTypes.CURRENCY) {\r\n <smz-input-currency [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-currency>\r\n }\r\n\r\n @if (input.type == controlTypes.MULTI_SELECT) {\r\n <smz-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-multi-select>\r\n }\r\n\r\n @if (input.type == controlTypes.LINKED_MULTISELECT) {\r\n <smz-linked-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-multi-select>\r\n }\r\n\r\n @if (input.type == controlTypes.COLOR_PICKER) {\r\n <smz-color-picker [input]=\"input\" [control]=\"$any(viewdata.form.controls[input.propertyName])\" [behaviors]=\"config.behaviors\"></smz-color-picker>\r\n }\r\n\r\n @if (input.type == controlTypes.TEXT_BUTTON) {\r\n <smz-input-text-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [viewdata]=\"viewdata\" [behaviors]=\"config.behaviors\"></smz-input-text-button>\r\n }\r\n\r\n @if (input.type == controlTypes.TREE) {\r\n <smz-input-tree [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-input-tree>\r\n }\r\n\r\n</ng-template>\r\n" }]
6172
+ args: [{ selector: 'smz-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [SmzFormValidationMessagesService], standalone: false, template: "@if (config != null) {\n <div class=\"smz_form_grid_container\">\n @if (viewdata?.form != null && !configHasErrors) {\n <form focusFirstInput [focus]=\"!config.behaviors.avoidFocusOnLoad\" [formGroup]=\"viewdata.form\" class=\"smz_form__wrapper\" [attr.data-testid]=\"config.formTestId ?? null\" (submit)=\"$event.preventDefault()\" (keydown.enter)=\"onEnter($event)\">\n <ng-container *ngTemplateOutlet=\"groupTemplate\"></ng-container>\n </form>\n }\n @if (configHasErrors) {\n <div>Error</div>\n }\n </div>\n}\n\n<ng-template #groupTemplate>\n\n <div class=\"w-full px-0 mx-auto\">\n <div class=\"grid grid-nogutter flex-wrap items-start justify-start flex-gap-2\" [ngClass]=\"config.template | setTemplateClasses : ['horizontalAlignment', 'verticalAlignment']\">\n @for (group of config.groups; track group) {\n @if (!group.isHide) {\n <div class=\"col\" [ngClass]=\"group.template | setTemplateClasses : ['row']\">\n @if (group.showName) {\n <div class=\"smz__group_name\">{{ group.name }}</div>\n }\n <div [ngClass]=\"group.styleClass ?? 'grid grid-nogutter flex-wrap items-start justify-start flex-gap-2'\">\n @for (input of group.children; track input) {\n @if (input.isVisible) {\n <div class=\"input__control__wrapper col relative\" [ngClass]=\"input.template | setTemplateClasses : ['row'] : [input.styleClass, group.inputStyleClass]\">\n <ng-container *ngTemplateOutlet=\"inputTemplate; context: { $implicit: input }\"></ng-container>\n </div>\n }\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n\n</ng-template>\n\n<ng-template #inputTemplate let-input>\n\n @if (input.type == controlTypes.PASSWORD) {\n <smz-input-password [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-password>\n }\n\n @if (input.type == controlTypes.TEXT_MASK) {\n <smz-input-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-mask>\n }\n\n @if (input.type == controlTypes.TEXT) {\n <smz-input-text [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text>\n }\n\n @if (input.type == controlTypes.LIST) {\n <smz-input-list [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-list>\n }\n\n @if (input.type == controlTypes.NUMBER) {\n <smz-input-number [input]=\"input\" [form]=\"viewdata.form\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-number>\n }\n\n @if (input.type == controlTypes.TEXT_AREA) {\n <smz-input-text-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-text-area>\n }\n\n @if (input.type == controlTypes.CONTENT_MASK) {\n <smz-input-content-mask [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-content-mask>\n }\n\n @if (input.type == controlTypes.TAG_AREA) {\n <input-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></input-tag-area>\n }\n\n @if (input.type == controlTypes.AUTOCOMPLETE_TAG_AREA) {\n <smz-input-autocomplete-tag-area [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-autocomplete-tag-area>\n }\n\n @if (input.type == controlTypes.RADIO) {\n <smz-radio-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-radio-button>\n }\n\n @if (input.type == controlTypes.SWITCH) {\n <smz-input-switch [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-switch>\n }\n\n @if (input.type == controlTypes.CHECKBOX) {\n <smz-checkbox [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-checkbox>\n }\n\n @if (input.type == controlTypes.CHECKBOX_GROUP) {\n <smz-checkbox-group [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-checkbox-group>\n }\n\n @if (input.type == controlTypes.CALENDAR) {\n <smz-calendar [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-calendar>\n }\n\n @if (input.type == controlTypes.DROPDOWN) {\n <smz-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-dropdown>\n }\n\n @if (input.type == controlTypes.LINKED_DROPDOWN) {\n <smz-linked-dropdown [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-dropdown>\n }\n\n @if (input.type == controlTypes.FILE) {\n <smz-file-upload [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [form]=\"viewdata.form\" [behaviors]=\"config.behaviors\"></smz-file-upload>\n }\n\n @if (input.type == controlTypes.CURRENCY) {\n <smz-input-currency [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [behaviors]=\"config.behaviors\"></smz-input-currency>\n }\n\n @if (input.type == controlTypes.MULTI_SELECT) {\n <smz-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-multi-select>\n }\n\n @if (input.type == controlTypes.LINKED_MULTISELECT) {\n <smz-linked-multi-select [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-linked-multi-select>\n }\n\n @if (input.type == controlTypes.COLOR_PICKER) {\n <smz-color-picker [input]=\"input\" [control]=\"$any(viewdata.form.controls[input.propertyName])\" [behaviors]=\"config.behaviors\"></smz-color-picker>\n }\n\n @if (input.type == controlTypes.TEXT_BUTTON) {\n <smz-input-text-button [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [viewdata]=\"viewdata\" [behaviors]=\"config.behaviors\"></smz-input-text-button>\n }\n\n @if (input.type == controlTypes.TREE) {\n <smz-input-tree [input]=\"input\" [control]=\"getFormControl(input.propertyName)\" [formId]=\"config.formId\" [behaviors]=\"config.behaviors\"></smz-input-tree>\n }\n\n</ng-template>\n" }]
6173
6173
  }], ctorParameters: () => [{ type: i1$1.UntypedFormBuilder }, { type: i0.ChangeDetectorRef }, { type: SmzFormsManagerService }, { type: SmzFormsRepositoryService }, { type: SmzFormValidationMessagesService }], propDecorators: { config: [{
6174
6174
  type: Input
6175
6175
  }], statusChanges: [{
@@ -18184,66 +18184,66 @@ class SmzColumnFilterComponent {
18184
18184
  this.unbindDocumentClickListener();
18185
18185
  }
18186
18186
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzColumnFilterComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
18187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzColumnFilterComponent, isStandalone: false, selector: "smz-column-filter", inputs: { currency: "currency", display: "display", field: "field", matchMode: "matchMode", showAddButton: "showAddButton", showMatchModes: "showMatchModes", showOperator: "showOperator", showApplyButton: "showApplyButton", type: "type", showTime: "showTime" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "columnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: `
18188
- <div (click)="bindDocumentClickListener()">
18189
- <p-columnFilter
18190
- [currency]="currency"
18191
- [display]="display"
18192
- [field]="field"
18193
- [matchMode]="matchMode"
18194
- [showAddButton]="showAddButton"
18195
- [showMatchModes]="showMatchModes"
18196
- [showOperator]="showOperator"
18197
- [showApplyButton]="showApplyButton"
18198
- [type]="type">
18199
- <!-- TODO: [showTime]="showTime" -->
18200
-
18201
- @if (headerTemplate) {
18202
- <ng-template smzTemplate="header">
18203
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
18204
- </ng-template>
18205
- }
18206
-
18207
- @if (filterTemplate) {
18208
- <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
18209
- <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
18210
- </ng-template>
18211
- }
18212
-
18213
- </p-columnFilter>
18187
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzColumnFilterComponent, isStandalone: false, selector: "smz-column-filter", inputs: { currency: "currency", display: "display", field: "field", matchMode: "matchMode", showAddButton: "showAddButton", showMatchModes: "showMatchModes", showOperator: "showOperator", showApplyButton: "showApplyButton", type: "type", showTime: "showTime" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "columnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: `
18188
+ <div (click)="bindDocumentClickListener()">
18189
+ <p-columnFilter
18190
+ [currency]="currency"
18191
+ [display]="display"
18192
+ [field]="field"
18193
+ [matchMode]="matchMode"
18194
+ [showAddButton]="showAddButton"
18195
+ [showMatchModes]="showMatchModes"
18196
+ [showOperator]="showOperator"
18197
+ [showApplyButton]="showApplyButton"
18198
+ [type]="type">
18199
+ <!-- TODO: [showTime]="showTime" -->
18200
+
18201
+ @if (headerTemplate) {
18202
+ <ng-template smzTemplate="header">
18203
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
18204
+ </ng-template>
18205
+ }
18206
+
18207
+ @if (filterTemplate) {
18208
+ <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
18209
+ <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
18210
+ </ng-template>
18211
+ }
18212
+
18213
+ </p-columnFilter>
18214
18214
  <div>`, isInline: true, dependencies: [{ 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: ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "showTime"] }] });
18215
18215
  }
18216
18216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzColumnFilterComponent, decorators: [{
18217
18217
  type: Component,
18218
18218
  args: [{
18219
18219
  selector: 'smz-column-filter',
18220
- template: `
18221
- <div (click)="bindDocumentClickListener()">
18222
- <p-columnFilter
18223
- [currency]="currency"
18224
- [display]="display"
18225
- [field]="field"
18226
- [matchMode]="matchMode"
18227
- [showAddButton]="showAddButton"
18228
- [showMatchModes]="showMatchModes"
18229
- [showOperator]="showOperator"
18230
- [showApplyButton]="showApplyButton"
18231
- [type]="type">
18232
- <!-- TODO: [showTime]="showTime" -->
18233
-
18234
- @if (headerTemplate) {
18235
- <ng-template smzTemplate="header">
18236
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
18237
- </ng-template>
18238
- }
18239
-
18240
- @if (filterTemplate) {
18241
- <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
18242
- <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
18243
- </ng-template>
18244
- }
18245
-
18246
- </p-columnFilter>
18220
+ template: `
18221
+ <div (click)="bindDocumentClickListener()">
18222
+ <p-columnFilter
18223
+ [currency]="currency"
18224
+ [display]="display"
18225
+ [field]="field"
18226
+ [matchMode]="matchMode"
18227
+ [showAddButton]="showAddButton"
18228
+ [showMatchModes]="showMatchModes"
18229
+ [showOperator]="showOperator"
18230
+ [showApplyButton]="showApplyButton"
18231
+ [type]="type">
18232
+ <!-- TODO: [showTime]="showTime" -->
18233
+
18234
+ @if (headerTemplate) {
18235
+ <ng-template smzTemplate="header">
18236
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
18237
+ </ng-template>
18238
+ }
18239
+
18240
+ @if (filterTemplate) {
18241
+ <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
18242
+ <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
18243
+ </ng-template>
18244
+ }
18245
+
18246
+ </p-columnFilter>
18247
18247
  <div>`,
18248
18248
  standalone: false
18249
18249
  }]
@@ -22645,11 +22645,11 @@ class SmzTableComponent {
22645
22645
  this.tableHelper.clear(this.tableKey);
22646
22646
  }
22647
22647
  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 });
22648
- 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 });
22648
+ 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) {\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) {\n <smz-data-info\n [attr.data-testid]=\"buildTableTestId('empty')\"\n [image]=\"context.state.emptyFeedback.image\"\n [message]=\"context.state.emptyFeedback.message\"\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\n [actions]=\"context.state.emptyFeedback.actionButtons\">\n <ng-template smzTemplate=\"actions\">\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\n </ng-template>\n </smz-data-info>\n } @else {\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\n <p-table #dt\n dataKey=\"id\"\n editMode=\"row\"\n [stripedRows]=\"context.state.styles.striped\"\n [value]=\"clonedData.items\"\n [(selection)]=\"selectedItems\"\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\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' : '')\"\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\n [rows]=\"context.state.pagination.rows\"\n [first]=\"context.state.pagination.state.first\"\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\n [loading]=\"loading || isViewportInitializing\"\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\n [paginator]=\"context.state.pagination.isVisible\"\n paginatorDropdownAppendTo=\"body\"\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\n [sortField]=\"context.state.sort.field\"\n [sortMode]=\"context.state.sort.mode\"\n [sortOrder]=\"context.state.sort.order\"\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\n [scrollable]=\"context.state.viewport.scrollable\"\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\n [filterDelay]=\"0\"\n [globalFilterFields]=\"context.globalFilter\"\n [columns]=\"context.visibleColumns\"\n [frozenColumns]=\"context.frozenColumns\"\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\n (onPage)=\"onPage($event)\"\n (onFilter)=\"onFilter($event)\"\n (selectionChange)=\"emitSelection($event)\"\n >\n @if (context.state.caption.isVisible) {\n <ng-template smzTemplate=\"caption\">\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n @if (context.state.caption.title != null) {\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\n }\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\n @if (context.state.caption.exportToPdf.isButtonVisible) {\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>\n }\n @if (context.state.caption.exportToExcel.isButtonVisible) {\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>\n }\n @if (context.state.editable.creation.isButtonVisible) {\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>\n }\n @if (context.state.caption.rowSelection.isButtonVisible) {\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>\n }\n @if (context.state.rowExpansion.isButtonVisible) {\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>\n }\n @if (context.state.caption.clearFilters.isButtonVisible) {\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>\n }\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\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\">\n </ui-multi-select>\n }\n @if (context.state.caption.globalFilter.isVisible) {\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\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')\" />\n </ui-icon-field>\n }\n </div>\n @if (toolbarTemplate != null) {\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n </ng-template>\n }\n <ng-template smzTemplate=\"header\" let-columns>\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\n @if (context.state.caption.rowSelection.isEnabled) {\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\n @if (!context.state.actions.batchActions.isVisible) {\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n }\n </th>\n }\n @if (context.state.rowExpansion.isEnabled) {\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\n }\n @for (col of columns; track col.field) {\n @if (context.state.viewport.resizableColumns) {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n } @else {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n }\n <ng-template #headerContent>\n <div class=\"flex justify-start items-center\">\n <span class=\"mr-1\">{{ col.header }}</span>\n @if (col.showHeaderActions) {\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\n }\n @if (!clonedData.showSkeleton && col.isOrderable) {\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\n }\n @if (!clonedData.showSkeleton) {\n @switch (col.filter.type) {\n @case (filterTypes.currency) {\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.numeric) {\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.date) {\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\n }\n @case (filterTypes.text) {\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.boolean) {\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.dropdown) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_array) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_string) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n }\n }\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\n }\n </div>\n </ng-template>\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\n }\n </tr>\n @if (context.state.actions.batchActions.isVisible) {\n <tr>\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)\"\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-start\">\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\n @if (selectedItems?.length > 0) {\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\n @if (batchItem.visible) {\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>\n }\n }\n }\n </div>\n </th>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\n <tr #editableRowElement\n [pEditableRow]=\"item\"\n tableItemAction\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\n [item]=\"item\"\n class=\"p-selectable-row\"\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\n >\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\n >\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n }\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\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 }\"\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\n >\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>\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\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>\n }\n </td>\n }\n @for (col of columns; track col.field) {\n @if (clonedData.showSkeleton) {\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\n } @else {\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\">\n <span class=\"p-column-title\">{{ col.header }}</span>\n <p-cellEditor>\n <!-- CELULAR COM EDITOR -->\n <ng-template smzTemplate=\"input\">\n @switch (col.editable.type) {\n @case (editableTypes.none) {\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\n }\n @case (editableTypes.custom) {\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\n }\n <!-- INPUT TEXT -->\n @case (editableTypes.text) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT NUMBER -->\n @case (editableTypes.number) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\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\">\n </ui-input-number>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT SWITCH -->\n @case (editableTypes.switch) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT TEXT AREA -->\n @case (editableTypes.area) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT DROPDOWN -->\n @case (editableTypes.dropdown) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\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>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT CALENDAR -->\n @case (editableTypes.calendar) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n }\n </ng-template>\n <!-- CELULAR COM CONTE\u00DADO -->\n <ng-template smzTemplate=\"output\">\n <smz-table-content\n [col]=\"col\"\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\n tooltipPosition=\"left\"\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\n </smz-table-content>\n </ng-template>\n </p-cellEditor>\n </td>\n }\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-center\">\n @if (clonedData.showSkeleton) {\n <div class=\"w-full\">\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\n </div>\n } @else {\n <!-- SEM EDITAR -->\n @if (!editing) {\n @if (context.state.editable.update.isButtonVisible) {\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>\n }\n @if (context.state.editable.remove.isButtonVisible) {\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>\n }\n }\n <!-- EDITANDO -->\n @if (editing) {\n @if (editableService.context[item.id]; as editableContext) {\n <!-- COM LOADING -->\n @if (editableContext.isLoading) {\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>\n }\n <!-- SEM LOADING -->\n @if (!editableContext.isLoading) {\n <!-- EDITANDO -->\n @if (!editableContext.hasErrors) {\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\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>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\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>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n }\n <!-- COM ERRORS -->\n @if (editableContext.hasErrors) {\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\n </ui-popover>\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>\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\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>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\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>\n }\n }\n }\n }\n }\n <!-- CUSTOM MENU -->\n @if (context.state.actions.customActions.isVisible && !editing) {\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\n }\n <!-- MENU -->\n @if (context.state.actions.menu.isVisible && !editing) {\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>\n }\n }\n </div>\n </td>\n }\n </tr>\n @if (item?._isExpanded) {\n <tr>\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)\">\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\n </td>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"emptymessage\" let-columns>\n <tr>\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' }\">\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\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>\n }\n </td>\n </tr>\n </ng-template>\n </p-table>\n }\n </ng-container>\n </ng-container>\n }\n} @else {\n @if (emptyStateTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\n }\n}\n\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
22649
  }
22650
22650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTableComponent, decorators: [{
22651
22651
  type: Component,
22652
- 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" }]
22652
+ args: [{ selector: 'smz-ui-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TableEditableService, TableFormsService], standalone: false, template: "@if (state | tableContext; as context) {\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) {\n <smz-data-info\n [attr.data-testid]=\"buildTableTestId('empty')\"\n [image]=\"context.state.emptyFeedback.image\"\n [message]=\"context.state.emptyFeedback.message\"\n [callbackInfo]=\"context.state.emptyFeedback.extraInfo\"\n [actions]=\"context.state.emptyFeedback.actionButtons\">\n <ng-template smzTemplate=\"actions\">\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\n </ng-template>\n </smz-data-info>\n } @else {\n <ng-container *ngVar=\"state.source?.items$ != null ? (state.source.items$ | async) : null as observableSource\">\n <ng-container *ngVar=\"state.source?.signalItems != null ? state.source.signalItems() : null as signalSource\">\n @if (((observableSource ?? signalSource ?? items) | cloneTableItems : context: tableKey: context.state.rowExpansion.sincronize); as clonedData) {\n <p-table #dt\n dataKey=\"id\"\n editMode=\"row\"\n [stripedRows]=\"context.state.styles.striped\"\n [value]=\"clonedData.items\"\n [(selection)]=\"selectedItems\"\n [tableStyleClass]=\"context.state.styles.tableStyleClass\"\n [size]=\"context.state.styles.size === 'extra-small' ? 'small' : context.state.styles.size === 'small' ? 'small' : context.state.styles.size === 'large' ? 'large' : undefined\"\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' : '')\"\n [rowHover]=\"context.state.actions.rowBehavior.hoverable\"\n [rows]=\"context.state.pagination.rows\"\n [first]=\"context.state.pagination.state.first\"\n [showCurrentPageReport]=\"context.state.pagination.pageReport.isVisible\"\n [rowsPerPageOptions]=\"context.state.pagination.rowsPerPageOptions\"\n [loading]=\"loading || isViewportInitializing\"\n [style.visibility]=\"isViewportInitializing ? 'hidden' : null\"\n [paginator]=\"context.state.pagination.isVisible\"\n paginatorDropdownAppendTo=\"body\"\n [currentPageReportTemplate]=\"context.state.locale.paginator.template\"\n [sortField]=\"context.state.sort.field\"\n [sortMode]=\"context.state.sort.mode\"\n [sortOrder]=\"context.state.sort.order\"\n [multiSortMeta]=\"context.state.sort.multiSortMeta\"\n [scrollable]=\"context.state.viewport.scrollable\"\n [scrollHeight]=\"context.state.viewport.scrollHeight\"\n [filterDelay]=\"0\"\n [globalFilterFields]=\"context.globalFilter\"\n [columns]=\"context.visibleColumns\"\n [frozenColumns]=\"context.frozenColumns\"\n [frozenWidth]=\"context.state.frozen.isEnabled ? context.state.frozen.width : null\"\n [resizableColumns]=\"context.state.viewport.resizableColumns\"\n [columnResizeMode]=\"context.state.viewport.columnResizeMode\"\n (onPage)=\"onPage($event)\"\n (onFilter)=\"onFilter($event)\"\n (selectionChange)=\"emitSelection($event)\"\n >\n @if (context.state.caption.isVisible) {\n <ng-template smzTemplate=\"caption\">\n <div class=\"grid grid-nogutter items-center gap-2\" [attr.data-testid]=\"buildTableTestId('caption')\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n @if (context.state.caption.title != null) {\n <div class=\"col database-title\" [attr.data-testid]=\"buildTableTestId('title')\" [innerHTML]=\"context.state.caption.title\"></div>\n }\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: { $implicit: dt }\"></ng-container>\n <smz-table-caption-buttons [buttons]=\"context.state.caption.buttons\" [tableTestId]=\"state.tableTestId\"></smz-table-caption-buttons>\n @if (context.state.caption.exportToPdf.isButtonVisible) {\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>\n }\n @if (context.state.caption.exportToExcel.isButtonVisible) {\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>\n }\n @if (context.state.editable.creation.isButtonVisible) {\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>\n }\n @if (context.state.caption.rowSelection.isButtonVisible) {\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>\n }\n @if (context.state.rowExpansion.isButtonVisible) {\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>\n }\n @if (context.state.caption.clearFilters.isButtonVisible) {\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>\n }\n @if (context.state.caption.columnVisibility.showDropdownSelector) {\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\">\n </ui-multi-select>\n }\n @if (context.state.caption.globalFilter.isVisible) {\n <ui-icon-field class=\"col-12\" [ngClass]=\"{ 'md:col-2': !context.state.caption.globalFilter.expanded }\">\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\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')\" />\n </ui-icon-field>\n }\n </div>\n @if (toolbarTemplate != null) {\n <div class=\"grid grid-nogutter items-center mt-2\" [ngClass]=\"'justify-' + context.state.caption.toolbarAlignment\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n </ng-template>\n }\n <ng-template smzTemplate=\"header\" let-columns>\n <tr [ngClass]=\"{ 'invisible-header': !context.state.header.isVisible }\">\n @if (context.state.caption.rowSelection.isEnabled) {\n <th [ngStyle]=\"context.state.caption.rowSelection.ngStyle\">\n @if (!context.state.actions.batchActions.isVisible) {\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n }\n </th>\n }\n @if (context.state.rowExpansion.isEnabled) {\n <th [ngStyle]=\"context.state.rowExpansion.ngStyle\"></th>\n }\n @for (col of columns; track col.field) {\n @if (context.state.viewport.resizableColumns) {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th pResizableColumn [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n } @else {\n @if (col.isOrderable) {\n <th [pSortableColumn]=\"col.sortField\" [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n @if (!col.isOrderable) {\n <th [attr.data-testid]=\"buildColumnTestId(col.field)\" [ngStyle]=\"col.content.ngStyle\" [ngClass]=\"col.headerStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerContent\"></ng-container>\n </th>\n }\n }\n <ng-template #headerContent>\n <div class=\"flex justify-start items-center\">\n <span class=\"mr-1\">{{ col.header }}</span>\n @if (col.showHeaderActions) {\n <smz-table-header-actions clickStopPropagation class=\"ml-1 mt-1\" [col]=\"col\"></smz-table-header-actions>\n }\n @if (!clonedData.showSkeleton && col.isOrderable) {\n <p-sortIcon [field]=\"col.sortField\"></p-sortIcon>\n }\n @if (!clonedData.showSkeleton) {\n @switch (col.filter.type) {\n @case (filterTypes.currency) {\n <smz-column-filter type=\"numeric\" currency=\"BRL\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.numeric) {\n <smz-column-filter type=\"numeric\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.date) {\n <smz-column-filter type=\"date\" [field]=\"col.filterField\" [showTime]=\"col.filter.showTime\"></smz-column-filter>\n }\n @case (filterTypes.text) {\n <smz-column-filter type=\"text\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.boolean) {\n <smz-column-filter type=\"boolean\" [field]=\"col.filterField\"></smz-column-filter>\n }\n @case (filterTypes.dropdown) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField + '.id'\" matchMode=\"dropdown\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"in\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_array) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"array-some\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n @case (filterTypes.multiselect_string) {\n @if (col.filterField | filterObject; as filterField) {\n <smz-column-filter [field]=\"filterField\" matchMode=\"multiselectByString\" [showMatchModes]=\"false\" [showOperator]=\"false\" [showAddButton]=\"false\">\n <ng-template smzTemplate=\"header\">\n <div class=\"px-3 pt-3 pb-0\">\n <span class=\"p-text-bold\">{{ col.header }}</span>\n </div>\n </ng-template>\n <ng-template smzTemplate=\"filter\" let-value let-filter=\"filter\">\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>\n </ng-template>\n </smz-column-filter>\n }\n }\n }\n }\n @if (context.state.caption.columnVisibility.showColumnHideButton) {\n <button smzButton type=\"button\" icon=\"fa-solid fa-eye-slash\" (click)=\"hideColumn(col, context)\" [rounded]=\"true\" variant=\"text\" styleClass=\"p-button-plain\"></button>\n }\n </div>\n </ng-template>\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible|| context.state.editable.isEditable) {\n <th [ngStyle]=\"context.state.editable.isEditable ? context.state.editable.ngStyle : context.state.actions.customActions.ngStyle\"></th>\n }\n </tr>\n @if (context.state.actions.batchActions.isVisible) {\n <tr>\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)\"\n [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-start\">\n <p-tableHeaderCheckbox class=\"mr-4\"></p-tableHeaderCheckbox>\n @if (selectedItems?.length > 0) {\n @for (batchItem of context.state.actions.batchActions.items; track batchItem.label) {\n @if (batchItem.visible) {\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>\n }\n }\n }\n </div>\n </th>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"body\" let-item let-editing=\"editing\" let-rowIndex=\"rowIndex\" let-columns=\"columns\">\n <tr #editableRowElement\n [pEditableRow]=\"item\"\n tableItemAction\n [isClickable]=\"context.state.actions.rowBehavior.isClickable\"\n [callback]=\"context.state.actions.rowBehavior.clickCallback\"\n [expandRowOnClick]=\"context.state.actions.rowBehavior.expandRowOnClick\"\n [item]=\"item\"\n class=\"p-selectable-row\"\n [attr.data-testid]=\"buildRowTestId(item, rowIndex)\"\n [ngClass]=\"{ 'highlight-row': item?.id === state.actions.rowBehavior.highlights, 'preserve-in-small': state.actions.rowBehavior.preserveLayoutInSmallDevices }\"\n >\n @if (context.state.caption.rowSelection.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\n [ngClass]=\"{ 'opacity-50 pointer-events-none': editableService.context[item.id]?.hasErrors || editableService.context[item.id]?.isLoading }\"\n [ngStyle]=\"context.state.caption.rowSelection.ngStyle\"\n >\n <p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\n </td>\n }\n @if (context.state.rowExpansion.isEnabled && !clonedData.showSkeleton) {\n <td\n clickStopPropagation\n class=\"{{ state.actions.rowBehavior.cellStyleClass }}\"\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 }\"\n [ngStyle]=\"context.state.rowExpansion.ngStyle\"\n >\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>\n @if (context.state.rowExpansion.highlightNewItems && item._isNew) {\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>\n }\n </td>\n }\n @for (col of columns; track col.field) {\n @if (clonedData.showSkeleton) {\n <td class=\"{{ state.actions.rowBehavior.cellStyleClass }}\" [ngStyle]=\"col.content.ngStyle\"><ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton></td>\n } @else {\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\">\n <span class=\"p-column-title\">{{ col.header }}</span>\n <p-cellEditor>\n <!-- CELULAR COM EDITOR -->\n <ng-template smzTemplate=\"input\">\n @switch (col.editable.type) {\n @case (editableTypes.none) {\n <smz-table-content class=\"cursor-default\" [ngClass]=\"col.content.contentStyleClass\" [col]=\"col\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\"></smz-table-content>\n }\n @case (editableTypes.custom) {\n <ng-container *ngTemplateOutlet=\"editableTemplate; context: { $implicit: item, col: col }\"></ng-container>\n }\n <!-- INPUT TEXT -->\n @case (editableTypes.text) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <input smzInputText type=\"text\" [formControl]=\"$any(control)\" style=\"width: 100%;\">\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT NUMBER -->\n @case (editableTypes.number) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\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\">\n </ui-input-number>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT SWITCH -->\n @case (editableTypes.switch) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-toggle-switch [formControl]=\"$any(control)\"></ui-toggle-switch>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT TEXT AREA -->\n @case (editableTypes.area) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <textarea smzTextarea type=\"text\" [formControl]=\"$any(control)\" [rows]=\"$any(col.editable.data).rows\" required style=\"width: 100%;\"></textarea>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT DROPDOWN -->\n @case (editableTypes.dropdown) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\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>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n <!-- INPUT CALENDAR -->\n @case (editableTypes.calendar) {\n @if (editableService.context[item.id]?.form; as form) {\n @if (form.controls[col.editable.property]; as control) {\n <div class=\"relative w-full\">\n <ui-date-picker [formControl]=\"$any(control)\" appendTo=\"body\" styleClass=\"w-full\" [ngClass]=\"{ 'pl-5': !control.valid }\"></ui-date-picker>\n <smz-table-validation-messages [errors]=\"control.errors\" [messages]=\"uiConfig.dialogs.forms.validationMessages\" [isFormInvalid]=\"form.invalid\" [isFormDirty]=\"form.dirty\"></smz-table-validation-messages>\n </div>\n }\n }\n }\n }\n </ng-template>\n <!-- CELULAR COM CONTE\u00DADO -->\n <ng-template smzTemplate=\"output\">\n <smz-table-content\n [col]=\"col\"\n [smzTooltip]=\"col.content.tooltip != null ? col.content.tooltip(item) : null\"\n tooltipPosition=\"left\"\n [ngClass]=\"col.content.contentStyleClass\" [contentTypes]=\"contentTypes\" [item]=\"item\" [rowIndex]=\"rowIndex\" [contentTemplate]=\"contentTemplate\">\n </smz-table-content>\n </ng-template>\n </p-cellEditor>\n </td>\n }\n }\n @if (context.state.actions.menu.isVisible || context.state.actions.customActions.isVisible || context.state.editable.isEditable) {\n <td [ngStyle]=\"context.state.actions.customActions.ngStyle\" class=\"px-0\">\n <div class=\"grid grid-nogutter items-center justify-center\">\n @if (clonedData.showSkeleton) {\n <div class=\"w-full\">\n <ui-skeleton width=\"100%\" height=\"1rem\"></ui-skeleton>\n </div>\n } @else {\n <!-- SEM EDITAR -->\n @if (!editing) {\n @if (context.state.editable.update.isButtonVisible) {\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>\n }\n @if (context.state.editable.remove.isButtonVisible) {\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>\n }\n }\n <!-- EDITANDO -->\n @if (editing) {\n @if (editableService.context[item.id]; as editableContext) {\n <!-- COM LOADING -->\n @if (editableContext.isLoading) {\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>\n }\n <!-- SEM LOADING -->\n @if (!editableContext.isLoading) {\n <!-- EDITANDO -->\n @if (!editableContext.hasErrors) {\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\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>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowCreateCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\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>\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" (click)=\"editableService.onRowEditCancel($event, table, item)\" [rounded]=\"true\" variant=\"text\" severity=\"danger\"></button>\n }\n }\n <!-- COM ERRORS -->\n @if (editableContext.hasErrors) {\n <ui-popover #errorsOverlay appendTo=\"body\" [style]=\"{ width: '450px' }\">\n <div [innerHtml]=\"editableContext.errors | contentErrors\"></div>\n </ui-popover>\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>\n <!-- CRIANDO -->\n @if (item._context?.isCreating) {\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>\n }\n <!-- ATUALIZANDO -->\n @if (item._context?.isUpdating) {\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>\n }\n }\n }\n }\n }\n <!-- CUSTOM MENU -->\n @if (context.state.actions.customActions.isVisible && !editing) {\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: item }\"></ng-container>\n }\n <!-- MENU -->\n @if (context.state.actions.menu.isVisible && !editing) {\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>\n }\n }\n </div>\n </td>\n }\n </tr>\n @if (item?._isExpanded) {\n <tr>\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)\">\n <ng-container *ngTemplateOutlet=\"rowContentTemplate; context: { $implicit: item }\"></ng-container>\n </td>\n </tr>\n }\n </ng-template>\n <ng-template smzTemplate=\"emptymessage\" let-columns>\n <tr>\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' }\">\n <div [innerHtml]=\"context.state.emptyFeedback.message\"></div>\n @if (context.state.caption.clearFilters.isButtonVisible && hasFilters()) {\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>\n }\n </td>\n </tr>\n </ng-template>\n </p-table>\n }\n </ng-container>\n </ng-container>\n }\n} @else {\n @if (emptyStateTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\n }\n}\n\n" }]
22653
22653
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TableEditableService }, { type: TableFormsService }, { type: TableHelperService }, { type: i1$3.Store }, { type: SmzExcelService }], propDecorators: { templates: [{
22654
22654
  type: ContentChildren,
22655
22655
  args: [SmzTemplateDirective]
@@ -22779,60 +22779,60 @@ class SmzColumnFilter2Component {
22779
22779
  return result;
22780
22780
  }
22781
22781
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzColumnFilter2Component, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
22782
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzColumnFilter2Component, isStandalone: false, selector: "smz-column-filter-2", inputs: { currency: "currency", display: "display", field: "field", matchMode: "matchMode", showAddButton: "showAddButton", showMatchModes: "showMatchModes", showOperator: "showOperator", type: "type" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "columnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: `
22783
- <p-columnFilter
22784
- [currency]="currency"
22785
- [display]="display"
22786
- [field]="field"
22787
- [matchMode]="matchMode"
22788
- [showAddButton]="showAddButton"
22789
- [showMatchModes]="showMatchModes"
22790
- [showOperator]="showOperator"
22791
- [type]="type">
22792
-
22793
- @if (headerTemplate) {
22794
- <ng-template smzTemplate="header">
22795
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
22796
- </ng-template>
22797
- }
22798
-
22799
- @if (filterTemplate) {
22800
- <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
22801
- <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
22802
- </ng-template>
22803
- }
22804
-
22805
- </p-columnFilter>
22782
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzColumnFilter2Component, isStandalone: false, selector: "smz-column-filter-2", inputs: { currency: "currency", display: "display", field: "field", matchMode: "matchMode", showAddButton: "showAddButton", showMatchModes: "showMatchModes", showOperator: "showOperator", type: "type" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], viewQueries: [{ propertyName: "columnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: `
22783
+ <p-columnFilter
22784
+ [currency]="currency"
22785
+ [display]="display"
22786
+ [field]="field"
22787
+ [matchMode]="matchMode"
22788
+ [showAddButton]="showAddButton"
22789
+ [showMatchModes]="showMatchModes"
22790
+ [showOperator]="showOperator"
22791
+ [type]="type">
22792
+
22793
+ @if (headerTemplate) {
22794
+ <ng-template smzTemplate="header">
22795
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
22796
+ </ng-template>
22797
+ }
22798
+
22799
+ @if (filterTemplate) {
22800
+ <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
22801
+ <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
22802
+ </ng-template>
22803
+ }
22804
+
22805
+ </p-columnFilter>
22806
22806
  `, isInline: true, dependencies: [{ 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: ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "showTime"] }] });
22807
22807
  }
22808
22808
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzColumnFilter2Component, decorators: [{
22809
22809
  type: Component,
22810
22810
  args: [{
22811
22811
  selector: 'smz-column-filter-2',
22812
- template: `
22813
- <p-columnFilter
22814
- [currency]="currency"
22815
- [display]="display"
22816
- [field]="field"
22817
- [matchMode]="matchMode"
22818
- [showAddButton]="showAddButton"
22819
- [showMatchModes]="showMatchModes"
22820
- [showOperator]="showOperator"
22821
- [type]="type">
22822
-
22823
- @if (headerTemplate) {
22824
- <ng-template smzTemplate="header">
22825
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
22826
- </ng-template>
22827
- }
22828
-
22829
- @if (filterTemplate) {
22830
- <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
22831
- <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
22832
- </ng-template>
22833
- }
22834
-
22835
- </p-columnFilter>
22812
+ template: `
22813
+ <p-columnFilter
22814
+ [currency]="currency"
22815
+ [display]="display"
22816
+ [field]="field"
22817
+ [matchMode]="matchMode"
22818
+ [showAddButton]="showAddButton"
22819
+ [showMatchModes]="showMatchModes"
22820
+ [showOperator]="showOperator"
22821
+ [type]="type">
22822
+
22823
+ @if (headerTemplate) {
22824
+ <ng-template smzTemplate="header">
22825
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
22826
+ </ng-template>
22827
+ }
22828
+
22829
+ @if (filterTemplate) {
22830
+ <ng-template smzTemplate="filter" let-value let-filter="filterCallback">
22831
+ <ng-container *ngTemplateOutlet="filterTemplate; context: { $implicit: value, filter: filter }"></ng-container>
22832
+ </ng-template>
22833
+ }
22834
+
22835
+ </p-columnFilter>
22836
22836
  `,
22837
22837
  standalone: false
22838
22838
  }]
@@ -31997,11 +31997,11 @@ class UserClaimsComponent {
31997
31997
  this.claims = claims.filter(claim => this.user?.claims.findIndex(u => u.id === claim.id) !== -1 ? false : true);
31998
31998
  }
31999
31999
  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 });
32000
- 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 });
32000
+ 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\">\n <div class=\"ui-g-12 ui-md-12\">\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)\">\n <ng-template let-item smzTemplate=\"item\">\n\n <!-- TARGET -->\n @if (item.access != null) {\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n <div class=\"claim-access-type-indicator\">\n @if (item.access.id === 0) {\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\n }\n @if (item.access.id === 1) {\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\n }\n </div>\n <div>{{ item.claim.name }}</div>\n </div>\n <div></div>\n } @else {\n {{ item.description }}\n }\n\n <!-- SOURCE -->\n\n </ng-template>\n </ui-pick-list>\n </div>\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
32001
  }
32002
32002
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UserClaimsComponent, decorators: [{
32003
32003
  type: Component,
32004
- 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"] }]
32004
+ args: [{ selector: 'app-user-claims', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"ui-g form-group\">\n <div class=\"ui-g-12 ui-md-12\">\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)\">\n <ng-template let-item smzTemplate=\"item\">\n\n <!-- TARGET -->\n @if (item.access != null) {\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n <div class=\"claim-access-type-indicator\">\n @if (item.access.id === 0) {\n <strong class=\"block-text\"><i class=\"fa-solid fa-lock\" [title]=\"item.access.name\"></i></strong>\n }\n @if (item.access.id === 1) {\n <strong class=\"allow-text\"><i class=\"fa-solid fa-lock-open\" [title]=\"item.access.name\"></i></strong>\n }\n </div>\n <div>{{ item.claim.name }}</div>\n </div>\n <div></div>\n } @else {\n {{ item.description }}\n }\n\n <!-- SOURCE -->\n\n </ng-template>\n </ui-pick-list>\n </div>\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
32005
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { username: [{
32006
32006
  type: Input
32007
32007
  }], desassociateClaim: [{
@@ -32224,11 +32224,11 @@ class UsersPageComponent {
32224
32224
  this.cdr.markForCheck();
32225
32225
  }
32226
32226
  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 });
32227
- 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 });
32227
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UsersPageComponent, isStandalone: false, selector: "smz-ui-users-page", ngImport: i0, template: "\n<ng-container *ngVar=\"(users$ | async) as users\">\n\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\n\n <ng-template smzTemplate=\"caption\" let-primeTable>\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\n @if (action.visible) {\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\n }\n }\n\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\n </ui-select-button>\n }\n\n </ng-template>\n\n <!-- CONTE\u00DADOS COM OVERRIDE -->\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\n\n @switch (col.field) {\n @case ('displayName') {\n <div class=\"grid grid-nogutter items-center gap-3 justify-start\">\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\n @if (item.avatar == null) {\n <img\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\n class=\"w-14 align-middle\"\n />\n }\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\n @if (item.avatar != null) {\n <img\n [src]=\"item.avatar\"\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\n class=\"w-14 align-middle\"\n />\n }\n <span>{{ item.displayName }}</span>\n </div>\n }\n @case ('role.name') {\n {{ item.role?.name }}\n }\n }\n\n </ng-template>\n\n </smz-ui-table>\n\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
32228
  }
32229
32229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UsersPageComponent, decorators: [{
32230
32230
  type: Component,
32231
- 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>" }]
32231
+ args: [{ selector: 'smz-ui-users-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "\n<ng-container *ngVar=\"(users$ | async) as users\">\n\n <smz-ui-table #smzdt [items]=\"users\" [state]=\"tableState\" [loading]=\"false\">\n\n <ng-template smzTemplate=\"caption\" let-primeTable>\n @for (action of (uiConfig.rbkUtils.authorization.users.pageActions | smzFlattenMenu : null); track action) {\n @if (action.visible) {\n <button smzButton type=\"button\" smzMenuItemAction [item]=\"action\" [label]=\"action.label\" [icon]=\"action.icon\" [styleClass]=\"action.styleClass\" [disabled]=\"action.disabled\"></button>\n }\n }\n\n @if (uiConfig.rbkUtils.authorization.users.removalBehavior === 'deactivation') {\n <ui-select-button appendTo=\"body\" [options]=\"viewOptions\" [(ngModel)]=\"selectedView\" (changed)=\"handleViewOptionChange($event.value)\" optionLabel=\"label\" optionValue=\"value\">\n </ui-select-button>\n }\n\n </ng-template>\n\n <!-- CONTE\u00DADOS COM OVERRIDE -->\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\n\n @switch (col.field) {\n @case ('displayName') {\n <div class=\"grid grid-nogutter items-center gap-3 justify-start\">\n <!-- CONTROLE DE ACESSO N\u00C3O ENCONTROU O IDENTIFICADOR DO USU\u00C1RIO -->\n @if (item.avatar == null) {\n <img\n [src]=\"uiConfig.rbkUtils.authorization.users.avatarPlaceholderPath\"\n class=\"w-14 align-middle\"\n />\n }\n <!-- USU\u00C1RIO COM AVATAR INFORMADO PELO CONTROLE DE ACESSO -->\n @if (item.avatar != null) {\n <img\n [src]=\"item.avatar\"\n (error)=\"handleMissingImage($event, item.name, item.avatar)\"\n class=\"w-14 align-middle\"\n />\n }\n <span>{{ item.displayName }}</span>\n </div>\n }\n @case ('role.name') {\n {{ item.role?.name }}\n }\n }\n\n </ng-template>\n\n </smz-ui-table>\n\n</ng-container>" }]
32232
32232
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: i0.ChangeDetectorRef }] });
32233
32233
 
32234
32234
  const routes$7 = [
@@ -32434,14 +32434,14 @@ class ClaimsPageComponent {
32434
32434
  this.dialogs.open(CreateClaimDialog());
32435
32435
  }
32436
32436
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ClaimsPageComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
32437
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: ClaimsPageComponent, isStandalone: false, selector: "app-claims-page", ngImport: i0, template: "<smz-ui-table [items]=\"claims$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\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: "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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32437
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: ClaimsPageComponent, isStandalone: false, selector: "app-claims-page", ngImport: i0, template: "<smz-ui-table [items]=\"claims$ | async\" [state]=\"tableState\">\n\n <ng-template smzTemplate=\"caption\">\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\n </ng-template>\n\n</smz-ui-table>\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: "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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32438
32438
  }
32439
32439
  __decorate([
32440
32440
  Confirmable('Tem certeza de que deseja excluir essa permissão de acesso ?', 'Atenção', true)
32441
32441
  ], ClaimsPageComponent.prototype, "showDeleteConfirmation", null);
32442
32442
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: ClaimsPageComponent, decorators: [{
32443
32443
  type: Component,
32444
- args: [{ selector: 'app-claims-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"claims$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n" }]
32444
+ args: [{ selector: 'app-claims-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"claims$ | async\" [state]=\"tableState\">\n\n <ng-template smzTemplate=\"caption\">\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\n </ng-template>\n\n</smz-ui-table>\n" }]
32445
32445
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { showDeleteConfirmation: [] } });
32446
32446
 
32447
32447
  const data$5 = {
@@ -32705,14 +32705,14 @@ class RolesPageComponent {
32705
32705
  this.dialogs.open(CreateRoleDialog());
32706
32706
  }
32707
32707
  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 });
32708
- 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 });
32708
+ 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\">\n\n <ng-template smzTemplate=\"caption\">\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\n </ng-template>\n\n <!-- CONTE\u00DADOS COM OVERRIDE -->\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\n\n @switch (col.field) {\n @case ('claims') {\n <div class=\"grid grid-nogutter items-start justify-start flex-col gap-1\">\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\n <ul class=\"list-disc\">\n @for (claim of limitedClaims; track claim) {\n <li class=\"\">{{ $any(claim).name }}</li>\n }\n @if (item.claims.length > 3) {\n <li>(...)</li>\n }\n </ul>\n @if (item.claims.length > 3) {\n <button\n type=\"button\"\n (click)=\"onShowRoleClaimsDialog(item)\"\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\">\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\n </button>\n }\n </ng-container>\n </div>\n }\n }\n\n </ng-template>\n\n</smz-ui-table>\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
32709
  }
32710
32710
  __decorate([
32711
32711
  Confirmable('Tem certeza de que deseja excluir esse perfil ?', 'Atenção', true)
32712
32712
  ], RolesPageComponent.prototype, "showDeleteConfirmation", null);
32713
32713
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RolesPageComponent, decorators: [{
32714
32714
  type: Component,
32715
- 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" }]
32715
+ args: [{ selector: 'app-roles-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"roles$ | async\" [state]=\"tableState\">\n\n <ng-template smzTemplate=\"caption\">\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" [disabled]=\"!(canCreateClaims | rbkCanAccessAny)\" severity=\"primary\"></button>\n </ng-template>\n\n <!-- CONTE\u00DADOS COM OVERRIDE -->\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\n\n @switch (col.field) {\n @case ('claims') {\n <div class=\"grid grid-nogutter items-start justify-start flex-col gap-1\">\n <ng-container *ngVar=\"(item.claims | smzInitial : 3) as limitedClaims\">\n <!-- <div [innerHTML]=\"limitedClaims | prettyjson\"></div> -->\n <ul class=\"list-disc\">\n @for (claim of limitedClaims; track claim) {\n <li class=\"\">{{ $any(claim).name }}</li>\n }\n @if (item.claims.length > 3) {\n <li>(...)</li>\n }\n </ul>\n @if (item.claims.length > 3) {\n <button\n type=\"button\"\n (click)=\"onShowRoleClaimsDialog(item)\"\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\">\n <i class=\"fa-solid fa-circle-info mr-2\"></i>Ver mais\n </button>\n }\n </ng-container>\n </div>\n }\n }\n\n </ng-template>\n\n</smz-ui-table>\n" }]
32716
32716
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }], propDecorators: { showDeleteConfirmation: [] } });
32717
32717
 
32718
32718
  const data$4 = {
@@ -32961,11 +32961,11 @@ class TenantsPageComponent {
32961
32961
  showCreateTenantDialog();
32962
32962
  }
32963
32963
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TenantsPageComponent, deps: [{ token: i1$3.Store }, { token: SmzDialogsService }], target: i0.ɵɵFactoryTarget.Component });
32964
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TenantsPageComponent, isStandalone: false, selector: "app-tenants-page", ngImport: i0, template: "<smz-ui-table [items]=\"tenants$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\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: "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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32964
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: TenantsPageComponent, isStandalone: false, selector: "app-tenants-page", ngImport: i0, template: "<smz-ui-table [items]=\"tenants$ | async\" [state]=\"tableState\">\n\n <ng-template smzTemplate=\"caption\">\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\n </ng-template>\n\n</smz-ui-table>\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: "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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32965
32965
  }
32966
32966
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: TenantsPageComponent, decorators: [{
32967
32967
  type: Component,
32968
- args: [{ selector: 'app-tenants-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"tenants$ | async\" [state]=\"tableState\">\r\n\r\n <ng-template smzTemplate=\"caption\">\r\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\r\n </ng-template>\r\n\r\n</smz-ui-table>\r\n" }]
32968
+ args: [{ selector: 'app-tenants-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<smz-ui-table [items]=\"tenants$ | async\" [state]=\"tableState\">\n\n <ng-template smzTemplate=\"caption\">\n <button smzButton type=\"button\" class=\"mx-1\" label=\"CRIAR\" (click)=\"showCreationDialog()\" severity=\"primary\"></button>\n </ng-template>\n\n</smz-ui-table>\n" }]
32969
32969
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: SmzDialogsService }] });
32970
32970
 
32971
32971
  const data$3 = {
@@ -35658,7 +35658,7 @@ class FaqsContentComponent {
35658
35658
  this.manager.delete(data.id);
35659
35659
  }
35660
35660
  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 });
35661
- 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" }] });
35661
+ 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\">\n\n <div class=\"col-12\">\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\n\n <ui-input-group>\n <ui-input-group-addon>\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n </ui-input-group-addon>\n\n <input\n type=\"text\"\n smzInputText\n [(ngModel)]=\"keywords\"\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\n />\n\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\n </ui-input-group>\n </div>\n\n <div class=\"col-12\">\n @if ((items | searchFaqs : keywords); as filtered) {\n @if (filtered.length > 0) {\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\n <ui-accordion [multiple]=\"true\">\n @for (item of filtered; track item.id) {\n <ui-accordion-panel [value]=\"item.id\">\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\n\n <ui-accordion-content>\n @if (manager.config.creationClaim | rbkCanAccess) {\n <div class=\"faqs__actions\">\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\n </div>\n }\n\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\n </ui-accordion-content>\n </ui-accordion-panel>\n }\n </ui-accordion>\n } @else {\n <smz-icon-message\n [message]=\"manager.config.placeholders.emptyMessage\"\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\n manager.config.placeholders.creationMessage :\n (keywords === '') ?\n manager.config.placeholders.supportMessage :\n manager.config.placeholders.noSearchResultsMessage\"\n >\n </smz-icon-message>\n }\n }\n </div>\n\n <div class=\"col-12\">\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\n }\n </div>\n</div>\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
35662
  }
35663
35663
  __decorate([
35664
35664
  Confirmable('Confirma a criação desta pergunta/resposta ?', 'Aviso')
@@ -35668,7 +35668,7 @@ __decorate([
35668
35668
  ], FaqsContentComponent.prototype, "delete", null);
35669
35669
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: FaqsContentComponent, decorators: [{
35670
35670
  type: Component,
35671
- 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"] }]
35671
+ args: [{ selector: 'smz-faqs-content', standalone: false, template: "<div class=\"grid\">\n\n <div class=\"col-12\">\n <h3>{{ manager.config.placeholders.searchTitle }}</h3>\n\n <ui-input-group>\n <ui-input-group-addon>\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n </ui-input-group-addon>\n\n <input\n type=\"text\"\n smzInputText\n [(ngModel)]=\"keywords\"\n [placeholder]=\"manager.config.placeholders.searchPlaceholder\"\n />\n\n <button smzButton type=\"button\" icon=\"fa-solid fa-xmark\" [disabled]=\"keywords === ''\" (click)=\"keywords = ''\" styleClass=\"p-button-warn\"></button>\n </ui-input-group>\n </div>\n\n <div class=\"col-12\">\n @if ((items | searchFaqs : keywords); as filtered) {\n @if (filtered.length > 0) {\n <h3>{{ manager.config.placeholders.contentTitle }}</h3>\n <ui-accordion [multiple]=\"true\">\n @for (item of filtered; track item.id) {\n <ui-accordion-panel [value]=\"item.id\">\n <ui-accordion-header>{{ item.question }}</ui-accordion-header>\n\n <ui-accordion-content>\n @if (manager.config.creationClaim | rbkCanAccess) {\n <div class=\"faqs__actions\">\n <a class=\"clickable hvr-icon-push mr-2\" (click)=\"update(item)\"><i class=\"far fa-edit hvr-icon\"></i></a>\n <a class=\"clickable hvr-icon-push\" (click)=\"delete(item)\"><i class=\"far fa-trash-alt hvr-icon\"></i></a>\n </div>\n }\n\n <div class=\"faqs__answer\" [innerHTML]=\"(item.answer | highlight : keywords) | safeHtml\"></div>\n </ui-accordion-content>\n </ui-accordion-panel>\n }\n </ui-accordion>\n } @else {\n <smz-icon-message\n [message]=\"manager.config.placeholders.emptyMessage\"\n [comment]=\"(manager.config.creationClaim | rbkCanAccess) ?\n manager.config.placeholders.creationMessage :\n (keywords === '') ?\n manager.config.placeholders.supportMessage :\n manager.config.placeholders.noSearchResultsMessage\"\n >\n </smz-icon-message>\n }\n }\n </div>\n\n <div class=\"col-12\">\n @if ((manager.config.creationClaim | rbkCanAccess) && formConfig != null) {\n <h3>{{ manager.config.placeholders.creationTitle }}</h3>\n <smz-form-group #creationComponent [config]=\"formConfig\"></smz-form-group>\n <button smzButton type=\"button\" label=\"ENVIAR\" [disabled]=\"!creationComponent.isValid\" (click)=\"create(creationComponent)\" styleClass=\"p-button-ghost\"></button>\n }\n </div>\n</div>\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
35672
  }], ctorParameters: () => [{ type: FaqsManagerService }, { type: i0.ChangeDetectorRef }, { type: SmzDialogsService }], propDecorators: { items: [{
35673
35673
  type: Input
35674
35674
  }], create: [], delete: [] } });
@@ -36556,11 +36556,11 @@ class SmzDockComponent {
36556
36556
  }
36557
36557
  }
36558
36558
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36559
- 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" });
36559
+ 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\">\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\n @for (item of dockService.dockItems(); track item.id) {\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)\">\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\n @if (item.label != null) {\n <div class=\"absolute inset-0 grid grid-nogutter items-center justify-center flex-col\">\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\n </div>\n }\n </div>\n }\n </div>\n</div>\n" });
36560
36560
  }
36561
36561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzDockComponent, decorators: [{
36562
36562
  type: Component,
36563
- 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" }]
36563
+ 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\">\n <div class=\"flex items-end justify-center gap-2 px-4 py-2\" role=\"toolbar\" aria-label=\"Janelas minimizadas\">\n @for (item of dockService.dockItems(); track item.id) {\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)\">\n <img [src]=\"item.icon\" width=\"100%\" [alt]=\"item.label ?? ''\">\n @if (item.label != null) {\n <div class=\"absolute inset-0 grid grid-nogutter items-center justify-center flex-col\">\n <div class=\"text-center font-medium my-auto pt-2 select-none text-black text-xs\">{{ item.label }}</div>\n </div>\n }\n </div>\n }\n </div>\n</div>\n" }]
36564
36564
  }] });
36565
36565
 
36566
36566
  /* 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 */
@@ -38258,17 +38258,17 @@ class HephaestusProfileMenuItemsComponent {
38258
38258
  }
38259
38259
  }
38260
38260
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusProfileMenuItemsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
38261
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusProfileMenuItemsComponent, isStandalone: false, selector: "[smz-ui-hephaestus-profile-menu-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
38262
- @for (item of items | isVisible; track item; let index = $index) {
38263
- <li>
38264
- <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38265
- @if (item.icon != null) {
38266
- <i class="fa-solid" [ngClass]="item.icon"></i>
38267
- }
38268
- <span>{{ item.label }}</span>
38269
- </a>
38270
- </li>
38271
- }
38261
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusProfileMenuItemsComponent, isStandalone: false, selector: "[smz-ui-hephaestus-profile-menu-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
38262
+ @for (item of items | isVisible; track item; let index = $index) {
38263
+ <li>
38264
+ <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38265
+ @if (item.icon != null) {
38266
+ <i class="fa-solid" [ngClass]="item.icon"></i>
38267
+ }
38268
+ <span>{{ item.label }}</span>
38269
+ </a>
38270
+ </li>
38271
+ }
38272
38272
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }, { kind: "pipe", type: IsVisiblePipe, name: "isVisible" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38273
38273
  }
38274
38274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusProfileMenuItemsComponent, decorators: [{
@@ -38277,17 +38277,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
38277
38277
  selector: '[smz-ui-hephaestus-profile-menu-items]',
38278
38278
  host: { '(document:click)': 'collapse($event)' },
38279
38279
  changeDetection: ChangeDetectionStrategy.OnPush,
38280
- template: `
38281
- @for (item of items | isVisible; track item; let index = $index) {
38282
- <li>
38283
- <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38284
- @if (item.icon != null) {
38285
- <i class="fa-solid" [ngClass]="item.icon"></i>
38286
- }
38287
- <span>{{ item.label }}</span>
38288
- </a>
38289
- </li>
38290
- }
38280
+ template: `
38281
+ @for (item of items | isVisible; track item; let index = $index) {
38282
+ <li>
38283
+ <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38284
+ @if (item.icon != null) {
38285
+ <i class="fa-solid" [ngClass]="item.icon"></i>
38286
+ }
38287
+ <span>{{ item.label }}</span>
38288
+ </a>
38289
+ </li>
38290
+ }
38291
38291
  `,
38292
38292
  standalone: false
38293
38293
  }]
@@ -38410,20 +38410,20 @@ class HephaestusNotificationItemsComponent {
38410
38410
  }
38411
38411
  }
38412
38412
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusNotificationItemsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
38413
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusNotificationItemsComponent, isStandalone: false, selector: "[smz-ui-hephaestus-notification-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
38414
- @for (item of items; track item; let index = $index) {
38415
- <li role="menuitem">
38416
- <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38417
- @if (item.icon != null) {
38418
- <i class="fa-solid" [ngClass]="item.icon"></i>
38419
- }
38420
- <div class="notification-item">
38421
- <div class="notification-summary">{{ item.summary }}</div>
38422
- <div class="notification-detail" [innerHtml]="item.details"></div>
38423
- </div>
38424
- </a>
38425
- </li>
38426
- }
38413
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusNotificationItemsComponent, isStandalone: false, selector: "[smz-ui-hephaestus-notification-items]", inputs: { items: "items" }, outputs: { onClose: "onClose" }, host: { listeners: { "document:click": "collapse($event)" } }, ngImport: i0, template: `
38414
+ @for (item of items; track item; let index = $index) {
38415
+ <li role="menuitem">
38416
+ <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38417
+ @if (item.icon != null) {
38418
+ <i class="fa-solid" [ngClass]="item.icon"></i>
38419
+ }
38420
+ <div class="notification-item">
38421
+ <div class="notification-summary">{{ item.summary }}</div>
38422
+ <div class="notification-detail" [innerHtml]="item.details"></div>
38423
+ </div>
38424
+ </a>
38425
+ </li>
38426
+ }
38427
38427
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38428
38428
  }
38429
38429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusNotificationItemsComponent, decorators: [{
@@ -38432,20 +38432,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
38432
38432
  selector: '[smz-ui-hephaestus-notification-items]',
38433
38433
  host: { '(document:click)': 'collapse($event)' },
38434
38434
  changeDetection: ChangeDetectionStrategy.OnPush,
38435
- template: `
38436
- @for (item of items; track item; let index = $index) {
38437
- <li role="menuitem">
38438
- <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38439
- @if (item.icon != null) {
38440
- <i class="fa-solid" [ngClass]="item.icon"></i>
38441
- }
38442
- <div class="notification-item">
38443
- <div class="notification-summary">{{ item.summary }}</div>
38444
- <div class="notification-detail" [innerHtml]="item.details"></div>
38445
- </div>
38446
- </a>
38447
- </li>
38448
- }
38435
+ template: `
38436
+ @for (item of items; track item; let index = $index) {
38437
+ <li role="menuitem">
38438
+ <a menuItemAction [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
38439
+ @if (item.icon != null) {
38440
+ <i class="fa-solid" [ngClass]="item.icon"></i>
38441
+ }
38442
+ <div class="notification-item">
38443
+ <div class="notification-summary">{{ item.summary }}</div>
38444
+ <div class="notification-detail" [innerHtml]="item.details"></div>
38445
+ </div>
38446
+ </a>
38447
+ </li>
38448
+ }
38449
38449
  `,
38450
38450
  standalone: false
38451
38451
  }]
@@ -38867,72 +38867,72 @@ class SmzLocalizationSwitchComponent {
38867
38867
  showSwitchLocalizationDialog();
38868
38868
  }
38869
38869
  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 });
38870
- 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: `
38871
- @if (showLocalizationSwitch) {
38872
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start">
38873
- <!-- LANDSCAPE -->
38874
- <ng-template smzTemplate="landscape">
38875
- <div class="h-full grid grid-nogutter items-center justify-center">
38876
- <ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
38877
- <ng-template smzTemplate="selectedItem">
38878
- @if (selected) {
38879
- <div class="flex align-items-center gap-2">
38880
- <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + selected.country.toLowerCase()" style="width: 18px"/>
38881
- <div>{{ selected.name }}</div>
38882
- </div>
38883
- }
38884
- </ng-template>
38885
- <ng-template let-locale smzTemplate="item">
38886
- <div class="flex align-items-center gap-2">
38887
- <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + locale.country.toLowerCase()" style="width: 18px"/>
38888
- <div>{{ locale.name }}</div>
38889
- </div>
38890
- </ng-template>
38891
- </ui-select>
38892
- </div>
38893
- </ng-template>
38894
- <!-- PORTRAIT -->
38895
- <ng-template smzTemplate="portrait">
38896
- <i class="fa-solid fa-repeat cursor-pointer text-2xl text-text-color switch-tenant" (click)="showSwitchDialog()">
38897
- </i>
38898
- </ng-template>
38899
- </smz-responsive>
38900
- }
38870
+ 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: `
38871
+ @if (showLocalizationSwitch) {
38872
+ <smz-responsive class="col grid grid-nogutter w-full items-center justify-start">
38873
+ <!-- LANDSCAPE -->
38874
+ <ng-template smzTemplate="landscape">
38875
+ <div class="h-full grid grid-nogutter items-center justify-center">
38876
+ <ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
38877
+ <ng-template smzTemplate="selectedItem">
38878
+ @if (selected) {
38879
+ <div class="flex align-items-center gap-2">
38880
+ <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + selected.country.toLowerCase()" style="width: 18px"/>
38881
+ <div>{{ selected.name }}</div>
38882
+ </div>
38883
+ }
38884
+ </ng-template>
38885
+ <ng-template let-locale smzTemplate="item">
38886
+ <div class="flex align-items-center gap-2">
38887
+ <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + locale.country.toLowerCase()" style="width: 18px"/>
38888
+ <div>{{ locale.name }}</div>
38889
+ </div>
38890
+ </ng-template>
38891
+ </ui-select>
38892
+ </div>
38893
+ </ng-template>
38894
+ <!-- PORTRAIT -->
38895
+ <ng-template smzTemplate="portrait">
38896
+ <i class="fa-solid fa-repeat cursor-pointer text-2xl text-text-color switch-tenant" (click)="showSwitchDialog()">
38897
+ </i>
38898
+ </ng-template>
38899
+ </smz-responsive>
38900
+ }
38901
38901
  `, isInline: true, styles: [".smz-localization-switch-small .p-inputtext{padding:.5rem .75rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "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: SmzResponsiveComponent, selector: "smz-responsive" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
38902
38902
  }
38903
38903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzLocalizationSwitchComponent, decorators: [{
38904
38904
  type: Component,
38905
- args: [{ selector: 'smz-localization-switch', imports: [CommonModule, SmzSelectComponent, FormsModule, SmzTemplateDirective, SmzResponsiveComponent], host: { class: 'h-full relative' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: `
38906
- @if (showLocalizationSwitch) {
38907
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start">
38908
- <!-- LANDSCAPE -->
38909
- <ng-template smzTemplate="landscape">
38910
- <div class="h-full grid grid-nogutter items-center justify-center">
38911
- <ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
38912
- <ng-template smzTemplate="selectedItem">
38913
- @if (selected) {
38914
- <div class="flex align-items-center gap-2">
38915
- <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + selected.country.toLowerCase()" style="width: 18px"/>
38916
- <div>{{ selected.name }}</div>
38917
- </div>
38918
- }
38919
- </ng-template>
38920
- <ng-template let-locale smzTemplate="item">
38921
- <div class="flex align-items-center gap-2">
38922
- <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + locale.country.toLowerCase()" style="width: 18px"/>
38923
- <div>{{ locale.name }}</div>
38924
- </div>
38925
- </ng-template>
38926
- </ui-select>
38927
- </div>
38928
- </ng-template>
38929
- <!-- PORTRAIT -->
38930
- <ng-template smzTemplate="portrait">
38931
- <i class="fa-solid fa-repeat cursor-pointer text-2xl text-text-color switch-tenant" (click)="showSwitchDialog()">
38932
- </i>
38933
- </ng-template>
38934
- </smz-responsive>
38935
- }
38905
+ args: [{ selector: 'smz-localization-switch', imports: [CommonModule, SmzSelectComponent, FormsModule, SmzTemplateDirective, SmzResponsiveComponent], host: { class: 'h-full relative' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: `
38906
+ @if (showLocalizationSwitch) {
38907
+ <smz-responsive class="col grid grid-nogutter w-full items-center justify-start">
38908
+ <!-- LANDSCAPE -->
38909
+ <ng-template smzTemplate="landscape">
38910
+ <div class="h-full grid grid-nogutter items-center justify-center">
38911
+ <ui-select appendTo="body" [options]="locales$ | async" styleClass="smz-tenant-switch-small" optionLabel="alias" dataKey="name" [(ngModel)]="selected" (changed)="onSelectorChange($event.value)">
38912
+ <ng-template smzTemplate="selectedItem">
38913
+ @if (selected) {
38914
+ <div class="flex align-items-center gap-2">
38915
+ <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + selected.country.toLowerCase()" style="width: 18px"/>
38916
+ <div>{{ selected.name }}</div>
38917
+ </div>
38918
+ }
38919
+ </ng-template>
38920
+ <ng-template let-locale smzTemplate="item">
38921
+ <div class="flex align-items-center gap-2">
38922
+ <img src="https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png" [class]="'flag flag-' + locale.country.toLowerCase()" style="width: 18px"/>
38923
+ <div>{{ locale.name }}</div>
38924
+ </div>
38925
+ </ng-template>
38926
+ </ui-select>
38927
+ </div>
38928
+ </ng-template>
38929
+ <!-- PORTRAIT -->
38930
+ <ng-template smzTemplate="portrait">
38931
+ <i class="fa-solid fa-repeat cursor-pointer text-2xl text-text-color switch-tenant" (click)="showSwitchDialog()">
38932
+ </i>
38933
+ </ng-template>
38934
+ </smz-responsive>
38935
+ }
38936
38936
  `, styles: [".smz-localization-switch-small .p-inputtext{padding:.5rem .75rem!important}\n"] }]
38937
38937
  }], ctorParameters: () => [{ type: i1$3.Store }] });
38938
38938
 
@@ -39695,11 +39695,11 @@ class HephaestusLayoutComponent {
39695
39695
  this.store.dispatch(new UiHephaestusActions.HideSidebar);
39696
39696
  }
39697
39697
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusLayoutComponent, deps: [{ token: HephaestusLayout }, { token: RouterDataListenerService }, { token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39698
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusLayoutComponent, isStandalone: false, selector: "smz-ui-hephaestus-layout", inputs: { menu: "menu", profile: "profile", notifications: "notifications" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<smz-ui-outlet>\r\n\r\n <ng-template smzTemplate=\"layout\">\r\n\r\n @if (state$ | async; as state) {\r\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\r\n <div class=\"layout-content-wrapper\" [ngClass]=\"{ 'sidebar-spacer': routerListener.data.layout.mode !== 'topbar-only' }\">\r\n <!-- MENU SUPERIOR -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\r\n <smz-ui-hephaestus-topbar [notifications]=\"notifications\" [profile]=\"profile\">\r\n @if (headerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtras\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-hephaestus-topbar>\r\n }\r\n <!-- CONTE\u00DADO -->\r\n <div class=\"layout-content {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\r\n <div class=\"p-component-overlay z-20 bg-black/40\" (click)=\"hideMenu()\"></div>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n <!-- FOOTER -->\r\n @if (routerListener.data.layout.mode === 'full') {\r\n @if (!routerListener.data.layout.hideFooter) {\r\n <smz-ui-hephaestus-footer>\r\n @if (footerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"footerExtras\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-hephaestus-footer>\r\n }\r\n }\r\n <!-- BARRA LATERAL -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\r\n <smz-ui-hephaestus-sidebar [menu]=\"menu\"></smz-ui-hephaestus-sidebar>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-template #content smzTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n\r\n</smz-ui-outlet>\r\n\r\n<smz-ui-hephaestus-assistance></smz-ui-hephaestus-assistance>", styles: [":root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--font-family: \"Nunito\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.clearfix:after{content:\" \";display:block;clear:both}.card{background:#fff;padding:1.25rem;border:0 none;margin-bottom:2rem;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;border-radius:4px}.card:last-child{margin-bottom:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:600;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:4px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}@-webkit-keyframes fade-in-up{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(0,20px)}}@keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}.fade-in-up{-webkit-animation-name:fade-in-up;animation-name:fade-in-up}.fade-out-down{-webkit-animation-name:fade-out-down;animation-name:fade-out-down}@-webkit-keyframes fade-in-right{0%{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translateX(0,20px)}}@keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}}.fade-in-right{-webkit-animation-name:fade-in-right;animation-name:fade-in-right}.fade-out-right{-webkit-animation-name:fade-out-right;animation-name:fade-out-right}@-webkit-keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}@keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}.modal-in{-webkit-animation-name:modal-in;animation-name:modal-in}.loader-container{display:flex;width:100%;height:100%;overflow:hidden;min-height:100vh;background:#343a40}.loader{position:relative;margin:auto}.middle{top:0;left:0;width:40px;height:2px;background:#fff;position:absolute;animation:middleAnimation 2s infinite linear;animation-delay:-.1s}.bottom{top:0;left:0;position:absolute;height:30px;width:2px;background:#fff;border-radius:2px;transform-origin:bottom;transform:rotate(45deg);animation:bottomAnimation 4s infinite}.bottom:nth-child(1){animation-delay:-1s}.bottom:nth-child(2){animation-delay:-2s}.bottom:nth-child(3){animation-delay:-3s}.bottom-section{position:absolute;transform:translateY(-16px)}.top-section{position:absolute;transform:translateY(16px);transform:scaleY(-1)}@keyframes bottomAnimation{0%{transform:rotate(45deg) scaleY(1)}25%{transform:rotate(0) scaleY(.7)}50%{transform:rotate(-45deg) scaleY(1)}75%{transform:rotate(0) scaleY(.7)}to{transform:rotate(45deg) scaleY(1)}}@keyframes middleAnimation{0%{transform:translate(-19px,-9px) scaleX(1)}25%{transform:translate(-19px,-9px) scaleX(.6)}50%{transform:translate(-19px,-9px) scaleX(1)}75%{transform:translate(-19px,-9px) scaleX(.7)}to{transform:translate(-19px,-9px) scaleX(1)}}*{box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-weight:400;color:var(--text-color);padding:0;margin:0;min-height:100%;background:var(--surface-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:#1976d2}.layout-mask{display:none;position:fixed;top:0;left:0;z-index:998;width:100%;height:100%;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99);animation-fill-mode:forwards}.layout-ajax-loader-icon{position:fixed;right:2rem;bottom:2rem;font-size:2rem;color:var(--text-color-secondary)}.layout-topbar{background:var(--surface-e);height:var(--layout-topbar-height);padding:0 2rem;border-bottom:1px solid var(--surface-f);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;color:var(--text-color)}.layout-topbar .topbar-left{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .menu-button{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;background:var(--surface-b);transition:background-color .2s,box-shadow .2s;display:block;cursor:pointer;outline:0 none}.layout-topbar .menu-button:hover{background:var(--surface-c)}.layout-topbar .menu-button:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .menu-button i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-separator{display:block;width:1px;border-left:1px solid var(--surface-d);align-self:stretch;margin:0 1rem}.layout-topbar .mobile-logo{display:none}.layout-topbar .viewname{font-weight:600;font-size:1.25rem}.layout-topbar .topbar-menu{margin:0;padding:0;list-style-type:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .topbar-menu>li{margin-left:1rem;position:relative}.layout-topbar .topbar-menu>li:first{margin-left:0}.layout-topbar .topbar-menu>li.profile-item{padding:0 1rem;border-left:1px solid var(--surface-d);border-right:1px solid var(--surface-d)}.layout-topbar .topbar-menu>li.profile-item>a{width:auto;height:auto;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.875rem;font-weight:600;padding:0 .5rem 0 0}.layout-topbar .topbar-menu>li.profile-item .profile-image{width:2.5rem;height:2.5rem;margin:0}.layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-topbar .topbar-menu>li.right-sidebar-item>a{background:var(--surface-b)}.layout-topbar .topbar-menu>li>a{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;transition:background-color .2s,box-shadow .2s;display:block;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;outline:0 none}.layout-topbar .topbar-menu>li>a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>a:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .topbar-menu>li>a i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-menu>li>a .topbar-badge{position:absolute;display:block;right:0;top:0;width:1rem;height:1rem;line-height:1rem;font-size:.714rem;border-radius:50%;font-weight:600;background:var(--primary-color);color:var(--primary-color-text)}.layout-topbar .topbar-menu>li>ul{display:none;position:absolute;background:var(--surface-a);list-style:none;margin:0;padding:1rem;top:3.25rem;right:0;z-index:999;min-width:250px;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;animation-duration:.12s;animation-timing-function:cubic-bezier(0,0,.2,1);border-radius:4px;transform-origin:center top}.layout-topbar .topbar-menu>li>ul li a{color:var(--text-color);padding:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:4px;transition:background-color .2s;cursor:pointer}.layout-topbar .topbar-menu>li>ul li a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-item{margin-left:.5rem}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-summary{font-weight:600}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-detail{color:var(--text-color-secondary)}.layout-topbar .topbar-menu>li>ul.profile-menu span{margin-left:.5rem}.layout-topbar .topbar-menu>li.active-menuitem>ul{display:block}.layout-sidebar{width:var(--sidebar-width);height:100%;position:fixed;left:0;top:0;overflow:hidden;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-user-select:none;user-select:none;transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar .logo{text-align:center;display:block;outline:0 none;padding:1rem;margin-left:1rem;margin-right:1rem;transition:background-color .2s,box-shadow .2s}.layout-sidebar .logo-image{width:2rem;height:2rem;vertical-align:middle;margin-right:.5rem}.layout-sidebar .app-name{vertical-align:middle;font-size:1.5rem;letter-spacing:.2px}.layout-menu-container{overflow:auto;flex:1;padding:1rem}.layout-menu{margin:0;padding:0;list-style-type:none}.layout-menu .menu-separator{margin:1rem 0}.layout-menu .layout-root-menuitem>.layout-menuitem-root-text{font-size:.857rem;text-transform:uppercase;font-weight:700;padding:.5rem 0 1rem}.layout-menu .layout-root-menuitem>a{display:none}.layout-menu .layout-root-menuitem .layout-menu-tooltip{display:none}.layout-menu ul{margin:0;padding:0;list-style-type:none}.layout-menu ul a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;padding:.5rem;font-size:1rem;border-radius:4px;outline:0 none;cursor:pointer;transition:background-color .2s,box-shadow .2s}.layout-menu ul a .layout-menuitem-icon{margin-right:.5rem}.layout-menu ul a .layout-submenu-toggler{font-size:75%;margin-left:auto;transition:transform .2s}.layout-menu ul a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-menu ul a.active-route{font-weight:700}.layout-menu ul li.active-menuitem{border-radius:4px}.layout-menu ul li.active-menuitem>a .layout-submenu-toggler{transform:rotate(-180deg)}.layout-menu ul ul{overflow:hidden;border-radius:4px}.layout-menu ul ul li a{padding-left:1.5rem}.layout-menu ul ul li li a{padding-left:2.5rem}.layout-menu ul ul li li li a{padding-left:3.5rem}.layout-menu ul ul li li li li a{padding-left:4.5rem}.layout-menu ul ul li li li li li a{padding-left:5.5rem}.layout-menu ul ul li li li li li li a{padding-left:6.5rem}@media screen and (min-width:992px){.layout-wrapper.layout-slim .topbar-left .menu-button,.layout-wrapper.layout-slim .topbar-left .topbar-separator{display:none}.layout-wrapper.layout-slim .layout-sidebar{width:var(--sidebar-slim-width);overflow:visible;z-index:999}.layout-wrapper.layout-slim .layout-sidebar .logo-image{margin-right:0}.layout-wrapper.layout-slim .layout-sidebar .app-name{display:none}.layout-wrapper.layout-slim .layout-sidebar .layout-menu-container{overflow:visible}.layout-wrapper.layout-slim .layout-content-wrapper.sidebar-spacer{margin-left:var(--sidebar-slim-width)}.layout-wrapper.layout-slim .layout-menu ul{display:none}.layout-wrapper.layout-slim .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem{position:relative;border-radius:4px}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a{display:block;text-align:center;border-radius:4px;padding:.5rem 0;cursor:pointer;outline:none;transition:background-color .2s}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-submenu-toggler{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-icon{font-size:1.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-text{font-size:.875rem;display:block;margin-top:.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>ul{position:absolute;left:5rem;top:0;min-width:15rem;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;border-top-right-radius:4px;border-bottom-right-radius:4px;padding:1rem;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99)}}.layout-sidebar-right{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar-right.layout-sidebar-right-active{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;transform:translate(0)}.layout-sidebar-right p{font-size:.875rem;color:var(--text-color-secondary)}.layout-sidebar-right .withdraw{margin-top:-.5rem;margin-left:-.5rem;margin-right:-.5rem}.layout-sidebar-right .withdraw>div{padding:.5rem}.layout-sidebar-right .withdraw input,.layout-sidebar-right .withdraw button{font-size:.875rem}.layout-content-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;min-height:100vh;transition:margin-left .4s cubic-bezier(.05,.74,.2,.99)}.layout-content{flex:1 1 auto;-ms-flex:1 1 auto;position:relative}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media screen and (min-width:992px){.layout-wrapper.layout-static .layout-content-wrapper{margin-left:var(--sidebar-width)}.layout-wrapper.layout-static-inactive .layout-sidebar{transform:translate(-100%)}.layout-wrapper.layout-static-inactive .layout-content-wrapper,.layout-wrapper.layout-overlay .layout-content-wrapper{margin-left:0}.layout-wrapper.layout-overlay .layout-sidebar{z-index:999;transform:translate(-100%);box-shadow:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-sidebar{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}}@media screen and (max-width:991px){.blocked-scroll{overflow:hidden}.layout-wrapper .layout-topbar{height:8.125rem;-ms-flex-wrap:wrap;flex-wrap:wrap;position:fixed;left:0;top:0;width:100%;z-index:998;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.layout-wrapper .layout-topbar .topbar-left{width:100%;padding:.5rem 0;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.layout-wrapper .layout-topbar .topbar-left .topbar-separator{display:none}.layout-wrapper .layout-topbar .topbar-right{width:100%;padding:.5rem 0}.layout-wrapper .layout-topbar .mobile-logo{display:block;width:2rem;height:2rem}.layout-wrapper .layout-topbar .viewname{font-size:1rem}.layout-wrapper .layout-topbar .topbar-menu{-ms-flex-pack:justify;justify-content:space-between}.layout-wrapper .layout-topbar .topbar-menu>li{margin-left:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item{border-left:0;border-right:0;padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item>a{padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-image{width:2rem;height:2rem;margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-name{display:none}.layout-wrapper .layout-topbar .topbar-menu>li>ul{top:2.75rem}.layout-wrapper .layout-content-wrapper{margin-left:0;padding-top:7.125rem}.layout-wrapper .layout-sidebar{z-index:999;box-shadow:0 0 1rem #00000026;transform:translate(-100%)}.layout-wrapper.layout-mobile-active .layout-sidebar{transform:translate(0)}.layout-wrapper.layout-mobile-active .layout-mask{display:block}.layout-wrapper .layout-search .search-container{width:75vw}}@media screen and (max-width:576px){.layout-wrapper .layout-topbar .topbar-menu>li{position:static}.layout-wrapper .layout-topbar .topbar-menu>li>ul{position:fixed;top:7.125rem;left:0;width:100%;right:auto}}.layout-search{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;display:-ms-flexbox;display:flex;position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:999999;pointer-events:none}.layout-search .search-container{background:#adb5bd;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1.5rem;padding:2rem;width:50vw;border-radius:.625rem;position:relative;box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;border:0 none;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:all}.layout-search .search-container input{appearance:none;font-size:1.5rem;text-indent:2.5rem;padding:.5rem;width:100%}.layout-search .search-container i{color:var(--text-color-secondary);width:2rem;font-size:1.5rem;position:absolute;top:50%;margin-top:-.75rem;margin-left:1rem}.login-body{background:var(--surface-b);color:var(--text-color)}.login-body .login-wrapper{display:-ms-flexbox;display:flex;height:100vh}.login-body .login-wrapper .login-panel{width:30%;height:100%;text-align:center;padding:40px 20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .logo{height:50px}.login-body .login-wrapper .login-panel .login-form{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .login-form>p{font-weight:600;margin:0 0 32px;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel .login-form>p>a{color:#1976d2;cursor:pointer}.login-body .login-wrapper .login-panel .login-form>input{width:85%;max-width:310px;margin-bottom:20px}.login-body .login-wrapper .login-panel .login-form>button{width:85%;max-width:310px}.login-body .login-wrapper .login-panel p{font-weight:600;margin:0;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel p>a{color:#1976d2}.login-body .login-wrapper .login-image{width:70%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column;padding:40px 20px}.login-body .login-wrapper .login-image .login-image-content>h1{font-size:60px;margin:0;color:#fff}.login-body .login-wrapper .login-image .login-image-content h3{font-size:24px;color:#fff;margin:32px 0 0;font-weight:600}.login-body .login-wrapper .login-image .image-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer>p{font-weight:600;margin:0 20px 0 0;color:#fff}.login-body .login-wrapper .login-image .image-footer .icons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer .icons i{font-size:22px;color:#2196f3;margin-right:20px;cursor:pointer;height:32px;width:32px;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:opacity .2s;background:#fff;opacity:.7}.login-body .login-wrapper .login-image .image-footer .icons i:hover{opacity:1}.invoice{padding:2rem}.invoice .invoice-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0;padding:0;margin:0}}.widget-overview-box{min-height:6rem;position:relative;border-left:4px solid}.widget-overview-box .overview-title{font-weight:600;font-size:1.25rem;vertical-align:middle;margin-left:.5rem}.widget-overview-box .overview-icon{display:inline-block;border-radius:4px;width:2em;height:2rem;line-height:2rem;text-align:center;vertical-align:middle}.widget-overview-box .overview-icon i{font-size:1rem;line-height:inherit}.widget-overview-box .overview-detail{text-align:center;margin-top:1rem}.widget-overview-box .overview-detail .col-6{padding:.5rem}.widget-overview-box .overview-number{font-size:1.5rem;font-weight:600}.widget-overview-box .overview-subtext{color:var(--text-color-secondary);font-weight:600;margin-top:.25rem}.widget-overview-box .col-6:first-child{border-right:1px solid var(--surface-d)}.widget-overview-box.widget-overview-box-1{border-left-color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-title{color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-icon{background:#64b5f6;color:#1976d2}.widget-overview-box.widget-overview-box-2{border-left-color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-title{color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-icon{background:#7986cb;color:#303f9f}.widget-overview-box.widget-overview-box-3{border-left-color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-title{color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-icon{background:#4db6ac;color:#00796b}.widget-overview-box.widget-overview-box-4{border-left-color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-title{color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-icon{background:#4dd0e1;color:#0097a7}.widget-tasks .task{padding:1rem 0}.widget-tasks .task-name{margin-bottom:.5rem}.widget-tasks .task-name span{font-weight:600}.widget-tasks .task-progress{border-radius:4px;height:.5rem;background:var(--surface-d)}.widget-tasks .task-progress>div{border-radius:4px;height:100%}.widget-tasks .task-1 .task-progress>div{background:#64b5f6;width:75%}.widget-tasks .task-2 .task-progress>div{background:#a5d6a7;width:60%}.widget-tasks .task-3 .task-progress>div{background:#7986cb;width:80%}.widget-tasks .task-4 .task-progress>div{background:#9575cd;width:40%}.widget-tasks .task-5 .task-progress>div{background:#4db6ac;width:50%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-feature-box{height:100%;text-align:center;padding:2rem}.widget-feature-box>img{margin-bottom:32px}.widget-feature-box>h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text-color)}.widget-feature-box span{padding:0 20px;font-size:14px;display:block;color:var(--text-color-secondary)}.widget-pricing-card{border-radius:4px;background:#1f8ce3;color:#fff;text-align:center;padding:2rem;box-shadow:0 4px 10px #00000080}.widget-pricing-card.deal{background-image:linear-gradient(45deg,#105da1,#1f8ce3)}.widget-pricing-card>span{display:block;font-size:1.25rem;margin:0 0 .5rem}.widget-pricing-card>ul{list-style-type:none;padding:0}.widget-pricing-card>ul>li{display:block;font-size:1rem;margin:0 0 .75rem}.widget-pricing-card>a{padding:.5rem 2rem;margin-top:1.75rem;display:block;color:#fff;margin:1.75rem auto 0;font-weight:600;width:10rem;border-radius:4px;transition:background-color .2s;background-color:#ffffff1a;cursor:pointer}.widget-pricing-card>a>span{display:block;padding:0}.widget-pricing-card>a:hover{background-color:#fff3}.widget-timeline .timeline-event{padding:0 1rem 1rem;border-left:1px solid var(--surface-d);position:relative;margin-left:.5rem}.widget-timeline .timeline-event-icon{position:absolute;left:0;top:.125rem;transform:translate(-50%);color:var(--text-color-secondary);border-radius:50%;width:2rem;height:2rem;line-height:2rem;color:#fff;text-align:center}.widget-timeline .timeline-event-icon i{line-height:inherit}.widget-timeline .timeline-event-title{font-weight:600;margin:0 0 .5rem .5rem}.widget-timeline .timeline-event-detail{font-size:.875rem;color:var(--text-color-secondary);margin-left:.5rem}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:-ms-flexbox;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:4px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;color:#121212;background:#dff0d8;border:solid 1px #d6e9c6}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;color:#121212;background:#d9edf7;border:solid 1px #bce8f1}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-person-list{margin:0;padding:0;list-style-type:none}.widget-person-list>li{display:-ms-flexbox;display:flex;padding:1rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.widget-person-list>li:last-child{border-bottom:0 none}.widget-person-list>li .person-item{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.widget-person-list>li .person-item img{margin-right:.5rem;width:4rem;height:4rem}.widget-person-list>li .person-item .person-name{font-size:1.25rem;font-weight:700}.widget-person-list>li .person-item .person-subtext{color:var(--text-color-secondary)}.widget-person-list>li .person-actions button{margin-right:.5rem}.widget-person-list>li .person-actions button:last-child{margin-right:0}.widget-user-card{padding:0;text-align:center}.widget-user-card .user-card-header{position:relative;height:200px;background-size:cover}.widget-user-card .user-card-avatar{position:absolute;left:50%;bottom:0;width:8rem;height:8rem;margin-left:-4rem;margin-bottom:-4rem;border-radius:50%}.widget-user-card .user-card-body{padding:6em 2rem 2rem}.widget-user-card .user-card-title{font-size:1.5rem;font-weight:700}.widget-user-card .user-card-subtext{color:var(--text-color-secondary)}.widget-user-card .user-card-stats{margin-top:2rem}.widget-user-card .user-card-stats i{font-size:2rem;color:var(--text-color-secondary)}.widget-user-card .user-card-stats span{font-size:1.25rem;font-weight:600;margin-top:.5rem}.layout-config{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-config.layout-config-active{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.layout-config.layout-config-active .layout-config-content .layout-config-button i{transform:rotate(360deg)}.layout-config p{line-height:1.5rem;color:var(--text-color-secondary)}.layout-config .layout-themes{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.layout-config .layout-themes>div{padding:.25rem}.layout-config .layout-themes a{width:2rem;height:2rem;border-radius:4px;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:transform .2s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-themes a i{font-size:1rem;position:absolute;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-themes a:hover{transform:scale(1.1)}.layout-config-button{display:block;position:fixed;width:3rem;height:3rem;line-height:3rem;background:var(--primary-color);color:var(--primary-color-text);text-align:center;margin-top:-1.5rem;transition:background-color .2s;overflow:hidden;cursor:pointer;z-index:999;box-shadow:-.25rem 0 1rem #00000026}.layout-config-button.left-bottom{top:80%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-center{top:50%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-top{top:20%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.right-bottom{top:80%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-center{top:50%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-top{top:20%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button i{font-size:2rem;line-height:inherit;transform:rotate(0);transition:transform 1s}.layout-config-button:hover{background:var(--primary-color);filter:brightness(.8)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar{background:var(--primary-color);border-right:0 none;background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}.layout-sidebar-schema-light .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .app-name{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--primary-color-text);font-weight:700}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar{background:var(--dimmed-700);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-700) 10%,var(--dimmed-800) 100%)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar{background:var(--surface-overlay);border-right:0 none;background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}.layout-sidebar-schema-dark .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .app-name{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--color-text);font-weight:700}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar{background:var(--dimmed-800);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-800) 10%,var(--dimmed-900) 100%)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-wrapper.layout-slim .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-overlay.layout-overlay-inactive .layout-content-wrapper .p-component-overlay{display:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-content-wrapper .p-component-overlay{display:block}@media screen and (max-width:991px){.layout-wrapper.layout-slim.layout-mobile-active .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static.layout-mobile-active .layout-content-wrapper .p-component-overlay{display:block}}\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: OutletComponent, selector: "smz-ui-outlet", inputs: ["menu"] }, { kind: "component", type: HephaestusTopbarComponent, selector: "smz-ui-hephaestus-topbar", inputs: ["notifications", "profile"] }, { kind: "component", type: HephaestusSidebarComponent, selector: "smz-ui-hephaestus-sidebar", inputs: ["menu"] }, { kind: "component", type: HephaestusFooterComponent, selector: "smz-ui-hephaestus-footer" }, { kind: "component", type: HephaestusAssistanceComponent, selector: "smz-ui-hephaestus-assistance" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
39698
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: HephaestusLayoutComponent, isStandalone: false, selector: "smz-ui-hephaestus-layout", inputs: { menu: "menu", profile: "profile", notifications: "notifications" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<smz-ui-outlet>\n\n <ng-template smzTemplate=\"layout\">\n\n @if (state$ | async; as state) {\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\n <div class=\"layout-content-wrapper\" [ngClass]=\"{ 'sidebar-spacer': routerListener.data.layout.mode !== 'topbar-only' }\">\n <!-- MENU SUPERIOR -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\n <smz-ui-hephaestus-topbar [notifications]=\"notifications\" [profile]=\"profile\">\n @if (headerExtrasTemplate != null) {\n <ng-template smzTemplate=\"headerExtras\">\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-hephaestus-topbar>\n }\n <!-- CONTE\u00DADO -->\n <div class=\"layout-content {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\n <div class=\"p-component-overlay z-20 bg-black/40\" (click)=\"hideMenu()\"></div>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <!-- FOOTER -->\n @if (routerListener.data.layout.mode === 'full') {\n @if (!routerListener.data.layout.hideFooter) {\n <smz-ui-hephaestus-footer>\n @if (footerExtrasTemplate != null) {\n <ng-template smzTemplate=\"footerExtras\">\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-hephaestus-footer>\n }\n }\n <!-- BARRA LATERAL -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\n <smz-ui-hephaestus-sidebar [menu]=\"menu\"></smz-ui-hephaestus-sidebar>\n }\n </div>\n </div>\n }\n\n </ng-template>\n\n <ng-template #content smzTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n\n</smz-ui-outlet>\n\n<smz-ui-hephaestus-assistance></smz-ui-hephaestus-assistance>", styles: [":root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--font-family: \"Nunito\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.clearfix:after{content:\" \";display:block;clear:both}.card{background:#fff;padding:1.25rem;border:0 none;margin-bottom:2rem;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;border-radius:4px}.card:last-child{margin-bottom:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:600;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:4px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}@-webkit-keyframes fade-in-up{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(0,20px)}}@keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}.fade-in-up{-webkit-animation-name:fade-in-up;animation-name:fade-in-up}.fade-out-down{-webkit-animation-name:fade-out-down;animation-name:fade-out-down}@-webkit-keyframes fade-in-right{0%{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translateX(0,20px)}}@keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}}.fade-in-right{-webkit-animation-name:fade-in-right;animation-name:fade-in-right}.fade-out-right{-webkit-animation-name:fade-out-right;animation-name:fade-out-right}@-webkit-keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}@keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}.modal-in{-webkit-animation-name:modal-in;animation-name:modal-in}.loader-container{display:flex;width:100%;height:100%;overflow:hidden;min-height:100vh;background:#343a40}.loader{position:relative;margin:auto}.middle{top:0;left:0;width:40px;height:2px;background:#fff;position:absolute;animation:middleAnimation 2s infinite linear;animation-delay:-.1s}.bottom{top:0;left:0;position:absolute;height:30px;width:2px;background:#fff;border-radius:2px;transform-origin:bottom;transform:rotate(45deg);animation:bottomAnimation 4s infinite}.bottom:nth-child(1){animation-delay:-1s}.bottom:nth-child(2){animation-delay:-2s}.bottom:nth-child(3){animation-delay:-3s}.bottom-section{position:absolute;transform:translateY(-16px)}.top-section{position:absolute;transform:translateY(16px);transform:scaleY(-1)}@keyframes bottomAnimation{0%{transform:rotate(45deg) scaleY(1)}25%{transform:rotate(0) scaleY(.7)}50%{transform:rotate(-45deg) scaleY(1)}75%{transform:rotate(0) scaleY(.7)}to{transform:rotate(45deg) scaleY(1)}}@keyframes middleAnimation{0%{transform:translate(-19px,-9px) scaleX(1)}25%{transform:translate(-19px,-9px) scaleX(.6)}50%{transform:translate(-19px,-9px) scaleX(1)}75%{transform:translate(-19px,-9px) scaleX(.7)}to{transform:translate(-19px,-9px) scaleX(1)}}*{box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-weight:400;color:var(--text-color);padding:0;margin:0;min-height:100%;background:var(--surface-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:#1976d2}.layout-mask{display:none;position:fixed;top:0;left:0;z-index:998;width:100%;height:100%;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99);animation-fill-mode:forwards}.layout-ajax-loader-icon{position:fixed;right:2rem;bottom:2rem;font-size:2rem;color:var(--text-color-secondary)}.layout-topbar{background:var(--surface-e);height:var(--layout-topbar-height);padding:0 2rem;border-bottom:1px solid var(--surface-f);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;color:var(--text-color)}.layout-topbar .topbar-left{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .menu-button{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;background:var(--surface-b);transition:background-color .2s,box-shadow .2s;display:block;cursor:pointer;outline:0 none}.layout-topbar .menu-button:hover{background:var(--surface-c)}.layout-topbar .menu-button:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .menu-button i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-separator{display:block;width:1px;border-left:1px solid var(--surface-d);align-self:stretch;margin:0 1rem}.layout-topbar .mobile-logo{display:none}.layout-topbar .viewname{font-weight:600;font-size:1.25rem}.layout-topbar .topbar-menu{margin:0;padding:0;list-style-type:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .topbar-menu>li{margin-left:1rem;position:relative}.layout-topbar .topbar-menu>li:first{margin-left:0}.layout-topbar .topbar-menu>li.profile-item{padding:0 1rem;border-left:1px solid var(--surface-d);border-right:1px solid var(--surface-d)}.layout-topbar .topbar-menu>li.profile-item>a{width:auto;height:auto;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.875rem;font-weight:600;padding:0 .5rem 0 0}.layout-topbar .topbar-menu>li.profile-item .profile-image{width:2.5rem;height:2.5rem;margin:0}.layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-topbar .topbar-menu>li.right-sidebar-item>a{background:var(--surface-b)}.layout-topbar .topbar-menu>li>a{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;transition:background-color .2s,box-shadow .2s;display:block;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;outline:0 none}.layout-topbar .topbar-menu>li>a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>a:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .topbar-menu>li>a i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-menu>li>a .topbar-badge{position:absolute;display:block;right:0;top:0;width:1rem;height:1rem;line-height:1rem;font-size:.714rem;border-radius:50%;font-weight:600;background:var(--primary-color);color:var(--primary-color-text)}.layout-topbar .topbar-menu>li>ul{display:none;position:absolute;background:var(--surface-a);list-style:none;margin:0;padding:1rem;top:3.25rem;right:0;z-index:999;min-width:250px;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;animation-duration:.12s;animation-timing-function:cubic-bezier(0,0,.2,1);border-radius:4px;transform-origin:center top}.layout-topbar .topbar-menu>li>ul li a{color:var(--text-color);padding:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:4px;transition:background-color .2s;cursor:pointer}.layout-topbar .topbar-menu>li>ul li a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-item{margin-left:.5rem}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-summary{font-weight:600}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-detail{color:var(--text-color-secondary)}.layout-topbar .topbar-menu>li>ul.profile-menu span{margin-left:.5rem}.layout-topbar .topbar-menu>li.active-menuitem>ul{display:block}.layout-sidebar{width:var(--sidebar-width);height:100%;position:fixed;left:0;top:0;overflow:hidden;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-user-select:none;user-select:none;transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar .logo{text-align:center;display:block;outline:0 none;padding:1rem;margin-left:1rem;margin-right:1rem;transition:background-color .2s,box-shadow .2s}.layout-sidebar .logo-image{width:2rem;height:2rem;vertical-align:middle;margin-right:.5rem}.layout-sidebar .app-name{vertical-align:middle;font-size:1.5rem;letter-spacing:.2px}.layout-menu-container{overflow:auto;flex:1;padding:1rem}.layout-menu{margin:0;padding:0;list-style-type:none}.layout-menu .menu-separator{margin:1rem 0}.layout-menu .layout-root-menuitem>.layout-menuitem-root-text{font-size:.857rem;text-transform:uppercase;font-weight:700;padding:.5rem 0 1rem}.layout-menu .layout-root-menuitem>a{display:none}.layout-menu .layout-root-menuitem .layout-menu-tooltip{display:none}.layout-menu ul{margin:0;padding:0;list-style-type:none}.layout-menu ul a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;padding:.5rem;font-size:1rem;border-radius:4px;outline:0 none;cursor:pointer;transition:background-color .2s,box-shadow .2s}.layout-menu ul a .layout-menuitem-icon{margin-right:.5rem}.layout-menu ul a .layout-submenu-toggler{font-size:75%;margin-left:auto;transition:transform .2s}.layout-menu ul a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-menu ul a.active-route{font-weight:700}.layout-menu ul li.active-menuitem{border-radius:4px}.layout-menu ul li.active-menuitem>a .layout-submenu-toggler{transform:rotate(-180deg)}.layout-menu ul ul{overflow:hidden;border-radius:4px}.layout-menu ul ul li a{padding-left:1.5rem}.layout-menu ul ul li li a{padding-left:2.5rem}.layout-menu ul ul li li li a{padding-left:3.5rem}.layout-menu ul ul li li li li a{padding-left:4.5rem}.layout-menu ul ul li li li li li a{padding-left:5.5rem}.layout-menu ul ul li li li li li li a{padding-left:6.5rem}@media screen and (min-width:992px){.layout-wrapper.layout-slim .topbar-left .menu-button,.layout-wrapper.layout-slim .topbar-left .topbar-separator{display:none}.layout-wrapper.layout-slim .layout-sidebar{width:var(--sidebar-slim-width);overflow:visible;z-index:999}.layout-wrapper.layout-slim .layout-sidebar .logo-image{margin-right:0}.layout-wrapper.layout-slim .layout-sidebar .app-name{display:none}.layout-wrapper.layout-slim .layout-sidebar .layout-menu-container{overflow:visible}.layout-wrapper.layout-slim .layout-content-wrapper.sidebar-spacer{margin-left:var(--sidebar-slim-width)}.layout-wrapper.layout-slim .layout-menu ul{display:none}.layout-wrapper.layout-slim .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem{position:relative;border-radius:4px}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a{display:block;text-align:center;border-radius:4px;padding:.5rem 0;cursor:pointer;outline:none;transition:background-color .2s}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-submenu-toggler{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-icon{font-size:1.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-text{font-size:.875rem;display:block;margin-top:.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>ul{position:absolute;left:5rem;top:0;min-width:15rem;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;border-top-right-radius:4px;border-bottom-right-radius:4px;padding:1rem;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99)}}.layout-sidebar-right{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar-right.layout-sidebar-right-active{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;transform:translate(0)}.layout-sidebar-right p{font-size:.875rem;color:var(--text-color-secondary)}.layout-sidebar-right .withdraw{margin-top:-.5rem;margin-left:-.5rem;margin-right:-.5rem}.layout-sidebar-right .withdraw>div{padding:.5rem}.layout-sidebar-right .withdraw input,.layout-sidebar-right .withdraw button{font-size:.875rem}.layout-content-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;min-height:100vh;transition:margin-left .4s cubic-bezier(.05,.74,.2,.99)}.layout-content{flex:1 1 auto;-ms-flex:1 1 auto;position:relative}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media screen and (min-width:992px){.layout-wrapper.layout-static .layout-content-wrapper{margin-left:var(--sidebar-width)}.layout-wrapper.layout-static-inactive .layout-sidebar{transform:translate(-100%)}.layout-wrapper.layout-static-inactive .layout-content-wrapper,.layout-wrapper.layout-overlay .layout-content-wrapper{margin-left:0}.layout-wrapper.layout-overlay .layout-sidebar{z-index:999;transform:translate(-100%);box-shadow:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-sidebar{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}}@media screen and (max-width:991px){.blocked-scroll{overflow:hidden}.layout-wrapper .layout-topbar{height:8.125rem;-ms-flex-wrap:wrap;flex-wrap:wrap;position:fixed;left:0;top:0;width:100%;z-index:998;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.layout-wrapper .layout-topbar .topbar-left{width:100%;padding:.5rem 0;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.layout-wrapper .layout-topbar .topbar-left .topbar-separator{display:none}.layout-wrapper .layout-topbar .topbar-right{width:100%;padding:.5rem 0}.layout-wrapper .layout-topbar .mobile-logo{display:block;width:2rem;height:2rem}.layout-wrapper .layout-topbar .viewname{font-size:1rem}.layout-wrapper .layout-topbar .topbar-menu{-ms-flex-pack:justify;justify-content:space-between}.layout-wrapper .layout-topbar .topbar-menu>li{margin-left:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item{border-left:0;border-right:0;padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item>a{padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-image{width:2rem;height:2rem;margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-name{display:none}.layout-wrapper .layout-topbar .topbar-menu>li>ul{top:2.75rem}.layout-wrapper .layout-content-wrapper{margin-left:0;padding-top:7.125rem}.layout-wrapper .layout-sidebar{z-index:999;box-shadow:0 0 1rem #00000026;transform:translate(-100%)}.layout-wrapper.layout-mobile-active .layout-sidebar{transform:translate(0)}.layout-wrapper.layout-mobile-active .layout-mask{display:block}.layout-wrapper .layout-search .search-container{width:75vw}}@media screen and (max-width:576px){.layout-wrapper .layout-topbar .topbar-menu>li{position:static}.layout-wrapper .layout-topbar .topbar-menu>li>ul{position:fixed;top:7.125rem;left:0;width:100%;right:auto}}.layout-search{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;display:-ms-flexbox;display:flex;position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:999999;pointer-events:none}.layout-search .search-container{background:#adb5bd;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1.5rem;padding:2rem;width:50vw;border-radius:.625rem;position:relative;box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;border:0 none;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:all}.layout-search .search-container input{appearance:none;font-size:1.5rem;text-indent:2.5rem;padding:.5rem;width:100%}.layout-search .search-container i{color:var(--text-color-secondary);width:2rem;font-size:1.5rem;position:absolute;top:50%;margin-top:-.75rem;margin-left:1rem}.login-body{background:var(--surface-b);color:var(--text-color)}.login-body .login-wrapper{display:-ms-flexbox;display:flex;height:100vh}.login-body .login-wrapper .login-panel{width:30%;height:100%;text-align:center;padding:40px 20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .logo{height:50px}.login-body .login-wrapper .login-panel .login-form{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .login-form>p{font-weight:600;margin:0 0 32px;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel .login-form>p>a{color:#1976d2;cursor:pointer}.login-body .login-wrapper .login-panel .login-form>input{width:85%;max-width:310px;margin-bottom:20px}.login-body .login-wrapper .login-panel .login-form>button{width:85%;max-width:310px}.login-body .login-wrapper .login-panel p{font-weight:600;margin:0;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel p>a{color:#1976d2}.login-body .login-wrapper .login-image{width:70%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column;padding:40px 20px}.login-body .login-wrapper .login-image .login-image-content>h1{font-size:60px;margin:0;color:#fff}.login-body .login-wrapper .login-image .login-image-content h3{font-size:24px;color:#fff;margin:32px 0 0;font-weight:600}.login-body .login-wrapper .login-image .image-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer>p{font-weight:600;margin:0 20px 0 0;color:#fff}.login-body .login-wrapper .login-image .image-footer .icons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer .icons i{font-size:22px;color:#2196f3;margin-right:20px;cursor:pointer;height:32px;width:32px;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:opacity .2s;background:#fff;opacity:.7}.login-body .login-wrapper .login-image .image-footer .icons i:hover{opacity:1}.invoice{padding:2rem}.invoice .invoice-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0;padding:0;margin:0}}.widget-overview-box{min-height:6rem;position:relative;border-left:4px solid}.widget-overview-box .overview-title{font-weight:600;font-size:1.25rem;vertical-align:middle;margin-left:.5rem}.widget-overview-box .overview-icon{display:inline-block;border-radius:4px;width:2em;height:2rem;line-height:2rem;text-align:center;vertical-align:middle}.widget-overview-box .overview-icon i{font-size:1rem;line-height:inherit}.widget-overview-box .overview-detail{text-align:center;margin-top:1rem}.widget-overview-box .overview-detail .col-6{padding:.5rem}.widget-overview-box .overview-number{font-size:1.5rem;font-weight:600}.widget-overview-box .overview-subtext{color:var(--text-color-secondary);font-weight:600;margin-top:.25rem}.widget-overview-box .col-6:first-child{border-right:1px solid var(--surface-d)}.widget-overview-box.widget-overview-box-1{border-left-color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-title{color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-icon{background:#64b5f6;color:#1976d2}.widget-overview-box.widget-overview-box-2{border-left-color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-title{color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-icon{background:#7986cb;color:#303f9f}.widget-overview-box.widget-overview-box-3{border-left-color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-title{color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-icon{background:#4db6ac;color:#00796b}.widget-overview-box.widget-overview-box-4{border-left-color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-title{color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-icon{background:#4dd0e1;color:#0097a7}.widget-tasks .task{padding:1rem 0}.widget-tasks .task-name{margin-bottom:.5rem}.widget-tasks .task-name span{font-weight:600}.widget-tasks .task-progress{border-radius:4px;height:.5rem;background:var(--surface-d)}.widget-tasks .task-progress>div{border-radius:4px;height:100%}.widget-tasks .task-1 .task-progress>div{background:#64b5f6;width:75%}.widget-tasks .task-2 .task-progress>div{background:#a5d6a7;width:60%}.widget-tasks .task-3 .task-progress>div{background:#7986cb;width:80%}.widget-tasks .task-4 .task-progress>div{background:#9575cd;width:40%}.widget-tasks .task-5 .task-progress>div{background:#4db6ac;width:50%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-feature-box{height:100%;text-align:center;padding:2rem}.widget-feature-box>img{margin-bottom:32px}.widget-feature-box>h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text-color)}.widget-feature-box span{padding:0 20px;font-size:14px;display:block;color:var(--text-color-secondary)}.widget-pricing-card{border-radius:4px;background:#1f8ce3;color:#fff;text-align:center;padding:2rem;box-shadow:0 4px 10px #00000080}.widget-pricing-card.deal{background-image:linear-gradient(45deg,#105da1,#1f8ce3)}.widget-pricing-card>span{display:block;font-size:1.25rem;margin:0 0 .5rem}.widget-pricing-card>ul{list-style-type:none;padding:0}.widget-pricing-card>ul>li{display:block;font-size:1rem;margin:0 0 .75rem}.widget-pricing-card>a{padding:.5rem 2rem;margin-top:1.75rem;display:block;color:#fff;margin:1.75rem auto 0;font-weight:600;width:10rem;border-radius:4px;transition:background-color .2s;background-color:#ffffff1a;cursor:pointer}.widget-pricing-card>a>span{display:block;padding:0}.widget-pricing-card>a:hover{background-color:#fff3}.widget-timeline .timeline-event{padding:0 1rem 1rem;border-left:1px solid var(--surface-d);position:relative;margin-left:.5rem}.widget-timeline .timeline-event-icon{position:absolute;left:0;top:.125rem;transform:translate(-50%);color:var(--text-color-secondary);border-radius:50%;width:2rem;height:2rem;line-height:2rem;color:#fff;text-align:center}.widget-timeline .timeline-event-icon i{line-height:inherit}.widget-timeline .timeline-event-title{font-weight:600;margin:0 0 .5rem .5rem}.widget-timeline .timeline-event-detail{font-size:.875rem;color:var(--text-color-secondary);margin-left:.5rem}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:-ms-flexbox;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:4px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;color:#121212;background:#dff0d8;border:solid 1px #d6e9c6}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;color:#121212;background:#d9edf7;border:solid 1px #bce8f1}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-person-list{margin:0;padding:0;list-style-type:none}.widget-person-list>li{display:-ms-flexbox;display:flex;padding:1rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.widget-person-list>li:last-child{border-bottom:0 none}.widget-person-list>li .person-item{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.widget-person-list>li .person-item img{margin-right:.5rem;width:4rem;height:4rem}.widget-person-list>li .person-item .person-name{font-size:1.25rem;font-weight:700}.widget-person-list>li .person-item .person-subtext{color:var(--text-color-secondary)}.widget-person-list>li .person-actions button{margin-right:.5rem}.widget-person-list>li .person-actions button:last-child{margin-right:0}.widget-user-card{padding:0;text-align:center}.widget-user-card .user-card-header{position:relative;height:200px;background-size:cover}.widget-user-card .user-card-avatar{position:absolute;left:50%;bottom:0;width:8rem;height:8rem;margin-left:-4rem;margin-bottom:-4rem;border-radius:50%}.widget-user-card .user-card-body{padding:6em 2rem 2rem}.widget-user-card .user-card-title{font-size:1.5rem;font-weight:700}.widget-user-card .user-card-subtext{color:var(--text-color-secondary)}.widget-user-card .user-card-stats{margin-top:2rem}.widget-user-card .user-card-stats i{font-size:2rem;color:var(--text-color-secondary)}.widget-user-card .user-card-stats span{font-size:1.25rem;font-weight:600;margin-top:.5rem}.layout-config{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-config.layout-config-active{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.layout-config.layout-config-active .layout-config-content .layout-config-button i{transform:rotate(360deg)}.layout-config p{line-height:1.5rem;color:var(--text-color-secondary)}.layout-config .layout-themes{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.layout-config .layout-themes>div{padding:.25rem}.layout-config .layout-themes a{width:2rem;height:2rem;border-radius:4px;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:transform .2s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-themes a i{font-size:1rem;position:absolute;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-themes a:hover{transform:scale(1.1)}.layout-config-button{display:block;position:fixed;width:3rem;height:3rem;line-height:3rem;background:var(--primary-color);color:var(--primary-color-text);text-align:center;margin-top:-1.5rem;transition:background-color .2s;overflow:hidden;cursor:pointer;z-index:999;box-shadow:-.25rem 0 1rem #00000026}.layout-config-button.left-bottom{top:80%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-center{top:50%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-top{top:20%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.right-bottom{top:80%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-center{top:50%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-top{top:20%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button i{font-size:2rem;line-height:inherit;transform:rotate(0);transition:transform 1s}.layout-config-button:hover{background:var(--primary-color);filter:brightness(.8)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar{background:var(--primary-color);border-right:0 none;background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}.layout-sidebar-schema-light .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .app-name{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--primary-color-text);font-weight:700}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar{background:var(--dimmed-700);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-700) 10%,var(--dimmed-800) 100%)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar{background:var(--surface-overlay);border-right:0 none;background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}.layout-sidebar-schema-dark .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .app-name{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--color-text);font-weight:700}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar{background:var(--dimmed-800);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-800) 10%,var(--dimmed-900) 100%)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-wrapper.layout-slim .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-overlay.layout-overlay-inactive .layout-content-wrapper .p-component-overlay{display:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-content-wrapper .p-component-overlay{display:block}@media screen and (max-width:991px){.layout-wrapper.layout-slim.layout-mobile-active .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static.layout-mobile-active .layout-content-wrapper .p-component-overlay{display:block}}\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: OutletComponent, selector: "smz-ui-outlet", inputs: ["menu"] }, { kind: "component", type: HephaestusTopbarComponent, selector: "smz-ui-hephaestus-topbar", inputs: ["notifications", "profile"] }, { kind: "component", type: HephaestusSidebarComponent, selector: "smz-ui-hephaestus-sidebar", inputs: ["menu"] }, { kind: "component", type: HephaestusFooterComponent, selector: "smz-ui-hephaestus-footer" }, { kind: "component", type: HephaestusAssistanceComponent, selector: "smz-ui-hephaestus-assistance" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
39699
39699
  }
39700
39700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: HephaestusLayoutComponent, decorators: [{
39701
39701
  type: Component,
39702
- args: [{ selector: 'smz-ui-hephaestus-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<smz-ui-outlet>\r\n\r\n <ng-template smzTemplate=\"layout\">\r\n\r\n @if (state$ | async; as state) {\r\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\r\n <div class=\"layout-content-wrapper\" [ngClass]=\"{ 'sidebar-spacer': routerListener.data.layout.mode !== 'topbar-only' }\">\r\n <!-- MENU SUPERIOR -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\r\n <smz-ui-hephaestus-topbar [notifications]=\"notifications\" [profile]=\"profile\">\r\n @if (headerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtras\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-hephaestus-topbar>\r\n }\r\n <!-- CONTE\u00DADO -->\r\n <div class=\"layout-content {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\r\n <div class=\"p-component-overlay z-20 bg-black/40\" (click)=\"hideMenu()\"></div>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n <!-- FOOTER -->\r\n @if (routerListener.data.layout.mode === 'full') {\r\n @if (!routerListener.data.layout.hideFooter) {\r\n <smz-ui-hephaestus-footer>\r\n @if (footerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"footerExtras\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-hephaestus-footer>\r\n }\r\n }\r\n <!-- BARRA LATERAL -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\r\n <smz-ui-hephaestus-sidebar [menu]=\"menu\"></smz-ui-hephaestus-sidebar>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-template #content smzTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n\r\n</smz-ui-outlet>\r\n\r\n<smz-ui-hephaestus-assistance></smz-ui-hephaestus-assistance>", styles: [":root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--font-family: \"Nunito\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.clearfix:after{content:\" \";display:block;clear:both}.card{background:#fff;padding:1.25rem;border:0 none;margin-bottom:2rem;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;border-radius:4px}.card:last-child{margin-bottom:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:600;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:4px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}@-webkit-keyframes fade-in-up{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(0,20px)}}@keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}.fade-in-up{-webkit-animation-name:fade-in-up;animation-name:fade-in-up}.fade-out-down{-webkit-animation-name:fade-out-down;animation-name:fade-out-down}@-webkit-keyframes fade-in-right{0%{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translateX(0,20px)}}@keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}}.fade-in-right{-webkit-animation-name:fade-in-right;animation-name:fade-in-right}.fade-out-right{-webkit-animation-name:fade-out-right;animation-name:fade-out-right}@-webkit-keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}@keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}.modal-in{-webkit-animation-name:modal-in;animation-name:modal-in}.loader-container{display:flex;width:100%;height:100%;overflow:hidden;min-height:100vh;background:#343a40}.loader{position:relative;margin:auto}.middle{top:0;left:0;width:40px;height:2px;background:#fff;position:absolute;animation:middleAnimation 2s infinite linear;animation-delay:-.1s}.bottom{top:0;left:0;position:absolute;height:30px;width:2px;background:#fff;border-radius:2px;transform-origin:bottom;transform:rotate(45deg);animation:bottomAnimation 4s infinite}.bottom:nth-child(1){animation-delay:-1s}.bottom:nth-child(2){animation-delay:-2s}.bottom:nth-child(3){animation-delay:-3s}.bottom-section{position:absolute;transform:translateY(-16px)}.top-section{position:absolute;transform:translateY(16px);transform:scaleY(-1)}@keyframes bottomAnimation{0%{transform:rotate(45deg) scaleY(1)}25%{transform:rotate(0) scaleY(.7)}50%{transform:rotate(-45deg) scaleY(1)}75%{transform:rotate(0) scaleY(.7)}to{transform:rotate(45deg) scaleY(1)}}@keyframes middleAnimation{0%{transform:translate(-19px,-9px) scaleX(1)}25%{transform:translate(-19px,-9px) scaleX(.6)}50%{transform:translate(-19px,-9px) scaleX(1)}75%{transform:translate(-19px,-9px) scaleX(.7)}to{transform:translate(-19px,-9px) scaleX(1)}}*{box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-weight:400;color:var(--text-color);padding:0;margin:0;min-height:100%;background:var(--surface-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:#1976d2}.layout-mask{display:none;position:fixed;top:0;left:0;z-index:998;width:100%;height:100%;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99);animation-fill-mode:forwards}.layout-ajax-loader-icon{position:fixed;right:2rem;bottom:2rem;font-size:2rem;color:var(--text-color-secondary)}.layout-topbar{background:var(--surface-e);height:var(--layout-topbar-height);padding:0 2rem;border-bottom:1px solid var(--surface-f);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;color:var(--text-color)}.layout-topbar .topbar-left{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .menu-button{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;background:var(--surface-b);transition:background-color .2s,box-shadow .2s;display:block;cursor:pointer;outline:0 none}.layout-topbar .menu-button:hover{background:var(--surface-c)}.layout-topbar .menu-button:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .menu-button i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-separator{display:block;width:1px;border-left:1px solid var(--surface-d);align-self:stretch;margin:0 1rem}.layout-topbar .mobile-logo{display:none}.layout-topbar .viewname{font-weight:600;font-size:1.25rem}.layout-topbar .topbar-menu{margin:0;padding:0;list-style-type:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .topbar-menu>li{margin-left:1rem;position:relative}.layout-topbar .topbar-menu>li:first{margin-left:0}.layout-topbar .topbar-menu>li.profile-item{padding:0 1rem;border-left:1px solid var(--surface-d);border-right:1px solid var(--surface-d)}.layout-topbar .topbar-menu>li.profile-item>a{width:auto;height:auto;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.875rem;font-weight:600;padding:0 .5rem 0 0}.layout-topbar .topbar-menu>li.profile-item .profile-image{width:2.5rem;height:2.5rem;margin:0}.layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-topbar .topbar-menu>li.right-sidebar-item>a{background:var(--surface-b)}.layout-topbar .topbar-menu>li>a{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;transition:background-color .2s,box-shadow .2s;display:block;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;outline:0 none}.layout-topbar .topbar-menu>li>a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>a:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .topbar-menu>li>a i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-menu>li>a .topbar-badge{position:absolute;display:block;right:0;top:0;width:1rem;height:1rem;line-height:1rem;font-size:.714rem;border-radius:50%;font-weight:600;background:var(--primary-color);color:var(--primary-color-text)}.layout-topbar .topbar-menu>li>ul{display:none;position:absolute;background:var(--surface-a);list-style:none;margin:0;padding:1rem;top:3.25rem;right:0;z-index:999;min-width:250px;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;animation-duration:.12s;animation-timing-function:cubic-bezier(0,0,.2,1);border-radius:4px;transform-origin:center top}.layout-topbar .topbar-menu>li>ul li a{color:var(--text-color);padding:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:4px;transition:background-color .2s;cursor:pointer}.layout-topbar .topbar-menu>li>ul li a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-item{margin-left:.5rem}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-summary{font-weight:600}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-detail{color:var(--text-color-secondary)}.layout-topbar .topbar-menu>li>ul.profile-menu span{margin-left:.5rem}.layout-topbar .topbar-menu>li.active-menuitem>ul{display:block}.layout-sidebar{width:var(--sidebar-width);height:100%;position:fixed;left:0;top:0;overflow:hidden;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-user-select:none;user-select:none;transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar .logo{text-align:center;display:block;outline:0 none;padding:1rem;margin-left:1rem;margin-right:1rem;transition:background-color .2s,box-shadow .2s}.layout-sidebar .logo-image{width:2rem;height:2rem;vertical-align:middle;margin-right:.5rem}.layout-sidebar .app-name{vertical-align:middle;font-size:1.5rem;letter-spacing:.2px}.layout-menu-container{overflow:auto;flex:1;padding:1rem}.layout-menu{margin:0;padding:0;list-style-type:none}.layout-menu .menu-separator{margin:1rem 0}.layout-menu .layout-root-menuitem>.layout-menuitem-root-text{font-size:.857rem;text-transform:uppercase;font-weight:700;padding:.5rem 0 1rem}.layout-menu .layout-root-menuitem>a{display:none}.layout-menu .layout-root-menuitem .layout-menu-tooltip{display:none}.layout-menu ul{margin:0;padding:0;list-style-type:none}.layout-menu ul a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;padding:.5rem;font-size:1rem;border-radius:4px;outline:0 none;cursor:pointer;transition:background-color .2s,box-shadow .2s}.layout-menu ul a .layout-menuitem-icon{margin-right:.5rem}.layout-menu ul a .layout-submenu-toggler{font-size:75%;margin-left:auto;transition:transform .2s}.layout-menu ul a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-menu ul a.active-route{font-weight:700}.layout-menu ul li.active-menuitem{border-radius:4px}.layout-menu ul li.active-menuitem>a .layout-submenu-toggler{transform:rotate(-180deg)}.layout-menu ul ul{overflow:hidden;border-radius:4px}.layout-menu ul ul li a{padding-left:1.5rem}.layout-menu ul ul li li a{padding-left:2.5rem}.layout-menu ul ul li li li a{padding-left:3.5rem}.layout-menu ul ul li li li li a{padding-left:4.5rem}.layout-menu ul ul li li li li li a{padding-left:5.5rem}.layout-menu ul ul li li li li li li a{padding-left:6.5rem}@media screen and (min-width:992px){.layout-wrapper.layout-slim .topbar-left .menu-button,.layout-wrapper.layout-slim .topbar-left .topbar-separator{display:none}.layout-wrapper.layout-slim .layout-sidebar{width:var(--sidebar-slim-width);overflow:visible;z-index:999}.layout-wrapper.layout-slim .layout-sidebar .logo-image{margin-right:0}.layout-wrapper.layout-slim .layout-sidebar .app-name{display:none}.layout-wrapper.layout-slim .layout-sidebar .layout-menu-container{overflow:visible}.layout-wrapper.layout-slim .layout-content-wrapper.sidebar-spacer{margin-left:var(--sidebar-slim-width)}.layout-wrapper.layout-slim .layout-menu ul{display:none}.layout-wrapper.layout-slim .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem{position:relative;border-radius:4px}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a{display:block;text-align:center;border-radius:4px;padding:.5rem 0;cursor:pointer;outline:none;transition:background-color .2s}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-submenu-toggler{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-icon{font-size:1.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-text{font-size:.875rem;display:block;margin-top:.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>ul{position:absolute;left:5rem;top:0;min-width:15rem;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;border-top-right-radius:4px;border-bottom-right-radius:4px;padding:1rem;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99)}}.layout-sidebar-right{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar-right.layout-sidebar-right-active{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;transform:translate(0)}.layout-sidebar-right p{font-size:.875rem;color:var(--text-color-secondary)}.layout-sidebar-right .withdraw{margin-top:-.5rem;margin-left:-.5rem;margin-right:-.5rem}.layout-sidebar-right .withdraw>div{padding:.5rem}.layout-sidebar-right .withdraw input,.layout-sidebar-right .withdraw button{font-size:.875rem}.layout-content-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;min-height:100vh;transition:margin-left .4s cubic-bezier(.05,.74,.2,.99)}.layout-content{flex:1 1 auto;-ms-flex:1 1 auto;position:relative}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media screen and (min-width:992px){.layout-wrapper.layout-static .layout-content-wrapper{margin-left:var(--sidebar-width)}.layout-wrapper.layout-static-inactive .layout-sidebar{transform:translate(-100%)}.layout-wrapper.layout-static-inactive .layout-content-wrapper,.layout-wrapper.layout-overlay .layout-content-wrapper{margin-left:0}.layout-wrapper.layout-overlay .layout-sidebar{z-index:999;transform:translate(-100%);box-shadow:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-sidebar{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}}@media screen and (max-width:991px){.blocked-scroll{overflow:hidden}.layout-wrapper .layout-topbar{height:8.125rem;-ms-flex-wrap:wrap;flex-wrap:wrap;position:fixed;left:0;top:0;width:100%;z-index:998;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.layout-wrapper .layout-topbar .topbar-left{width:100%;padding:.5rem 0;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.layout-wrapper .layout-topbar .topbar-left .topbar-separator{display:none}.layout-wrapper .layout-topbar .topbar-right{width:100%;padding:.5rem 0}.layout-wrapper .layout-topbar .mobile-logo{display:block;width:2rem;height:2rem}.layout-wrapper .layout-topbar .viewname{font-size:1rem}.layout-wrapper .layout-topbar .topbar-menu{-ms-flex-pack:justify;justify-content:space-between}.layout-wrapper .layout-topbar .topbar-menu>li{margin-left:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item{border-left:0;border-right:0;padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item>a{padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-image{width:2rem;height:2rem;margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-name{display:none}.layout-wrapper .layout-topbar .topbar-menu>li>ul{top:2.75rem}.layout-wrapper .layout-content-wrapper{margin-left:0;padding-top:7.125rem}.layout-wrapper .layout-sidebar{z-index:999;box-shadow:0 0 1rem #00000026;transform:translate(-100%)}.layout-wrapper.layout-mobile-active .layout-sidebar{transform:translate(0)}.layout-wrapper.layout-mobile-active .layout-mask{display:block}.layout-wrapper .layout-search .search-container{width:75vw}}@media screen and (max-width:576px){.layout-wrapper .layout-topbar .topbar-menu>li{position:static}.layout-wrapper .layout-topbar .topbar-menu>li>ul{position:fixed;top:7.125rem;left:0;width:100%;right:auto}}.layout-search{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;display:-ms-flexbox;display:flex;position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:999999;pointer-events:none}.layout-search .search-container{background:#adb5bd;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1.5rem;padding:2rem;width:50vw;border-radius:.625rem;position:relative;box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;border:0 none;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:all}.layout-search .search-container input{appearance:none;font-size:1.5rem;text-indent:2.5rem;padding:.5rem;width:100%}.layout-search .search-container i{color:var(--text-color-secondary);width:2rem;font-size:1.5rem;position:absolute;top:50%;margin-top:-.75rem;margin-left:1rem}.login-body{background:var(--surface-b);color:var(--text-color)}.login-body .login-wrapper{display:-ms-flexbox;display:flex;height:100vh}.login-body .login-wrapper .login-panel{width:30%;height:100%;text-align:center;padding:40px 20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .logo{height:50px}.login-body .login-wrapper .login-panel .login-form{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .login-form>p{font-weight:600;margin:0 0 32px;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel .login-form>p>a{color:#1976d2;cursor:pointer}.login-body .login-wrapper .login-panel .login-form>input{width:85%;max-width:310px;margin-bottom:20px}.login-body .login-wrapper .login-panel .login-form>button{width:85%;max-width:310px}.login-body .login-wrapper .login-panel p{font-weight:600;margin:0;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel p>a{color:#1976d2}.login-body .login-wrapper .login-image{width:70%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column;padding:40px 20px}.login-body .login-wrapper .login-image .login-image-content>h1{font-size:60px;margin:0;color:#fff}.login-body .login-wrapper .login-image .login-image-content h3{font-size:24px;color:#fff;margin:32px 0 0;font-weight:600}.login-body .login-wrapper .login-image .image-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer>p{font-weight:600;margin:0 20px 0 0;color:#fff}.login-body .login-wrapper .login-image .image-footer .icons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer .icons i{font-size:22px;color:#2196f3;margin-right:20px;cursor:pointer;height:32px;width:32px;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:opacity .2s;background:#fff;opacity:.7}.login-body .login-wrapper .login-image .image-footer .icons i:hover{opacity:1}.invoice{padding:2rem}.invoice .invoice-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0;padding:0;margin:0}}.widget-overview-box{min-height:6rem;position:relative;border-left:4px solid}.widget-overview-box .overview-title{font-weight:600;font-size:1.25rem;vertical-align:middle;margin-left:.5rem}.widget-overview-box .overview-icon{display:inline-block;border-radius:4px;width:2em;height:2rem;line-height:2rem;text-align:center;vertical-align:middle}.widget-overview-box .overview-icon i{font-size:1rem;line-height:inherit}.widget-overview-box .overview-detail{text-align:center;margin-top:1rem}.widget-overview-box .overview-detail .col-6{padding:.5rem}.widget-overview-box .overview-number{font-size:1.5rem;font-weight:600}.widget-overview-box .overview-subtext{color:var(--text-color-secondary);font-weight:600;margin-top:.25rem}.widget-overview-box .col-6:first-child{border-right:1px solid var(--surface-d)}.widget-overview-box.widget-overview-box-1{border-left-color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-title{color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-icon{background:#64b5f6;color:#1976d2}.widget-overview-box.widget-overview-box-2{border-left-color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-title{color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-icon{background:#7986cb;color:#303f9f}.widget-overview-box.widget-overview-box-3{border-left-color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-title{color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-icon{background:#4db6ac;color:#00796b}.widget-overview-box.widget-overview-box-4{border-left-color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-title{color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-icon{background:#4dd0e1;color:#0097a7}.widget-tasks .task{padding:1rem 0}.widget-tasks .task-name{margin-bottom:.5rem}.widget-tasks .task-name span{font-weight:600}.widget-tasks .task-progress{border-radius:4px;height:.5rem;background:var(--surface-d)}.widget-tasks .task-progress>div{border-radius:4px;height:100%}.widget-tasks .task-1 .task-progress>div{background:#64b5f6;width:75%}.widget-tasks .task-2 .task-progress>div{background:#a5d6a7;width:60%}.widget-tasks .task-3 .task-progress>div{background:#7986cb;width:80%}.widget-tasks .task-4 .task-progress>div{background:#9575cd;width:40%}.widget-tasks .task-5 .task-progress>div{background:#4db6ac;width:50%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-feature-box{height:100%;text-align:center;padding:2rem}.widget-feature-box>img{margin-bottom:32px}.widget-feature-box>h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text-color)}.widget-feature-box span{padding:0 20px;font-size:14px;display:block;color:var(--text-color-secondary)}.widget-pricing-card{border-radius:4px;background:#1f8ce3;color:#fff;text-align:center;padding:2rem;box-shadow:0 4px 10px #00000080}.widget-pricing-card.deal{background-image:linear-gradient(45deg,#105da1,#1f8ce3)}.widget-pricing-card>span{display:block;font-size:1.25rem;margin:0 0 .5rem}.widget-pricing-card>ul{list-style-type:none;padding:0}.widget-pricing-card>ul>li{display:block;font-size:1rem;margin:0 0 .75rem}.widget-pricing-card>a{padding:.5rem 2rem;margin-top:1.75rem;display:block;color:#fff;margin:1.75rem auto 0;font-weight:600;width:10rem;border-radius:4px;transition:background-color .2s;background-color:#ffffff1a;cursor:pointer}.widget-pricing-card>a>span{display:block;padding:0}.widget-pricing-card>a:hover{background-color:#fff3}.widget-timeline .timeline-event{padding:0 1rem 1rem;border-left:1px solid var(--surface-d);position:relative;margin-left:.5rem}.widget-timeline .timeline-event-icon{position:absolute;left:0;top:.125rem;transform:translate(-50%);color:var(--text-color-secondary);border-radius:50%;width:2rem;height:2rem;line-height:2rem;color:#fff;text-align:center}.widget-timeline .timeline-event-icon i{line-height:inherit}.widget-timeline .timeline-event-title{font-weight:600;margin:0 0 .5rem .5rem}.widget-timeline .timeline-event-detail{font-size:.875rem;color:var(--text-color-secondary);margin-left:.5rem}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:-ms-flexbox;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:4px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;color:#121212;background:#dff0d8;border:solid 1px #d6e9c6}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;color:#121212;background:#d9edf7;border:solid 1px #bce8f1}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-person-list{margin:0;padding:0;list-style-type:none}.widget-person-list>li{display:-ms-flexbox;display:flex;padding:1rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.widget-person-list>li:last-child{border-bottom:0 none}.widget-person-list>li .person-item{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.widget-person-list>li .person-item img{margin-right:.5rem;width:4rem;height:4rem}.widget-person-list>li .person-item .person-name{font-size:1.25rem;font-weight:700}.widget-person-list>li .person-item .person-subtext{color:var(--text-color-secondary)}.widget-person-list>li .person-actions button{margin-right:.5rem}.widget-person-list>li .person-actions button:last-child{margin-right:0}.widget-user-card{padding:0;text-align:center}.widget-user-card .user-card-header{position:relative;height:200px;background-size:cover}.widget-user-card .user-card-avatar{position:absolute;left:50%;bottom:0;width:8rem;height:8rem;margin-left:-4rem;margin-bottom:-4rem;border-radius:50%}.widget-user-card .user-card-body{padding:6em 2rem 2rem}.widget-user-card .user-card-title{font-size:1.5rem;font-weight:700}.widget-user-card .user-card-subtext{color:var(--text-color-secondary)}.widget-user-card .user-card-stats{margin-top:2rem}.widget-user-card .user-card-stats i{font-size:2rem;color:var(--text-color-secondary)}.widget-user-card .user-card-stats span{font-size:1.25rem;font-weight:600;margin-top:.5rem}.layout-config{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-config.layout-config-active{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.layout-config.layout-config-active .layout-config-content .layout-config-button i{transform:rotate(360deg)}.layout-config p{line-height:1.5rem;color:var(--text-color-secondary)}.layout-config .layout-themes{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.layout-config .layout-themes>div{padding:.25rem}.layout-config .layout-themes a{width:2rem;height:2rem;border-radius:4px;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:transform .2s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-themes a i{font-size:1rem;position:absolute;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-themes a:hover{transform:scale(1.1)}.layout-config-button{display:block;position:fixed;width:3rem;height:3rem;line-height:3rem;background:var(--primary-color);color:var(--primary-color-text);text-align:center;margin-top:-1.5rem;transition:background-color .2s;overflow:hidden;cursor:pointer;z-index:999;box-shadow:-.25rem 0 1rem #00000026}.layout-config-button.left-bottom{top:80%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-center{top:50%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-top{top:20%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.right-bottom{top:80%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-center{top:50%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-top{top:20%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button i{font-size:2rem;line-height:inherit;transform:rotate(0);transition:transform 1s}.layout-config-button:hover{background:var(--primary-color);filter:brightness(.8)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar{background:var(--primary-color);border-right:0 none;background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}.layout-sidebar-schema-light .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .app-name{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--primary-color-text);font-weight:700}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar{background:var(--dimmed-700);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-700) 10%,var(--dimmed-800) 100%)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar{background:var(--surface-overlay);border-right:0 none;background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}.layout-sidebar-schema-dark .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .app-name{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--color-text);font-weight:700}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar{background:var(--dimmed-800);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-800) 10%,var(--dimmed-900) 100%)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-wrapper.layout-slim .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-overlay.layout-overlay-inactive .layout-content-wrapper .p-component-overlay{display:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-content-wrapper .p-component-overlay{display:block}@media screen and (max-width:991px){.layout-wrapper.layout-slim.layout-mobile-active .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static.layout-mobile-active .layout-content-wrapper .p-component-overlay{display:block}}\n"] }]
39702
+ args: [{ selector: 'smz-ui-hephaestus-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<smz-ui-outlet>\n\n <ng-template smzTemplate=\"layout\">\n\n @if (state$ | async; as state) {\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\n <div class=\"layout-content-wrapper\" [ngClass]=\"{ 'sidebar-spacer': routerListener.data.layout.mode !== 'topbar-only' }\">\n <!-- MENU SUPERIOR -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\n <smz-ui-hephaestus-topbar [notifications]=\"notifications\" [profile]=\"profile\">\n @if (headerExtrasTemplate != null) {\n <ng-template smzTemplate=\"headerExtras\">\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-hephaestus-topbar>\n }\n <!-- CONTE\u00DADO -->\n <div class=\"layout-content {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\n <div class=\"p-component-overlay z-20 bg-black/40\" (click)=\"hideMenu()\"></div>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <!-- FOOTER -->\n @if (routerListener.data.layout.mode === 'full') {\n @if (!routerListener.data.layout.hideFooter) {\n <smz-ui-hephaestus-footer>\n @if (footerExtrasTemplate != null) {\n <ng-template smzTemplate=\"footerExtras\">\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-hephaestus-footer>\n }\n }\n <!-- BARRA LATERAL -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\n <smz-ui-hephaestus-sidebar [menu]=\"menu\"></smz-ui-hephaestus-sidebar>\n }\n </div>\n </div>\n }\n\n </ng-template>\n\n <ng-template #content smzTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n\n</smz-ui-outlet>\n\n<smz-ui-hephaestus-assistance></smz-ui-hephaestus-assistance>", styles: [":root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--font-family: \"Nunito\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.clearfix:after{content:\" \";display:block;clear:both}.card{background:#fff;padding:1.25rem;border:0 none;margin-bottom:2rem;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f;border-radius:4px}.card:last-child{margin-bottom:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:600;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:4px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}@-webkit-keyframes fade-in-up{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(0,20px)}}@keyframes fade-out-down{0%{opacity:1}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}.fade-in-up{-webkit-animation-name:fade-in-up;animation-name:fade-in-up}.fade-out-down{-webkit-animation-name:fade-out-down;animation-name:fade-out-down}@-webkit-keyframes fade-in-right{0%{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fade-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@-webkit-keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translateX(0,20px)}}@keyframes fade-out-right{0%{opacity:1}to{opacity:0;-webkit-transform:translateX(20px);transform:translate(20px)}}.fade-in-right{-webkit-animation-name:fade-in-right;animation-name:fade-in-right}.fade-out-right{-webkit-animation-name:fade-out-right;animation-name:fade-out-right}@-webkit-keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}@keyframes modal-in{0%{background-color:transparent}to{background-color:#0009}}.modal-in{-webkit-animation-name:modal-in;animation-name:modal-in}.loader-container{display:flex;width:100%;height:100%;overflow:hidden;min-height:100vh;background:#343a40}.loader{position:relative;margin:auto}.middle{top:0;left:0;width:40px;height:2px;background:#fff;position:absolute;animation:middleAnimation 2s infinite linear;animation-delay:-.1s}.bottom{top:0;left:0;position:absolute;height:30px;width:2px;background:#fff;border-radius:2px;transform-origin:bottom;transform:rotate(45deg);animation:bottomAnimation 4s infinite}.bottom:nth-child(1){animation-delay:-1s}.bottom:nth-child(2){animation-delay:-2s}.bottom:nth-child(3){animation-delay:-3s}.bottom-section{position:absolute;transform:translateY(-16px)}.top-section{position:absolute;transform:translateY(16px);transform:scaleY(-1)}@keyframes bottomAnimation{0%{transform:rotate(45deg) scaleY(1)}25%{transform:rotate(0) scaleY(.7)}50%{transform:rotate(-45deg) scaleY(1)}75%{transform:rotate(0) scaleY(.7)}to{transform:rotate(45deg) scaleY(1)}}@keyframes middleAnimation{0%{transform:translate(-19px,-9px) scaleX(1)}25%{transform:translate(-19px,-9px) scaleX(.6)}50%{transform:translate(-19px,-9px) scaleX(1)}75%{transform:translate(-19px,-9px) scaleX(.7)}to{transform:translate(-19px,-9px) scaleX(1)}}*{box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-weight:400;color:var(--text-color);padding:0;margin:0;min-height:100%;background:var(--surface-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:#1976d2}.layout-mask{display:none;position:fixed;top:0;left:0;z-index:998;width:100%;height:100%;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99);animation-fill-mode:forwards}.layout-ajax-loader-icon{position:fixed;right:2rem;bottom:2rem;font-size:2rem;color:var(--text-color-secondary)}.layout-topbar{background:var(--surface-e);height:var(--layout-topbar-height);padding:0 2rem;border-bottom:1px solid var(--surface-f);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;color:var(--text-color)}.layout-topbar .topbar-left{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .menu-button{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;background:var(--surface-b);transition:background-color .2s,box-shadow .2s;display:block;cursor:pointer;outline:0 none}.layout-topbar .menu-button:hover{background:var(--surface-c)}.layout-topbar .menu-button:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .menu-button i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-separator{display:block;width:1px;border-left:1px solid var(--surface-d);align-self:stretch;margin:0 1rem}.layout-topbar .mobile-logo{display:none}.layout-topbar .viewname{font-weight:600;font-size:1.25rem}.layout-topbar .topbar-menu{margin:0;padding:0;list-style-type:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-topbar .topbar-menu>li{margin-left:1rem;position:relative}.layout-topbar .topbar-menu>li:first{margin-left:0}.layout-topbar .topbar-menu>li.profile-item{padding:0 1rem;border-left:1px solid var(--surface-d);border-right:1px solid var(--surface-d)}.layout-topbar .topbar-menu>li.profile-item>a{width:auto;height:auto;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:.875rem;font-weight:600;padding:0 .5rem 0 0}.layout-topbar .topbar-menu>li.profile-item .profile-image{width:2.5rem;height:2.5rem;margin:0}.layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-topbar .topbar-menu>li.right-sidebar-item>a{background:var(--surface-b)}.layout-topbar .topbar-menu>li>a{width:2.5rem;height:2.5rem;line-height:2.5rem;text-align:center;color:var(--text-color);overflow:hidden;border-radius:4px;transition:background-color .2s,box-shadow .2s;display:block;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;outline:0 none}.layout-topbar .topbar-menu>li>a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>a:focus{box-shadow:0 0 0 .2rem #bbdefb}.layout-topbar .topbar-menu>li>a i{line-height:inherit;font-size:1.5rem}.layout-topbar .topbar-menu>li>a .topbar-badge{position:absolute;display:block;right:0;top:0;width:1rem;height:1rem;line-height:1rem;font-size:.714rem;border-radius:50%;font-weight:600;background:var(--primary-color);color:var(--primary-color-text)}.layout-topbar .topbar-menu>li>ul{display:none;position:absolute;background:var(--surface-a);list-style:none;margin:0;padding:1rem;top:3.25rem;right:0;z-index:999;min-width:250px;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;animation-duration:.12s;animation-timing-function:cubic-bezier(0,0,.2,1);border-radius:4px;transform-origin:center top}.layout-topbar .topbar-menu>li>ul li a{color:var(--text-color);padding:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:4px;transition:background-color .2s;cursor:pointer}.layout-topbar .topbar-menu>li>ul li a:hover{background:var(--surface-c)}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-item{margin-left:.5rem}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-summary{font-weight:600}.layout-topbar .topbar-menu>li>ul.notifications-menu .notification-detail{color:var(--text-color-secondary)}.layout-topbar .topbar-menu>li>ul.profile-menu span{margin-left:.5rem}.layout-topbar .topbar-menu>li.active-menuitem>ul{display:block}.layout-sidebar{width:var(--sidebar-width);height:100%;position:fixed;left:0;top:0;overflow:hidden;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-user-select:none;user-select:none;transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar .logo{text-align:center;display:block;outline:0 none;padding:1rem;margin-left:1rem;margin-right:1rem;transition:background-color .2s,box-shadow .2s}.layout-sidebar .logo-image{width:2rem;height:2rem;vertical-align:middle;margin-right:.5rem}.layout-sidebar .app-name{vertical-align:middle;font-size:1.5rem;letter-spacing:.2px}.layout-menu-container{overflow:auto;flex:1;padding:1rem}.layout-menu{margin:0;padding:0;list-style-type:none}.layout-menu .menu-separator{margin:1rem 0}.layout-menu .layout-root-menuitem>.layout-menuitem-root-text{font-size:.857rem;text-transform:uppercase;font-weight:700;padding:.5rem 0 1rem}.layout-menu .layout-root-menuitem>a{display:none}.layout-menu .layout-root-menuitem .layout-menu-tooltip{display:none}.layout-menu ul{margin:0;padding:0;list-style-type:none}.layout-menu ul a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative;padding:.5rem;font-size:1rem;border-radius:4px;outline:0 none;cursor:pointer;transition:background-color .2s,box-shadow .2s}.layout-menu ul a .layout-menuitem-icon{margin-right:.5rem}.layout-menu ul a .layout-submenu-toggler{font-size:75%;margin-left:auto;transition:transform .2s}.layout-menu ul a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-menu ul a.active-route{font-weight:700}.layout-menu ul li.active-menuitem{border-radius:4px}.layout-menu ul li.active-menuitem>a .layout-submenu-toggler{transform:rotate(-180deg)}.layout-menu ul ul{overflow:hidden;border-radius:4px}.layout-menu ul ul li a{padding-left:1.5rem}.layout-menu ul ul li li a{padding-left:2.5rem}.layout-menu ul ul li li li a{padding-left:3.5rem}.layout-menu ul ul li li li li a{padding-left:4.5rem}.layout-menu ul ul li li li li li a{padding-left:5.5rem}.layout-menu ul ul li li li li li li a{padding-left:6.5rem}@media screen and (min-width:992px){.layout-wrapper.layout-slim .topbar-left .menu-button,.layout-wrapper.layout-slim .topbar-left .topbar-separator{display:none}.layout-wrapper.layout-slim .layout-sidebar{width:var(--sidebar-slim-width);overflow:visible;z-index:999}.layout-wrapper.layout-slim .layout-sidebar .logo-image{margin-right:0}.layout-wrapper.layout-slim .layout-sidebar .app-name{display:none}.layout-wrapper.layout-slim .layout-sidebar .layout-menu-container{overflow:visible}.layout-wrapper.layout-slim .layout-content-wrapper.sidebar-spacer{margin-left:var(--sidebar-slim-width)}.layout-wrapper.layout-slim .layout-menu ul{display:none}.layout-wrapper.layout-slim .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem{position:relative;border-radius:4px}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a{display:block;text-align:center;border-radius:4px;padding:.5rem 0;cursor:pointer;outline:none;transition:background-color .2s}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-submenu-toggler{display:none}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-icon{font-size:1.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>a .layout-menuitem-text{font-size:.875rem;display:block;margin-top:.25rem}.layout-wrapper.layout-slim .layout-menu .layout-root-menuitem>ul{position:absolute;left:5rem;top:0;min-width:15rem;border:0 none;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;border-top-right-radius:4px;border-bottom-right-radius:4px;padding:1rem;animation-duration:.4s;animation-timing-function:cubic-bezier(.05,.74,.2,.99)}}.layout-sidebar-right{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-sidebar-right.layout-sidebar-right-active{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;transform:translate(0)}.layout-sidebar-right p{font-size:.875rem;color:var(--text-color-secondary)}.layout-sidebar-right .withdraw{margin-top:-.5rem;margin-left:-.5rem;margin-right:-.5rem}.layout-sidebar-right .withdraw>div{padding:.5rem}.layout-sidebar-right .withdraw input,.layout-sidebar-right .withdraw button{font-size:.875rem}.layout-content-wrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;min-height:100vh;transition:margin-left .4s cubic-bezier(.05,.74,.2,.99)}.layout-content{flex:1 1 auto;-ms-flex:1 1 auto;position:relative}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media screen and (min-width:992px){.layout-wrapper.layout-static .layout-content-wrapper{margin-left:var(--sidebar-width)}.layout-wrapper.layout-static-inactive .layout-sidebar{transform:translate(-100%)}.layout-wrapper.layout-static-inactive .layout-content-wrapper,.layout-wrapper.layout-overlay .layout-content-wrapper{margin-left:0}.layout-wrapper.layout-overlay .layout-sidebar{z-index:999;transform:translate(-100%);box-shadow:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-sidebar{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}}@media screen and (max-width:991px){.blocked-scroll{overflow:hidden}.layout-wrapper .layout-topbar{height:8.125rem;-ms-flex-wrap:wrap;flex-wrap:wrap;position:fixed;left:0;top:0;width:100%;z-index:998;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.layout-wrapper .layout-topbar .topbar-left{width:100%;padding:.5rem 0;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.layout-wrapper .layout-topbar .topbar-left .topbar-separator{display:none}.layout-wrapper .layout-topbar .topbar-right{width:100%;padding:.5rem 0}.layout-wrapper .layout-topbar .mobile-logo{display:block;width:2rem;height:2rem}.layout-wrapper .layout-topbar .viewname{font-size:1rem}.layout-wrapper .layout-topbar .topbar-menu{-ms-flex-pack:justify;justify-content:space-between}.layout-wrapper .layout-topbar .topbar-menu>li{margin-left:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item{border-left:0;border-right:0;padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item>a{padding:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-image{width:2rem;height:2rem;margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-icon{margin:0}.layout-wrapper .layout-topbar .topbar-menu>li.profile-item .profile-name{display:none}.layout-wrapper .layout-topbar .topbar-menu>li>ul{top:2.75rem}.layout-wrapper .layout-content-wrapper{margin-left:0;padding-top:7.125rem}.layout-wrapper .layout-sidebar{z-index:999;box-shadow:0 0 1rem #00000026;transform:translate(-100%)}.layout-wrapper.layout-mobile-active .layout-sidebar{transform:translate(0)}.layout-wrapper.layout-mobile-active .layout-mask{display:block}.layout-wrapper .layout-search .search-container{width:75vw}}@media screen and (max-width:576px){.layout-wrapper .layout-topbar .topbar-menu>li{position:static}.layout-wrapper .layout-topbar .topbar-menu>li>ul{position:fixed;top:7.125rem;left:0;width:100%;right:auto}}.layout-search{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;display:-ms-flexbox;display:flex;position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:999999;pointer-events:none}.layout-search .search-container{background:#adb5bd;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1.5rem;padding:2rem;width:50vw;border-radius:.625rem;position:relative;box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f;border:0 none;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:all}.layout-search .search-container input{appearance:none;font-size:1.5rem;text-indent:2.5rem;padding:.5rem;width:100%}.layout-search .search-container i{color:var(--text-color-secondary);width:2rem;font-size:1.5rem;position:absolute;top:50%;margin-top:-.75rem;margin-left:1rem}.login-body{background:var(--surface-b);color:var(--text-color)}.login-body .login-wrapper{display:-ms-flexbox;display:flex;height:100vh}.login-body .login-wrapper .login-panel{width:30%;height:100%;text-align:center;padding:40px 20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .logo{height:50px}.login-body .login-wrapper .login-panel .login-form{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column}.login-body .login-wrapper .login-panel .login-form>p{font-weight:600;margin:0 0 32px;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel .login-form>p>a{color:#1976d2;cursor:pointer}.login-body .login-wrapper .login-panel .login-form>input{width:85%;max-width:310px;margin-bottom:20px}.login-body .login-wrapper .login-panel .login-form>button{width:85%;max-width:310px}.login-body .login-wrapper .login-panel p{font-weight:600;margin:0;color:var(--text-color-secondary)}.login-body .login-wrapper .login-panel p>a{color:#1976d2}.login-body .login-wrapper .login-image{width:70%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column;padding:40px 20px}.login-body .login-wrapper .login-image .login-image-content>h1{font-size:60px;margin:0;color:#fff}.login-body .login-wrapper .login-image .login-image-content h3{font-size:24px;color:#fff;margin:32px 0 0;font-weight:600}.login-body .login-wrapper .login-image .image-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer>p{font-weight:600;margin:0 20px 0 0;color:#fff}.login-body .login-wrapper .login-image .image-footer .icons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.login-body .login-wrapper .login-image .image-footer .icons i{font-size:22px;color:#2196f3;margin-right:20px;cursor:pointer;height:32px;width:32px;border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:opacity .2s;background:#fff;opacity:.7}.login-body .login-wrapper .login-image .image-footer .icons i:hover{opacity:1}.invoice{padding:2rem}.invoice .invoice-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0;padding:0;margin:0}}.widget-overview-box{min-height:6rem;position:relative;border-left:4px solid}.widget-overview-box .overview-title{font-weight:600;font-size:1.25rem;vertical-align:middle;margin-left:.5rem}.widget-overview-box .overview-icon{display:inline-block;border-radius:4px;width:2em;height:2rem;line-height:2rem;text-align:center;vertical-align:middle}.widget-overview-box .overview-icon i{font-size:1rem;line-height:inherit}.widget-overview-box .overview-detail{text-align:center;margin-top:1rem}.widget-overview-box .overview-detail .col-6{padding:.5rem}.widget-overview-box .overview-number{font-size:1.5rem;font-weight:600}.widget-overview-box .overview-subtext{color:var(--text-color-secondary);font-weight:600;margin-top:.25rem}.widget-overview-box .col-6:first-child{border-right:1px solid var(--surface-d)}.widget-overview-box.widget-overview-box-1{border-left-color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-title{color:#64b5f6}.widget-overview-box.widget-overview-box-1 .overview-icon{background:#64b5f6;color:#1976d2}.widget-overview-box.widget-overview-box-2{border-left-color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-title{color:#7986cb}.widget-overview-box.widget-overview-box-2 .overview-icon{background:#7986cb;color:#303f9f}.widget-overview-box.widget-overview-box-3{border-left-color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-title{color:#4db6ac}.widget-overview-box.widget-overview-box-3 .overview-icon{background:#4db6ac;color:#00796b}.widget-overview-box.widget-overview-box-4{border-left-color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-title{color:#4dd0e1}.widget-overview-box.widget-overview-box-4 .overview-icon{background:#4dd0e1;color:#0097a7}.widget-tasks .task{padding:1rem 0}.widget-tasks .task-name{margin-bottom:.5rem}.widget-tasks .task-name span{font-weight:600}.widget-tasks .task-progress{border-radius:4px;height:.5rem;background:var(--surface-d)}.widget-tasks .task-progress>div{border-radius:4px;height:100%}.widget-tasks .task-1 .task-progress>div{background:#64b5f6;width:75%}.widget-tasks .task-2 .task-progress>div{background:#a5d6a7;width:60%}.widget-tasks .task-3 .task-progress>div{background:#7986cb;width:80%}.widget-tasks .task-4 .task-progress>div{background:#9575cd;width:40%}.widget-tasks .task-5 .task-progress>div{background:#4db6ac;width:50%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-feature-box{height:100%;text-align:center;padding:2rem}.widget-feature-box>img{margin-bottom:32px}.widget-feature-box>h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text-color)}.widget-feature-box span{padding:0 20px;font-size:14px;display:block;color:var(--text-color-secondary)}.widget-pricing-card{border-radius:4px;background:#1f8ce3;color:#fff;text-align:center;padding:2rem;box-shadow:0 4px 10px #00000080}.widget-pricing-card.deal{background-image:linear-gradient(45deg,#105da1,#1f8ce3)}.widget-pricing-card>span{display:block;font-size:1.25rem;margin:0 0 .5rem}.widget-pricing-card>ul{list-style-type:none;padding:0}.widget-pricing-card>ul>li{display:block;font-size:1rem;margin:0 0 .75rem}.widget-pricing-card>a{padding:.5rem 2rem;margin-top:1.75rem;display:block;color:#fff;margin:1.75rem auto 0;font-weight:600;width:10rem;border-radius:4px;transition:background-color .2s;background-color:#ffffff1a;cursor:pointer}.widget-pricing-card>a>span{display:block;padding:0}.widget-pricing-card>a:hover{background-color:#fff3}.widget-timeline .timeline-event{padding:0 1rem 1rem;border-left:1px solid var(--surface-d);position:relative;margin-left:.5rem}.widget-timeline .timeline-event-icon{position:absolute;left:0;top:.125rem;transform:translate(-50%);color:var(--text-color-secondary);border-radius:50%;width:2rem;height:2rem;line-height:2rem;color:#fff;text-align:center}.widget-timeline .timeline-event-icon i{line-height:inherit}.widget-timeline .timeline-event-title{font-weight:600;margin:0 0 .5rem .5rem}.widget-timeline .timeline-event-detail{font-size:.875rem;color:var(--text-color-secondary);margin-left:.5rem}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:-ms-flexbox;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:4px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;color:#121212;background:#dff0d8;border:solid 1px #d6e9c6}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;color:#121212;background:#d9edf7;border:solid 1px #bce8f1}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-person-list{margin:0;padding:0;list-style-type:none}.widget-person-list>li{display:-ms-flexbox;display:flex;padding:1rem;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;border-bottom:1px solid var(--surface-d)}.widget-person-list>li:last-child{border-bottom:0 none}.widget-person-list>li .person-item{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.widget-person-list>li .person-item img{margin-right:.5rem;width:4rem;height:4rem}.widget-person-list>li .person-item .person-name{font-size:1.25rem;font-weight:700}.widget-person-list>li .person-item .person-subtext{color:var(--text-color-secondary)}.widget-person-list>li .person-actions button{margin-right:.5rem}.widget-person-list>li .person-actions button:last-child{margin-right:0}.widget-user-card{padding:0;text-align:center}.widget-user-card .user-card-header{position:relative;height:200px;background-size:cover}.widget-user-card .user-card-avatar{position:absolute;left:50%;bottom:0;width:8rem;height:8rem;margin-left:-4rem;margin-bottom:-4rem;border-radius:50%}.widget-user-card .user-card-body{padding:6em 2rem 2rem}.widget-user-card .user-card-title{font-size:1.5rem;font-weight:700}.widget-user-card .user-card-subtext{color:var(--text-color-secondary)}.widget-user-card .user-card-stats{margin-top:2rem}.widget-user-card .user-card-stats i{font-size:2rem;color:var(--text-color-secondary)}.widget-user-card .user-card-stats span{font-size:1.25rem;font-weight:600;margin-top:.5rem}.layout-config{width:var(--sidebar-width);height:100%;position:fixed;right:0;top:0;padding:1rem;overflow:auto;background:#fff;z-index:999;border-left:0 none;transform:translate(100%);transition:transform .4s cubic-bezier(.05,.74,.2,.99)}.layout-config.layout-config-active{transform:translate(0);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.layout-config.layout-config-active .layout-config-content .layout-config-button i{transform:rotate(360deg)}.layout-config p{line-height:1.5rem;color:var(--text-color-secondary)}.layout-config .layout-themes{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.layout-config .layout-themes>div{padding:.25rem}.layout-config .layout-themes a{width:2rem;height:2rem;border-radius:4px;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:transform .2s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-themes a i{font-size:1rem;position:absolute;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-themes a:hover{transform:scale(1.1)}.layout-config-button{display:block;position:fixed;width:3rem;height:3rem;line-height:3rem;background:var(--primary-color);color:var(--primary-color-text);text-align:center;margin-top:-1.5rem;transition:background-color .2s;overflow:hidden;cursor:pointer;z-index:999;box-shadow:-.25rem 0 1rem #00000026}.layout-config-button.left-bottom{top:80%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-center{top:50%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.left-top{top:20%;left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.layout-config-button.right-bottom{top:80%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-center{top:50%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button.right-top{top:20%;right:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.layout-config-button i{font-size:2rem;line-height:inherit;transform:rotate(0);transition:transform 1s}.layout-config-button:hover{background:var(--primary-color);filter:brightness(.8)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar{background:var(--primary-color);border-right:0 none;background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}.layout-sidebar-schema-light .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .app-name{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--primary-color-text);font-weight:700}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--primary-color-text)}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar{background:var(--dimmed-700);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-700) 10%,var(--dimmed-800) 100%)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--primary-color)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-light.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--primary-color);background-image:linear-gradient(180deg,var(--primary-color) 10%,var(--primary-color) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-light.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar{background:var(--surface-overlay);border-right:0 none;background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}.layout-sidebar-schema-dark .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .app-name{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--color-text);font-weight:700}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--color-text)}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem li.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar{background:var(--dimmed-800);border-right:0 none;background-image:linear-gradient(180deg,var(--dimmed-800) 10%,var(--dimmed-900) 100%)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .logo{border-bottom:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .app-name{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .menu-separator{border-top:1px solid rgba(255,255,255,.2)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li.active-menuitem>a{color:var(--dimmed-50);font-weight:700}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:hover{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu li a:focus{box-shadow:0 0 0 .2rem var(--surface-overlay)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem .layout-menuitem-root-text{color:var(--dimmed-50)}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:#ffffff1a}.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem>ul>li.active-menuitem{background:#ffffff1a}@media screen and (min-width:992px){.layout-sidebar-schema-dark.dimmed-schema.layout-slim .layout-sidebar .layout-menu .layout-root-menuitem>ul{background:var(--surface-overlay);background-image:linear-gradient(180deg,var(--surface-overlay) 10%,var(--surface-overlay) 100%)}}@media screen and (max-width:992px){.layout-sidebar-schema-dark.dimmed-schema .layout-sidebar .layout-menu .layout-root-menuitem.active-menuitem{background:transparent}}.layout-wrapper.layout-slim .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-overlay.layout-overlay-inactive .layout-content-wrapper .p-component-overlay{display:none}.layout-wrapper.layout-overlay.layout-overlay-active .layout-content-wrapper .p-component-overlay{display:block}@media screen and (max-width:991px){.layout-wrapper.layout-slim.layout-mobile-active .layout-content-wrapper .p-component-overlay,.layout-wrapper.layout-static.layout-mobile-active .layout-content-wrapper .p-component-overlay{display:block}}\n"] }]
39703
39703
  }], ctorParameters: () => [{ type: HephaestusLayout }, { type: RouterDataListenerService }, { type: i1$3.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { templates: [{
39704
39704
  type: ContentChildren,
39705
39705
  args: [SmzTemplateDirective]
@@ -40624,38 +40624,38 @@ class AthenaNotificationItemsComponent {
40624
40624
  }
40625
40625
  }
40626
40626
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaNotificationItemsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
40627
- 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: `
40628
- @for (item of items; track item; let index = $index) {
40629
- <li role="menuitem">
40630
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40631
- @if (item.icon != null) {
40632
- <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
40633
- }
40634
- <div class="notification-item">
40635
- <div class="notification-summary">{{ item.summary }}</div>
40636
- <div class="notification-detail" [innerHtml]="item.details"></div>
40637
- </div>
40638
- </a>
40639
- </li>
40640
- }
40627
+ 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: `
40628
+ @for (item of items; track item; let index = $index) {
40629
+ <li role="menuitem">
40630
+ <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40631
+ @if (item.icon != null) {
40632
+ <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
40633
+ }
40634
+ <div class="notification-item">
40635
+ <div class="notification-summary">{{ item.summary }}</div>
40636
+ <div class="notification-detail" [innerHtml]="item.details"></div>
40637
+ </div>
40638
+ </a>
40639
+ </li>
40640
+ }
40641
40641
  `, isInline: true, styles: [".notification-summary{font-weight:600}.notification-detail{font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40642
40642
  }
40643
40643
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaNotificationItemsComponent, decorators: [{
40644
40644
  type: Component,
40645
- args: [{ selector: '[smz-ui-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
40646
- @for (item of items; track item; let index = $index) {
40647
- <li role="menuitem">
40648
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40649
- @if (item.icon != null) {
40650
- <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
40651
- }
40652
- <div class="notification-item">
40653
- <div class="notification-summary">{{ item.summary }}</div>
40654
- <div class="notification-detail" [innerHtml]="item.details"></div>
40655
- </div>
40656
- </a>
40657
- </li>
40658
- }
40645
+ args: [{ selector: '[smz-ui-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
40646
+ @for (item of items; track item; let index = $index) {
40647
+ <li role="menuitem">
40648
+ <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
40649
+ @if (item.icon != null) {
40650
+ <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
40651
+ }
40652
+ <div class="notification-item">
40653
+ <div class="notification-summary">{{ item.summary }}</div>
40654
+ <div class="notification-detail" [innerHtml]="item.details"></div>
40655
+ </div>
40656
+ </a>
40657
+ </li>
40658
+ }
40659
40659
  `, standalone: false, styles: [".notification-summary{font-weight:600}.notification-detail{font-weight:400}\n"] }]
40660
40660
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { items: [{
40661
40661
  type: Input
@@ -41316,7 +41316,7 @@ class NotificationsListComponent {
41316
41316
  }
41317
41317
  }
41318
41318
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41319
- 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 });
41319
+ 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\">\n\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\n\n <ng-template smzTemplate=\"caption\" let-primeTable>\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\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>\n }\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\n <ng-template #item let-item>\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\n </ng-template>\n </ui-select-button>\n </ng-template>\n\n <!-- CONTE\u00DADOS COM OVERRIDE -->\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\n\n @switch (col.field) {\n @case ('searchData') {\n <div class=\"grid grid-nogutter items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\n <div class=\"col\">\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\n </div>\n @if (item._showActions) {\n <div class=\"grid grid-nogutter items-center justify-start gap-4 flex-col pl-4 animate__animated animate__fadeIn relative\" clickStopPropagation>\n @if (item.status !== status.ARCHIVED) {\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>\n }\n @if (item.status === status.ARCHIVED) {\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>\n }\n @if (item.route != '') {\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>\n }\n @if (item.link != '') {\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>\n }\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>\n </div>\n }\n </div>\n }\n }\n\n </ng-template>\n\n </smz-ui-table>\n\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
41320
  }
41321
41321
  __decorate([
41322
41322
  Confirmable('Deseja realmente excluir as notificações selecionadas ?<br>Está operação não poderá ser desfeita.', 'Exclusão', true)
@@ -41326,7 +41326,7 @@ __decorate([
41326
41326
  ], NotificationsListComponent.prototype, "remove", null);
41327
41327
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NotificationsListComponent, decorators: [{
41328
41328
  type: Component,
41329
- 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"] }]
41329
+ args: [{ selector: 'smz-notifications-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngVar=\"hasRuningRequest$ | async as hasRuningRequest\">\n\n <smz-ui-table #smzTable [items]=\"(notifications$ | async) | filterBy : ['status'] : currentFolder.status\" [state]=\"tableState\" [loading]=\"hasRuningRequest\" (selectionChange)=\"onSelect($event)\">\n\n <ng-template smzTemplate=\"caption\" let-primeTable>\n @if (uiConfig.rbkUtils.notifications.showRefreshButton) {\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>\n }\n <ui-select-button appendTo=\"body\" [options]=\"folders\" [(ngModel)]=\"currentFolder\" optionLabel=\"icon\" (changed)=\"currentFolder.rebuild()\">\n <ng-template #item let-item>\n <i [ngClass]=\"item.icon\" [smzTooltip]=\"item.tooltip\"></i>\n <span class=\"ml-1 text-sm\">({{ item.count$ | async }})</span>\n </ng-template>\n </ui-select-button>\n </ng-template>\n\n <!-- CONTE\u00DADOS COM OVERRIDE -->\n <ng-template smzTemplate=\"content\" let-item let-col=\"col\">\n\n @switch (col.field) {\n @case ('searchData') {\n <div class=\"grid grid-nogutter items-center justify-between\" (mouseenter)=\"item._showActions = true\" (mouseleave)=\"item._showActions = false\">\n <div class=\"col\">\n <smz-notification-item [item]=\"item\" [showDate]=\"true\"></smz-notification-item>\n </div>\n @if (item._showActions) {\n <div class=\"grid grid-nogutter items-center justify-start gap-4 flex-col pl-4 animate__animated animate__fadeIn relative\" clickStopPropagation>\n @if (item.status !== status.ARCHIVED) {\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>\n }\n @if (item.status === status.ARCHIVED) {\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>\n }\n @if (item.route != '') {\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>\n }\n @if (item.link != '') {\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>\n }\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>\n </div>\n }\n </div>\n }\n }\n\n </ng-template>\n\n </smz-ui-table>\n\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
41330
  }], ctorParameters: () => [], propDecorators: { batchRemove: [], remove: [] } });
41331
41331
 
41332
41332
  function showNotificationsDialog() {
@@ -41359,11 +41359,11 @@ class SmzNotificationsComponent {
41359
41359
  showNotificationsDialog();
41360
41360
  }
41361
41361
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41362
- 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 });
41362
+ 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) {\n <smz-responsive class=\"col grid grid-nogutter w-full items-center justify-start\">\n <!-- LANDSCAPE -->\n <ng-template smzTemplate=\"landscape\">\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\n </i>\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\">\n <smz-notifications-list></smz-notifications-list>\n </ui-popover>\n </ng-template>\n <!-- PORTRAIT -->\n <ng-template smzTemplate=\"portrait\">\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\n </i>\n </ng-template>\n </smz-responsive>\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
41363
  }
41364
41364
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzNotificationsComponent, decorators: [{
41365
41365
  type: Component,
41366
- 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"] }]
41366
+ args: [{ selector: 'smz-ui-notifications', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "@if (notifications$ | async; as notifications) {\n <smz-responsive class=\"col grid grid-nogutter w-full items-center justify-start\">\n <!-- LANDSCAPE -->\n <ng-template smzTemplate=\"landscape\">\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"op.toggle($event)\"></div>\n </i>\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\">\n <smz-notifications-list></smz-notifications-list>\n </ui-popover>\n </ng-template>\n <!-- PORTRAIT -->\n <ng-template smzTemplate=\"portrait\">\n <i class=\"fa-solid fa-bell badge-color regular-badge\" smzBadge [value]=\"(newCount$ | async).toString()\">\n <div class=\"absolute inset-0 notification-container cursor-pointer\" (click)=\"showDialog()\"></div>\n </i>\n </ng-template>\n </smz-responsive>\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
41367
  }], ctorParameters: () => [] });
41368
41368
 
41369
41369
  /* 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 */
@@ -41849,11 +41849,11 @@ class AthenaLayoutComponent {
41849
41849
  this.store.dispatch(new UiAthenaActions$1.HideSidebar);
41850
41850
  }
41851
41851
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaLayoutComponent, deps: [{ token: AthenaLayout }, { token: RouterDataListenerService }, { token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41852
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaLayoutComponent, isStandalone: false, selector: "smz-ui-athena-layout", inputs: { menu: "menu", profile: "profile", notifications: "notifications" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<smz-ui-outlet>\r\n\r\n <ng-template smzTemplate=\"layout\">\r\n\r\n @if (state$ | async; as state) {\r\n <div #layoutWrapper class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\r\n <!-- MENU SUPERIOR -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\r\n <smz-ui-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\r\n @if (headerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtras\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-athena-topbar>\r\n }\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\r\n <smz-ui-athena-horizontal-menu [menu]=\"menu\"></smz-ui-athena-horizontal-menu>\r\n }\r\n <!-- CONTE\u00DADO -->\r\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\r\n @if (state.isOverlayVisible) {\r\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\r\n }\r\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n </div>\r\n <!-- FOOTER -->\r\n @if (routerListener.data.layout.mode === 'full') {\r\n @if (!routerListener.data.layout.hideFooter) {\r\n <smz-ui-athena-footer>\r\n @if (footerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"footerExtras\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-athena-footer>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-template #content smzTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n\r\n</smz-ui-outlet>\r\n\r\n<smz-ui-athena-assistance></smz-ui-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-b);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--primary-color);padding:10px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--primary-color-text);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--primary-color-text);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-logo{height:100%;width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--primary-color-text);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--primary-color-menu-bg);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--primary-color-menu-text)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--primary-color-menu-text);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--primary-color-text);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--primary-color-text);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--primary-color-menu-text)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--primary-color-menu-bg)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--primary-color-menu-bg);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:10px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--primary-color-text)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--primary-color-text);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--primary-color-text);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--primary-color-text);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--primary-color-text);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--primary-color-text);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--primary-color-text);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.widget-pricing-box:hover p{color:var(--primary-color-text)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\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: OutletComponent, selector: "smz-ui-outlet", inputs: ["menu"] }, { kind: "component", type: AthenaTopbarComponent, selector: "smz-ui-athena-topbar", inputs: ["notifications", "profile"] }, { kind: "component", type: AthenaFooterComponent, selector: "smz-ui-athena-footer" }, { kind: "component", type: AthenaAssistanceComponent, selector: "smz-ui-athena-assistance" }, { kind: "component", type: AthenaHorizontalMenuComponent, selector: "smz-ui-athena-horizontal-menu", inputs: ["menu"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
41852
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaLayoutComponent, isStandalone: false, selector: "smz-ui-athena-layout", inputs: { menu: "menu", profile: "profile", notifications: "notifications" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<smz-ui-outlet>\n\n <ng-template smzTemplate=\"layout\">\n\n @if (state$ | async; as state) {\n <div #layoutWrapper class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\n <!-- MENU SUPERIOR -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\n <smz-ui-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\n @if (headerExtrasTemplate != null) {\n <ng-template smzTemplate=\"headerExtras\">\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-athena-topbar>\n }\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\n <smz-ui-athena-horizontal-menu [menu]=\"menu\"></smz-ui-athena-horizontal-menu>\n }\n <!-- CONTE\u00DADO -->\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\n @if (state.isOverlayVisible) {\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\n }\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n <!-- FOOTER -->\n @if (routerListener.data.layout.mode === 'full') {\n @if (!routerListener.data.layout.hideFooter) {\n <smz-ui-athena-footer>\n @if (footerExtrasTemplate != null) {\n <ng-template smzTemplate=\"footerExtras\">\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-athena-footer>\n }\n }\n </div>\n }\n\n </ng-template>\n\n <ng-template #content smzTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n\n</smz-ui-outlet>\n\n<smz-ui-athena-assistance></smz-ui-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-b);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--primary-color);padding:10px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--primary-color-text);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--primary-color-text);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-logo{height:100%;width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--primary-color-text);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--primary-color-menu-bg);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--primary-color-menu-text)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--primary-color-menu-text);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--primary-color-text);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--primary-color-text);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--primary-color-menu-text)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--primary-color-menu-bg)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--primary-color-menu-bg);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:10px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--primary-color-text)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--primary-color-text);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--primary-color-text);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--primary-color-text);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--primary-color-text);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--primary-color-text);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--primary-color-text);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.widget-pricing-box:hover p{color:var(--primary-color-text)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\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: OutletComponent, selector: "smz-ui-outlet", inputs: ["menu"] }, { kind: "component", type: AthenaTopbarComponent, selector: "smz-ui-athena-topbar", inputs: ["notifications", "profile"] }, { kind: "component", type: AthenaFooterComponent, selector: "smz-ui-athena-footer" }, { kind: "component", type: AthenaAssistanceComponent, selector: "smz-ui-athena-assistance" }, { kind: "component", type: AthenaHorizontalMenuComponent, selector: "smz-ui-athena-horizontal-menu", inputs: ["menu"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
41853
41853
  }
41854
41854
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaLayoutComponent, decorators: [{
41855
41855
  type: Component,
41856
- args: [{ selector: 'smz-ui-athena-layout', encapsulation: ViewEncapsulation.None, standalone: false, template: "<smz-ui-outlet>\r\n\r\n <ng-template smzTemplate=\"layout\">\r\n\r\n @if (state$ | async; as state) {\r\n <div #layoutWrapper class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\r\n <!-- MENU SUPERIOR -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\r\n <smz-ui-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\r\n @if (headerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtras\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-athena-topbar>\r\n }\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\r\n <smz-ui-athena-horizontal-menu [menu]=\"menu\"></smz-ui-athena-horizontal-menu>\r\n }\r\n <!-- CONTE\u00DADO -->\r\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\r\n @if (state.isOverlayVisible) {\r\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\r\n }\r\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n </div>\r\n <!-- FOOTER -->\r\n @if (routerListener.data.layout.mode === 'full') {\r\n @if (!routerListener.data.layout.hideFooter) {\r\n <smz-ui-athena-footer>\r\n @if (footerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"footerExtras\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-athena-footer>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-template #content smzTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n\r\n</smz-ui-outlet>\r\n\r\n<smz-ui-athena-assistance></smz-ui-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-b);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--primary-color);padding:10px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--primary-color-text);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--primary-color-text);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-logo{height:100%;width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--primary-color-text);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--primary-color-menu-bg);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--primary-color-menu-text)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--primary-color-menu-text);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--primary-color-text);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--primary-color-text);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--primary-color-menu-text)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--primary-color-menu-bg)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--primary-color-menu-bg);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:10px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--primary-color-text)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--primary-color-text);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--primary-color-text);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--primary-color-text);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--primary-color-text);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--primary-color-text);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--primary-color-text);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.widget-pricing-box:hover p{color:var(--primary-color-text)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\n"] }]
41856
+ args: [{ selector: 'smz-ui-athena-layout', encapsulation: ViewEncapsulation.None, standalone: false, template: "<smz-ui-outlet>\n\n <ng-template smzTemplate=\"layout\">\n\n @if (state$ | async; as state) {\n <div #layoutWrapper class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\n <!-- MENU SUPERIOR -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\n <smz-ui-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\n @if (headerExtrasTemplate != null) {\n <ng-template smzTemplate=\"headerExtras\">\n <ng-container *ngTemplateOutlet=\"headerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-athena-topbar>\n }\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\n <smz-ui-athena-horizontal-menu [menu]=\"menu\"></smz-ui-athena-horizontal-menu>\n }\n <!-- CONTE\u00DADO -->\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\n @if (state.isOverlayVisible) {\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\n }\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n <!-- FOOTER -->\n @if (routerListener.data.layout.mode === 'full') {\n @if (!routerListener.data.layout.hideFooter) {\n <smz-ui-athena-footer>\n @if (footerExtrasTemplate != null) {\n <ng-template smzTemplate=\"footerExtras\">\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-athena-footer>\n }\n }\n </div>\n }\n\n </ng-template>\n\n <ng-template #content smzTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n\n</smz-ui-outlet>\n\n<smz-ui-athena-assistance></smz-ui-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-b);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--primary-color);padding:10px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--primary-color-text);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--primary-color-text);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--primary-color-text);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-logo{height:100%;width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--primary-color-text)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--primary-color-text)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--primary-color-text);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--primary-color-menu-bg);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--primary-color-menu-text)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--primary-color-menu-text);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--primary-color-text);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--primary-color-text);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--primary-color-menu-text)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--primary-color-menu-bg)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--primary-color-menu-bg);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a:hover{color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:10px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--primary-color-menu-bg);color:var(--primary-color-menu-active)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--primary-color-menu-bg-hover);color:var(--primary-color-menu-text-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--primary-color-menu-bg)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--primary-color-text)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--primary-color-text);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--primary-color-text);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--primary-color-text);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--primary-color-text);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--primary-color-text)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--primary-color-text)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--primary-color-text);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--primary-color-text);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--primary-color-text);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--primary-color-text)}.widget-pricing-box:hover p{color:var(--primary-color-text)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 4em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\n"] }]
41857
41857
  }], ctorParameters: () => [{ type: AthenaLayout }, { type: RouterDataListenerService }, { type: i1$3.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { templates: [{
41858
41858
  type: ContentChildren,
41859
41859
  args: [SmzTemplateDirective]
@@ -42745,38 +42745,38 @@ class NewAthenaNotificationItemsComponent {
42745
42745
  }
42746
42746
  }
42747
42747
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaNotificationItemsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
42748
- 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: `
42749
- @for (item of items; track item; let index = $index) {
42750
- <li role="menuitem">
42751
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42752
- @if (item.icon != null) {
42753
- <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
42754
- }
42755
- <div class="notification-item">
42756
- <div class="notification-summary">{{ item.summary }}</div>
42757
- <div class="notification-detail" [innerHtml]="item.details"></div>
42758
- </div>
42759
- </a>
42760
- </li>
42761
- }
42748
+ 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: `
42749
+ @for (item of items; track item; let index = $index) {
42750
+ <li role="menuitem">
42751
+ <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42752
+ @if (item.icon != null) {
42753
+ <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
42754
+ }
42755
+ <div class="notification-item">
42756
+ <div class="notification-summary">{{ item.summary }}</div>
42757
+ <div class="notification-detail" [innerHtml]="item.details"></div>
42758
+ </div>
42759
+ </a>
42760
+ </li>
42761
+ }
42762
42762
  `, isInline: true, styles: [".notification-summary{font-weight:600}.notification-detail{font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MenuItemActionsDirective, selector: "[menuItemAction]", inputs: ["item", "parent", "breadcrumbs"], outputs: ["collapse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42763
42763
  }
42764
42764
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaNotificationItemsComponent, decorators: [{
42765
42765
  type: Component,
42766
- args: [{ selector: '[smz-ui-new-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
42767
- @for (item of items; track item; let index = $index) {
42768
- <li role="menuitem">
42769
- <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42770
- @if (item.icon != null) {
42771
- <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
42772
- }
42773
- <div class="notification-item">
42774
- <div class="notification-summary">{{ item.summary }}</div>
42775
- <div class="notification-detail" [innerHtml]="item.details"></div>
42776
- </div>
42777
- </a>
42778
- </li>
42779
- }
42766
+ args: [{ selector: '[smz-ui-new-athena-notification-items]', host: { '(document:click)': 'collapse($event)' }, changeDetection: ChangeDetectionStrategy.OnPush, template: `
42767
+ @for (item of items; track item; let index = $index) {
42768
+ <li role="menuitem">
42769
+ <a menuItemAction class="grid grid-nogutter items-center justify-start" style="display: flex;" [item]="item" [parent]="null" [breadcrumbs]="false" [tabindex]="index">
42770
+ @if (item.icon != null) {
42771
+ <i class="fa-solid mr-3" [ngClass]="item.icon"></i>
42772
+ }
42773
+ <div class="notification-item">
42774
+ <div class="notification-summary">{{ item.summary }}</div>
42775
+ <div class="notification-detail" [innerHtml]="item.details"></div>
42776
+ </div>
42777
+ </a>
42778
+ </li>
42779
+ }
42780
42780
  `, standalone: false, styles: [".notification-summary{font-weight:600}.notification-detail{font-weight:400}\n"] }]
42781
42781
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { items: [{
42782
42782
  type: Input
@@ -42850,148 +42850,148 @@ class AthenaTopbarActionsComponent {
42850
42850
  showLocalizationSwitch = GlobalInjector.config.rbkUtils.uiLocalization.allowLocalizationSwitching;
42851
42851
  showTenantSwitch = GlobalInjector.config.rbkUtils.authentication.allowTenantSwitching;
42852
42852
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaTopbarActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42853
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaTopbarActionsComponent, isStandalone: false, selector: "[smz-ui-new-athena-topbar-actions]", inputs: { profile: "profile", notifications: "notifications", headerExtrasTemplate: "headerExtrasTemplate" }, ngImport: i0, template: `
42854
- <ng-content></ng-content>
42855
-
42856
- <div id="smz-ui-topbar"></div>
42857
-
42858
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start gap-5">
42859
-
42860
- <!-- LANDSCAPE -->
42861
- <ng-template smzTemplate="landscape">
42862
-
42863
- <span class="col extras-container justify-end extras-container">
42864
- @if (headerExtrasTemplate != null) {
42865
- <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42866
- }
42867
- </span>
42868
-
42869
- @if (uiConfig.rbkUtils.notifications.url != null) {
42870
- <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42871
- } @else {
42872
- @if (notifications != null) {
42873
- <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42874
- }
42875
- }
42876
-
42877
-
42878
- @if (showLocalizationSwitch) {
42879
- <smz-localization-switch></smz-localization-switch>
42880
- }
42881
-
42882
- @if (showTenantSwitch) {
42883
- <smz-tenant-switch></smz-tenant-switch>
42884
- }
42885
-
42886
- @if (profile != null) {
42887
- <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42888
- }
42889
-
42890
- </ng-template>
42891
-
42892
- <!-- PORTRAIT -->
42893
- <ng-template smzTemplate="portrait">
42894
-
42895
- <span class="col extras-container justify-end extras-container">
42896
- @if (headerExtrasTemplate != null) {
42897
- <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42898
- }
42899
- </span>
42900
-
42901
- @if (uiConfig.rbkUtils.notifications.url != null) {
42902
- <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42903
- } @else {
42904
- @if (notifications != null) {
42905
- <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42906
- }
42907
- }
42908
-
42909
-
42910
- @if (showTenantSwitch) {
42911
- <smz-tenant-switch></smz-tenant-switch>
42912
- }
42913
-
42914
- @if (profile != null) {
42915
- <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42916
- }
42917
-
42918
- </ng-template>
42919
-
42920
- </smz-responsive>
42921
-
42853
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: AthenaTopbarActionsComponent, isStandalone: false, selector: "[smz-ui-new-athena-topbar-actions]", inputs: { profile: "profile", notifications: "notifications", headerExtrasTemplate: "headerExtrasTemplate" }, ngImport: i0, template: `
42854
+ <ng-content></ng-content>
42855
+
42856
+ <div id="smz-ui-topbar"></div>
42857
+
42858
+ <smz-responsive class="col grid grid-nogutter w-full items-center justify-start gap-5">
42859
+
42860
+ <!-- LANDSCAPE -->
42861
+ <ng-template smzTemplate="landscape">
42862
+
42863
+ <span class="col extras-container justify-end extras-container">
42864
+ @if (headerExtrasTemplate != null) {
42865
+ <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42866
+ }
42867
+ </span>
42868
+
42869
+ @if (uiConfig.rbkUtils.notifications.url != null) {
42870
+ <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42871
+ } @else {
42872
+ @if (notifications != null) {
42873
+ <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42874
+ }
42875
+ }
42876
+
42877
+
42878
+ @if (showLocalizationSwitch) {
42879
+ <smz-localization-switch></smz-localization-switch>
42880
+ }
42881
+
42882
+ @if (showTenantSwitch) {
42883
+ <smz-tenant-switch></smz-tenant-switch>
42884
+ }
42885
+
42886
+ @if (profile != null) {
42887
+ <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42888
+ }
42889
+
42890
+ </ng-template>
42891
+
42892
+ <!-- PORTRAIT -->
42893
+ <ng-template smzTemplate="portrait">
42894
+
42895
+ <span class="col extras-container justify-end extras-container">
42896
+ @if (headerExtrasTemplate != null) {
42897
+ <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42898
+ }
42899
+ </span>
42900
+
42901
+ @if (uiConfig.rbkUtils.notifications.url != null) {
42902
+ <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42903
+ } @else {
42904
+ @if (notifications != null) {
42905
+ <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42906
+ }
42907
+ }
42908
+
42909
+
42910
+ @if (showTenantSwitch) {
42911
+ <smz-tenant-switch></smz-tenant-switch>
42912
+ }
42913
+
42914
+ @if (profile != null) {
42915
+ <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42916
+ }
42917
+
42918
+ </ng-template>
42919
+
42920
+ </smz-responsive>
42921
+
42922
42922
  `, isInline: true, styles: [".notification-container{position:relative;font-weight:700;margin-top:0;margin-right:30px;color:var(--text-color-secondary)}.extras-container{position:relative;height:100%;display:flex;align-items:center;color:var(--text-color-secondary)}\n"], dependencies: [{ 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: NewAthenaProfileMenuComponent, selector: "[smz-ui-new-athena-profile-menu]", inputs: ["profile"] }, { kind: "component", type: NewAthenaNotificationsComponent, selector: "[smz-ui-new-athena-notifications]", inputs: ["items"] }, { kind: "component", type: SmzNotificationsComponent, selector: "smz-ui-notifications" }, { kind: "component", type: SmzTenantSwitchComponent, selector: "smz-tenant-switch" }, { kind: "component", type: SmzLocalizationSwitchComponent, selector: "smz-localization-switch" }, { kind: "component", type: SmzResponsiveComponent, selector: "smz-responsive" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
42923
42923
  }
42924
42924
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: AthenaTopbarActionsComponent, decorators: [{
42925
42925
  type: Component,
42926
- args: [{ selector: '[smz-ui-new-athena-topbar-actions]', changeDetection: ChangeDetectionStrategy.Default, template: `
42927
- <ng-content></ng-content>
42928
-
42929
- <div id="smz-ui-topbar"></div>
42930
-
42931
- <smz-responsive class="col grid grid-nogutter w-full items-center justify-start gap-5">
42932
-
42933
- <!-- LANDSCAPE -->
42934
- <ng-template smzTemplate="landscape">
42935
-
42936
- <span class="col extras-container justify-end extras-container">
42937
- @if (headerExtrasTemplate != null) {
42938
- <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42939
- }
42940
- </span>
42941
-
42942
- @if (uiConfig.rbkUtils.notifications.url != null) {
42943
- <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42944
- } @else {
42945
- @if (notifications != null) {
42946
- <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42947
- }
42948
- }
42949
-
42950
-
42951
- @if (showLocalizationSwitch) {
42952
- <smz-localization-switch></smz-localization-switch>
42953
- }
42954
-
42955
- @if (showTenantSwitch) {
42956
- <smz-tenant-switch></smz-tenant-switch>
42957
- }
42958
-
42959
- @if (profile != null) {
42960
- <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42961
- }
42962
-
42963
- </ng-template>
42964
-
42965
- <!-- PORTRAIT -->
42966
- <ng-template smzTemplate="portrait">
42967
-
42968
- <span class="col extras-container justify-end extras-container">
42969
- @if (headerExtrasTemplate != null) {
42970
- <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42971
- }
42972
- </span>
42973
-
42974
- @if (uiConfig.rbkUtils.notifications.url != null) {
42975
- <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42976
- } @else {
42977
- @if (notifications != null) {
42978
- <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42979
- }
42980
- }
42981
-
42982
-
42983
- @if (showTenantSwitch) {
42984
- <smz-tenant-switch></smz-tenant-switch>
42985
- }
42986
-
42987
- @if (profile != null) {
42988
- <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42989
- }
42990
-
42991
- </ng-template>
42992
-
42993
- </smz-responsive>
42994
-
42926
+ args: [{ selector: '[smz-ui-new-athena-topbar-actions]', changeDetection: ChangeDetectionStrategy.Default, template: `
42927
+ <ng-content></ng-content>
42928
+
42929
+ <div id="smz-ui-topbar"></div>
42930
+
42931
+ <smz-responsive class="col grid grid-nogutter w-full items-center justify-start gap-5">
42932
+
42933
+ <!-- LANDSCAPE -->
42934
+ <ng-template smzTemplate="landscape">
42935
+
42936
+ <span class="col extras-container justify-end extras-container">
42937
+ @if (headerExtrasTemplate != null) {
42938
+ <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42939
+ }
42940
+ </span>
42941
+
42942
+ @if (uiConfig.rbkUtils.notifications.url != null) {
42943
+ <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42944
+ } @else {
42945
+ @if (notifications != null) {
42946
+ <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42947
+ }
42948
+ }
42949
+
42950
+
42951
+ @if (showLocalizationSwitch) {
42952
+ <smz-localization-switch></smz-localization-switch>
42953
+ }
42954
+
42955
+ @if (showTenantSwitch) {
42956
+ <smz-tenant-switch></smz-tenant-switch>
42957
+ }
42958
+
42959
+ @if (profile != null) {
42960
+ <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42961
+ }
42962
+
42963
+ </ng-template>
42964
+
42965
+ <!-- PORTRAIT -->
42966
+ <ng-template smzTemplate="portrait">
42967
+
42968
+ <span class="col extras-container justify-end extras-container">
42969
+ @if (headerExtrasTemplate != null) {
42970
+ <ng-container *ngTemplateOutlet="headerExtrasTemplate"></ng-container>
42971
+ }
42972
+ </span>
42973
+
42974
+ @if (uiConfig.rbkUtils.notifications.url != null) {
42975
+ <smz-ui-notifications id="smz-ui-notifications" class="mt-2"></smz-ui-notifications>
42976
+ } @else {
42977
+ @if (notifications != null) {
42978
+ <span class="notification-container" smz-ui-new-athena-notifications [items]="notifications"></span>
42979
+ }
42980
+ }
42981
+
42982
+
42983
+ @if (showTenantSwitch) {
42984
+ <smz-tenant-switch></smz-tenant-switch>
42985
+ }
42986
+
42987
+ @if (profile != null) {
42988
+ <span id="smz-ui-profile-menu" smz-ui-new-athena-profile-menu [profile]="profile"></span>
42989
+ }
42990
+
42991
+ </ng-template>
42992
+
42993
+ </smz-responsive>
42994
+
42995
42995
  `, standalone: false, styles: [".notification-container{position:relative;font-weight:700;margin-top:0;margin-right:30px;color:var(--text-color-secondary)}.extras-container{position:relative;height:100%;display:flex;align-items:center;color:var(--text-color-secondary)}\n"] }]
42996
42996
  }], propDecorators: { profile: [{
42997
42997
  type: Input
@@ -43039,11 +43039,11 @@ class NewAthenaTopbarComponent {
43039
43039
  this.store.dispatch(new UiAthenaActions.ToggleSidebar);
43040
43040
  }
43041
43041
  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 });
43042
- 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 });
43042
+ 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) {\n <smz-responsive class=\"grid grid-nogutter w-full items-center justify-start\">\n <!-- LANDSCAPE -->\n <ng-template smzTemplate=\"landscape\">\n <div class=\"topbar clearfix\">\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\">\n <a class=\"topbar-logo\">\n @if ((appLogo$ | async); as appLogo) {\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\n >\n }\n </a>\n @if (!layout.hideResponsiveMenuButton) {\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\n <i class=\"fa-solid fa-align-left\"></i>\n </a>\n }\n </div>\n </div>\n </ng-template>\n <!-- PORTRAIT -->\n <ng-template smzTemplate=\"portrait\">\n <div class=\"topbar clearfix\">\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\">\n <a class=\"topbar-logo max-w-[100px]\">\n @if ((appLogo$ | async); as appLogo) {\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\n >\n }\n </a>\n @if (!layout.hideResponsiveMenuButton) {\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\n <i class=\"fa-solid fa-align-left\"></i>\n </a>\n }\n </div>\n </div>\n </ng-template>\n </smz-responsive>\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
43043
  }
43044
43044
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaTopbarComponent, decorators: [{
43045
43045
  type: Component,
43046
- 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 }" }]
43046
+ args: [{ selector: 'smz-ui-new-athena-topbar', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (layout$ | async; as layout) {\n <smz-responsive class=\"grid grid-nogutter w-full items-center justify-start\">\n <!-- LANDSCAPE -->\n <ng-template smzTemplate=\"landscape\">\n <div class=\"topbar clearfix\">\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\">\n <a class=\"topbar-logo\">\n @if ((appLogo$ | async); as appLogo) {\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\n [ngClass]=\"{ 'logo': !layout.enlargeTopbarLogo, 'enlarged-logo': layout.enlargeTopbarLogo }\"\n class=\"cursor-pointer outline-none\" tabindex=\"0\"\n >\n }\n </a>\n @if (!layout.hideResponsiveMenuButton) {\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\n <i class=\"fa-solid fa-align-left\"></i>\n </a>\n }\n </div>\n </div>\n </ng-template>\n <!-- PORTRAIT -->\n <ng-template smzTemplate=\"portrait\">\n <div class=\"topbar clearfix\">\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\">\n <a class=\"topbar-logo max-w-[100px]\">\n @if ((appLogo$ | async); as appLogo) {\n <img routerlink=\"/\" [src]=\"appLogo.horizontal\" [routerLink]=\"uiConfig.rbkUtils.authentication.authenticatedRoot\"\n class=\"w-full h-full cursor-pointer outline-none\" tabindex=\"0\"\n >\n }\n </a>\n @if (!layout.hideResponsiveMenuButton) {\n <a id=\"menu-button\" class=\"clickable\" (click)=\"toggle()\">\n <i class=\"fa-solid fa-align-left\"></i>\n </a>\n }\n </div>\n </div>\n </ng-template>\n </smz-responsive>\n }" }]
43047
43047
  }], ctorParameters: () => [{ type: i1$3.Store }], propDecorators: { templates: [{
43048
43048
  type: ContentChildren,
43049
43049
  args: [SmzTemplateDirective]
@@ -43408,11 +43408,11 @@ class NewAthenaLayoutComponent {
43408
43408
  this.store.dispatch(new UiAthenaActions.HideSidebar);
43409
43409
  }
43410
43410
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaLayoutComponent, deps: [{ token: NewAthenaLayout }, { token: RouterDataListenerService }, { token: i1$3.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43411
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaLayoutComponent, isStandalone: false, selector: "smz-ui-new-athena-layout", inputs: { menu: "menu", profile: "profile", notifications: "notifications" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<smz-ui-outlet>\r\n\r\n <ng-template smzTemplate=\"layout\">\r\n\r\n @if (state$ | async; as state) {\r\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\r\n <!-- MENU SUPERIOR -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\r\n <smz-ui-new-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\r\n @if (headerExtrasLandscapeTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtrasLandscape\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasLandscapeTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (headerExtrasPortraitTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtrasPortrait\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasPortraitTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-new-athena-topbar>\r\n }\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\r\n <smz-ui-new-athena-horizontal-menu [menu]=\"menu\"></smz-ui-new-athena-horizontal-menu>\r\n }\r\n <!-- CONTE\u00DADO -->\r\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\r\n @if (state.isOverlayVisible) {\r\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\r\n }\r\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n </div>\r\n <!-- FOOTER -->\r\n @if (routerListener.data.layout.mode === 'full') {\r\n @if (!routerListener.data.layout.hideFooter) {\r\n <smz-ui-new-athena-footer>\r\n @if (footerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"footerExtras\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-new-athena-footer>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-template #content smzTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n\r\n</smz-ui-outlet>\r\n\r\n<smz-ui-new-athena-assistance></smz-ui-new-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-ground);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--surface-card);padding:0px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--text-color-secondary);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--text-color-secondary);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-logo{width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8 - 1em)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--text-color-secondary);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--surface-overlay);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--text-color);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--text-color-secondary);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--text-color-secondary);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--text-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--surface-overlay)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--surface-overlay);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:3px 15px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--text-color-secondary)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--text-color-secondary);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--text-color-secondary);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--text-color-secondary);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--text-color-secondary);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--text-color-secondary);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--text-color-secondary);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.widget-pricing-box:hover p{color:var(--text-color-secondary)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 3.5em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\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: OutletComponent, selector: "smz-ui-outlet", inputs: ["menu"] }, { kind: "component", type: NewAthenaTopbarComponent, selector: "smz-ui-new-athena-topbar", inputs: ["notifications", "profile"] }, { kind: "component", type: NewAthenaFooterComponent, selector: "smz-ui-new-athena-footer" }, { kind: "component", type: NewAthenaAssistanceComponent, selector: "smz-ui-new-athena-assistance" }, { kind: "component", type: NewAthenaHorizontalMenuComponent, selector: "smz-ui-new-athena-horizontal-menu", inputs: ["menu"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
43411
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: NewAthenaLayoutComponent, isStandalone: false, selector: "smz-ui-new-athena-layout", inputs: { menu: "menu", profile: "profile", notifications: "notifications" }, queries: [{ propertyName: "templates", predicate: SmzTemplateDirective }], ngImport: i0, template: "<smz-ui-outlet>\n\n <ng-template smzTemplate=\"layout\">\n\n @if (state$ | async; as state) {\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\n <!-- MENU SUPERIOR -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\n <smz-ui-new-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\n @if (headerExtrasLandscapeTemplate != null) {\n <ng-template smzTemplate=\"headerExtrasLandscape\">\n <ng-container *ngTemplateOutlet=\"headerExtrasLandscapeTemplate\"></ng-container>\n </ng-template>\n }\n @if (headerExtrasPortraitTemplate != null) {\n <ng-template smzTemplate=\"headerExtrasPortrait\">\n <ng-container *ngTemplateOutlet=\"headerExtrasPortraitTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-new-athena-topbar>\n }\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\n <smz-ui-new-athena-horizontal-menu [menu]=\"menu\"></smz-ui-new-athena-horizontal-menu>\n }\n <!-- CONTE\u00DADO -->\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\n @if (state.isOverlayVisible) {\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\n }\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n <!-- FOOTER -->\n @if (routerListener.data.layout.mode === 'full') {\n @if (!routerListener.data.layout.hideFooter) {\n <smz-ui-new-athena-footer>\n @if (footerExtrasTemplate != null) {\n <ng-template smzTemplate=\"footerExtras\">\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-new-athena-footer>\n }\n }\n </div>\n }\n\n </ng-template>\n\n <ng-template #content smzTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n\n</smz-ui-outlet>\n\n<smz-ui-new-athena-assistance></smz-ui-new-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-ground);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--surface-card);padding:0px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--text-color-secondary);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--text-color-secondary);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-logo{width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8 - 1em)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--text-color-secondary);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--surface-overlay);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--text-color);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--text-color-secondary);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--text-color-secondary);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--text-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--surface-overlay)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--surface-overlay);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:3px 15px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--text-color-secondary)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--text-color-secondary);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--text-color-secondary);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--text-color-secondary);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--text-color-secondary);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--text-color-secondary);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--text-color-secondary);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.widget-pricing-box:hover p{color:var(--text-color-secondary)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 3.5em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\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: OutletComponent, selector: "smz-ui-outlet", inputs: ["menu"] }, { kind: "component", type: NewAthenaTopbarComponent, selector: "smz-ui-new-athena-topbar", inputs: ["notifications", "profile"] }, { kind: "component", type: NewAthenaFooterComponent, selector: "smz-ui-new-athena-footer" }, { kind: "component", type: NewAthenaAssistanceComponent, selector: "smz-ui-new-athena-assistance" }, { kind: "component", type: NewAthenaHorizontalMenuComponent, selector: "smz-ui-new-athena-horizontal-menu", inputs: ["menu"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
43412
43412
  }
43413
43413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: NewAthenaLayoutComponent, decorators: [{
43414
43414
  type: Component,
43415
- args: [{ selector: 'smz-ui-new-athena-layout', encapsulation: ViewEncapsulation.None, standalone: false, template: "<smz-ui-outlet>\r\n\r\n <ng-template smzTemplate=\"layout\">\r\n\r\n @if (state$ | async; as state) {\r\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\r\n <!-- MENU SUPERIOR -->\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\r\n <smz-ui-new-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\r\n @if (headerExtrasLandscapeTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtrasLandscape\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasLandscapeTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n @if (headerExtrasPortraitTemplate != null) {\r\n <ng-template smzTemplate=\"headerExtrasPortrait\">\r\n <ng-container *ngTemplateOutlet=\"headerExtrasPortraitTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-new-athena-topbar>\r\n }\r\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\r\n <smz-ui-new-athena-horizontal-menu [menu]=\"menu\"></smz-ui-new-athena-horizontal-menu>\r\n }\r\n <!-- CONTE\u00DADO -->\r\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\r\n @if (state.isOverlayVisible) {\r\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\r\n }\r\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n </div>\r\n <!-- FOOTER -->\r\n @if (routerListener.data.layout.mode === 'full') {\r\n @if (!routerListener.data.layout.hideFooter) {\r\n <smz-ui-new-athena-footer>\r\n @if (footerExtrasTemplate != null) {\r\n <ng-template smzTemplate=\"footerExtras\">\r\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\r\n </ng-template>\r\n }\r\n </smz-ui-new-athena-footer>\r\n }\r\n }\r\n </div>\r\n }\r\n\r\n </ng-template>\r\n\r\n <ng-template #content smzTemplate=\"content\">\r\n <ng-content></ng-content>\r\n </ng-template>\r\n\r\n</smz-ui-outlet>\r\n\r\n<smz-ui-new-athena-assistance></smz-ui-new-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-ground);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--surface-card);padding:0px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--text-color-secondary);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--text-color-secondary);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-logo{width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8 - 1em)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--text-color-secondary);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--surface-overlay);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--text-color);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--text-color-secondary);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--text-color-secondary);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--text-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--surface-overlay)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--surface-overlay);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:3px 15px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--text-color-secondary)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--text-color-secondary);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--text-color-secondary);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--text-color-secondary);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--text-color-secondary);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--text-color-secondary);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--text-color-secondary);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.widget-pricing-box:hover p{color:var(--text-color-secondary)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 3.5em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\n"] }]
43415
+ args: [{ selector: 'smz-ui-new-athena-layout', encapsulation: ViewEncapsulation.None, standalone: false, template: "<smz-ui-outlet>\n\n <ng-template smzTemplate=\"layout\">\n\n @if (state$ | async; as state) {\n <div class=\"layout-wrapper\" [ngClass]=\"state.wrapperClass\">\n <!-- MENU SUPERIOR -->\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'topbar-only') {\n <smz-ui-new-athena-topbar [notifications]=\"notifications\" [profile]=\"profile\">\n @if (headerExtrasLandscapeTemplate != null) {\n <ng-template smzTemplate=\"headerExtrasLandscape\">\n <ng-container *ngTemplateOutlet=\"headerExtrasLandscapeTemplate\"></ng-container>\n </ng-template>\n }\n @if (headerExtrasPortraitTemplate != null) {\n <ng-template smzTemplate=\"headerExtrasPortrait\">\n <ng-container *ngTemplateOutlet=\"headerExtrasPortraitTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-new-athena-topbar>\n }\n @if (routerListener.data.layout.mode === 'full' || routerListener.data.layout.mode === 'menu-only') {\n <smz-ui-new-athena-horizontal-menu [menu]=\"menu\"></smz-ui-new-athena-horizontal-menu>\n }\n <!-- CONTE\u00DADO -->\n <div class=\"layout-content\" [ngClass]=\"{ 'layout-content-no-footer': routerListener.data.layout.hideFooter || routerListener.data.layout.mode === 'none' }\">\n @if (state.isOverlayVisible) {\n <div class=\"p-component-overlay clear-overlay\" (click)=\"hideMenu()\"></div>\n }\n <div class=\"layout-content-container {{ routerListener.data.layout.contentStyleClass }}\" [ngStyle]=\"{ padding: routerListener.data.layout.contentPadding }\" [ngClass]=\"contentClass$ | async\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n <!-- FOOTER -->\n @if (routerListener.data.layout.mode === 'full') {\n @if (!routerListener.data.layout.hideFooter) {\n <smz-ui-new-athena-footer>\n @if (footerExtrasTemplate != null) {\n <ng-template smzTemplate=\"footerExtras\">\n <ng-container *ngTemplateOutlet=\"footerExtrasTemplate\"></ng-container>\n </ng-template>\n }\n </smz-ui-new-athena-footer>\n }\n }\n </div>\n }\n\n </ng-template>\n\n <ng-template #content smzTemplate=\"content\">\n <ng-content></ng-content>\n </ng-template>\n\n</smz-ui-outlet>\n\n<smz-ui-new-athena-assistance></smz-ui-new-athena-assistance>", styles: ["@charset \"UTF-8\";.loader{min-height:100%}.loader>div:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;background:#333;background:-webkit-gradient(radial,center center,120,center center,900,from(#1c2937),to(#1b3548));background:-moz-radial-gradient(circle,#1c2937,#1b3548);transform-origin:100% 100%}.loader>div span{width:16px;height:16px;border-radius:50%;display:inline-block;position:absolute;left:50%;top:50%;margin-left:-10px;-webkit-animation:.5s infinite linear;-moz-animation:.5s infinite linear;-o-animation:.5s infinite linear}.loader>div span:nth-child(1){background:#6ebc3b;-webkit-animation:kiri 1.2s infinite linear;-moz-animation:kiri 1.2s infinite linear;-o-animation:kiri 1.2s infinite linear}.loader>div span:nth-child(2){background:#f6a821;z-index:100}.loader>div span:nth-child(3){background:var(--primary-color);-webkit-animation:kanan 1.2s infinite linear;-moz-animation:kanan 1.2s infinite linear;-o-animation:kanan 1.2s infinite linear}@-webkit-keyframes kanan{0%{-webkit-transform:translateX(20px)}50%{-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(20px);z-index:200}}@-moz-keyframes kanan{0%{-moz-transform:translateX(20px)}50%{-moz-transform:translateX(-20px)}to{-moz-transform:translateX(20px);z-index:200}}@-o-keyframes kanan{0%{-o-transform:translateX(20px)}50%{-o-transform:translateX(-20px)}to{-o-transform:translateX(20px);z-index:200}}@-webkit-keyframes kiri{0%{-webkit-transform:translateX(-20px);z-index:200}50%{-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(-20px)}}@-moz-keyframes kiri{0%{-moz-transform:translateX(-20px);z-index:200}50%{-moz-transform:translateX(20px)}to{-moz-transform:translateX(-20px)}}@-o-keyframes kiri{0%{-o-transform:translateX(-20px);z-index:200}50%{-o-transform:translateX(20px)}to{-o-transform:translateX(-20px)}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);font-size:14px;font-weight:400;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background-color:var(--surface-ground);color:var(--text-color)}body a{text-decoration:none;color:var(--primary-color)}.layout-wrapper .topbar{background-color:var(--surface-card);padding:0px calc(var(--layout-topbar-height) / 2);height:var(--layout-topbar-height);position:fixed;top:0;width:100%;z-index:102;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .topbar #menu-button{display:none;vertical-align:top;width:var(--layout-topbar-height);text-align:center;margin-left:30px;color:var(--text-color-secondary);-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.layout-wrapper .topbar #menu-button i{font-size:28px;line-height:inherit}.layout-wrapper .topbar #menu-button:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-search{padding:0;position:relative;float:right;margin:0 10px 0 0;top:3px}.layout-wrapper .topbar .topbar-search input{display:inline-block;border:0 none;font-size:14px;background:#00000026;outline:0 none;color:var(--text-color-secondary);width:175px;padding:4px 20px 4px 8px;margin:0;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-wrapper .topbar .topbar-search input::-webkit-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input::-moz-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search input:-ms-input-placeholder{color:var(--text-color-secondary);opacity:.7;-moz-transition:opacity .3s;-o-transition:opacity .3s;-webkit-transition:opacity .3s;transition:opacity .3s}.layout-wrapper .topbar .topbar-search .topbar-search-icon{font-size:16px;position:absolute;top:4px;right:5px;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-logo{width:185px;display:inline-block}.layout-wrapper .topbar .topbar-logo .logo{height:calc(var(--layout-topbar-height) * .6)}.layout-wrapper .topbar .topbar-logo .enlarged-logo{height:calc(var(--layout-topbar-height) * .8 - 1em)}.layout-wrapper .topbar .profile{text-align:right;font-weight:700}.layout-wrapper .topbar .profile-with-icon{margin-top:4px}.layout-wrapper .topbar .profile .profile-image{vertical-align:middle;width:40px;margin:0}.layout-wrapper .topbar .profile .profile-icon{vertical-align:middle;width:auto;margin:0}.layout-wrapper .topbar .profile .profile-icon-menu{font-size:2em;margin-top:0;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .username{vertical-align:middle;margin-right:8px;color:var(--text-color-secondary)}.layout-wrapper .topbar .profile .profile-submenu-icon{font-size:16px;vertical-align:middle;color:var(--text-color-secondary)}.layout-wrapper .topbar .topbar-menu{display:none;position:absolute;right:0;top:var(--layout-topbar-height);width:250px;list-style-type:none;padding:0;margin:0;background-color:var(--surface-overlay);border-top:1px solid var(--surface-overlay);-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s;box-shadow:-9px 20px 23px -18px #000000bf}.layout-wrapper .topbar .topbar-menu.topbar-menu-visible{display:block}.layout-wrapper .topbar .topbar-menu>li a{color:var(--text-color-secondary);padding:10px 16px;display:block}.layout-wrapper .topbar .topbar-menu>li a i{font-size:16px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a span{margin-left:6px;display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a img{display:inline-block;vertical-align:middle}.layout-wrapper .topbar .topbar-menu>li a .topbar-badge{float:right;background-color:var(--surface-a);display:block;color:var(--primary-color);width:18px;height:18px;line-height:18px;text-align:center;margin-top:1px;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-wrapper .topbar .topbar-menu>li a:hover{background-color:#00000026}.layout-wrapper .topbar .topbar-menu>li ul{list-style-type:none;padding:0;margin:0;display:none}.layout-wrapper .topbar .topbar-menu>li ul a{padding-left:32px}.layout-wrapper .topbar .topbar-menu>li.menuitem-active>ul{display:block}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{border-top:1px solid #0d8ced;padding:10px 16px;display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search{float:none;display:block;width:100%;top:0}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item .topbar-search input{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper.layout-overlay .topbar,.layout-wrapper.layout-static .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-overlay .topbar #menu-button,.layout-wrapper.layout-static .topbar #menu-button{display:inline-block}.layout-wrapper.layout-slim .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{background-color:var(--surface-overlay);position:fixed;z-index:101;top:var(--layout-topbar-height);height:var(--layout-menu-height);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu{margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>.layout-menuitem-root-text{font-size:1rem;text-transform:uppercase;font-weight:500;padding:1.5rem 0 .5rem 1.5rem;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu li.layout-root-menuitem>a{display:none}.layout-wrapper .layout-menu-container .layout-menu li>a{color:var(--text-color);display:block;cursor:pointer;outline:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-menu-container .layout-menu li>a span{display:inline-block;vertical-align:middle;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li>a i{display:inline-block;vertical-align:middle}.layout-wrapper .layout-menu-container .layout-menu li>a>span.menuitem-badge{background-color:var(--primary-color);-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;width:18px;height:18px;display:inline-block;vertical-align:middle;text-align:center;color:var(--text-color-secondary);font-size:12px;float:right;position:relative;top:2px;padding-top:1px}.layout-wrapper .layout-menu-container .layout-menu li>a.rotated-icon .layout-menuitem-icon{transform:rotate(90deg)}.layout-wrapper .layout-menu-container .layout-menu li>a .layout-menuitem-toggler{-moz-transition:transform .3s;-o-transition:transform .3s;-webkit-transition:transform .3s;transition:transform .3s}.layout-wrapper .layout-menu-container .layout-menu li>a.active-menuitem-routerlink{color:var(--primary-color);font-weight:700}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a .layout-menuitem-toggler{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-o-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.layout-wrapper .layout-menu-container .layout-menu li ul{overflow:hidden;margin:0;padding:0;list-style-type:none}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip{display:none;padding:0 5px;position:absolute;left:61px;top:7px;line-height:1}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text{padding:6px 8px;font-weight:700;background-color:var(--primary-color);color:var(--text-color-secondary);min-width:75px;white-space:nowrap;text-align:center;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper .layout-menu-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:var(--primary-color)}.layout-wrapper .layout-content{display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - var(--layout-footer-height))}.layout-wrapper .layout-content.layout-content-no-footer{min-height:100vh}.layout-wrapper .layout-content .layout-breadcrumb{background-color:var(--surface-a);border-bottom:1px solid var(--surface-d);min-height:42px;padding:0 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.layout-wrapper .layout-content .layout-breadcrumb:before,.layout-wrapper .layout-content .layout-breadcrumb:after{content:\"\";display:table}.layout-wrapper .layout-content .layout-breadcrumb:after{clear:both}.layout-wrapper .layout-content .layout-breadcrumb ul{margin:10px 0 0;padding:0;list-style:none;color:var(--text-color);display:inline-block}.layout-wrapper .layout-content .layout-breadcrumb ul li{display:inline-block;vertical-align:middle;color:var(--text-color);text-transform:capitalize;padding:0 2px}.layout-wrapper .layout-content .layout-breadcrumb ul li a{color:var(--text-color)}.layout-wrapper .layout-content .layout-breadcrumb ul li a i{font-size:20px}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options{float:right;padding:0;height:100%}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a{font-family:Source Sans Pro,Arial,sans-serif;color:var(--text-color-secondary);display:inline-block;width:42px;height:42px;font-size:20px;line-height:42px;text-align:center;border-radius:0}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.layout-wrapper .layout-content .layout-breadcrumb .layout-breadcrumb-options a i{font-size:18px;line-height:inherit}.layout-wrapper .layout-content .layout-content-container{position:relative;padding:20px;flex:1 1 0}.layout-wrapper .layout-footer{background-color:var(--surface-a);padding:5px 40px}.layout-wrapper .layout-footer .footer-text-left{float:left}.layout-wrapper .layout-footer .footer-text-right{float:right;font-weight:700}.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-footer{background:var(--surface-e);height:var(--layout-footer-height);border-top:1px solid var(--surface-f);border-bottom:1px solid var(--surface-f);color:var(--text-color);padding:0 2rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.layout-footer .footer-logo-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.layout-footer .footer-logo-container img{width:1.5rem;height:1.5rem}.layout-footer .footer-logo-container .app-name{font-size:1rem;font-weight:600;letter-spacing:.2px;margin-left:.5rem}.layout-footer .copyright{font-size:.875rem}@media(min-width:1025px){.layout-wrapper .layout-content{padding-top:calc(var(--layout-topbar-height))}.layout-wrapper.layout-horizontal .layout-content{padding-top:calc(var(--layout-topbar-height) + var(--layout-menu-height))}.layout-wrapper.layout-horizontal .layout-menu-container{padding:0 20px;width:100%}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li{display:inline-block;position:relative}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a{padding:17px 12px 12px;height:var(--layout-menu-height);margin-bottom:-4px;border-bottom:2px solid transparent;-moz-transition:border-bottom-color .3s,background-color .3s;-o-transition:border-bottom-color .3s,background-color .3s;-webkit-transition:border-bottom-color .3s,background-color .3s;transition:border-bottom-color .3s,background-color .3s}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>a:hover{border-bottom-color:var(--primary-color);color:var(--text-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li.active-menuitem>ul{top:50px;left:0;position:absolute;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li a .layout-menuitem-toggler{margin-left:.25em}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li>ul{min-width:260px;box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul{display:none;margin:0;padding:0;list-style-type:none;background-color:var(--surface-overlay)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a span{margin-left:6px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li a{padding-left:24px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu li>a span.menuitem-badge{float:none;top:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-content{width:100%;padding-right:0;padding-bottom:0}.layout-wrapper.layout-horizontal .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-overlay .layout-content{padding-top:50px}.layout-wrapper.layout-overlay .layout-menu-container,.layout-wrapper.layout-static .layout-menu-container{padding:0;width:230px;height:calc(100% - 50px);left:-230px;overflow:auto;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.layout-wrapper.layout-overlay .layout-menu-container app-menu,.layout-wrapper.layout-static .layout-menu-container app-menu{flex:1 1 0}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a{padding:10px 12px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i:first-child,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i:first-child{font-size:14px;vertical-align:middle;display:inline-block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a i.layout-menuitem-toggler,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li a>span,.layout-wrapper.layout-static .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>a:hover,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu li.active-menuitem>ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu li.active-menuitem>ul{display:block}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a,.layout-wrapper.layout-static .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer{padding-bottom:10px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-title,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:11px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper.layout-overlay .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar,.layout-wrapper.layout-static .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-overlay.layout-overlay-active .layout-menu-container{left:0}.layout-wrapper.layout-static .layout-content{padding-top:50px;margin-left:230px;-moz-transition:margin-left .3s;-o-transition:margin-left .3s;-webkit-transition:margin-left .3s;transition:margin-left .3s}.layout-wrapper.layout-static.layout-static-inactive .layout-content{margin-left:0}.layout-wrapper.layout-static .layout-menu-container{left:0}.layout-wrapper.layout-static.layout-static-inactive .layout-menu-container{left:-230px}.layout-wrapper.layout-slim .layout-content{padding-top:50px;margin-left:60px}.layout-wrapper.layout-slim .layout-menu-container{padding:0;height:100%;width:60px;top:50px;position:fixed}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-footer{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu-content{width:100%;padding-right:0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu{padding:8px 0 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li{position:relative}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>.layout-menuitem-root-text{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.layout-root-menuitem>a{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a{text-align:center;padding:14px 0}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a i:first-child{font-size:19px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a span,.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a .layout-menuitem-toggler{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover+.layout-menu-tooltip{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);background-color:var(--surface-overlay);position:absolute;top:0;left:60px;min-width:260px;display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a{padding:8px 12px;display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a span{margin-left:6px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a i.layout-menuitem-toggler{float:right;display:block;margin-top:4px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>a{color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li.active-menuitem>ul{display:block}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul{width:100%;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li a{padding-left:24px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li a{padding-left:36px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li a{padding-left:48px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li>ul li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>a:hover+.layout-menu-tooltip{display:none}.layout-wrapper.layout-slim .layout-menu-container .layout-menu>li.active-menuitem>ul{display:block}}@media(max-width:1024px){.layout-wrapper .topbar{box-shadow:0 2px 4px #0000004d;-webkit-box-shadow:0 2px 4px 0px rgba(0,0,0,.3);-moz-box-shadow:0 1px 2px 4px rgba(0,0,0,.3);padding:3px 15px calc(var(--layout-topbar-height) / 4)}.layout-wrapper .topbar .profile .username{display:none}.layout-wrapper .topbar .topbar-logo{width:auto}.layout-wrapper .topbar #menu-button{display:inline-block;margin-left:10px}.layout-wrapper .topbar .topbar-search{display:none}.layout-wrapper .topbar .topbar-menu>li.topbar-search-item{display:block}.layout-wrapper .layout-mask{display:none}.layout-wrapper .layout-menu-container{padding:0;width:230px;height:100%;left:-230px;-moz-transition:left .3s;-o-transition:left .3s;-webkit-transition:left .3s;transition:left .3s}.layout-wrapper .layout-menu-container .layout-menu li a{padding:10px 12px;display:block}.layout-wrapper .layout-menu-container .layout-menu li a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu li a i:first-child{font-size:18px;vertical-align:middle;display:inline-block}.layout-wrapper .layout-menu-container .layout-menu li a i.layout-menuitem-toggler{float:right;line-height:22px}.layout-wrapper .layout-menu-container .layout-menu li a>span{vertical-align:middle;display:inline-block;line-height:15px;margin-left:6px}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a{background-color:var(--surface-overlay);color:var(--primary-color)}.layout-wrapper .layout-menu-container .layout-menu li.active-menuitem>a:hover{background-color:var(--surface-hover)}.layout-wrapper .layout-menu-container .layout-menu>li:first-child{margin-top:8px}.layout-wrapper .layout-menu-container .layout-menu>li ul{background:var(--surface-overlay)}.layout-wrapper .layout-menu-container .layout-menu>li ul li a{padding-left:24px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li a{padding-left:36px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li a{padding-left:48px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li a{padding-left:60px}.layout-wrapper .layout-menu-container .layout-menu>li ul li ul li ul li ul li ul li a{padding-left:72px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-title{display:block;padding:16px;font-size:16px;color:var(--text-color-secondary);border-bottom:1px solid var(--surface-d);letter-spacing:2px}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content{padding:10px 12px;color:var(--text-color)}.layout-wrapper .layout-menu-container .layout-menu-footer .layout-menu-footer-content .p-progressbar{height:5px;border:0 none;margin:16px 0 4px}.layout-wrapper.layout-mobile-active .layout-menu-container{left:0;overflow:auto;padding-bottom:100px}.layout-wrapper.layout-mobile-active .layout-mask{display:block;position:fixed;background-color:var(--surface-b);opacity:.7;filter:alpha(opacity=70);height:100%;width:100%;top:50px;left:0;z-index:100}}.ajax-status-icon{font-size:36px;color:var(--primary-color)}.clearfix:after{content:\" \";display:block;clear:both}.card{background:var(--surface-a);padding:1.5rem;margin-bottom:1rem;border-radius:2px;box-shadow:0 2px 4px #0000004d}.card:last-child{margin:0}.card .card-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.card .card-subtitle{color:var(--text-color-secondary);font-weight:600;margin:-1rem 0 1rem}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:70px}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:none}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.dashboard{margin:0}.dashboard>.col-12{padding:.75rem}.dashboard .overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.dashboard .overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.dashboard .overview-box img{position:absolute;bottom:0;width:100%}.dashboard .overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.dashboard .overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.dashboard .overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.dashboard .overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.dashboard .overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.dashboard .overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.dashboard .overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.dashboard .overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.dashboard .overview-box.overview-box-2 .overview-direction{color:#76be45}.dashboard .overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.dashboard .overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.dashboard .overview-box.overview-box-3 .overview-direction{color:#dea242}.dashboard .overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.dashboard .overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.dashboard .overview-box.overview-box-4 .overview-direction{color:#d67161}.dashboard .overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.dashboard .disk-spaces .p-panel-content{padding:2em}.dashboard .disk-spaces .p-panel-content span{display:block;margin-bottom:20px}.dashboard .disk-spaces .p-panel-content .p-progressbar{margin-bottom:40px;height:5px}.dashboard .task-list{overflow:hidden}.dashboard .task-list .p-panel-content{min-height:350px;padding:0}.dashboard .task-list ul{list-style-type:none;margin:0;padding:0}.dashboard .task-list ul li{padding:10px 15px;border-bottom:1px solid var(--surface-d)}.dashboard .task-list ul li:last-child{border-bottom:0 none}.dashboard .task-list ul .p-checkbox{vertical-align:middle;margin-right:6px}.dashboard .task-list ul .task-name{vertical-align:middle}.dashboard .task-list ul i{color:var(--text-color-secondary);float:right;font-size:20px;margin-top:2px;opacity:.7;filter:alpha(opacity=70)}.dashboard .contact-form{overflow:hidden}.dashboard .contact-form .p-panel .p-panel-content{min-height:350px}.dashboard .contact-form .col-12{padding:10px 15px}.dashboard .contact-form .col-12:last-child{padding-bottom:0}.dashboard .contacts{overflow:hidden}.dashboard .contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.dashboard .contacts ul li img{float:left;margin-right:8px}.dashboard .contacts ul li .contact-info{float:left}.dashboard .contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.dashboard .contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.dashboard .contacts ul li .contact-actions{float:right;padding-top:12px}.dashboard .contacts ul li .contact-actions button:last-child{margin-left:6px}.dashboard .contacts ul li:last-child{border:0}.dashboard .chat .p-panel-content{padding:0!important}.dashboard .chat .sales-panel{margin-top:15px}.dashboard .chat .sales-panel .card{padding:0;margin:0}.dashboard .chat ul{padding:12px;margin:0;list-style-type:none}.dashboard .chat ul li{padding:6px 0}.dashboard .chat ul li img{width:36px;float:left}.dashboard .chat ul li span{padding:6px 12px;float:left;display:inline-block;margin:4px 0;border-radius:2px}.dashboard .chat ul li.message-from img,.dashboard .chat ul li.message-from span{float:left}.dashboard .chat ul li.message-from img{margin-right:8px}.dashboard .chat ul li.message-from span{background-color:var(--primary-color);color:var(--text-color-secondary)}.dashboard .chat ul li.message-own img,.dashboard .chat ul li.message-own span{float:right}.dashboard .chat ul li.message-own img{margin-left:8px}.dashboard .chat ul li.message-own span{background-color:var(--surface-d);color:#000}.dashboard .chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.dashboard .chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.dashboard .chat .new-message .message-attachment i{line-height:inherit;font-size:20px}.dashboard .chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.dashboard .chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background-color:transparent;outline:0 none;padding-left:8px;box-shadow:none}.dashboard .timeline{margin:0}.dashboard .timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.dashboard .timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.dashboard .timeline>.grid .col-9{padding-left:1.5em}.dashboard .timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.dashboard .timeline>.grid .col-9 .event-content img{width:100%}.dashboard .user-card{border:1px solid var(--surface-d);padding:0}.dashboard .user-card .user-card-header{height:100px;overflow:hidden;position:relative}.dashboard .user-card .user-card-header img{width:100%}.dashboard .user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.dashboard .user-card .user-card-content{min-height:340px;background-color:transparent;position:relative}.dashboard .user-card .user-card-content img{position:absolute;top:-90px;left:24px}.dashboard .user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.dashboard .user-card .user-card-content .user-detail{text-align:left}.dashboard .user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.dashboard .user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.dashboard .user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.dashboard .user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.dashboard .user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.dashboard .user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.dashboard .map img{width:100%}.dashboard .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.dashboard .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.dashboard .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.dashboard .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.dashboard .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.dashboard .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.dashboard .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.dashboard .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.dashboard .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.dashboard .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.dashboard .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.dashboard .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.dashboard .circle-panel .p-panel-header{text-align:center}.dashboard .circle-panel .p-panel-header .p-panel-title{width:100%}.dashboard .circle-panel .p-panel-content{padding:0}.dashboard .circle-panel .grid>div{padding:2em 0}.dashboard .circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.dashboard .p-panel{border:0 none;border-radius:3px;box-shadow:0 2px 4px #0000004d}@media(max-width:1024px){.dashboard .circle-panel div.col-12:not(:last-child){border-right:0 none}}.layout-config{position:fixed;top:50px;padding:0;right:0;display:block;width:16em;z-index:998;height:calc(100% - 50px);transform:translate3d(16em,0,0);transition:transform .3s;backface-visibility:hidden;box-shadow:0 2px 10px #0000003d;color:var(--text-color);background-color:var(--surface-a)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config.layout-config-active .layout-config-button i{transform:rotate(360deg)}.layout-config .layout-config-button{display:block;position:absolute;width:52px;height:52px;line-height:52px;background-color:var(--primary-color);text-align:center;color:var(--text-color-secondary);top:230px;left:-52px;z-index:-1;overflow:hidden;cursor:pointer;transition:background-color .3s;box-shadow:0 2px 10px #0000003d}.layout-config .layout-config-button i{font-size:32px;line-height:inherit;cursor:pointer;transform:rotate(0);transition:color .3s,transform 1s}.layout-config .layout-config-close{position:absolute;width:20px;height:20px;line-height:20px;text-align:center;right:14px;top:10px;z-index:1;background-color:#e54a51;border-radius:50%;transition:background-color .3s}.layout-config .layout-config-close i{color:var(--text-color-secondary);line-height:inherit;font-size:12px}.layout-config .layout-config-close:hover{background-color:#ea6e73}.layout-config .layout-config-content{position:relative;height:100%;padding:1em;overflow:auto}.layout-config .layout-config-content .layout-themes{display:flex;flex-wrap:wrap}.layout-config .layout-config-content .layout-themes>div{padding:.25rem}.layout-config .layout-config-content .layout-themes a{width:2rem;height:2rem;border-radius:2px;display:block;position:relative;align-items:center;justify-content:center;transition:transform .3s;box-shadow:0 .125rem .25rem #00000013}.layout-config .layout-config-content .layout-themes a i{font-size:1rem;position:absolute;color:var(--text-color-secondary);top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem}.layout-config .layout-config-content .layout-themes a:hover{transform:scale(1.1)}.layout-config .col{text-align:center}.layout-config p{line-height:1.5;margin-top:0;color:var(--text-color-secondary)}.blocked-scroll-config{overflow:hidden}@media screen and (max-width:1024px){.layout-config{transform:translate3d(100%,0,0)}.layout-config.layout-config-active{transform:translateZ(0)}.layout-config .layout-config-close{right:10px}}.invoice{padding:2rem}.invoice .invoice-header{display:flex;justify-content:space-between}.invoice .invoice-company .logo-image{width:75px;margin-bottom:.5rem}.invoice .invoice-company div{margin-bottom:.5rem}.invoice .invoice-company .company-name{font-weight:700;font-size:1.5rem}.invoice .invoice-title{font-size:2rem;margin-bottom:2rem;text-align:right}.invoice .invoice-details{width:15rem;display:flex;flex-wrap:wrap}.invoice .invoice-details>div{width:50%;margin-bottom:.5rem}.invoice .invoice-details .invoice-label{text-align:left;font-weight:700}.invoice .invoice-details .invoice-value{text-align:right}.invoice .invoice-to{margin-top:1.5rem;padding-top:2rem;border-top:1px solid var(--surface-d)}.invoice .invoice-to .bill-to{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.invoice .invoice-to .invoice-to-info div{margin-bottom:.5rem}.invoice .invoice-items{margin-top:2rem;padding-top:2rem}.invoice .invoice-items table{width:100%;border-collapse:collapse}.invoice .invoice-items table tr{border-bottom:1px solid var(--surface-d)}.invoice .invoice-items table th{font-weight:700}.invoice .invoice-items table th,.invoice .invoice-items table td{padding:1rem;text-align:right}.invoice .invoice-items table th:first-child,.invoice .invoice-items table td:first-child{text-align:left}.invoice .invoice-summary{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2.5rem}.invoice .invoice-summary .invoice-value{font-weight:700}@media print{body *{visibility:hidden}#invoice-content *{visibility:visible}#invoice-content{width:100%;position:absolute;left:0;top:0}#invoice-content .card{box-shadow:none}#invoice-content .card.invoice-table{margin-bottom:10px;background-color:transparent}}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{background:#fff8e1;padding:.25rem .4rem;border-radius:2px;font-family:monospace}blockquote{margin:1rem 0;padding:0 2rem;border-left:4px solid #90a4ae}hr{border-top:solid var(--surface-d);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}.widget-overview-box{box-shadow:0 3px 8px #0000004d;padding:15px;position:relative;min-height:100px;overflow:hidden}.widget-overview-box h1{font-size:12px;color:var(--text-color-secondary);margin:0}.widget-overview-box img{position:absolute;bottom:0;width:100%}.widget-overview-box .overview-value{font-size:20px;font-weight:700;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio{position:absolute;right:15px;top:15px;color:var(--text-color-secondary)}.widget-overview-box .overview-ratio .overview-direction{display:inline-block;text-align:center;width:20px;height:20px;background-color:var(--surface-a)}.widget-overview-box .overview-ratio .overview-direction i{vertical-align:middle;font-size:inherit}.widget-overview-box .overview-ratio .overview-ratio-value{display:inline-block;height:20px;padding:0 4px}.widget-overview-box.overview-box-1{background-image:linear-gradient(to bottom,var(--primary-color) 1%,#279cf5 99%)}.widget-overview-box.overview-box-1 .overview-direction{color:var(--primary-color)}.widget-overview-box.overview-box-1 .overview-ratio-value{background-color:#1164a3;color:var(--primary-color)}.widget-overview-box.overview-box-2{background-image:linear-gradient(to bottom,#76be45,#66b92d)}.widget-overview-box.overview-box-2 .overview-direction{color:#76be45}.widget-overview-box.overview-box-2 .overview-ratio-value{background-color:#447d1d;color:#76be45}.widget-overview-box.overview-box-3{background-image:linear-gradient(to bottom,#dea242,#d5942e)}.widget-overview-box.overview-box-3 .overview-direction{color:#dea242}.widget-overview-box.overview-box-3 .overview-ratio-value{background-color:#90631d;color:#dea242}.widget-overview-box.overview-box-4{background-image:linear-gradient(to bottom,#d67161,#d65c49)}.widget-overview-box.overview-box-4 .overview-direction{color:#d67161}.widget-overview-box.overview-box-4 .overview-ratio-value{background-color:#943728;color:#d67161}.widget-circle-panel.card{padding:1rem 0 0}.widget-circle-panel h4{text-align:center;margin-bottom:0;padding-bottom:1rem;border-bottom:1px solid var(--surface-d)}.widget-circle-panel .grid>div{padding:2em 0}.widget-circle-panel div.col-12:not(:last-child){border-right:1px solid var(--surface-d)}.widget-circle-panel .status-title{margin-bottom:.714em;font-size:1.429em;text-align:center}.widget-circle-panel .circle1{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#6ebc3b;border-top-color:#6ebc3b;border-bottom-color:#6ebc3b;border-left-color:#6ebc3b;border-radius:50%;margin:auto;border-left-color:var(--surface-d)}.widget-circle-panel .circle1 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#6ebc3b;text-align:center}.widget-circle-panel .circle1 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#6ebc3b;font-weight:700;font-size:30px}.widget-circle-panel .circle2{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#f6a821;border-top-color:#f6a821;border-bottom-color:#f6a821;border-left-color:#f6a821;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-left-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle2 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#f6a821;text-align:center}.widget-circle-panel .circle2 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#f6a821;font-weight:700;font-size:30px}.widget-circle-panel .circle3{width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#039ade;border-top-color:#039ade;border-bottom-color:#039ade;border-left-color:#039ade;border-radius:50%;margin:auto;border-bottom-color:var(--surface-d);border-right-color:var(--surface-d)}.widget-circle-panel .circle3 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#039ade;text-align:center}.widget-circle-panel .circle3 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#039ade;font-weight:700;font-size:30px}.widget-circle-panel .circle4{border-left-color:var(--surface-d);width:10.714em;height:10.714em;border:10px solid var(--surface-d);border-right-color:#d66351;border-top-color:#d66351;border-bottom-color:#d66351;border-left-color:#d66351;border-radius:50%;margin:auto}.widget-circle-panel .circle4 i{position:relative;font-size:24px;left:50%;top:20%;width:36px;height:36px;margin-left:-20px;color:#d66351;text-align:center}.widget-circle-panel .circle4 span{width:79px;height:50px;position:relative;vertical-align:middle;text-align:center;top:40%;left:50%;margin-left:-35px;color:#d66351;font-weight:700;font-size:30px}.widget-user-card{border:1px solid var(--surface-d);padding:0}.widget-user-card .user-card-header{height:100px;overflow:hidden;position:relative}.widget-user-card .user-card-header img{width:100%}.widget-user-card .user-card-header .p-button{position:absolute;width:36px;height:36px;top:32px;right:24px}.widget-user-card .user-card-content{min-height:328px;background-color:transparent;position:relative}.widget-user-card .user-card-content img{position:absolute;top:-90px;left:24px}.widget-user-card .user-card-content .user-card-name{font-size:20px;color:var(--text-color);position:absolute;top:-60px;margin-left:110px;font-weight:700;white-space:nowrap}.widget-user-card .user-card-content .user-detail{text-align:left}.widget-user-card .user-card-content .user-detail ul{padding:0 0 32px;margin:0;list-style-type:none}.widget-user-card .user-card-content .user-detail ul li{padding:16px 24px;border-top:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li:last-child{border-bottom:1px solid var(--surface-d)}.widget-user-card .user-card-content .user-detail ul li i{font-size:24px;margin-right:8px;width:32px;vertical-align:middle}.widget-user-card .user-card-content .user-detail ul li .project-title{font-weight:700;margin-right:8px}.widget-user-card .user-card-content .user-detail ul li .project-detail{color:var(--text-color-secondary)}.widget-user-card .user-card-content .user-detail ul li .project-progressbar{width:100px;background-color:var(--surface-d);float:right;margin-top:12px}.widget-user-card .user-card-content .user-detail ul li .project-progressbar .project-progressbar-value{border-radius:2px;background-color:var(--primary-color);height:4px}.widget-contacts{overflow:hidden}.widget-contacts .p-panel .p-panel-content{min-height:350px;padding:0!important}.widget-contacts ul{list-style-type:none;padding:0;margin:0}.widget-contacts ul li{border-bottom:1px solid var(--surface-d);padding:10px 15px;width:100%;text-decoration:none;position:relative;display:block;border-radius:2px;transition:background-color .2s}.widget-contacts ul li img{float:left;margin-right:8px}.widget-contacts ul li .contact-info{float:left}.widget-contacts ul li .contact-info .name{display:block;margin-top:4px;font-size:14px}.widget-contacts ul li .contact-info .location{margin-top:4px;display:block;font-size:12px;color:var(--text-color-secondary)}.widget-contacts ul li .contact-actions{float:right;padding-top:12px}.widget-contacts ul li .contact-actions button:last-child{margin-left:6px}.widget-contacts ul li:last-child{border:0}.widget-timeline{margin:0}.widget-timeline>.grid .col-3{font-size:14px;position:relative;border-right:1px solid var(--surface-d)}.widget-timeline>.grid .col-3 i{font-size:24px;position:absolute;right:-16px}.widget-timeline>.grid .col-9{padding-left:1.5em}.widget-timeline>.grid .col-9 .event-text{color:var(--text-color-secondary);font-size:14px;display:block;padding-bottom:20px}.widget-timeline>.grid .col-9 .event-content img{width:100%}.widget-image-list{margin:0;padding:0;list-style-type:none}.widget-image-list li{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--surface-d);padding:1rem}.widget-image-list li:first-child{border-top:0 none;font-weight:600;font-size:1rem}.widget-image-list li img{width:64px;vertical-align:middle;margin-right:.5rem;box-shadow:0 .5rem 1rem #00000026}.widget-image-list li .listitem-value{font-weight:600}.widget-chat ul{padding:1rem;margin:0;list-style-type:none}.widget-chat ul li{padding:.5rem 0;display:flex;align-items:flex-start}.widget-chat ul li img{width:36px}.widget-chat ul li div{padding:.5rem 1rem;margin:.25rem 0;border-radius:2px}.widget-chat ul li.message-from{justify-content:flex-start}.widget-chat ul li.message-from img{margin-right:.5rem}.widget-chat ul li.message-from div{order:2;background-color:var(--primary-color);color:var(--text-color-secondary);border:solid 1px var(--primary-color)}.widget-chat ul li.message-own{justify-content:flex-end}.widget-chat ul li.message-own img{margin-left:.5rem;order:2}.widget-chat ul li.message-own div{order:1;background-color:#6ebc3b;color:var(--text-color-secondary);border:solid 1px #6ebc3b}.widget-chat .new-message{height:40px;border-top:1px solid var(--surface-d);color:#afafc0}.widget-chat .new-message .message-attachment{display:inline-block;border-right:1px solid var(--surface-d);width:40px;line-height:40px;height:100%;text-align:center}.widget-chat .new-message .message-attachment i{line-height:inherit;font-size:24px}.widget-chat .new-message .message-input{position:relative;top:-4px;width:calc(100% - 100px);display:inline-block}.widget-chat .new-message .message-input input{border:0 none;font-size:14px;width:100%;background:transparent;outline:0 none;padding-left:8px}.widget-pricing-box{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px 0;text-align:center;background-color:#e1e6e9;-moz-transition:background-color .3s;-o-transition:background-color .3s;-webkit-transition:background-color .3s;transition:background-color .3s}.widget-pricing-box .pricing-name{font-size:24px}.widget-pricing-box .pricing-fee{-moz-border-radius:50px;-webkit-border-radius:50px;border-radius:50px;background-color:var(--primary-color);color:var(--text-color-secondary);width:100px;height:100px;margin:30px auto;font-size:22px;line-height:100px}.widget-pricing-box:hover{background-color:var(--primary-color);color:var(--text-color-secondary)}.widget-pricing-box:hover p{color:var(--text-color-secondary)}.widget-pricing-box:hover .pricing-fee{background-color:#eaeeef;color:var(--primary-color)}:root{--sidebar-slim-width: 6rem;--sidebar-width: 16rem;--layout-footer-height: 3.5em;--layout-topbar-height: 4em;--layout-menu-height: 4em;--font-family: \"Source Sans Pro\", Arial, sans-serif}.clear-overlay{background-color:unset;z-index:1}\n"] }]
43416
43416
  }], ctorParameters: () => [{ type: NewAthenaLayout }, { type: RouterDataListenerService }, { type: i1$3.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { templates: [{
43417
43417
  type: ContentChildren,
43418
43418
  args: [SmzTemplateDirective]
@@ -44772,11 +44772,11 @@ class SmzTreeComponent {
44772
44772
  }
44773
44773
  }
44774
44774
  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 });
44775
- 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 });
44775
+ 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) {\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\n <smz-data-info\n [image]=\"state.emptyFeedback.image\"\n [message]=\"state.emptyFeedback.message\"\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\n <ng-template smzTemplate=\"actions\">\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\n </ng-template>\n </smz-data-info>\n } @else {\n @if (treeItems != null) {\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\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)\">\n @if (state.header.isVisible) {\n <ng-template smzTemplate=\"header\">\n @if (state.header.toolbar; as toolbar) {\n @if (headerTemplate != null) {\n <div class=\"grid grid-nogutter items-center w-full justify-start\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n <div class=\"grid grid-nogutter justify-start items-center mb-2 gap-2\">\n @if (state.header.title != null) {\n <h3 class=\"m-2 col\">{{state.header.title}}</h3>\n }\n <div class=\"grid grid-nogutter justify-start items-center gap-2\">\n @for (button of state.header.toolbar.items; track button; let i = $index) {\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\">\n </button>\n }\n @if (toolbar.nodeExpandButtons.isVisible === true) {\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\">\n </button>\n }\n @if (toolbar.nodeExpandButtons.isVisible === true) {\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\">\n </button>\n }\n @if (toolbar.treeExpandButtons.isVisible === true) {\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 !== '' \n ? toolbar.treeExpandButtons.expandLabel \n : 'Expandir \u00E1rvore'\">\n </button>\n }\n @if (toolbar.treeExpandButtons.isVisible === true) {\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 !== '' \n ? toolbar.treeExpandButtons.collapseLabel \n : 'Colapsar \u00E1rvore'\">\n </button>\n }\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\n\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' \n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\n </button>\n\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 !== '' \n ? toolbar.treeSelectionButtons.clearSelectionLabel \n : 'Limpar sele\u00E7\u00E3o'\">\n </button>\n }\n\n @if (actionsTemplate != null) {\n <div class=\"grid grid-nogutter items-center justify-start\">\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n </div>\n @if (state.filter.show) {\n <ui-icon-field class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\n </ui-icon-field>\n }\n </div>\n @if (toolbarTemplate != null) {\n <div class=\"grid grid-nogutter items-center mt-2\"\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n }\n </ng-template>\n }\n @if (state.footer.isVisible) {\n <ng-template smzTemplate=\"footer\">\n <div class=\"grid grid-nogutter justify-start items-center\">\n <span class=\"col mr-2\">FOOTER</span>\n </div>\n </ng-template>\n }\n @for (content of contentTemplates; track content) {\n <ng-template let-node [smzTemplate]=\"content.type\">\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n @if (content.template != null) {\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\n } @else {\n <div>{{ node.label }}</div>\n }\n @if (state.menu.behavior === 'row-menu') {\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\n }\n </div>\n </ng-template>\n }\n <ng-template let-node smzTemplate=\"Check\">\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n <div>{{ node.label }}</div>\n @if (state.menu.behavior === 'row-menu') {\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\n }\n </div>\n </ng-template>\n <ng-template smzTemplate=\"empty\">\n @if (!state.emptyFeedback.isFeatured) {\n <div>{{ state.emptyFeedback.message }}</div>\n }\n </ng-template>\n </ui-tree>\n }\n }\n} @else {\n @if (emptyStateTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\n }\n}\n\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
44776
  }
44777
44777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeComponent, decorators: [{
44778
44778
  type: Component,
44779
- 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" }]
44779
+ args: [{ selector: 'smz-ui-tree', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "@if (state) {\n @if ((state.emptyFeedback?.isFeatured) && (treeItems != null && treeItems.length === 0)) {\n <smz-data-info\n [image]=\"state.emptyFeedback.image\"\n [message]=\"state.emptyFeedback.message\"\n [callbackInfo]=\"state.emptyFeedback.extraInfo\"\n [callbackLabel]=\"state.emptyFeedback.actionButton?.label\"\n (clicked)=\"state.emptyFeedback.actionButton?.callback($event)\">\n <ng-template smzTemplate=\"actions\">\n <ng-container *ngTemplateOutlet=\"emptyActionsTemplate; context: { $implicit: {} }\"></ng-container>\n </ng-template>\n </smz-data-info>\n } @else {\n @if (treeItems != null) {\n <ui-menu #cm [model]=\"menuItems\" [popup]=\"true\" [styleClass]=\"menuItems == null || menuItems?.length === 0 ? 'invisible-important' : ''\"></ui-menu>\n <ui-menu #rowMenu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\"></ui-menu>\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)\">\n @if (state.header.isVisible) {\n <ng-template smzTemplate=\"header\">\n @if (state.header.toolbar; as toolbar) {\n @if (headerTemplate != null) {\n <div class=\"grid grid-nogutter items-center w-full justify-start\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n <div class=\"grid grid-nogutter justify-start items-center mb-2 gap-2\">\n @if (state.header.title != null) {\n <h3 class=\"m-2 col\">{{state.header.title}}</h3>\n }\n <div class=\"grid grid-nogutter justify-start items-center gap-2\">\n @for (button of state.header.toolbar.items; track button; let i = $index) {\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\">\n </button>\n }\n @if (toolbar.nodeExpandButtons.isVisible === true) {\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\">\n </button>\n }\n @if (toolbar.nodeExpandButtons.isVisible === true) {\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\">\n </button>\n }\n @if (toolbar.treeExpandButtons.isVisible === true) {\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 !== '' \n ? toolbar.treeExpandButtons.expandLabel \n : 'Expandir \u00E1rvore'\">\n </button>\n }\n @if (toolbar.treeExpandButtons.isVisible === true) {\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 !== '' \n ? toolbar.treeExpandButtons.collapseLabel \n : 'Colapsar \u00E1rvore'\">\n </button>\n }\n @if (toolbar.treeSelectionButtons?.isVisible === true) {\n\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' \n ? 'Dispon\u00EDvel apenas em sele\u00E7\u00E3o m\u00FAltipla' \n : (toolbar.treeSelectionButtons.selectAllLabel != null && toolbar.treeSelectionButtons.selectAllLabel !== '' ? toolbar.treeSelectionButtons.selectAllLabel : 'Selecionar tudo')\">\n </button>\n\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 !== '' \n ? toolbar.treeSelectionButtons.clearSelectionLabel \n : 'Limpar sele\u00E7\u00E3o'\">\n </button>\n }\n\n @if (actionsTemplate != null) {\n <div class=\"grid grid-nogutter items-center justify-start\">\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n </div>\n @if (state.filter.show) {\n <ui-icon-field class=\"col-12\" [ngClass]=\"state.filter.styleClass\">\n <ui-input-icon styleClass=\"fa-solid fa-magnifying-glass\"></ui-input-icon>\n <input #inputGlobal smzInputText type=\"text\" (input)=\"dt._filter(inputGlobal.value)\" [placeholder]=\"state.filter.textPlaceholder\" />\n </ui-icon-field>\n }\n </div>\n @if (toolbarTemplate != null) {\n <div class=\"grid grid-nogutter items-center mt-2\"\n [ngClass]=\"'justify-' + state.header.toolbar.alignment\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: dt }\"></ng-container>\n </div>\n }\n }\n </ng-template>\n }\n @if (state.footer.isVisible) {\n <ng-template smzTemplate=\"footer\">\n <div class=\"grid grid-nogutter justify-start items-center\">\n <span class=\"col mr-2\">FOOTER</span>\n </div>\n </ng-template>\n }\n @for (content of contentTemplates; track content) {\n <ng-template let-node [smzTemplate]=\"content.type\">\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n @if (content.template != null) {\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\n } @else {\n <div>{{ node.label }}</div>\n }\n @if (state.menu.behavior === 'row-menu') {\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\n }\n </div>\n </ng-template>\n }\n <ng-template let-node smzTemplate=\"Check\">\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n <div>{{ node.label }}</div>\n @if (state.menu.behavior === 'row-menu') {\n <button smzButton clickStopPropagation (click)=\"onRowMenuOpen(node, rowMenu, $event)\" [icon]=\"state.menu.rowMenuIcon\" [rounded]=\"true\" [text]=\"true\" [severity]=\"state.menu.rowMenuIconSeverity\"></button>\n }\n </div>\n </ng-template>\n <ng-template smzTemplate=\"empty\">\n @if (!state.emptyFeedback.isFeatured) {\n <div>{{ state.emptyFeedback.message }}</div>\n }\n </ng-template>\n </ui-tree>\n }\n }\n} @else {\n @if (emptyStateTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptyStateTemplate; context: { $implicit: {} }\"></ng-container>\n }\n}\n\n" }]
44780
44780
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: TreeHelperService }], propDecorators: { dt: [{
44781
44781
  type: ViewChild,
44782
44782
  args: [SmzUiTreeComponent]
@@ -45068,11 +45068,11 @@ class SmzTreeWithDetailsComponent {
45068
45068
  this.selectionChange.emit(node);
45069
45069
  }
45070
45070
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeWithDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
45071
- 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 });
45071
+ 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) {\n <div class=\"grid grid-nogutter items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\n <ng-container *ngClone=\"state.items$ | async as items\">\n <!-- TREE -->\n <div class=\"h-full col p-0\">\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\">\n <div class=\"h-full\">\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\n @if (headerTemplate != null) {\n <ng-template smzTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\n </ng-template>\n }\n @if (toolbarTemplate != null) {\n <ng-template smzTemplate=\"toolbar\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\n </ng-template>\n }\n @for (content of contentTemplates; track content) {\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\n </ng-template>\n }\n </smz-ui-tree>\n </ng-container>\n </div>\n </div>\n </div>\n <!-- DETAILS -->\n <div class=\"h-full col-12\" [ngClass]=\"state.layout.detailsStyleClass\">\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\">\n <!-- CONTE\u00DADO -->\n @if (state.context.selectedNode != null) {\n @if (detailsTemplate != null) {\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\n }\n } @else {\n @if (items != null) {\n @if (emptySelectionTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\n } @else {\n <div class=\"grid grid-nogutter items-center justify-center p-4 flex-col flex-grow mt-10\">\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\n <div class=\"text-lg\">Nenhum item selecionado.</div>\n </div>\n }\n }\n }\n </div>\n </div>\n </ng-container>\n </div>\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
45072
  }
45073
45073
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTreeWithDetailsComponent, decorators: [{
45074
45074
  type: Component,
45075
- 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}" }]
45075
+ args: [{ selector: 'smz-ui-tree-with-details', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'absolute inset-0' }, standalone: false, template: "@if (state != null) {\n <div class=\"grid grid-nogutter items-start justify-start h-full\" [ngClass]=\"state?.styleClass?.content\">\n <ng-container *ngClone=\"state.items$ | async as items\">\n <!-- TREE -->\n <div class=\"h-full col p-0\">\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\">\n <div class=\"h-full\">\n <ng-container *ngVar=\"items | treeItems : state as treeItems\">\n <smz-ui-tree #treeComponent [items]=\"treeItems\" [state]=\"state.tree.state\" (selectionChange)=\"selectionChanged($event)\" [styleClass]=\"state.tree.styleClass\">\n @if (headerTemplate != null) {\n <ng-template smzTemplate=\"header\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\n </ng-template>\n }\n @if (toolbarTemplate != null) {\n <ng-template smzTemplate=\"toolbar\">\n <ng-container *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: state, component: treeContainer, items: treeItems }\"></ng-container>\n </ng-template>\n }\n @for (content of contentTemplates; track content) {\n <ng-template let-node [smzTemplate]=\"'type:' + content.type\">\n <ng-container *ngTemplateOutlet=\"content.template; context: { $implicit: node }\"></ng-container>\n </ng-template>\n }\n </smz-ui-tree>\n </ng-container>\n </div>\n </div>\n </div>\n <!-- DETAILS -->\n <div class=\"h-full col-12\" [ngClass]=\"state.layout.detailsStyleClass\">\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\">\n <!-- CONTE\u00DADO -->\n @if (state.context.selectedNode != null) {\n @if (detailsTemplate != null) {\n <ng-container *ngTemplateOutlet=\"detailsTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\n }\n } @else {\n @if (items != null) {\n @if (emptySelectionTemplate != null) {\n <ng-container *ngTemplateOutlet=\"emptySelectionTemplate; context: { $implicit: state.context.selectedNode, type: state.context.selectedNode?.type }\"></ng-container>\n } @else {\n <div class=\"grid grid-nogutter items-center justify-center p-4 flex-col flex-grow mt-10\">\n <i class=\"fas fa-info-circle text-5xl text-yellow-500 mb-4\"></i>\n <div class=\"text-lg\">Nenhum item selecionado.</div>\n </div>\n }\n }\n }\n </div>\n </div>\n </ng-container>\n </div>\n}" }]
45076
45076
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { treeComponent: [{
45077
45077
  type: ViewChild,
45078
45078
  args: [SmzTreeComponent]
@@ -46163,74 +46163,74 @@ class SmzCommentsComponent {
46163
46163
  });
46164
46164
  }
46165
46165
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCommentsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SmzDialogsService }, { token: i1$3.Store }], target: i0.ɵɵFactoryTarget.Component });
46166
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCommentsComponent, isStandalone: false, selector: "smz-comments", inputs: { state: "state", data: "data" }, ngImport: i0, template: `
46167
- <!-- <mentionable-textarea [users]="users" class="w-full"></mentionable-textarea> -->
46168
- @if (data.length > 0) {
46169
- <ui-tree [value]="data">
46170
- <ng-template let-node smzTemplate="default">
46171
- <!-- CONTAINER -->
46172
- <div class="grid grid-nogutter items-start justify-start flex-nowrap gap-3 mb-3 py-1">
46173
- <!-- AVATAR -->
46174
- <img class="w-20" [src]="node.data.avatar | safeUrl"/>
46175
- <!-- CONTENT -->
46176
- <div class="col grid grid-nogutter flex-col items-start justify-start gap-2">
46177
- <!-- NAME AND DATE -->
46178
- <div class="grid grid-nogutter items-center justify-start gap-2">
46179
- <!-- DISPLAY NAME -->
46180
- <div class="font-bold leading-4">{{ node.data.displayName }}</div>
46181
- <!-- DATE: lastUpdated → timestamp → date -->
46182
- <div class="text-xs pt-px">{{ resolveCommentDate(node.data) | simpleCalendar : 'fromNow' }}</div>
46183
- </div>
46184
- <!-- MESSAGE -->
46185
- <div [innerHTML]="node.label | safeHtml"></div>
46186
- <!-- ACTIONS -->
46187
- @if (state.response.enabled) {
46188
- <a class="cursor-pointer text-sm" (click)="showCreateDialog(node)">{{ state.locale.answser }}</a>
46189
- }
46190
- </div>
46191
- </div>
46192
- </ng-template>
46193
- </ui-tree>
46194
- } @else {
46195
- <smz-icon-message [icon]="'far fa-comment'" [message]="state.locale.emptyMessage" [comment]="state.locale.firstMessage"></smz-icon-message>
46196
- }
46197
-
46166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: SmzCommentsComponent, isStandalone: false, selector: "smz-comments", inputs: { state: "state", data: "data" }, ngImport: i0, template: `
46167
+ <!-- <mentionable-textarea [users]="users" class="w-full"></mentionable-textarea> -->
46168
+ @if (data.length > 0) {
46169
+ <ui-tree [value]="data">
46170
+ <ng-template let-node smzTemplate="default">
46171
+ <!-- CONTAINER -->
46172
+ <div class="grid grid-nogutter items-start justify-start flex-nowrap gap-3 mb-3 py-1">
46173
+ <!-- AVATAR -->
46174
+ <img class="w-20" [src]="node.data.avatar | safeUrl"/>
46175
+ <!-- CONTENT -->
46176
+ <div class="col grid grid-nogutter flex-col items-start justify-start gap-2">
46177
+ <!-- NAME AND DATE -->
46178
+ <div class="grid grid-nogutter items-center justify-start gap-2">
46179
+ <!-- DISPLAY NAME -->
46180
+ <div class="font-bold leading-4">{{ node.data.displayName }}</div>
46181
+ <!-- DATE: lastUpdated → timestamp → date -->
46182
+ <div class="text-xs pt-px">{{ resolveCommentDate(node.data) | simpleCalendar : 'fromNow' }}</div>
46183
+ </div>
46184
+ <!-- MESSAGE -->
46185
+ <div [innerHTML]="node.label | safeHtml"></div>
46186
+ <!-- ACTIONS -->
46187
+ @if (state.response.enabled) {
46188
+ <a class="cursor-pointer text-sm" (click)="showCreateDialog(node)">{{ state.locale.answser }}</a>
46189
+ }
46190
+ </div>
46191
+ </div>
46192
+ </ng-template>
46193
+ </ui-tree>
46194
+ } @else {
46195
+ <smz-icon-message [icon]="'far fa-comment'" [message]="state.locale.emptyMessage" [comment]="state.locale.firstMessage"></smz-icon-message>
46196
+ }
46197
+
46198
46198
  `, isInline: true, styles: ["smz-comments .p-tree .p-tree-container .p-treenode .p-treenode-content:focus{box-shadow:unset!important}\n"], dependencies: [{ 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: "component", type: SmzIconMessageComponent, selector: "smz-icon-message", inputs: ["icon", "message", "comment"] }, { kind: "pipe", type: SafeHtmlPipe$2, name: "safeHtml" }, { kind: "pipe", type: SafeUrlPipe$1, name: "safeUrl" }, { kind: "pipe", type: SimpleCalendarPipe, name: "simpleCalendar" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None });
46199
46199
  }
46200
46200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzCommentsComponent, decorators: [{
46201
46201
  type: Component,
46202
- args: [{ selector: 'smz-comments', template: `
46203
- <!-- <mentionable-textarea [users]="users" class="w-full"></mentionable-textarea> -->
46204
- @if (data.length > 0) {
46205
- <ui-tree [value]="data">
46206
- <ng-template let-node smzTemplate="default">
46207
- <!-- CONTAINER -->
46208
- <div class="grid grid-nogutter items-start justify-start flex-nowrap gap-3 mb-3 py-1">
46209
- <!-- AVATAR -->
46210
- <img class="w-20" [src]="node.data.avatar | safeUrl"/>
46211
- <!-- CONTENT -->
46212
- <div class="col grid grid-nogutter flex-col items-start justify-start gap-2">
46213
- <!-- NAME AND DATE -->
46214
- <div class="grid grid-nogutter items-center justify-start gap-2">
46215
- <!-- DISPLAY NAME -->
46216
- <div class="font-bold leading-4">{{ node.data.displayName }}</div>
46217
- <!-- DATE: lastUpdated → timestamp → date -->
46218
- <div class="text-xs pt-px">{{ resolveCommentDate(node.data) | simpleCalendar : 'fromNow' }}</div>
46219
- </div>
46220
- <!-- MESSAGE -->
46221
- <div [innerHTML]="node.label | safeHtml"></div>
46222
- <!-- ACTIONS -->
46223
- @if (state.response.enabled) {
46224
- <a class="cursor-pointer text-sm" (click)="showCreateDialog(node)">{{ state.locale.answser }}</a>
46225
- }
46226
- </div>
46227
- </div>
46228
- </ng-template>
46229
- </ui-tree>
46230
- } @else {
46231
- <smz-icon-message [icon]="'far fa-comment'" [message]="state.locale.emptyMessage" [comment]="state.locale.firstMessage"></smz-icon-message>
46232
- }
46233
-
46202
+ args: [{ selector: 'smz-comments', template: `
46203
+ <!-- <mentionable-textarea [users]="users" class="w-full"></mentionable-textarea> -->
46204
+ @if (data.length > 0) {
46205
+ <ui-tree [value]="data">
46206
+ <ng-template let-node smzTemplate="default">
46207
+ <!-- CONTAINER -->
46208
+ <div class="grid grid-nogutter items-start justify-start flex-nowrap gap-3 mb-3 py-1">
46209
+ <!-- AVATAR -->
46210
+ <img class="w-20" [src]="node.data.avatar | safeUrl"/>
46211
+ <!-- CONTENT -->
46212
+ <div class="col grid grid-nogutter flex-col items-start justify-start gap-2">
46213
+ <!-- NAME AND DATE -->
46214
+ <div class="grid grid-nogutter items-center justify-start gap-2">
46215
+ <!-- DISPLAY NAME -->
46216
+ <div class="font-bold leading-4">{{ node.data.displayName }}</div>
46217
+ <!-- DATE: lastUpdated → timestamp → date -->
46218
+ <div class="text-xs pt-px">{{ resolveCommentDate(node.data) | simpleCalendar : 'fromNow' }}</div>
46219
+ </div>
46220
+ <!-- MESSAGE -->
46221
+ <div [innerHTML]="node.label | safeHtml"></div>
46222
+ <!-- ACTIONS -->
46223
+ @if (state.response.enabled) {
46224
+ <a class="cursor-pointer text-sm" (click)="showCreateDialog(node)">{{ state.locale.answser }}</a>
46225
+ }
46226
+ </div>
46227
+ </div>
46228
+ </ng-template>
46229
+ </ui-tree>
46230
+ } @else {
46231
+ <smz-icon-message [icon]="'far fa-comment'" [message]="state.locale.emptyMessage" [comment]="state.locale.firstMessage"></smz-icon-message>
46232
+ }
46233
+
46234
46234
  `, changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, standalone: false, styles: ["smz-comments .p-tree .p-tree-container .p-treenode .p-treenode-content:focus{box-shadow:unset!important}\n"] }]
46235
46235
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: SmzDialogsService }, { type: i1$3.Store }], propDecorators: { state: [{
46236
46236
  type: Input
@@ -48006,7 +48006,7 @@ class SmzTimelineComponent {
48006
48006
  this.cdr.markForCheck();
48007
48007
  }
48008
48008
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48009
- 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 });
48009
+ 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) {\n @if (state.items$ | async; as items) {\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\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\">\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n @if (state.title.isVisible) {\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\n }\n </div>\n <div class=\"grid grid-nogutter items-center justify-end gap-3\">\n @if (headerTemplate != null) {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\n }\n @if (state.sources.length > 0) {\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\n }\n </div>\n </div>\n }\n @if (items?.length > 0) {\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\n <ng-template smzTemplate=\"marker\" let-event>\n <span [ngClass]=\"state.marker.styleClass\">\n <i [ngClass]=\"state.marker.icon\"></i>\n </span>\n </ng-template>\n <ng-template smzTemplate=\"content\" let-event>\n @if (state.template != null) {\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>\n }\n </ng-template>\n </ui-timeline>\n } @else {\n <div>{{ state.locale.emptyMessage }}</div>\n }\n }\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
48010
  }
48011
48011
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: SmzTimelineComponent, decorators: [{
48012
48012
  type: Component,
@@ -48018,7 +48018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
48018
48018
  SmzUiTimelineComponent,
48019
48019
  SafeContentPipeModule,
48020
48020
  NgxSmzCardsModule,
48021
- ], 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"] }]
48021
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (state != null) {\n @if (state.items$ | async; as items) {\n @if (state.title.isVisible || headerTemplate != null || state.sources.length > 0) {\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\">\n <div class=\"grid grid-nogutter items-center justify-start gap-2\">\n @if (state.title.isVisible) {\n <div class=\"text-lg\" [innerHtml]=\"state.title.getText() | safeHtml\"></div>\n }\n </div>\n <div class=\"grid grid-nogutter items-center justify-end gap-3\">\n @if (headerTemplate != null) {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: state }\"></ng-container>\n }\n @if (state.sources.length > 0) {\n <ui-select appendTo=\"body\" [options]=\"state.sources\" dataKey=\"key\" [(ngModel)]=\"state.selectedSource\" optionLabel=\"label\" (changed)=\"updateMainSource($event)\"></ui-select>\n }\n </div>\n </div>\n }\n @if (items?.length > 0) {\n <ui-timeline [value]=\"items\" [align]=\"state.view.align\" [styleClass]=\"state.view.styleClass.timeline\">\n <ng-template smzTemplate=\"marker\" let-event>\n <span [ngClass]=\"state.marker.styleClass\">\n <i [ngClass]=\"state.marker.icon\"></i>\n </span>\n </ng-template>\n <ng-template smzTemplate=\"content\" let-event>\n @if (state.template != null) {\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>\n }\n </ng-template>\n </ui-timeline>\n } @else {\n <div>{{ state.locale.emptyMessage }}</div>\n }\n }\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
48022
  }], propDecorators: { templates: [{
48023
48023
  type: ContentChildren,
48024
48024
  args: [SmzTemplateDirective]