adb-shared 4.0.7 → 5.0.0

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.
@@ -2,7 +2,7 @@ import * as i2$1 from '@angular/common';
2
2
  import { CommonModule, DatePipe, formatDate } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, Inject, EventEmitter, Directive, Output, HostListener, Input, HostBinding, NgModule, Component, Pipe, forwardRef } from '@angular/core';
5
- import * as i1$1 from '@ngx-translate/core';
5
+ import * as i3 from '@ngx-translate/core';
6
6
  import { TranslateModule } from '@ngx-translate/core';
7
7
  import * as i1 from '@angular/common/http';
8
8
  import { HttpClientModule } from '@angular/common/http';
@@ -13,14 +13,14 @@ import { startOfDay, subYears, endOfDay, addYears, getMonth, subMonths, addMonth
13
13
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
14
14
  import { delay } from 'rxjs/operators';
15
15
 
16
- class EnvironmentService {
16
+ class EnvironmentService$1 {
17
17
  constructor(environment) {
18
18
  this.environment = environment;
19
19
  }
20
20
  }
21
- /** @nocollapse */ EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
22
- /** @nocollapse */ EnvironmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService, decorators: [{
21
+ /** @nocollapse */ EnvironmentService$1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService$1, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
22
+ /** @nocollapse */ EnvironmentService$1.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService$1 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService$1, decorators: [{
24
24
  type: Injectable
25
25
  }], ctorParameters: function () {
26
26
  return [{ type: undefined, decorators: [{
@@ -255,12 +255,12 @@ class ADBNavComponent {
255
255
  this.subscription.unsubscribe();
256
256
  }
257
257
  }
258
- /** @nocollapse */ ADBNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBNavComponent, deps: [{ token: i1.HttpClient }, { token: i2.Router }, { token: EnvironmentService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
259
- /** @nocollapse */ ADBNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ADBNavComponent, selector: "adb-nav", inputs: { showPattern: "showPattern", userName: "userName", artfakta: "artfakta" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0, template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artfakta</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n attr.aria-label=\"{{'ADB_HEADER.MENY'|translate}}\"\r\n (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'ADB_HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\"\r\n [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artfakta</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showArtfakta?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showArtfakta = !showArtfakta\"\r\n attr.aria-controls=\"artfakta-links\" attr.aria-expanded=\"{{showArtfakta}}\">\r\n <span class=\"fas\" [ngClass]=\"showArtfakta?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showArtfakta\" id=\"artfakta-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.keys.url}}\" class=\"text-white\">\r\n {{navigation.keys.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.mySpecies.url}}\" class=\"text-white\">\r\n {{navigation.mySpecies.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.lists.url}}\" class=\"text-white\">\r\n {{navigation.lists.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.imageRec.url}}\" class=\"text-white\">\r\n {{navigation.imageRec.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.filter.url}}\" class=\"text-white\">\r\n {{navigation.filter.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showNOS?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showNOS = !showNOS\"\r\n attr.aria-controls=\"nos-links\" attr.aria-expanded=\"{{showNOS}}\">\r\n <span class=\"fas\" [ngClass]=\"showNOS?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showNOS\" id=\"nos-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.nameSearch.url}}\" class=\"text-white\">\r\n {{navigation.nameSearch.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.match.url}}\" class=\"text-white\">\r\n {{navigation.match.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: ClickOutsideDirective, selector: "[adbClickOutside]", outputs: ["adbClickOutside"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i1$1.TranslatePipe } });
258
+ /** @nocollapse */ ADBNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBNavComponent, deps: [{ token: i1.HttpClient }, { token: i2.Router }, { token: EnvironmentService$1 }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
259
+ /** @nocollapse */ ADBNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ADBNavComponent, selector: "adb-nav", inputs: { showPattern: "showPattern", userName: "userName", artfakta: "artfakta" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0, template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-1\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artfakta</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n attr.aria-label=\"{{'ADB_HEADER.MENY'|translate}}\"\r\n (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'ADB_HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\"\r\n [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artfakta</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showArtfakta?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showArtfakta = !showArtfakta\"\r\n attr.aria-controls=\"artfakta-links\" attr.aria-expanded=\"{{showArtfakta}}\">\r\n <span class=\"fas\" [ngClass]=\"showArtfakta?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showArtfakta\" id=\"artfakta-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.keys.url}}\" class=\"text-white\">\r\n {{navigation.keys.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.mySpecies.url}}\" class=\"text-white\">\r\n {{navigation.mySpecies.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.lists.url}}\" class=\"text-white\">\r\n {{navigation.lists.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.imageRec.url}}\" class=\"text-white\">\r\n {{navigation.imageRec.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.filter.url}}\" class=\"text-white\">\r\n {{navigation.filter.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showNOS?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showNOS = !showNOS\"\r\n attr.aria-controls=\"nos-links\" attr.aria-expanded=\"{{showNOS}}\">\r\n <span class=\"fas\" [ngClass]=\"showNOS?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showNOS\" id=\"nos-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.nameSearch.url}}\" class=\"text-white\">\r\n {{navigation.nameSearch.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.match.url}}\" class=\"text-white\">\r\n {{navigation.match.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: ClickOutsideDirective, selector: "[adbClickOutside]", outputs: ["adbClickOutside"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i3.TranslatePipe } });
260
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBNavComponent, decorators: [{
261
261
  type: Component,
262
- args: [{ selector: 'adb-nav', template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artfakta</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n attr.aria-label=\"{{'ADB_HEADER.MENY'|translate}}\"\r\n (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'ADB_HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\"\r\n [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artfakta</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showArtfakta?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showArtfakta = !showArtfakta\"\r\n attr.aria-controls=\"artfakta-links\" attr.aria-expanded=\"{{showArtfakta}}\">\r\n <span class=\"fas\" [ngClass]=\"showArtfakta?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showArtfakta\" id=\"artfakta-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.keys.url}}\" class=\"text-white\">\r\n {{navigation.keys.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.mySpecies.url}}\" class=\"text-white\">\r\n {{navigation.mySpecies.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.lists.url}}\" class=\"text-white\">\r\n {{navigation.lists.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.imageRec.url}}\" class=\"text-white\">\r\n {{navigation.imageRec.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.filter.url}}\" class=\"text-white\">\r\n {{navigation.filter.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showNOS?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showNOS = !showNOS\"\r\n attr.aria-controls=\"nos-links\" attr.aria-expanded=\"{{showNOS}}\">\r\n <span class=\"fas\" [ngClass]=\"showNOS?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showNOS\" id=\"nos-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.nameSearch.url}}\" class=\"text-white\">\r\n {{navigation.nameSearch.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.match.url}}\" class=\"text-white\">\r\n {{navigation.match.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
263
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Router }, { type: EnvironmentService }, { type: i1$1.TranslateService }]; }, propDecorators: { loginClicked: [{
262
+ args: [{ selector: 'adb-nav', template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-1\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artfakta</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\"\r\n attr.aria-label=\"{{'ADB_HEADER.MENY'|translate}}\"\r\n (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'ADB_HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\"\r\n [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artfakta</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'ADB_HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'ADB_HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'ADB_HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showArtfakta?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.artinfo.url}}\">\r\n {{navigation.artinfo.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showArtfakta = !showArtfakta\"\r\n attr.aria-controls=\"artfakta-links\" attr.aria-expanded=\"{{showArtfakta}}\">\r\n <span class=\"fas\" [ngClass]=\"showArtfakta?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showArtfakta\" id=\"artfakta-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.keys.url}}\" class=\"text-white\">\r\n {{navigation.keys.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.mySpecies.url}}\" class=\"text-white\">\r\n {{navigation.mySpecies.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.lists.url}}\" class=\"text-white\">\r\n {{navigation.lists.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.imageRec.url}}\" class=\"text-white\">\r\n {{navigation.imageRec.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <a href=\"{{navigation.filter.url}}\" class=\"text-white\">\r\n {{navigation.filter.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showNOS?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.nameAndRelationship.url}}?lang={{trans.currentLang}}\">\r\n {{navigation.nameAndRelationship.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showNOS = !showNOS\"\r\n attr.aria-controls=\"nos-links\" attr.aria-expanded=\"{{showNOS}}\">\r\n <span class=\"fas\" [ngClass]=\"showNOS?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showNOS\" id=\"nos-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.nameSearch.url}}\" class=\"text-white\">\r\n {{navigation.nameSearch.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"d-block py-1 text-white\">\r\n <a href=\"{{navigation.match.url}}\" class=\"text-white\">\r\n {{navigation.match.transId|translate}}\r\n </a>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" [href]=\"navigation.about.url\">{{navigation.about.transId|translate}}</a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'ADB_HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'ADB_HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'ADB_HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
263
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Router }, { type: EnvironmentService$1 }, { type: i3.TranslateService }]; }, propDecorators: { loginClicked: [{
264
264
  type: Output
265
265
  }], logoutClicked: [{
266
266
  type: Output
@@ -373,7 +373,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
373
373
  class AdbDropdownModule {
374
374
  }
375
375
  /** @nocollapse */ AdbDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
376
- /** @nocollapse */ AdbDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, declarations: [AdbDropdownDirective], imports: [CommonModule, i1$1.TranslateModule, AdbDirectivesModule], exports: [AdbDropdownDirective] });
376
+ /** @nocollapse */ AdbDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, declarations: [AdbDropdownDirective], imports: [CommonModule, i3.TranslateModule, AdbDirectivesModule], exports: [AdbDropdownDirective] });
377
377
  /** @nocollapse */ AdbDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, providers: [AdbDropdownService], imports: [[CommonModule, TranslateModule.forChild(), AdbDirectivesModule]] });
378
378
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDropdownModule, decorators: [{
379
379
  type: NgModule,
@@ -585,11 +585,6 @@ class ADBFooterComponent {
585
585
  ngOnInit() {
586
586
  this.url = window.location.href;
587
587
  this.baseUrl = this.envService.environment.resourceUrl;
588
- //TODO: wiat with these links to dev st. For now always prod
589
- // const url = this.artfakta ? '/assets/links-ap3.json' : '/assets/artportalen/links-ap3.json';
590
- // this.subscription.add(this.httpClient.get<Navigation2>(baseUrl + url).subscribe(result => {
591
- // this.navigation = result;
592
- // }));
593
588
  this.initTranslations(this.baseUrl);
594
589
  }
595
590
  initTranslations(baseUrl) {
@@ -613,12 +608,12 @@ class ADBFooterComponent {
613
608
  this.subscription.unsubscribe();
614
609
  }
615
610
  }
616
- /** @nocollapse */ ADBFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBFooterComponent, deps: [{ token: i1.HttpClient }, { token: EnvironmentService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
617
- /** @nocollapse */ ADBFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ADBFooterComponent, selector: "adb-footer", inputs: { artfakta: "artfakta" }, ngImport: i0, template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 justify-content-center\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <a href=\"https://artfakta.se/om\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://artfakta.se/om\" fragment=\"accessability\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a class=\"d-block text-white mb-2\" href=\"mailto:artfakta@artdatabanken.se\">{{'FOOTER.SUPPORT'|translate}}: artfakta@artdatabanken.se</a>\r\n </div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <a class=\"d-block text-white mb-2\" href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare/\" target=\"_blank\">{{'FOOTER.TERMS_OF_USE'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" target=\"_blank\">{{'FOOTER.PERSONAL_DATA'|translate}} <span\r\n class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://metadata.artfakta.se/dataproviders\" target=\"_blank\">{{'FOOTER.DATA_SOURCES'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://status.artdatabanken.se/status\" target=\"_blank\">{{'FOOTER.API'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <div class=\"mb-2 text-white\">{{'FOOTER.INFO'|translate}}</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe } });
611
+ /** @nocollapse */ ADBFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBFooterComponent, deps: [{ token: i1.HttpClient }, { token: EnvironmentService$1 }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
612
+ /** @nocollapse */ ADBFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ADBFooterComponent, selector: "adb-footer", inputs: { artfakta: "artfakta" }, ngImport: i0, template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 justify-content-center\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <a href=\"https://artfakta.se/om\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://artfakta.se/om\" fragment=\"accessability\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a class=\"d-block text-white mb-2\" href=\"mailto:artfakta@artdatabanken.se\">{{'FOOTER.SUPPORT'|translate}}: artfakta@artdatabanken.se</a>\r\n </div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <a class=\"d-block text-white mb-2\" href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare/\" target=\"_blank\">{{'FOOTER.TERMS_OF_USE'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" target=\"_blank\">{{'FOOTER.PERSONAL_DATA'|translate}} <span\r\n class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://metadata.artfakta.se/dataproviders\" target=\"_blank\">{{'FOOTER.DATA_SOURCES'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://status.artdatabanken.se/status\" target=\"_blank\">{{'FOOTER.API'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <div class=\"mb-2 text-white\">{{'FOOTER.INFO'|translate}}</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe } });
618
613
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ADBFooterComponent, decorators: [{
619
614
  type: Component,
620
615
  args: [{ selector: 'adb-footer', template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 justify-content-center\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <a href=\"https://artfakta.se/om\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://artfakta.se/om\" fragment=\"accessability\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a class=\"d-block text-white mb-2\" href=\"mailto:artfakta@artdatabanken.se\">{{'FOOTER.SUPPORT'|translate}}: artfakta@artdatabanken.se</a>\r\n </div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <a class=\"d-block text-white mb-2\" href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare/\" target=\"_blank\">{{'FOOTER.TERMS_OF_USE'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" target=\"_blank\">{{'FOOTER.PERSONAL_DATA'|translate}} <span\r\n class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://metadata.artfakta.se/dataproviders\" target=\"_blank\">{{'FOOTER.DATA_SOURCES'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n <a class=\"d-block text-white mb-2\" href=\"https://status.artdatabanken.se/status\" target=\"_blank\">{{'FOOTER.API'|translate}} <span class=\"fas fa-external-link\"></span></a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4 px-md-2\">\r\n <div class=\"mb-2 text-white\">{{'FOOTER.INFO'|translate}}</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>" }]
621
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: EnvironmentService }, { type: i1$1.TranslateService }]; }, propDecorators: { artfakta: [{
616
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: EnvironmentService$1 }, { type: i3.TranslateService }]; }, propDecorators: { artfakta: [{
622
617
  type: Input
623
618
  }] } });
624
619
 
@@ -627,7 +622,7 @@ class ADBHeaderModule {
627
622
  return {
628
623
  ngModule: ADBHeaderModule,
629
624
  providers: [
630
- EnvironmentService,
625
+ EnvironmentService$1,
631
626
  {
632
627
  provide: 'env',
633
628
  useValue: environment
@@ -670,6 +665,220 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
670
665
  }]
671
666
  }] });
672
667
 
668
+ class EnvironmentService {
669
+ constructor(environment) {
670
+ this.environment = environment;
671
+ }
672
+ }
673
+ /** @nocollapse */ EnvironmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService, deps: [{ token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
674
+ /** @nocollapse */ EnvironmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService });
675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EnvironmentService, decorators: [{
676
+ type: Injectable
677
+ }], ctorParameters: function () {
678
+ return [{ type: undefined, decorators: [{
679
+ type: Inject,
680
+ args: ['env']
681
+ }] }];
682
+ } });
683
+
684
+ class ArtportalenNavComponent {
685
+ constructor(httpClient, router, trans, envService) {
686
+ this.httpClient = httpClient;
687
+ this.router = router;
688
+ this.trans = trans;
689
+ this.envService = envService;
690
+ this.subscription = new Subscription();
691
+ this.loginClicked = new EventEmitter();
692
+ this.logoutClicked = new EventEmitter();
693
+ this.dropMenuChange = new EventEmitter();
694
+ this.showPattern = false;
695
+ this.translationFinished = false;
696
+ this.lastPosition = 0;
697
+ this.showNavMenu = false;
698
+ this.showUserMenu = false;
699
+ this.showReport = true;
700
+ this.showObservations = true;
701
+ }
702
+ set userName(fullName) {
703
+ this.fullName = fullName;
704
+ const splitted = fullName.split(' ');
705
+ if ((splitted === null || splitted === void 0 ? void 0 : splitted.length) > 1) {
706
+ const initials = splitted.shift().charAt(0) + splitted.pop().charAt(0);
707
+ this.initials = initials.toUpperCase();
708
+ }
709
+ else {
710
+ this.initials = this.fullName ? this.fullName.charAt(0).toUpperCase() : this.fullName;
711
+ }
712
+ }
713
+ ;
714
+ ngOnInit() {
715
+ this.url = window.location.href;
716
+ const baseUrl = this.envService.environment.resourceUrl;
717
+ const url = '/assets/artportalen/links-ap3.json';
718
+ this.subscription.add(this.httpClient.get(baseUrl + url).subscribe(result => {
719
+ this.navigation = result;
720
+ }));
721
+ this.initTranslations(baseUrl);
722
+ this.router.events.subscribe((event) => {
723
+ if (event instanceof NavigationEnd) {
724
+ this.showNavMenu = false;
725
+ this.dropMenuChange.emit(this.showNavMenu);
726
+ }
727
+ });
728
+ }
729
+ showMenuDropdown(show) {
730
+ this.showUserMenu = false;
731
+ if (this.showNavMenu !== show) {
732
+ this.showNavMenu = show;
733
+ this.dropMenuChange.emit(show);
734
+ }
735
+ }
736
+ setLanguage(lang) {
737
+ this.trans.use(lang);
738
+ this.showNavMenu = false;
739
+ this.dropMenuChange.emit(false);
740
+ }
741
+ login() {
742
+ this.loginClicked.emit();
743
+ }
744
+ logout() {
745
+ this.logoutClicked.emit();
746
+ }
747
+ initTranslations(baseUrl) {
748
+ if (this.trans.store.translations[this.trans.currentLang]) {
749
+ this.loadTranslation(baseUrl, this.trans.currentLang);
750
+ }
751
+ this.subscription.add(this.trans.onLangChange.subscribe((event) => {
752
+ this.translationFinished = false;
753
+ this.loadTranslation(baseUrl, event.lang);
754
+ }));
755
+ }
756
+ loadTranslation(baseUrl, lang) {
757
+ //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
758
+ const url = baseUrl + `/assets/artportalen/i18n/${lang}.json`;
759
+ this.subscription.add(this.httpClient.get(url).subscribe(translations => {
760
+ this.trans.setTranslation(lang, translations, true);
761
+ this.translationFinished = true;
762
+ }));
763
+ }
764
+ ngOnDestroy() {
765
+ this.subscription.unsubscribe();
766
+ }
767
+ }
768
+ /** @nocollapse */ ArtportalenNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenNavComponent, deps: [{ token: i1.HttpClient }, { token: i2.Router }, { token: i3.TranslateService }, { token: EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
769
+ /** @nocollapse */ ArtportalenNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ArtportalenNavComponent, selector: "artportalen-nav", inputs: { showPattern: "showPattern", userName: "userName" }, outputs: { loginClicked: "loginClicked", logoutClicked: "logoutClicked", dropMenuChange: "dropMenuChange" }, ngImport: i0, template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-1\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artportalen.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artportalen</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\" attr.aria-label=\"{{'HEADER.MENY'|translate}}\" (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\" [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artportalen</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showReport?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.report.url}}\">\r\n {{navigation.report.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showReport = !showReport\" attr.aria-controls=\"report-links\" attr.aria-expanded=\"{{showReport}}\">\r\n <span class=\"fas\" [ngClass]=\"showReport?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showReport\" id=\"report-links\">\r\n <ul class=\"list-unstyled\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.report.url}}\">\r\n {{'HEADER.REPORT'|translate}}\r\n </a>\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex \">\r\n <a href=\"{{navigation.wanted.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.wanted.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.checklist.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.checklist.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showObservations?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.observations.url}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showObservations = !showObservations\" attr.aria-controls=\"observations-links\" attr.aria-expanded=\"{{showObservations}}\">\r\n <span class=\"fas\" [ngClass]=\"showObservations?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showObservations\" id=\"observations-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}\">\r\n {{'HEADER.TODAYS_OBSERVATIONS'|translate}}\r\n </a>\r\n </li>\r\n <li class=\"py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.fieldDiary.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.fieldDiary.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.subcriptions.url}}\">\r\n {{navigation.subcriptions.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.fyndregler.url}}\">\r\n {{navigation.fyndregler.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artfaktaUrl\">\r\n {{'HEADER.ARTFAKTA'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\"> </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: ClickOutsideDirective, selector: "[adbClickOutside]", outputs: ["adbClickOutside"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i3.TranslatePipe } });
770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenNavComponent, decorators: [{
771
+ type: Component,
772
+ args: [{ selector: 'artportalen-nav', template: "<div class=\"bg-primary adb-main-header\" (adbClickOutside)=\"showMenuDropdown(false);\">\r\n <header class=\"container-lg\" *ngIf=\"translationFinished\">\r\n <div [attr.id]=\"showPattern?'banner':''\" class=\"d-flex align-items-center gap-2\">\r\n <nav class=\"d-flex flex-grow-1 align-items-center pe-2 py-2 gap-1\">\r\n <a class=\"d-flex text-white text-decoration-none d-flex gap-2\" href=\"https://www.artportalen.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"d-none d-sm-block align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n <a routerLink=\"/\" class=\"text-white text-decoration-none fs-1 fw-bold\">Artportalen</a>\r\n </nav>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div><ng-content></ng-content></div>\r\n <div>\r\n <button class=\"btn btn-primary-dark btn-lg\" type=\"button\" attr.aria-label=\"{{'HEADER.MENY'|translate}}\" (click)=\"showMenuDropdown(!showNavMenu)\">\r\n <i class=\"fas fa-bars\"></i>\r\n <small class=\"d-none ms-2 d-md-inline-block\">{{'HEADER.MENY'|translate}}</small>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n <div *ngIf=\"navigation\" role=\"dialog\" class=\"offcanvas offcanvas-end bg-primary text-white\" [class.show]=\"showNavMenu\" tabindex=\"-1\" aria-labelledby=\"offcanvasNav\">\r\n <div class=\"offcanvas-header\">\r\n <h1 class=\"offcanvas-title h-section mb-0\" id=\"offcanvasNav\">Artportalen</h1>\r\n <button type=\"button\" class=\"btn-close btn-close-white\" attr.aria-label=\"{{'CLOSE'|translate}}\" (click)=\"showMenuDropdown(false)\"></button>\r\n </div>\r\n <div class=\"offcanvas-body d-flex flex-column p-0\">\r\n <div class=\"px-3\">\r\n <div class=\"d-flex flex-wrap justify-content-between align-items-center mb-2 gap-1 px-2\">\r\n <ng-container *ngIf=\"initials\">\r\n <div>\r\n <button (click)=\"logout()\" type=\"button\" class=\"btn btn-primary-dark\">\r\n {{'HEADER.LOGOUT'|translate}}\r\n </button>\r\n </div>\r\n <div>{{fullName}}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!initials\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-primary-dark\" (click)=\"login()\" id=\"start-login\">{{'HEADER.LOGIN'|translate}}</button>\r\n </div>\r\n <a *ngIf=\"navigation\" class=\"text-white\" href=\"{{navigation.createAccountLink}}?lang={{trans.currentLang}}&returnUrl={{url}}\">\r\n {{'HEADER.CREATE_USER'|translate}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <ul class=\"list-group list-group-flush border-top\">\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showReport?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.report.url}}\">\r\n {{navigation.report.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showReport = !showReport\" attr.aria-controls=\"report-links\" attr.aria-expanded=\"{{showReport}}\">\r\n <span class=\"fas\" [ngClass]=\"showReport?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showReport\" id=\"report-links\">\r\n <ul class=\"list-unstyled\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.report.url}}\">\r\n {{'HEADER.REPORT'|translate}}\r\n </a>\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex \">\r\n <a href=\"{{navigation.wanted.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.wanted.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n <li class=\"d-block py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.checklist.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.checklist.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\" [ngClass]=\"showObservations?'border-bottom-0 pb-0':''\">\r\n <div class=\"d-flex justify-content-between gap-2\">\r\n <a class=\"py-1 text-white flex-grow-1\" href=\"{{navigation.observations.url}}\">\r\n {{navigation.observations.transId|translate}}\r\n </a>\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"showObservations = !showObservations\" attr.aria-controls=\"observations-links\" attr.aria-expanded=\"{{showObservations}}\">\r\n <span class=\"fas\" [ngClass]=\"showObservations?'fa-chevron-up':'fa-chevron-down'\"></span>\r\n </button>\r\n </div>\r\n </li>\r\n <li class=\"list-group-item bg-primary pt-0 px-3\" *ngIf=\"showObservations\" id=\"observations-links\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"d-block py-1\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.observations.url}}\">\r\n {{'HEADER.TODAYS_OBSERVATIONS'|translate}}\r\n </a>\r\n </li>\r\n <li class=\"py-1\">\r\n <div class=\"d-flex\">\r\n <a href=\"{{navigation.fieldDiary.url}}\" class=\"text-white flex-grow-1\">\r\n {{navigation.fieldDiary.transId|translate}}\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.subcriptions.url}}\">\r\n {{navigation.subcriptions.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block py-1 text-white\" href=\"{{navigation.fyndregler.url}}\">\r\n {{navigation.fyndregler.transId|translate}}\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artportalenUrl\">\r\n {{'HEADER.ARTPORTALEN_TITLE'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <a class=\"d-block fw-bold py-1 text-white\" [href]=\"navigation.artfaktaUrl\">\r\n {{'HEADER.ARTFAKTA'|translate}}\r\n <i class=\"fas fa-external-link\"></i>\r\n </a>\r\n </li>\r\n <li class=\"list-group-item bg-primary\">\r\n <small class=\"d-block text-white pt-1\">\r\n {{'HEADER.DEVELOPED_BY'|translate}}\r\n <a href=\"https://www.artdatabanken.se/\" class=\"text-white\"><u class=\"me-1\">{{'HEADER.ARTDATABANKEN'|translate}}</u> <span class=\"fas fa-external-link\"></span></a>\r\n </small>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id=\"pattern\" class=\"flex-grow-1\"> </div>\r\n </div>\r\n </div>\r\n</div>" }]
773
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Router }, { type: i3.TranslateService }, { type: EnvironmentService }]; }, propDecorators: { loginClicked: [{
774
+ type: Output
775
+ }], logoutClicked: [{
776
+ type: Output
777
+ }], dropMenuChange: [{
778
+ type: Output
779
+ }], showPattern: [{
780
+ type: Input
781
+ }], userName: [{
782
+ type: Input
783
+ }] } });
784
+
785
+ class ArtportalenFooterComponent {
786
+ constructor(httpClient, envService, trans) {
787
+ this.httpClient = httpClient;
788
+ this.envService = envService;
789
+ this.trans = trans;
790
+ this.subscription = new Subscription();
791
+ this.translationFinished = false;
792
+ }
793
+ ngOnInit() {
794
+ this.url = window.location.href;
795
+ this.baseUrl = this.envService.environment.resourceUrl;
796
+ this.initTranslations(this.baseUrl);
797
+ }
798
+ initTranslations(baseUrl) {
799
+ if (this.trans.store.translations[this.trans.currentLang]) {
800
+ this.loadTranslation(baseUrl, this.trans.currentLang);
801
+ }
802
+ this.subscription.add(this.trans.onLangChange.subscribe((event) => {
803
+ this.translationFinished = false;
804
+ this.loadTranslation(baseUrl, event.lang);
805
+ }));
806
+ }
807
+ loadTranslation(baseUrl, lang) {
808
+ //TODO: Prepare for diffents lang then en sv (en-GB) or add more files in devcomponentserver :)
809
+ const url = baseUrl + `/assets/artportalen/i18n/${lang}.json`;
810
+ this.subscription.add(this.httpClient.get(url).subscribe(translations => {
811
+ this.trans.setTranslation(lang, translations, true);
812
+ this.translationFinished = true;
813
+ }));
814
+ }
815
+ ngOnDestroy() {
816
+ this.subscription.unsubscribe();
817
+ }
818
+ }
819
+ /** @nocollapse */ ArtportalenFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenFooterComponent, deps: [{ token: i1.HttpClient }, { token: EnvironmentService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
820
+ /** @nocollapse */ ArtportalenFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ArtportalenFooterComponent, selector: "artportalen-footer", ngImport: i0, template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 justify-content-center text-white\">\r\n <div class=\"row mb-4\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4\">\r\n <a href=\"https://artportalen.se/Home/About\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://artportalen.se/Home/Accessibility\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/kontakt/support\" class=\"d-block text-white mb-2\">{{'FOOTER.SUPPORT'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare\" class=\"d-block text-white mb-2\">{{'FOOTER.TERMS_OF_USE'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" class=\"d-block text-white mb-2\">{{'FOOTER.PERSONAL_DATA'|translate}}</a>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a href=\"https://birdlife.se\" class=\"d-block text-white mb-2\">Birdlife Sverige</a>\r\n <a href=\"https://svenskbotanik.se\" class=\"d-block text-white mb-2\">Svenska Botaniska F\u00F6reningen</a>\r\n <a href=\"https://www.sef.nu\" class=\"d-block text-white mb-2\">Sveriges Entomologiska F\u00F6rening</a>\r\n <a href=\"https://www.svampar.se\" class=\"d-block text-white mb-2\">Sveriges Mykologiska F\u00F6rening</a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4\">\r\n <div class=\"mb-2 text-white\">\r\n {{'FOOTER.INFO'|translate}}\r\n <a href=\"https://www.naturvardsverket.se\" class=\"text-white mb-2\">Naturv\u00E5rdsverket</a>\r\n </div>\r\n <div>{{'FOOTER.INFO2'|translate}}</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe } });
821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenFooterComponent, decorators: [{
822
+ type: Component,
823
+ args: [{ selector: 'artportalen-footer', template: "<footer class=\"bg-primary-dark py-2 mt-auto container-fluid\" *ngIf=\"translationFinished\">\r\n <div class=\"d-flex justify-content-center\">\r\n <div class=\"container py-3 justify-content-center text-white\">\r\n <div class=\"row mb-4\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4\">\r\n <a href=\"https://artportalen.se/Home/About\" class=\"d-block text-white mb-2\">{{'FOOTER.ABOUT'|translate}}</a>\r\n <a href=\"https://artportalen.se/Home/Accessibility\" class=\"d-block text-white mb-2\">{{'FOOTER.WCAG'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/kontakt/support\" class=\"d-block text-white mb-2\">{{'FOOTER.SUPPORT'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/tjanster-och-miljodata/villkor-kontohavare\" class=\"d-block text-white mb-2\">{{'FOOTER.TERMS_OF_USE'|translate}}</a>\r\n <a href=\"https://www.artdatabanken.se/om-oss/behandling-av-personuppgifter\" class=\"d-block text-white mb-2\">{{'FOOTER.PERSONAL_DATA'|translate}}</a>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a href=\"https://birdlife.se\" class=\"d-block text-white mb-2\">Birdlife Sverige</a>\r\n <a href=\"https://svenskbotanik.se\" class=\"d-block text-white mb-2\">Svenska Botaniska F\u00F6reningen</a>\r\n <a href=\"https://www.sef.nu\" class=\"d-block text-white mb-2\">Sveriges Entomologiska F\u00F6rening</a>\r\n <a href=\"https://www.svampar.se\" class=\"d-block text-white mb-2\">Sveriges Mykologiska F\u00F6rening</a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-2\"></div>\r\n <div class=\"col-md-4\">\r\n <div class=\"mb-2 text-white\">\r\n {{'FOOTER.INFO'|translate}}\r\n <a href=\"https://www.naturvardsverket.se\" class=\"text-white mb-2\">Naturv\u00E5rdsverket</a>\r\n </div>\r\n <div>{{'FOOTER.INFO2'|translate}}</div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <a class=\"text-white text-decoration-none d-flex gap-2 mb-3\" href=\"https://www.artdatabanken.se/\" target=\"new\">\r\n <img style=\"height: 2rem;\" src=\"/assets/images/slu.svg\" alt=\"logo\">\r\n <div class=\"border-end d-none d-sm-block\"></div>\r\n <img class=\"align-self-center pe-5\" style=\"height: 0.7rem;\" src=\"/assets/images/artdatabanken.svg\" alt=\"logo\">\r\n </a>\r\n </div>\r\n <div class=\"col-md-2\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>" }]
824
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: EnvironmentService }, { type: i3.TranslateService }]; } });
825
+
826
+ class ArtportalenNavModule {
827
+ static forRoot(environment) {
828
+ return {
829
+ ngModule: ArtportalenNavModule,
830
+ providers: [
831
+ EnvironmentService,
832
+ {
833
+ provide: 'env',
834
+ useValue: environment
835
+ }
836
+ ]
837
+ };
838
+ }
839
+ }
840
+ /** @nocollapse */ ArtportalenNavModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
841
+ /** @nocollapse */ ArtportalenNavModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenNavModule, declarations: [ArtportalenNavComponent,
842
+ ArtportalenFooterComponent], imports: [CommonModule,
843
+ HttpClientModule,
844
+ RouterModule,
845
+ TranslateModule,
846
+ AdbDirectivesModule,
847
+ AdbDropdownModule,
848
+ AdbPagersModule], exports: [ArtportalenNavComponent,
849
+ ArtportalenFooterComponent] });
850
+ /** @nocollapse */ ArtportalenNavModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenNavModule, imports: [[
851
+ CommonModule,
852
+ HttpClientModule,
853
+ RouterModule,
854
+ TranslateModule,
855
+ AdbDirectivesModule,
856
+ AdbDropdownModule,
857
+ AdbPagersModule
858
+ ]] });
859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ArtportalenNavModule, decorators: [{
860
+ type: NgModule,
861
+ args: [{
862
+ declarations: [
863
+ ArtportalenNavComponent,
864
+ ArtportalenFooterComponent
865
+ ],
866
+ imports: [
867
+ CommonModule,
868
+ HttpClientModule,
869
+ RouterModule,
870
+ TranslateModule,
871
+ AdbDirectivesModule,
872
+ AdbDropdownModule,
873
+ AdbPagersModule
874
+ ],
875
+ exports: [
876
+ ArtportalenNavComponent,
877
+ ArtportalenFooterComponent
878
+ ]
879
+ }]
880
+ }] });
881
+
673
882
  class LocaleDatePipe {
674
883
  constructor(translate) {
675
884
  this.translate = translate;
@@ -678,7 +887,7 @@ class LocaleDatePipe {
678
887
  return new DatePipe(this.translate.currentLang).transform(value, format, null, this.translate.currentLang);
679
888
  }
680
889
  }
681
- /** @nocollapse */ LocaleDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: LocaleDatePipe, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
890
+ /** @nocollapse */ LocaleDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: LocaleDatePipe, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
682
891
  /** @nocollapse */ LocaleDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: LocaleDatePipe, name: "adbLocaleDate", pure: false });
683
892
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: LocaleDatePipe, decorators: [{
684
893
  type: Pipe,
@@ -686,7 +895,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
686
895
  name: 'adbLocaleDate',
687
896
  pure: false
688
897
  }]
689
- }], ctorParameters: function () { return [{ type: i1$1.TranslateService }]; } });
898
+ }], ctorParameters: function () { return [{ type: i3.TranslateService }]; } });
690
899
 
691
900
  class EmptyValuePipe {
692
901
  transform(value) {
@@ -936,12 +1145,12 @@ class AdbDatePickerComponent {
936
1145
  AdbDatePickerComponent.MONTHS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
937
1146
  AdbDatePickerComponent.WEEK_DAYS = ['1', '2', '3', '4', '5', '6', '7'];
938
1147
  AdbDatePickerComponent.YEAR_INTERVALL = 8;
939
- /** @nocollapse */ AdbDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
940
- /** @nocollapse */ AdbDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerComponent, selector: "adb-date-picker", inputs: { initialDate: "initialDate", settings: "settings", toLeft: "toLeft", id: "id" }, outputs: { selectDate: "selectDate", hide: "hide" }, host: { properties: { "id": "this.id" } }, ngImport: i0, template: "<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\" [disabled]=\"noYearMode&&currentMonth===0\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button *ngIf=\"!noYearMode\" tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\" [disabled]=\"noYearMode&&currentMonth===11\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "adbLocaleDate": LocaleDatePipe, "date": i2$1.DatePipe, "translate": i1$1.TranslatePipe } });
1148
+ /** @nocollapse */ AdbDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
1149
+ /** @nocollapse */ AdbDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerComponent, selector: "adb-date-picker", inputs: { initialDate: "initialDate", settings: "settings", toLeft: "toLeft", id: "id" }, outputs: { selectDate: "selectDate", hide: "hide" }, host: { properties: { "id": "this.id" } }, ngImport: i0, template: "<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\" [disabled]=\"noYearMode&&currentMonth===0\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button *ngIf=\"!noYearMode\" tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\" [disabled]=\"noYearMode&&currentMonth===11\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>\r\n", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "adbLocaleDate": LocaleDatePipe, "date": i2$1.DatePipe, "translate": i3.TranslatePipe } });
941
1150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerComponent, decorators: [{
942
1151
  type: Component,
943
- args: [{ selector: 'adb-date-picker', template: "<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\" [disabled]=\"noYearMode&&currentMonth===0\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button *ngIf=\"!noYearMode\" tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\" [disabled]=\"noYearMode&&currentMonth===11\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>" }]
944
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.TranslateService }]; }, propDecorators: { initialDate: [{
1152
+ args: [{ selector: 'adb-date-picker', template: "<div class=\"position-relative\" [class.to-left]=\"toLeft\">\r\n <nav class=\"bg-white shadow rounded position-absolute\" style=\"width:350px\">\r\n <header class=\"bg-primary p-2 rounded-top d-flex justify-content-between align-items-center gap-1\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onPrev()\" [disabled]=\"noYearMode&&currentMonth===0\"><span class=\"fa fa-chevron-left\"></span></button>\r\n <ng-container *ngIf=\"!years&&!months\">\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowMonth();$event.stopPropagation()\">{{selectedDate|adbLocaleDate:'MMM'}}</button>\r\n <button *ngIf=\"!noYearMode\" tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n </ng-container>\r\n <button tabIndex=\"-1\" *ngIf=\"years\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"years=null;$event.stopPropagation()\">{{years[0].title}} - {{years[years.length-1].title}}</button>\r\n <button tabIndex=\"-1\" *ngIf=\"months\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onShowYear();$event.stopPropagation()\">{{selectedDate|date:'yyyy'}}</button>\r\n <button tabIndex=\"-1\" class=\"btn btn-primary text-white rounded-pill\" type=\"button\" (click)=\"onNext()\" [disabled]=\"noYearMode&&currentMonth===11\"><span class=\"fa fa-chevron-right\"></span></button>\r\n </header>\r\n <div class=\"p-0 border calendar\">\r\n <ul class=\"list-unstyled row\" *ngIf=\"years\">\r\n <li class=\"col-3 text-center px-2 py-3\" *ngFor=\"let year of years\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectYear(year.value);$event.stopPropagation()\" [class.active]=\"year.hasObservation\" [ngClass]=\"{'border border-secondary':year.isThisYear}\">{{year.title}}</button>\r\n </li>\r\n </ul>\r\n <ul class=\"list-unstyled row\" *ngIf=\"months\">\r\n <li class=\"col-4 text-center px-2 py-3\" *ngFor=\"let month of months\">\r\n <button type=\"button\" tabIndex=\"-1\" class=\"btn btn-sm btn-outline-secondary rounded-pill\" (click)=\"onSelectMonth(month.value);$event.stopPropagation()\" [class.active]=\"month.observation\" [ngClass]=\"{'border border-secondary':month.isThisMonth}\">\r\n {{'MONTHS.'+(month.value+1)|translate}}\r\n </button>\r\n </li>\r\n </ul>\r\n <div class=\"days\" *ngIf=\"!years&&!months\">\r\n <div class=\"text-center border-bottom py-2 text-muted\" *ngFor=\"let weekDay of weekDays\">{{'WEEK_DAYS.'+weekDay|translate}}</div>\r\n <ng-container *ngFor=\"let week of weeks\">\r\n <button tabIndex=\"-1\" class=\"btn rounded-circle p-0 m-2\" *ngFor=\"let day of week.days\" (click)=\"onSelectDate(day)\" type=\"button\" \r\n [class.border]=\"day.isToday\" [class.bg-primary]=\"day.isSelected\" [class.text-white]=\"day.isSelected\" [ngClass]=\"{'pe-none text-muted opacity-50':!day.inMonth||!day.isInRange}\">\r\n <small>{{day.value|date:'d'}}</small>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </nav>\r\n</div>\r\n" }]
1153
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i3.TranslateService }]; }, propDecorators: { initialDate: [{
945
1154
  type: Input
946
1155
  }], settings: [{
947
1156
  type: Input
@@ -1110,7 +1319,7 @@ class AdbDatePickerDirective {
1110
1319
  return '' + Math.floor(Math.random() * Date.now());
1111
1320
  }
1112
1321
  }
1113
- /** @nocollapse */ AdbDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdbDatePickerService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
1322
+ /** @nocollapse */ AdbDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdbDatePickerService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
1114
1323
  /** @nocollapse */ AdbDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings", pickOnly: "pickOnly" }, host: { listeners: { "click": "onClick()", "keyup": "onKeyup($event)", "keyup.esc": "onHide()", "keydown": "handleKeyboardEvent($event)", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
1115
1324
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
1116
1325
  multi: true
@@ -1134,7 +1343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
1134
1343
  multi: true,
1135
1344
  },]
1136
1345
  }]
1137
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AdbDatePickerService }, { type: i1$1.TranslateService }]; }, propDecorators: { autocomplete: [{
1346
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AdbDatePickerService }, { type: i3.TranslateService }]; }, propDecorators: { autocomplete: [{
1138
1347
  type: HostBinding,
1139
1348
  args: ['autocomplete']
1140
1349
  }], format: [{
@@ -1165,7 +1374,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
1165
1374
  class AdbDatePickerModule {
1166
1375
  }
1167
1376
  /** @nocollapse */ AdbDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1168
- /** @nocollapse */ AdbDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerModule, declarations: [AdbDatePickerComponent, AdbDatePickerDirective], imports: [CommonModule, i1$1.TranslateModule, AdbPipesModule, AdbDirectivesModule], exports: [AdbDatePickerComponent, AdbDatePickerDirective] });
1377
+ /** @nocollapse */ AdbDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerModule, declarations: [AdbDatePickerComponent, AdbDatePickerDirective], imports: [CommonModule, i3.TranslateModule, AdbPipesModule, AdbDirectivesModule], exports: [AdbDatePickerComponent, AdbDatePickerDirective] });
1169
1378
  /** @nocollapse */ AdbDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerModule, providers: [AdbDatePickerService], imports: [[CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule]] });
1170
1379
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbDatePickerModule, decorators: [{
1171
1380
  type: NgModule,
@@ -1227,7 +1436,7 @@ class AdbConfirmModal {
1227
1436
  }
1228
1437
  }
1229
1438
  /** @nocollapse */ AdbConfirmModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbConfirmModal, deps: [{ token: AdbModalService }], target: i0.ɵɵFactoryTarget.Component });
1230
- /** @nocollapse */ AdbConfirmModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AdbConfirmModal, selector: "ng-component", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "translate": i1$1.TranslatePipe } });
1439
+ /** @nocollapse */ AdbConfirmModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AdbConfirmModal, selector: "ng-component", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], pipes: { "translate": i3.TranslatePipe } });
1231
1440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbConfirmModal, decorators: [{
1232
1441
  type: Component,
1233
1442
  args: [{ template: "<div class=\"modal fade show\" *ngIf=\"model\">\r\n <div class=\"modal-dialog modal-dialog-centered\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h1 class=\"h-subsection mb-0 modal-title\" translate>{{model.header}}</h1>\r\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\" (click)=\"onClose(false)\"></button>\r\n </div>\r\n <div class=\"modal-body\">\r\n {{model.text|translate}}\r\n <div *ngIf=\"model.value\">\r\n <strong>{{model.value}}</strong>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <div class=\"text-right\">\r\n <button type=\"button\" class=\"btn btn-primary me-2\"\r\n (click)=\"onClose(true)\">{{model.confirm|translate}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary\"\r\n (click)=\"onClose(false)\">{{model.decline|translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
@@ -1238,7 +1447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
1238
1447
  class AdbModalModule {
1239
1448
  }
1240
1449
  /** @nocollapse */ AdbModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1241
- /** @nocollapse */ AdbModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbModalModule, declarations: [AdbConfirmModal], imports: [CommonModule, i1$1.TranslateModule, AdbDirectivesModule], exports: [AdbConfirmModal] });
1450
+ /** @nocollapse */ AdbModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbModalModule, declarations: [AdbConfirmModal], imports: [CommonModule, i3.TranslateModule, AdbDirectivesModule], exports: [AdbConfirmModal] });
1242
1451
  /** @nocollapse */ AdbModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbModalModule, providers: [AdbModalService], imports: [[CommonModule, TranslateModule.forChild(), AdbDirectivesModule]] });
1243
1452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbModalModule, decorators: [{
1244
1453
  type: NgModule,
@@ -1313,7 +1522,7 @@ class AdbToast {
1313
1522
  }
1314
1523
  }
1315
1524
  /** @nocollapse */ AdbToast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToast, deps: [{ token: AdbToastService }], target: i0.ɵɵFactoryTarget.Component });
1316
- /** @nocollapse */ AdbToast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AdbToast, selector: "ng-component", ngImport: i0, template: "<div class=\"position-fixed bottom-0 end-0\" style=\"z-index: 50000;min-width: 15rem;\">\r\n <div class=\"text-white px-3 pb-3 pt-2 mb-2\" *ngFor=\"let toast of toasts\"\r\n [class.bg-success]=\"toast.type===toastType.Success\" [class.bg-info]=\"toast.type===toastType.Info\" [class.bg-danger]=\"toast.type===toastType.Warn\">\r\n <div class=\"d-flex align-items-center justify-content-between pb-1\" *ngIf=\"toast.header\">\r\n <div class=\"fw-bold pb-1\">{{toast.header|translate}}</div>\r\n <button class=\"btn top-0 end-0 btn p-0 ms-2 text-white\" (click)=\"onRemoveToast(toast)\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between mt-1\">\r\n <div *ngIf=\"!toast.messageValue\">{{toast.message|translate}}</div>\r\n <div *ngIf=\"toast.messageValue\">{{(toast.message|translate:{value:toast.messageValue} )}}</div>\r\n <button *ngIf=\"!toast.header\" class=\"btn p-0 ms-2 text-white\" (click)=\"onRemoveToast(toast)\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1$1.TranslatePipe } });
1525
+ /** @nocollapse */ AdbToast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: AdbToast, selector: "ng-component", ngImport: i0, template: "<div class=\"position-fixed bottom-0 end-0\" style=\"z-index: 50000;min-width: 15rem;\">\r\n <div class=\"text-white px-3 pb-3 pt-2 mb-2\" *ngFor=\"let toast of toasts\"\r\n [class.bg-success]=\"toast.type===toastType.Success\" [class.bg-info]=\"toast.type===toastType.Info\" [class.bg-danger]=\"toast.type===toastType.Warn\">\r\n <div class=\"d-flex align-items-center justify-content-between pb-1\" *ngIf=\"toast.header\">\r\n <div class=\"fw-bold pb-1\">{{toast.header|translate}}</div>\r\n <button class=\"btn top-0 end-0 btn p-0 ms-2 text-white\" (click)=\"onRemoveToast(toast)\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between mt-1\">\r\n <div *ngIf=\"!toast.messageValue\">{{toast.message|translate}}</div>\r\n <div *ngIf=\"toast.messageValue\">{{(toast.message|translate:{value:toast.messageValue} )}}</div>\r\n <button *ngIf=\"!toast.header\" class=\"btn p-0 ms-2 text-white\" (click)=\"onRemoveToast(toast)\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n </div>\r\n</div>", directives: [{ type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe } });
1317
1526
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToast, decorators: [{
1318
1527
  type: Component,
1319
1528
  args: [{ template: "<div class=\"position-fixed bottom-0 end-0\" style=\"z-index: 50000;min-width: 15rem;\">\r\n <div class=\"text-white px-3 pb-3 pt-2 mb-2\" *ngFor=\"let toast of toasts\"\r\n [class.bg-success]=\"toast.type===toastType.Success\" [class.bg-info]=\"toast.type===toastType.Info\" [class.bg-danger]=\"toast.type===toastType.Warn\">\r\n <div class=\"d-flex align-items-center justify-content-between pb-1\" *ngIf=\"toast.header\">\r\n <div class=\"fw-bold pb-1\">{{toast.header|translate}}</div>\r\n <button class=\"btn top-0 end-0 btn p-0 ms-2 text-white\" (click)=\"onRemoveToast(toast)\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n <div class=\"d-flex align-items-center justify-content-between mt-1\">\r\n <div *ngIf=\"!toast.messageValue\">{{toast.message|translate}}</div>\r\n <div *ngIf=\"toast.messageValue\">{{(toast.message|translate:{value:toast.messageValue} )}}</div>\r\n <button *ngIf=\"!toast.header\" class=\"btn p-0 ms-2 text-white\" (click)=\"onRemoveToast(toast)\"><i class=\"fas fa-times\"></i></button>\r\n </div>\r\n </div>\r\n</div>" }]
@@ -1322,7 +1531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
1322
1531
  class AdbToastModule {
1323
1532
  }
1324
1533
  /** @nocollapse */ AdbToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1325
- /** @nocollapse */ AdbToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToastModule, declarations: [AdbToast], imports: [CommonModule, i1$1.TranslateModule, AdbDirectivesModule], exports: [AdbToast] });
1534
+ /** @nocollapse */ AdbToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToastModule, declarations: [AdbToast], imports: [CommonModule, i3.TranslateModule, AdbDirectivesModule], exports: [AdbToast] });
1326
1535
  /** @nocollapse */ AdbToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToastModule, providers: [AdbToastService], imports: [[CommonModule, TranslateModule.forChild(), AdbDirectivesModule]] });
1327
1536
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AdbToastModule, decorators: [{
1328
1537
  type: NgModule,
@@ -1342,5 +1551,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
1342
1551
  * Generated bundle index. Do not edit.
1343
1552
  */
1344
1553
 
1345
- export { ADBFooterComponent, ADBHeaderModule, ADBNavComponent, AdbConfirmModal, AdbDatePickerComponent, AdbDatePickerDirective, AdbDatePickerModule, AdbDirectivesModule, AdbDropdownDirective, AdbDropdownModule, AdbModalModule, AdbModalService, AdbPagersModule, AdbPipesModule, AdbToast, AdbToastModule, AdbToastService, ClickOutsideDirective, EmptyValuePipe, FileUploadDirective, FocusDirective, HighlightPipe2, InfiniteScrollComponent, LocaleDatePipe, NumberSpacingPipe, PagerComponent, PagerInlineComponent, RedListBadgeClassDirective, ToastType };
1554
+ export { ADBFooterComponent, ADBHeaderModule, ADBNavComponent, AdbConfirmModal, AdbDatePickerComponent, AdbDatePickerDirective, AdbDatePickerModule, AdbDirectivesModule, AdbDropdownDirective, AdbDropdownModule, AdbModalModule, AdbModalService, AdbPagersModule, AdbPipesModule, AdbToast, AdbToastModule, AdbToastService, ArtportalenFooterComponent, ArtportalenNavComponent, ArtportalenNavModule, ClickOutsideDirective, EmptyValuePipe, FileUploadDirective, FocusDirective, HighlightPipe2, InfiniteScrollComponent, LocaleDatePipe, NumberSpacingPipe, PagerComponent, PagerInlineComponent, RedListBadgeClassDirective, ToastType };
1346
1555
  //# sourceMappingURL=adb-shared.mjs.map