@n-isi-platform/design-system 1.0.49 → 1.0.51

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.
@@ -25,7 +25,7 @@ import { TooltipModule, Tooltip } from 'primeng/tooltip';
25
25
  import * as i1$3 from 'primeng/config';
26
26
  import * as i1$1 from 'primeng/api';
27
27
  import { PrimeTemplate, ConfirmEventType } from 'primeng/api';
28
- import { BehaviorSubject, throwError, firstValueFrom, Subscription, take } from 'rxjs';
28
+ import { BehaviorSubject, throwError, interval, firstValueFrom, Subscription, take } from 'rxjs';
29
29
  import { catchError } from 'rxjs/operators';
30
30
  import * as i1$4 from 'primeng/accordion';
31
31
  import { Accordion, AccordionModule } from 'primeng/accordion';
@@ -61,6 +61,7 @@ import { InputNumberModule } from 'primeng/inputnumber';
61
61
  import { InputMask } from 'primeng/inputmask';
62
62
  import { ProgressSpinner } from 'primeng/progressspinner';
63
63
  import { Dialog, DialogModule } from 'primeng/dialog';
64
+ import { Avatar } from 'primeng/avatar';
64
65
  import { MessageModule } from 'primeng/message';
65
66
  import * as i1$9 from 'primeng/picklist';
66
67
  import { PickListModule } from 'primeng/picklist';
@@ -453,6 +454,9 @@ class SharedMessageService {
453
454
  });
454
455
  }
455
456
  errorMessage(message) {
457
+ if (message?.includes('Aktiven zaklep ne obstaja')) {
458
+ return;
459
+ }
456
460
  this.messageService.add({
457
461
  key: 'notification',
458
462
  severity: 'error',
@@ -520,8 +524,12 @@ class FileUploadComponent {
520
524
  getPrilogaId(item) {
521
525
  if (item instanceof File)
522
526
  return undefined;
523
- if (this.isLocalPhoto(item))
524
- return undefined;
527
+ if (this.isLocalPhoto(item)) {
528
+ if (typeof item.serverPrilogaId === 'number')
529
+ return item.serverPrilogaId;
530
+ const firstServerId = item.serverPrilogaIds?.[0];
531
+ return typeof firstServerId === 'number' ? firstServerId : undefined;
532
+ }
525
533
  return item.id;
526
534
  }
527
535
  delete(fileOrId, index) {
@@ -602,6 +610,9 @@ class FileUploadComponent {
602
610
  getLocalPhotoStatusSeverity(item) {
603
611
  return this.isLocalPhoto(item) && this.isLocalPhotoSynced(item) ? 'success' : 'warn';
604
612
  }
613
+ hasDownloadableLocalPhoto(item) {
614
+ return this.isLocalPhoto(item) && this.isLocalPhotoSynced(item) && this.getPrilogaId(item) != null;
615
+ }
605
616
  isLocalPhotoSynced(item) {
606
617
  const synced = item.synced;
607
618
  return synced === true || synced === 1 || synced === '1' || synced === 'true';
@@ -635,7 +646,7 @@ class FileUploadComponent {
635
646
  this.totalSizePercent = this.totalSize / 10;
636
647
  }
637
648
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1$3.PrimeNG }, { token: SharedMessageService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
638
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FileUploadComponent, isStandalone: true, selector: "app-file-upload", inputs: { postavkaPregledaId: "postavkaPregledaId", uploadedFiles: "uploadedFiles", maxFileSize: "maxFileSize", totalMaxFileSize: "totalMaxFileSize", disabled: "disabled", acceptFiles: "acceptFiles", multiple: "multiple", extraInfo: "extraInfo" }, outputs: { onSaveFile: "onSaveFile", onDelete: "onDelete", onDeleteLocal: "onDeleteLocal", onDeleteLocalPhotoId: "onDeleteLocalPhotoId", onDownload: "onDownload", valid: "valid" }, ngImport: i0, template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i [class]=\"isLocalPhoto(priloga) ? 'pi pi-image' : 'pi pi-file'\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"isLocalPhoto(priloga)\">\r\n <p-badge\r\n [value]=\"getLocalPhotoStatusShortLabel(priloga)\"\r\n badgeSize=\"small\"\r\n [severity]=\"getLocalPhotoStatusSeverity(priloga)\"\r\n [pTooltip]=\"getLocalPhotoStatusLabel(priloga)\"\r\n tooltipPosition=\"top\" />\r\n </div>\r\n <div *ngIf=\"!isTempFile(priloga) && !isLocalPhoto(priloga)\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? delete(priloga, i) : delete(priloga, i)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n <p *ngIf=\"extraInfo\">{{ extraInfo | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i4.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i5.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: OverlayBadgeModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MenubarModule }, { kind: "ngmodule", type: ChipModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
649
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: FileUploadComponent, isStandalone: true, selector: "app-file-upload", inputs: { postavkaPregledaId: "postavkaPregledaId", uploadedFiles: "uploadedFiles", maxFileSize: "maxFileSize", totalMaxFileSize: "totalMaxFileSize", disabled: "disabled", acceptFiles: "acceptFiles", multiple: "multiple", extraInfo: "extraInfo" }, outputs: { onSaveFile: "onSaveFile", onDelete: "onDelete", onDeleteLocal: "onDeleteLocal", onDeleteLocalPhotoId: "onDeleteLocalPhotoId", onDownload: "onDownload", valid: "valid" }, ngImport: i0, template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i [class]=\"isLocalPhoto(priloga) ? 'pi pi-image' : 'pi pi-file'\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"isLocalPhoto(priloga) && !hasDownloadableLocalPhoto(priloga)\">\r\n <p-badge\r\n [value]=\"getLocalPhotoStatusShortLabel(priloga)\"\r\n badgeSize=\"small\"\r\n [severity]=\"getLocalPhotoStatusSeverity(priloga)\"\r\n [pTooltip]=\"getLocalPhotoStatusLabel(priloga)\"\r\n tooltipPosition=\"top\" />\r\n </div>\r\n <div *ngIf=\"hasDownloadableLocalPhoto(priloga) || (!isTempFile(priloga) && !isLocalPhoto(priloga))\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? delete(priloga, i) : delete(priloga, i)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n <p *ngIf=\"extraInfo\">{{ extraInfo | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i4.Badge, selector: "p-badge", inputs: ["styleClass", "style", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i5.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: OverlayBadgeModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MenubarModule }, { kind: "ngmodule", type: ChipModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
639
650
  }
640
651
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: FileUploadComponent, decorators: [{
641
652
  type: Component,
@@ -653,7 +664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
653
664
  MenubarModule,
654
665
  ChipModule,
655
666
  TooltipModule,
656
- ], template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i [class]=\"isLocalPhoto(priloga) ? 'pi pi-image' : 'pi pi-file'\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"isLocalPhoto(priloga)\">\r\n <p-badge\r\n [value]=\"getLocalPhotoStatusShortLabel(priloga)\"\r\n badgeSize=\"small\"\r\n [severity]=\"getLocalPhotoStatusSeverity(priloga)\"\r\n [pTooltip]=\"getLocalPhotoStatusLabel(priloga)\"\r\n tooltipPosition=\"top\" />\r\n </div>\r\n <div *ngIf=\"!isTempFile(priloga) && !isLocalPhoto(priloga)\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? delete(priloga, i) : delete(priloga, i)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n <p *ngIf=\"extraInfo\">{{ extraInfo | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n" }]
667
+ ], template: " <p-fileupload\r\n class=\"pt-3\"\r\n name=\"priloge[]\"\r\n invalidFileSizeMessageSummary=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageSummary' | translate\r\n }}\"\r\n invalidFileSizeMessageDetail=\"{{\r\n 'components.fileUpload.invalidFileSizeMessageDetail' | translate\r\n }}\"\r\n invalidFileTypeMessageDetail=\"{{'components.fileUpload.invalidFileTypeMessageDetail' | translate}}\"\r\n invalidFileTypeMessageSummary=\"{{ 'components.fileUpload.invalidFileTypeMessageSummary' | translate}}\"\r\n [multiple]=\"multiple\"\r\n (onRemove)=\"remove($event)\"\r\n [accept]=\"acceptFiles\"\r\n [maxFileSize]=\"maxFileSize\"\r\n (onSelect)=\"onSelectedFiles($event)\">\r\n <ng-template\r\n #header\r\n let-priloge\r\n let-chooseCallback=\"chooseCallback\"\r\n let-clearCallback=\"clearCallback\">\r\n <div class=\"flex gap-2\">\r\n <lib-button\r\n [disabled]=\"disabled\"\r\n (click)=\"choose($event, chooseCallback)\"\r\n label=\"{{ 'components.fileUpload.izberi' | translate }}\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi pi-file'\"\r\n [color]=\"ButtonColor.primary\" />\r\n </div>\r\n </ng-template>\r\n <ng-template #content let-priloge let-removeFileCallback=\"removeFileCallback\">\r\n <div class=\"flex flex-col gap-8 pt-4\">\r\n <div class=\"w-full\" *ngIf=\"uploadedFiles.length > 0\">\r\n <div class=\"flex flex-column gap-4\">\r\n <div\r\n *ngFor=\"let priloga of uploadedFiles; let i = index\"\r\n class=\"flex flex-col justify-content-between items-center gap-2 px-3\">\r\n <div class=\"flex flex-col\">\r\n <div>\r\n <i [class]=\"isLocalPhoto(priloga) ? 'pi pi-image' : 'pi pi-file'\"></i>\r\n </div>\r\n <span class=\"pl-3 text-ellipsis max-w-60 whitespace-nowrap overflow-hidden\">\r\n {{ getDisplayName(priloga) }}\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center\">\r\n <div *ngIf=\"isLocalPhoto(priloga) && !hasDownloadableLocalPhoto(priloga)\">\r\n <p-badge\r\n [value]=\"getLocalPhotoStatusShortLabel(priloga)\"\r\n badgeSize=\"small\"\r\n [severity]=\"getLocalPhotoStatusSeverity(priloga)\"\r\n [pTooltip]=\"getLocalPhotoStatusLabel(priloga)\"\r\n tooltipPosition=\"top\" />\r\n </div>\r\n <div *ngIf=\"hasDownloadableLocalPhoto(priloga) || (!isTempFile(priloga) && !isLocalPhoto(priloga))\">\r\n <p-badge value=\"Zaklju\u010Den\" badgeSize=\"small\" severity=\"success\" />\r\n <p-button\r\n (click)=\"downloadFile(priloga)\"\r\n severity=\"primary\"\r\n icon=\"pi pi-download\"\r\n aria-label=\"Prenesi\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n <p-button\r\n [disabled]=\"disabled\"\r\n (click)=\"isTempFile(priloga) ? delete(priloga, i) : delete(priloga, i)\"\r\n severity=\"danger\"\r\n icon=\"pi pi-times\"\r\n [rounded]=\"true\"\r\n [text]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #priloga></ng-template>\r\n <ng-template #empty>\r\n <div\r\n *ngIf=\"uploadedFiles.length === 0\"\r\n class=\"flex align-center justify-around\"\r\n [style.width]=\"'100%'\">\r\n <span class=\"pi pi-cloud-upload mr-3\"></span>\r\n <p>{{ 'components.fileUpload.povlecitveInSpustiteDatotekeZaNalaganje' | translate }}</p>\r\n <p *ngIf=\"extraInfo\">{{ extraInfo | translate }}</p>\r\n </div>\r\n <div *ngIf=\"acceptFiles\" class=\"flex align-center justify-around\">\r\n <div class=\"placeholder\"></div>\r\n <p>{{ ('components.fileUpload.dovoljeneDatoteke' | translate) + acceptFiles }}</p>\r\n </div>\r\n </ng-template>\r\n </p-fileupload>\r\n" }]
657
668
  }], ctorParameters: () => [{ type: i1$3.PrimeNG }, { type: SharedMessageService }, { type: i1$2.TranslateService }], propDecorators: { postavkaPregledaId: [{
658
669
  type: Input
659
670
  }], uploadedFiles: [{
@@ -955,6 +966,13 @@ class ErrorInterceptor {
955
966
  constructor() { }
956
967
  intercept(httpRequest, next) {
957
968
  return next.handle(httpRequest).pipe(catchError((err) => {
969
+ const errorMessage = this.getErrorText(err);
970
+ const suppressMissingActiveLockToast = errorMessage.includes('Aktiven zaklep ne obstaja');
971
+ const suppressNoActiveLockLookupToast = this.isNoActiveLockLookupError(httpRequest, err);
972
+ const suppressGlobalError = err.url?.includes('/zaklepi') && err.status !== 401;
973
+ if (suppressGlobalError || suppressMissingActiveLockToast || suppressNoActiveLockLookupToast) {
974
+ return throwError(() => err);
975
+ }
958
976
  if (err.status === 401) {
959
977
  if (err?.error?.errorCode == 2056) {
960
978
  this.sharedMessageService.errorMessage(this.translateService?.instant('errors.deactivatedAccount'));
@@ -1005,6 +1023,33 @@ class ErrorInterceptor {
1005
1023
  return throwError(() => err);
1006
1024
  }));
1007
1025
  }
1026
+ getErrorText(err) {
1027
+ const body = err.error;
1028
+ const parts = [
1029
+ typeof body === 'string' ? body : '',
1030
+ body?.message,
1031
+ body?.detail,
1032
+ body?.messageToUser,
1033
+ body?.error,
1034
+ err.message,
1035
+ ];
1036
+ if (body && typeof body === 'object') {
1037
+ try {
1038
+ parts.push(JSON.stringify(body));
1039
+ }
1040
+ catch {
1041
+ // Ignore non-serializable error payloads.
1042
+ }
1043
+ }
1044
+ return parts.filter((part) => typeof part === 'string').join(' ');
1045
+ }
1046
+ isNoActiveLockLookupError(httpRequest, err) {
1047
+ return (httpRequest.method === 'GET' &&
1048
+ /\/zaklepi\/ZADEVA\/\d+(?:$|[/?#])/.test(httpRequest.urlWithParams) &&
1049
+ err.status === 400 &&
1050
+ (err.error?.errorCode === 2068 ||
1051
+ err.error?.message === 'Aktiven zaklep ne obstaja.'));
1052
+ }
1008
1053
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1009
1054
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ErrorInterceptor });
1010
1055
  }
@@ -3509,6 +3554,148 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
3509
3554
  type: Input
3510
3555
  }] } });
3511
3556
 
3557
+ class NavbarComponent {
3558
+ localStorageService;
3559
+ appConfigService;
3560
+ imageWidth = '189';
3561
+ imageHeight = '50';
3562
+ logoAltText = 'logo';
3563
+ multiLanguageEnabled = false;
3564
+ userData;
3565
+ logoutLabel = '';
3566
+ isLogoClick = new EventEmitter();
3567
+ isAccessibilityClicked = new EventEmitter();
3568
+ isLogoutClicked = new EventEmitter();
3569
+ notificationList = [];
3570
+ ButtonColor = ButtonColor;
3571
+ // za urgent notifications
3572
+ currentLanguage = 'sl';
3573
+ currentNotification = '';
3574
+ currentIndex = 0;
3575
+ animationClass = 'fade-in';
3576
+ notificationChangeInterval = 5000;
3577
+ constructor(localStorageService, appConfigService) {
3578
+ this.localStorageService = localStorageService;
3579
+ this.appConfigService = appConfigService;
3580
+ }
3581
+ ngOnInit() {
3582
+ this.currentLanguage = this.localStorageService.getItem('lang') || 'sl'; // Simuliraj izbran jezik
3583
+ if (this.notificationList?.length > 0) {
3584
+ this.showUrgentNotifications();
3585
+ }
3586
+ }
3587
+ /**
3588
+ * prikaz nujnih obvestil
3589
+ */
3590
+ showUrgentNotifications() {
3591
+ // prikaže obvestila
3592
+ this.displayNotification();
3593
+ // Menjaj obvestila vsakih N sekund, če jih je več
3594
+ if (this.notificationList.length > 1) {
3595
+ interval(this.notificationChangeInterval).subscribe(() => {
3596
+ this.changeNotification();
3597
+ });
3598
+ }
3599
+ }
3600
+ displayNotification() {
3601
+ const notification = this.notificationList[this.currentIndex];
3602
+ this.currentNotification = notification.notificationText;
3603
+ }
3604
+ changeNotification() {
3605
+ // Najprej uporabi fade-out
3606
+ this.animationClass = 'fade-out';
3607
+ // Počakaj, da se fade-out konča, nato posodobi obvestilo in uporabi fade-in
3608
+ setTimeout(() => {
3609
+ this.currentIndex = (this.currentIndex + 1) % this.notificationList.length;
3610
+ this.displayNotification();
3611
+ this.animationClass = 'fade-in';
3612
+ }, 1000); // 1 sekunda za fade-out
3613
+ }
3614
+ clickLogo(event) {
3615
+ event.preventDefault();
3616
+ this.isLogoClick.emit(event);
3617
+ }
3618
+ accessibilityClick(event) {
3619
+ event.preventDefault();
3620
+ this.isAccessibilityClicked.emit(event);
3621
+ }
3622
+ logoutClick(event) {
3623
+ event.preventDefault();
3624
+ this.isLogoutClicked.emit(event);
3625
+ }
3626
+ get userFullName() {
3627
+ return [this.userData?.ime, this.userData?.priimek].filter(Boolean).join(' ');
3628
+ }
3629
+ get userInspekcije() {
3630
+ return this.userData?.vloge ? Object.keys(this.userData.vloge).join(', ') : '';
3631
+ }
3632
+ /**
3633
+ * Mare; 2026-01-13; safe version za checkmarx
3634
+ */
3635
+ sanitizeLang(lang) {
3636
+ switch (lang) {
3637
+ case 'si':
3638
+ case 'sl':
3639
+ return 'sl';
3640
+ case 'it':
3641
+ case 'hu':
3642
+ case 'en':
3643
+ return lang;
3644
+ default:
3645
+ return 'sl';
3646
+ }
3647
+ }
3648
+ /**
3649
+ * Mare, 2024-09-13; safe version, da ne faila Checkmarx XSS check
3650
+ * Mare; 2026-01-13; safe version za checkmarx
3651
+ */
3652
+ changeLanguage(event, language) {
3653
+ event.preventDefault();
3654
+ const safeLang = this.sanitizeLang(language);
3655
+ this.localStorageService.setItem('lang', safeLang);
3656
+ const url = new URL(window.location.href);
3657
+ const routeSegments = getAppRouteSegments(url.pathname, this.appConfigService.getConfig());
3658
+ routeSegments[0] = safeLang;
3659
+ url.pathname = buildAppPath(routeSegments, this.appConfigService.getConfig());
3660
+ // redirect na novi URL
3661
+ window.location.assign(url.toString());
3662
+ }
3663
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NavbarComponent, deps: [{ token: LocalStorageService }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Component });
3664
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: NavbarComponent, isStandalone: true, selector: "lib-navbar", inputs: { imageWidth: "imageWidth", imageHeight: "imageHeight", logoAltText: "logoAltText", multiLanguageEnabled: "multiLanguageEnabled", userData: "userData", logoutLabel: "logoutLabel", notificationList: "notificationList" }, outputs: { isLogoClick: "isLogoClick", isAccessibilityClicked: "isAccessibilityClicked", isLogoutClicked: "isLogoutClicked" }, ngImport: i0, template: "<nav class=\"menu\">\r\n <div\r\n class=\"container flex sm:align-items-start sm:justify-content-start md:align-items-center md:justify-content-between flex-column md:flex-row\">\r\n <a href=\"#\" (click)=\"clickLogo($event)\" class=\"navbar-logo\">\r\n <svg id=\"a\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" width=\"189.01\" height=\"50\" viewBox=\"0 0 189.01 50\">\r\n <title>Navigacija na doma\u010Do stran, portala eSamonaro\u010Danje republike Slovenije.</title>\r\n <defs>\r\n <style>.b {\r\n fill: #fff;\r\n }</style>\r\n </defs>\r\n <path class=\"b\"\r\n d=\"M38.39,27.03c-.67,10.72-7.89,19.84-18.48,22.9C9.7,47.04,2.1,38.1,1.4,27.03L0,4.8C6.49,1.65,12.53,0,19.91,0,26.59,0,33.2,1.46,39.79,4.8m-2.83,.32l-1.37,21.72c-.57,9.06-6.46,17.11-15.68,20.16-8.68-2.8-15.07-10.59-15.68-20.16L2.83,5.12c-.35,.16-.89,.38-1.27,.57l1.34,21.25c.64,9.99,7.47,18.64,17.01,21.44,9.35-2.8,16.38-11.26,17.02-21.44l1.34-21.25c-.41-.19-.83-.38-1.3-.57M15.84,25.48l-2.83-3.78-6.71,9c.47,2.32,1.62,3.43,4.45,3.43,1.94,0,2.26-1.21,4.55-1.21s2.54,1.21,4.61,1.21,2.2-1.21,4.58-1.21,2.61,1.21,4.58,1.21c2.8,0,4.1-1.34,4.45-3.46l-6.74-8.97-2.83,3.78-4.04-8.08-4.07,8.08Zm13.23,11.8c.64,0,1.21-.13,1.72-.35,.38-.61,.64-1.08,.96-1.72-.8,.41-1.66,.73-2.67,.73-2.23,0-2.35-1.21-4.58-1.21s-2.42,1.21-4.61,1.21-2.29-1.21-4.58-1.21c-2.16,0-2.42,1.21-4.58,1.21-1.21,0-1.97-.45-2.7-.8,.32,.64,.67,1.21,1.05,1.81,.54,.19,1.12,.29,1.69,.29,2.35,0,2.32-1.21,4.55-1.21s2.42,1.24,4.58,1.24,2.48-1.24,4.61-1.24,2.39,1.24,4.58,1.24m-4.58,.57c-2.1,0-2.16,1.24-4.58,1.24-2.26,0-2.67-1.24-4.61-1.24-2.04,0-2.07,1.17-4.68,1.21,2.42,2.83,5.57,5.09,9.29,6.39,3.56-1.24,6.71-3.37,9.26-6.39-2.55,0-2.61-1.21-4.68-1.21M14.37,4.64l-1.72-.16,1.02,1.37-1.05,1.4,1.75-.19,.7,1.59,.7-1.59,1.75,.19-1.05-1.4,1.02-1.4-1.72,.19-.7-1.59-.7,1.59Zm4.83,6.42l-1.72-.16,1.02,1.37-1.05,1.4,1.75-.19,.7,1.59,.7-1.59,1.75,.19-1.05-1.4,1.02-1.4-1.72,.19-.7-1.59-.7,1.59Zm4.8-6.42l-1.72-.16,1.02,1.37-1.05,1.4,1.75-.19,.7,1.59,.7-1.59,1.75,.19-1.05-1.4,1.02-1.4-1.72,.19-.7-1.59-.7,1.59Z\"/>\r\n <g>\r\n <path class=\"b\"\r\n d=\"M81.43,19.46h-1.61V4.27h4.86c.86,0,1.61,.07,2.25,.21,.64,.14,1.16,.38,1.58,.7,.42,.33,.72,.76,.92,1.29s.3,1.2,.3,1.97c0,1.29-.26,2.27-.78,2.94-.52,.67-1.34,1.11-2.44,1.3l3.54,6.77h-1.85l-3.39-6.6h-3.37v6.6Zm0-7.96h3.12c.58,0,1.09-.04,1.53-.11,.44-.07,.81-.21,1.1-.42s.52-.51,.68-.91c.16-.39,.23-.9,.23-1.52s-.07-1.1-.22-1.48c-.15-.38-.37-.67-.66-.88s-.66-.36-1.1-.44c-.45-.08-.97-.12-1.56-.12h-3.12v5.88Z\"/>\r\n <path class=\"b\" d=\"M93.05,19.46V4.27h9.1v1.36h-7.49v5.49h6.49v1.36h-6.49v5.62h7.49v1.36h-9.1Z\"/>\r\n <path class=\"b\"\r\n d=\"M106.99,19.46h-1.61V4.27h4.75c.86,0,1.61,.07,2.25,.22,.64,.15,1.16,.39,1.58,.73s.72,.79,.92,1.34c.2,.55,.3,1.24,.3,2.06,0,1.65-.41,2.83-1.22,3.53-.81,.7-2.09,1.05-3.83,1.05h-3.14v6.26Zm0-7.62h3.01c.58,0,1.09-.04,1.53-.12s.81-.23,1.1-.45c.3-.22,.52-.53,.68-.94,.16-.41,.23-.94,.23-1.61s-.08-1.16-.22-1.55-.37-.71-.66-.94c-.29-.23-.66-.38-1.1-.46-.45-.08-.96-.12-1.56-.12h-3.01v6.17Z\"/>\r\n <path class=\"b\"\r\n d=\"M127.88,14.17c0,.98-.12,1.81-.36,2.51-.24,.7-.59,1.27-1.06,1.72s-1.03,.77-1.7,.99c-.67,.21-1.42,.32-2.27,.32-1.64,0-2.91-.42-3.81-1.26-.9-.84-1.35-2.19-1.35-4.04V4.27h1.61V14.24c0,1.46,.3,2.5,.9,3.13,.6,.63,1.52,.94,2.75,.94s2.13-.32,2.75-.95,.92-1.68,.92-3.12V4.27h1.61V14.17Z\"/>\r\n <path class=\"b\"\r\n d=\"M141.65,15.31c0,1.43-.4,2.48-1.2,3.14s-2.1,1-3.89,1h-4.84V4.27h4.84c1.71,0,2.94,.33,3.69,.99,.75,.66,1.12,1.64,1.12,2.95,0,1.74-.62,2.87-1.87,3.39v.08c.73,.28,1.28,.7,1.62,1.26s.52,1.35,.52,2.37Zm-1.91-6.97c0-1.05-.26-1.76-.79-2.14s-1.27-.57-2.22-.57h-3.39v5.41h3.39c.93,0,1.67-.19,2.21-.58,.54-.39,.81-1.09,.81-2.11Zm.28,6.88c0-.98-.25-1.7-.76-2.15s-1.29-.68-2.33-.68h-3.58v5.71h3.58c1.05,0,1.83-.23,2.33-.69,.51-.46,.76-1.19,.76-2.18Z\"/>\r\n <path class=\"b\" d=\"M144.92,19.46V4.27h1.61v13.83h7.09v1.36h-8.7Z\"/>\r\n <path class=\"b\" d=\"M156.24,19.46V4.27h1.61v15.19h-1.61Z\"/>\r\n <path class=\"b\"\r\n d=\"M162.06,4.27h1.61v6.7h1.42l4.94-6.7h1.87l-5.49,7.34,5.62,7.85h-1.95l-5.09-7.11h-1.32v7.11h-1.61V4.27Z\"/>\r\n <path class=\"b\"\r\n d=\"M181.91,15.74h-6.45l-1.17,3.71h-1.65l4.98-15.19h2.16l5.01,15.19h-1.7l-1.19-3.71Zm-6.02-1.36h5.6l-2.76-8.68h-.08l-2.76,8.68Z\"/>\r\n </g>\r\n <g>\r\n <path class=\"b\"\r\n d=\"M88.07,40.9c0,.76-.09,1.42-.26,1.96-.18,.54-.47,.99-.87,1.32-.4,.34-.92,.59-1.56,.74-.64,.15-1.41,.23-2.31,.23-.81,0-1.54-.06-2.21-.17-.67-.11-1.32-.29-1.95-.53l.34-1.38c.59,.21,1.23,.38,1.92,.5,.69,.12,1.38,.18,2.09,.18,.55,0,1.03-.04,1.42-.12,.4-.08,.72-.22,.99-.43,.26-.21,.46-.48,.58-.84s.19-.8,.19-1.34c0-.44-.05-.82-.14-1.13s-.26-.59-.51-.83c-.25-.23-.58-.44-1-.63s-.94-.37-1.58-.55c-.71-.2-1.33-.41-1.86-.65-.53-.23-.97-.52-1.32-.86s-.6-.74-.77-1.2c-.17-.46-.25-1.01-.25-1.64,0-1.36,.38-2.38,1.15-3.06,.76-.69,1.95-1.03,3.56-1.03,.67,0,1.33,.06,1.98,.18,.66,.12,1.28,.29,1.86,.52l-.28,1.36c-.58-.2-1.15-.35-1.7-.47-.55-.11-1.15-.17-1.8-.17-1.13,0-1.93,.2-2.41,.59-.47,.4-.71,1.05-.71,1.97,0,.47,.06,.86,.18,1.17,.12,.31,.3,.57,.54,.79,.24,.21,.54,.4,.91,.55,.37,.16,.8,.3,1.29,.45,.89,.28,1.63,.56,2.21,.82,.58,.26,1.04,.56,1.37,.89s.57,.72,.7,1.17c.13,.45,.2,.99,.2,1.62Z\"/>\r\n <path class=\"b\" d=\"M91.06,44.91v-15.19h1.61v13.83h7.08v1.36h-8.7Z\"/>\r\n <path class=\"b\"\r\n d=\"M106.67,45.16c-.99,0-1.85-.13-2.59-.39-.74-.26-1.34-.7-1.83-1.3-.48-.61-.84-1.41-1.08-2.41-.24-1-.36-2.23-.36-3.7s.12-2.71,.36-3.72c.24-1.01,.6-1.82,1.08-2.44,.48-.62,1.09-1.06,1.83-1.33,.73-.27,1.6-.4,2.59-.4s1.83,.13,2.56,.4c.73,.27,1.33,.71,1.81,1.32,.48,.61,.84,1.41,1.08,2.42s.36,2.23,.36,3.69-.12,2.73-.35,3.73-.59,1.81-1.06,2.43-1.08,1.05-1.81,1.31-1.6,.39-2.59,.39Zm-.02-1.42c.79,0,1.45-.12,1.98-.35,.53-.23,.95-.61,1.27-1.12,.32-.52,.54-1.19,.68-2.01,.13-.82,.2-1.82,.2-2.99s-.07-2.19-.2-3c-.13-.81-.36-1.47-.68-1.97s-.74-.86-1.27-1.08-1.19-.33-1.98-.33-1.45,.11-1.98,.33-.96,.58-1.27,1.08c-.32,.5-.54,1.16-.68,1.97-.13,.81-.2,1.81-.2,3s.07,2.17,.2,2.99c.13,.82,.36,1.49,.68,2.01,.32,.52,.74,.89,1.27,1.12,.53,.23,1.19,.35,1.98,.35Z\"/>\r\n <path class=\"b\" d=\"M113.97,29.72h1.66l4.07,13.62h.08l4.03-13.62h1.57l-4.56,15.19h-2.27l-4.58-15.19Z\"/>\r\n <path class=\"b\" d=\"M127.69,44.91v-15.19h9.1v1.36h-7.49v5.49h6.49v1.36h-6.49v5.62h7.49v1.36h-9.1Z\"/>\r\n <path class=\"b\"\r\n d=\"M141.59,31.44h-.08v13.47h-1.49v-15.19h2.38l6.81,13.45h.08v-13.45h1.49v15.19h-2.36l-6.83-13.47Z\"/>\r\n <path class=\"b\" d=\"M154.97,44.91v-15.19h1.61v15.19h-1.61Z\"/>\r\n <path class=\"b\"\r\n d=\"M162.84,29.72v13.98c0,.72-.06,1.36-.18,1.91-.12,.55-.33,1.03-.62,1.44s-.68,.76-1.16,1.06-1.08,.55-1.8,.76l-.42-1.36c.48-.14,.88-.32,1.21-.52,.33-.21,.59-.46,.8-.75s.35-.64,.43-1.04c.08-.4,.13-.86,.13-1.38v-14.11h1.61Z\"/>\r\n <path class=\"b\"\r\n d=\"M174.08,41.2h-6.45l-1.17,3.71h-1.65l4.98-15.19h2.16l5.01,15.19h-1.7l-1.19-3.71Zm-6.02-1.36h5.6l-2.76-8.68h-.08l-2.76,8.68Z\"/>\r\n </g>\r\n </svg>\r\n </a>\r\n <div class=\"nav-actions\">\r\n <div class=\"nav-list\">\r\n <ul class=\"flex\">\r\n <!-- <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'sl' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"Slovenian language\" (click)=\"changeLanguage($event, 'sl')\">SI</a>\r\n </li>\r\n <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'it' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"Italian language\" (click)=\"changeLanguage($event, 'it')\">IT</a>\r\n </li>\r\n <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'hu' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"Hungarian language\" (click)=\"changeLanguage($event, 'hu')\">HU</a>\r\n </li>\r\n <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'en' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"English language\" (click)=\"changeLanguage($event, 'en')\">EN</a>\r\n </li> -->\r\n <li class=\"mx-2\">\r\n <a href=\"#\" (click)=\"accessibilityClick($event)\">\r\n {{ 'components.navbar.accessibility' | translate }}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div *ngIf=\"userData\" class=\"user-menu flex align-items-center\">\r\n <div class=\"user-text flex flex-column align-items-end\">\r\n <strong>{{ userFullName }}</strong>\r\n <p *ngIf=\"userInspekcije\" class=\"user-subtitle\">{{ userInspekcije }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"avatar-button\"\r\n [attr.aria-label]=\"userFullName\"\r\n (click)=\"userMenu.toggle($event)\">\r\n <p-avatar icon=\"pi pi-user\" shape=\"circle\" size=\"large\"></p-avatar>\r\n </button>\r\n\r\n <p-popover #userMenu [style]=\"{ padding: '0 10px' }\">\r\n <p *ngIf=\"userData.krovnaInspekcija\" class=\"text-xs\">krovna organizacija:</p>\r\n <p *ngIf=\"userData.krovnaInspekcija\">{{ userData.krovnaInspekcija }}</p>\r\n <ng-template pTemplate=\"content\">\r\n <lib-button\r\n [label]=\"logoutLabel || ('components.navbar.logout' | translate)\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi-sign-out'\"\r\n [color]=\"ButtonColor.link\"\r\n (clickEvent)=\"logoutClick($event)\">\r\n </lib-button>\r\n </ng-template>\r\n </p-popover>\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- prikaz nujnih obvestil: \u010De jih je ve\u010D se menjajo na N sekund -->\r\n<div class=\"urgent-notifications\" *ngIf=\"notificationList.length > 0\">\r\n <div class=\"banner\" [ngClass]=\"animationClass\">\r\n <p>{{ currentNotification }}</p>\r\n </div>\r\n</div>\r\n", styles: [".menu{background:#1b495a}.menu .container{padding:.5rem 1rem}.menu .container .nav-list a{font-size:1.2rem;text-decoration:none;color:#fff}.menu .container .nav-list a:hover{text-decoration:underline}.menu .container .nav-list a:active{color:#000;background:#ffa142}.menu .container .nav-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.menu .container .user-menu{gap:.75rem;color:#fff}.menu .container .user-text{line-height:1.2;text-align:right}.menu .container .user-subtitle{color:#fff;font-size:.85rem;margin:0}.menu .container .avatar-button{border:0;border-radius:50%;background:transparent;cursor:pointer;padding:0;line-height:0}.menu .container .avatar-button:focus-visible{outline:2px solid #ffa142;outline-offset:.2rem}::ng-deep .p-popover{top:55px}::ng-deep .p-avatar{background:#ffa142}::ng-deep .p-avatar:hover,::ng-deep .p-avatar:active,::ng-deep .p-avatar:focus{background:#f57b00}.urgent-notifications{background-color:#d9534f;position:relative;min-height:40px;overflow:hidden}.urgent-notifications .banner{max-width:1190px;margin:0 auto;position:relative;color:#fff;padding:.5rem 1rem;font-weight:700;font-size:18px;white-space:nowrap;transition:opacity 1s ease-in-out}.urgent-notifications .banner p{text-wrap:wrap}.urgent-notifications .fade-in{opacity:1}.urgent-notifications .fade-out{opacity:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "component", type: Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i1$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["hasIcon", "label", "color", "icon", "iconPos", "disabled", "isLoading", "styleClass", "size", "accessibilityText", "buttonType", "isAccessible", "isSelected", "ariaControlsId", "isExpanded", "link", "isTextareaClear"], outputs: ["clickEvent"] }] });
3665
+ }
3666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: NavbarComponent, decorators: [{
3667
+ type: Component,
3668
+ args: [{ selector: 'lib-navbar', imports: [
3669
+ NgIf,
3670
+ NgClass,
3671
+ TranslateModule,
3672
+ Avatar,
3673
+ PopoverModule,
3674
+ PrimeTemplate,
3675
+ ButtonComponent,
3676
+ ], template: "<nav class=\"menu\">\r\n <div\r\n class=\"container flex sm:align-items-start sm:justify-content-start md:align-items-center md:justify-content-between flex-column md:flex-row\">\r\n <a href=\"#\" (click)=\"clickLogo($event)\" class=\"navbar-logo\">\r\n <svg id=\"a\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" width=\"189.01\" height=\"50\" viewBox=\"0 0 189.01 50\">\r\n <title>Navigacija na doma\u010Do stran, portala eSamonaro\u010Danje republike Slovenije.</title>\r\n <defs>\r\n <style>.b {\r\n fill: #fff;\r\n }</style>\r\n </defs>\r\n <path class=\"b\"\r\n d=\"M38.39,27.03c-.67,10.72-7.89,19.84-18.48,22.9C9.7,47.04,2.1,38.1,1.4,27.03L0,4.8C6.49,1.65,12.53,0,19.91,0,26.59,0,33.2,1.46,39.79,4.8m-2.83,.32l-1.37,21.72c-.57,9.06-6.46,17.11-15.68,20.16-8.68-2.8-15.07-10.59-15.68-20.16L2.83,5.12c-.35,.16-.89,.38-1.27,.57l1.34,21.25c.64,9.99,7.47,18.64,17.01,21.44,9.35-2.8,16.38-11.26,17.02-21.44l1.34-21.25c-.41-.19-.83-.38-1.3-.57M15.84,25.48l-2.83-3.78-6.71,9c.47,2.32,1.62,3.43,4.45,3.43,1.94,0,2.26-1.21,4.55-1.21s2.54,1.21,4.61,1.21,2.2-1.21,4.58-1.21,2.61,1.21,4.58,1.21c2.8,0,4.1-1.34,4.45-3.46l-6.74-8.97-2.83,3.78-4.04-8.08-4.07,8.08Zm13.23,11.8c.64,0,1.21-.13,1.72-.35,.38-.61,.64-1.08,.96-1.72-.8,.41-1.66,.73-2.67,.73-2.23,0-2.35-1.21-4.58-1.21s-2.42,1.21-4.61,1.21-2.29-1.21-4.58-1.21c-2.16,0-2.42,1.21-4.58,1.21-1.21,0-1.97-.45-2.7-.8,.32,.64,.67,1.21,1.05,1.81,.54,.19,1.12,.29,1.69,.29,2.35,0,2.32-1.21,4.55-1.21s2.42,1.24,4.58,1.24,2.48-1.24,4.61-1.24,2.39,1.24,4.58,1.24m-4.58,.57c-2.1,0-2.16,1.24-4.58,1.24-2.26,0-2.67-1.24-4.61-1.24-2.04,0-2.07,1.17-4.68,1.21,2.42,2.83,5.57,5.09,9.29,6.39,3.56-1.24,6.71-3.37,9.26-6.39-2.55,0-2.61-1.21-4.68-1.21M14.37,4.64l-1.72-.16,1.02,1.37-1.05,1.4,1.75-.19,.7,1.59,.7-1.59,1.75,.19-1.05-1.4,1.02-1.4-1.72,.19-.7-1.59-.7,1.59Zm4.83,6.42l-1.72-.16,1.02,1.37-1.05,1.4,1.75-.19,.7,1.59,.7-1.59,1.75,.19-1.05-1.4,1.02-1.4-1.72,.19-.7-1.59-.7,1.59Zm4.8-6.42l-1.72-.16,1.02,1.37-1.05,1.4,1.75-.19,.7,1.59,.7-1.59,1.75,.19-1.05-1.4,1.02-1.4-1.72,.19-.7-1.59-.7,1.59Z\"/>\r\n <g>\r\n <path class=\"b\"\r\n d=\"M81.43,19.46h-1.61V4.27h4.86c.86,0,1.61,.07,2.25,.21,.64,.14,1.16,.38,1.58,.7,.42,.33,.72,.76,.92,1.29s.3,1.2,.3,1.97c0,1.29-.26,2.27-.78,2.94-.52,.67-1.34,1.11-2.44,1.3l3.54,6.77h-1.85l-3.39-6.6h-3.37v6.6Zm0-7.96h3.12c.58,0,1.09-.04,1.53-.11,.44-.07,.81-.21,1.1-.42s.52-.51,.68-.91c.16-.39,.23-.9,.23-1.52s-.07-1.1-.22-1.48c-.15-.38-.37-.67-.66-.88s-.66-.36-1.1-.44c-.45-.08-.97-.12-1.56-.12h-3.12v5.88Z\"/>\r\n <path class=\"b\" d=\"M93.05,19.46V4.27h9.1v1.36h-7.49v5.49h6.49v1.36h-6.49v5.62h7.49v1.36h-9.1Z\"/>\r\n <path class=\"b\"\r\n d=\"M106.99,19.46h-1.61V4.27h4.75c.86,0,1.61,.07,2.25,.22,.64,.15,1.16,.39,1.58,.73s.72,.79,.92,1.34c.2,.55,.3,1.24,.3,2.06,0,1.65-.41,2.83-1.22,3.53-.81,.7-2.09,1.05-3.83,1.05h-3.14v6.26Zm0-7.62h3.01c.58,0,1.09-.04,1.53-.12s.81-.23,1.1-.45c.3-.22,.52-.53,.68-.94,.16-.41,.23-.94,.23-1.61s-.08-1.16-.22-1.55-.37-.71-.66-.94c-.29-.23-.66-.38-1.1-.46-.45-.08-.96-.12-1.56-.12h-3.01v6.17Z\"/>\r\n <path class=\"b\"\r\n d=\"M127.88,14.17c0,.98-.12,1.81-.36,2.51-.24,.7-.59,1.27-1.06,1.72s-1.03,.77-1.7,.99c-.67,.21-1.42,.32-2.27,.32-1.64,0-2.91-.42-3.81-1.26-.9-.84-1.35-2.19-1.35-4.04V4.27h1.61V14.24c0,1.46,.3,2.5,.9,3.13,.6,.63,1.52,.94,2.75,.94s2.13-.32,2.75-.95,.92-1.68,.92-3.12V4.27h1.61V14.17Z\"/>\r\n <path class=\"b\"\r\n d=\"M141.65,15.31c0,1.43-.4,2.48-1.2,3.14s-2.1,1-3.89,1h-4.84V4.27h4.84c1.71,0,2.94,.33,3.69,.99,.75,.66,1.12,1.64,1.12,2.95,0,1.74-.62,2.87-1.87,3.39v.08c.73,.28,1.28,.7,1.62,1.26s.52,1.35,.52,2.37Zm-1.91-6.97c0-1.05-.26-1.76-.79-2.14s-1.27-.57-2.22-.57h-3.39v5.41h3.39c.93,0,1.67-.19,2.21-.58,.54-.39,.81-1.09,.81-2.11Zm.28,6.88c0-.98-.25-1.7-.76-2.15s-1.29-.68-2.33-.68h-3.58v5.71h3.58c1.05,0,1.83-.23,2.33-.69,.51-.46,.76-1.19,.76-2.18Z\"/>\r\n <path class=\"b\" d=\"M144.92,19.46V4.27h1.61v13.83h7.09v1.36h-8.7Z\"/>\r\n <path class=\"b\" d=\"M156.24,19.46V4.27h1.61v15.19h-1.61Z\"/>\r\n <path class=\"b\"\r\n d=\"M162.06,4.27h1.61v6.7h1.42l4.94-6.7h1.87l-5.49,7.34,5.62,7.85h-1.95l-5.09-7.11h-1.32v7.11h-1.61V4.27Z\"/>\r\n <path class=\"b\"\r\n d=\"M181.91,15.74h-6.45l-1.17,3.71h-1.65l4.98-15.19h2.16l5.01,15.19h-1.7l-1.19-3.71Zm-6.02-1.36h5.6l-2.76-8.68h-.08l-2.76,8.68Z\"/>\r\n </g>\r\n <g>\r\n <path class=\"b\"\r\n d=\"M88.07,40.9c0,.76-.09,1.42-.26,1.96-.18,.54-.47,.99-.87,1.32-.4,.34-.92,.59-1.56,.74-.64,.15-1.41,.23-2.31,.23-.81,0-1.54-.06-2.21-.17-.67-.11-1.32-.29-1.95-.53l.34-1.38c.59,.21,1.23,.38,1.92,.5,.69,.12,1.38,.18,2.09,.18,.55,0,1.03-.04,1.42-.12,.4-.08,.72-.22,.99-.43,.26-.21,.46-.48,.58-.84s.19-.8,.19-1.34c0-.44-.05-.82-.14-1.13s-.26-.59-.51-.83c-.25-.23-.58-.44-1-.63s-.94-.37-1.58-.55c-.71-.2-1.33-.41-1.86-.65-.53-.23-.97-.52-1.32-.86s-.6-.74-.77-1.2c-.17-.46-.25-1.01-.25-1.64,0-1.36,.38-2.38,1.15-3.06,.76-.69,1.95-1.03,3.56-1.03,.67,0,1.33,.06,1.98,.18,.66,.12,1.28,.29,1.86,.52l-.28,1.36c-.58-.2-1.15-.35-1.7-.47-.55-.11-1.15-.17-1.8-.17-1.13,0-1.93,.2-2.41,.59-.47,.4-.71,1.05-.71,1.97,0,.47,.06,.86,.18,1.17,.12,.31,.3,.57,.54,.79,.24,.21,.54,.4,.91,.55,.37,.16,.8,.3,1.29,.45,.89,.28,1.63,.56,2.21,.82,.58,.26,1.04,.56,1.37,.89s.57,.72,.7,1.17c.13,.45,.2,.99,.2,1.62Z\"/>\r\n <path class=\"b\" d=\"M91.06,44.91v-15.19h1.61v13.83h7.08v1.36h-8.7Z\"/>\r\n <path class=\"b\"\r\n d=\"M106.67,45.16c-.99,0-1.85-.13-2.59-.39-.74-.26-1.34-.7-1.83-1.3-.48-.61-.84-1.41-1.08-2.41-.24-1-.36-2.23-.36-3.7s.12-2.71,.36-3.72c.24-1.01,.6-1.82,1.08-2.44,.48-.62,1.09-1.06,1.83-1.33,.73-.27,1.6-.4,2.59-.4s1.83,.13,2.56,.4c.73,.27,1.33,.71,1.81,1.32,.48,.61,.84,1.41,1.08,2.42s.36,2.23,.36,3.69-.12,2.73-.35,3.73-.59,1.81-1.06,2.43-1.08,1.05-1.81,1.31-1.6,.39-2.59,.39Zm-.02-1.42c.79,0,1.45-.12,1.98-.35,.53-.23,.95-.61,1.27-1.12,.32-.52,.54-1.19,.68-2.01,.13-.82,.2-1.82,.2-2.99s-.07-2.19-.2-3c-.13-.81-.36-1.47-.68-1.97s-.74-.86-1.27-1.08-1.19-.33-1.98-.33-1.45,.11-1.98,.33-.96,.58-1.27,1.08c-.32,.5-.54,1.16-.68,1.97-.13,.81-.2,1.81-.2,3s.07,2.17,.2,2.99c.13,.82,.36,1.49,.68,2.01,.32,.52,.74,.89,1.27,1.12,.53,.23,1.19,.35,1.98,.35Z\"/>\r\n <path class=\"b\" d=\"M113.97,29.72h1.66l4.07,13.62h.08l4.03-13.62h1.57l-4.56,15.19h-2.27l-4.58-15.19Z\"/>\r\n <path class=\"b\" d=\"M127.69,44.91v-15.19h9.1v1.36h-7.49v5.49h6.49v1.36h-6.49v5.62h7.49v1.36h-9.1Z\"/>\r\n <path class=\"b\"\r\n d=\"M141.59,31.44h-.08v13.47h-1.49v-15.19h2.38l6.81,13.45h.08v-13.45h1.49v15.19h-2.36l-6.83-13.47Z\"/>\r\n <path class=\"b\" d=\"M154.97,44.91v-15.19h1.61v15.19h-1.61Z\"/>\r\n <path class=\"b\"\r\n d=\"M162.84,29.72v13.98c0,.72-.06,1.36-.18,1.91-.12,.55-.33,1.03-.62,1.44s-.68,.76-1.16,1.06-1.08,.55-1.8,.76l-.42-1.36c.48-.14,.88-.32,1.21-.52,.33-.21,.59-.46,.8-.75s.35-.64,.43-1.04c.08-.4,.13-.86,.13-1.38v-14.11h1.61Z\"/>\r\n <path class=\"b\"\r\n d=\"M174.08,41.2h-6.45l-1.17,3.71h-1.65l4.98-15.19h2.16l5.01,15.19h-1.7l-1.19-3.71Zm-6.02-1.36h5.6l-2.76-8.68h-.08l-2.76,8.68Z\"/>\r\n </g>\r\n </svg>\r\n </a>\r\n <div class=\"nav-actions\">\r\n <div class=\"nav-list\">\r\n <ul class=\"flex\">\r\n <!-- <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'sl' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"Slovenian language\" (click)=\"changeLanguage($event, 'sl')\">SI</a>\r\n </li>\r\n <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'it' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"Italian language\" (click)=\"changeLanguage($event, 'it')\">IT</a>\r\n </li>\r\n <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'hu' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"Hungarian language\" (click)=\"changeLanguage($event, 'hu')\">HU</a>\r\n </li>\r\n <li class=\"mx-2\" *ngIf=\"multiLanguageEnabled\" [ngClass]=\"this.localStorageService.getItem('lang') === 'en' ?'font-bold' : ''\">\r\n <a href=\"#\" aria-label=\"English language\" (click)=\"changeLanguage($event, 'en')\">EN</a>\r\n </li> -->\r\n <li class=\"mx-2\">\r\n <a href=\"#\" (click)=\"accessibilityClick($event)\">\r\n {{ 'components.navbar.accessibility' | translate }}\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div *ngIf=\"userData\" class=\"user-menu flex align-items-center\">\r\n <div class=\"user-text flex flex-column align-items-end\">\r\n <strong>{{ userFullName }}</strong>\r\n <p *ngIf=\"userInspekcije\" class=\"user-subtitle\">{{ userInspekcije }}</p>\r\n </div>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"avatar-button\"\r\n [attr.aria-label]=\"userFullName\"\r\n (click)=\"userMenu.toggle($event)\">\r\n <p-avatar icon=\"pi pi-user\" shape=\"circle\" size=\"large\"></p-avatar>\r\n </button>\r\n\r\n <p-popover #userMenu [style]=\"{ padding: '0 10px' }\">\r\n <p *ngIf=\"userData.krovnaInspekcija\" class=\"text-xs\">krovna organizacija:</p>\r\n <p *ngIf=\"userData.krovnaInspekcija\">{{ userData.krovnaInspekcija }}</p>\r\n <ng-template pTemplate=\"content\">\r\n <lib-button\r\n [label]=\"logoutLabel || ('components.navbar.logout' | translate)\"\r\n [hasIcon]=\"true\"\r\n [icon]=\"'pi-sign-out'\"\r\n [color]=\"ButtonColor.link\"\r\n (clickEvent)=\"logoutClick($event)\">\r\n </lib-button>\r\n </ng-template>\r\n </p-popover>\r\n </div>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- prikaz nujnih obvestil: \u010De jih je ve\u010D se menjajo na N sekund -->\r\n<div class=\"urgent-notifications\" *ngIf=\"notificationList.length > 0\">\r\n <div class=\"banner\" [ngClass]=\"animationClass\">\r\n <p>{{ currentNotification }}</p>\r\n </div>\r\n</div>\r\n", styles: [".menu{background:#1b495a}.menu .container{padding:.5rem 1rem}.menu .container .nav-list a{font-size:1.2rem;text-decoration:none;color:#fff}.menu .container .nav-list a:hover{text-decoration:underline}.menu .container .nav-list a:active{color:#000;background:#ffa142}.menu .container .nav-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.menu .container .user-menu{gap:.75rem;color:#fff}.menu .container .user-text{line-height:1.2;text-align:right}.menu .container .user-subtitle{color:#fff;font-size:.85rem;margin:0}.menu .container .avatar-button{border:0;border-radius:50%;background:transparent;cursor:pointer;padding:0;line-height:0}.menu .container .avatar-button:focus-visible{outline:2px solid #ffa142;outline-offset:.2rem}::ng-deep .p-popover{top:55px}::ng-deep .p-avatar{background:#ffa142}::ng-deep .p-avatar:hover,::ng-deep .p-avatar:active,::ng-deep .p-avatar:focus{background:#f57b00}.urgent-notifications{background-color:#d9534f;position:relative;min-height:40px;overflow:hidden}.urgent-notifications .banner{max-width:1190px;margin:0 auto;position:relative;color:#fff;padding:.5rem 1rem;font-weight:700;font-size:18px;white-space:nowrap;transition:opacity 1s ease-in-out}.urgent-notifications .banner p{text-wrap:wrap}.urgent-notifications .fade-in{opacity:1}.urgent-notifications .fade-out{opacity:0}\n"] }]
3677
+ }], ctorParameters: () => [{ type: LocalStorageService }, { type: AppConfigService }], propDecorators: { imageWidth: [{
3678
+ type: Input
3679
+ }], imageHeight: [{
3680
+ type: Input
3681
+ }], logoAltText: [{
3682
+ type: Input
3683
+ }], multiLanguageEnabled: [{
3684
+ type: Input
3685
+ }], userData: [{
3686
+ type: Input
3687
+ }], logoutLabel: [{
3688
+ type: Input
3689
+ }], isLogoClick: [{
3690
+ type: Output
3691
+ }], isAccessibilityClicked: [{
3692
+ type: Output
3693
+ }], isLogoutClicked: [{
3694
+ type: Output
3695
+ }], notificationList: [{
3696
+ type: Input
3697
+ }] } });
3698
+
3512
3699
  class NoDataFoundComponent {
3513
3700
  translateService;
3514
3701
  message = '';
@@ -4521,5 +4708,5 @@ function emailListValidator() {
4521
4708
  * Generated bundle index. Do not edit.
4522
4709
  */
4523
4710
 
4524
- export { AccordionComponent, AppConfigService, AutocompleteComponent, BreadcrumbsComponent, ButtonColor, ButtonComponent, ButtonIconPosition, ButtonLinkComponent, ButtonSize, CacheService, CameraUploadComponent, CaptionColor, CardComponent, CheckboxComponent, ConfirmModalComponent, ConfirmModalService, CustomTableComponent, DateInputComponent, DateService, DialogColor, DividerComponent, DropdownComponent, DynamicRouteService, ErrorComponent, ErrorInterceptor, ExpandedTable, ExpandedTableComponent, ExportService, FileUploadComponent, FilterHeaderComponent, FilterHeaderService, FooterComponent, GenericTableComponent, GlobalErrorHandler, IconButtonComponent, InputComponent, InputMaskComponent, InputType, IsNotBlank, IsNotDecimal, LoaderComponent, LocalStorageService, MainMenuComponent, ModalComponent, NoDataFoundComponent, NoInternetService, NumberInputComponent, NumberInputMode, PicklistComponent, PositionKey, ProgressBarComponent, SelectionMode, SharedAuthService, SharedMessageService, TableColumnSelectComponent, TableColumnsService, TagColor, TagComponent, TextareaComponent, TinymceEditorComponent, ToastSeverity, ToggleSwitchComponent, TooltipComponent, TooltipHoverEventEnum, TooltipPosition, TranslateSanitizerService, TranslationService, TreeSelectComponent, atLeastOneFieldPresentValidator, buildAppPath, cleanMobilePhoneNumber, coordinateValidator, dateAndTimeMismatchValidator, dateMismatchValidator, emailListValidator, findUnavailableDates, formatDate, formatDateTime, formatDateToLocalISOString, getAppRouteSegments, getCurrentAppRouteSegments, getTomorrowDate, isEmpty, isFormInvalid, isMultipleOfFiveValidator, isOnePhoneNumberValidator, localFormatDate, mobilePhoneAreaCodeValidator, transformDateTime };
4711
+ export { AccordionComponent, AppConfigService, AutocompleteComponent, BreadcrumbsComponent, ButtonColor, ButtonComponent, ButtonIconPosition, ButtonLinkComponent, ButtonSize, CacheService, CameraUploadComponent, CaptionColor, CardComponent, CheckboxComponent, ConfirmModalComponent, ConfirmModalService, CustomTableComponent, DateInputComponent, DateService, DialogColor, DividerComponent, DropdownComponent, DynamicRouteService, ErrorComponent, ErrorInterceptor, ExpandedTable, ExpandedTableComponent, ExportService, FileUploadComponent, FilterHeaderComponent, FilterHeaderService, FooterComponent, GenericTableComponent, GlobalErrorHandler, IconButtonComponent, InputComponent, InputMaskComponent, InputType, IsNotBlank, IsNotDecimal, LoaderComponent, LocalStorageService, MainMenuComponent, ModalComponent, NavbarComponent, NoDataFoundComponent, NoInternetService, NumberInputComponent, NumberInputMode, PicklistComponent, PositionKey, ProgressBarComponent, SelectionMode, SharedAuthService, SharedMessageService, TableColumnSelectComponent, TableColumnsService, TagColor, TagComponent, TextareaComponent, TinymceEditorComponent, ToastSeverity, ToggleSwitchComponent, TooltipComponent, TooltipHoverEventEnum, TooltipPosition, TranslateSanitizerService, TranslationService, TreeSelectComponent, atLeastOneFieldPresentValidator, buildAppPath, cleanMobilePhoneNumber, coordinateValidator, dateAndTimeMismatchValidator, dateMismatchValidator, emailListValidator, findUnavailableDates, formatDate, formatDateTime, formatDateToLocalISOString, getAppRouteSegments, getCurrentAppRouteSegments, getTomorrowDate, isEmpty, isFormInvalid, isMultipleOfFiveValidator, isOnePhoneNumberValidator, localFormatDate, mobilePhoneAreaCodeValidator, transformDateTime };
4525
4712
  //# sourceMappingURL=n-isi-platform-design-system.mjs.map