geonetwork-ui 2.6.0-dev.4fa0a0afc → 2.6.0-dev.582b4530a

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.
Files changed (60) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +6 -1
  2. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  3. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +5 -1
  4. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +5 -1
  5. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -1
  6. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  7. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  8. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
  9. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +163 -0
  10. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  11. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +3 -3
  12. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  13. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  14. package/esm2022/translations/de.json +8 -0
  15. package/esm2022/translations/en.json +8 -0
  16. package/esm2022/translations/es.json +8 -0
  17. package/esm2022/translations/fr.json +8 -0
  18. package/esm2022/translations/it.json +8 -1
  19. package/esm2022/translations/nl.json +8 -0
  20. package/esm2022/translations/pt.json +8 -0
  21. package/fesm2022/geonetwork-ui.mjs +245 -19
  22. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  23. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  24. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +3 -0
  25. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  26. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  27. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +1 -1
  28. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  29. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  30. package/libs/ui/elements/src/index.d.ts +1 -0
  31. package/libs/ui/elements/src/index.d.ts.map +1 -1
  32. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +43 -0
  33. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  34. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  35. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +6 -0
  38. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -0
  39. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +4 -0
  40. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +4 -0
  41. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +5 -0
  42. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -1
  43. package/src/libs/ui/elements/src/index.ts +1 -0
  44. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +6 -6
  45. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.css +0 -0
  46. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +156 -0
  47. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +190 -0
  48. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +1 -1
  49. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +4 -2
  50. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  51. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +2 -2
  52. package/tailwind.base.css +5 -0
  53. package/translations/de.json +8 -0
  54. package/translations/en.json +8 -0
  55. package/translations/es.json +8 -0
  56. package/translations/fr.json +8 -0
  57. package/translations/it.json +8 -1
  58. package/translations/nl.json +8 -0
  59. package/translations/pt.json +8 -0
  60. package/translations/sk.json +8 -0
@@ -16,7 +16,7 @@ import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-comp
16
16
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
17
17
  import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, mergeMap, throttleTime, distinctUntilChanged, debounceTime, finalize, first as first$1, share, pairwise, delay, defaultIfEmpty, toArray } from 'rxjs/operators';
18
18
  import * as i1$2 from '@angular/common';
19
- import { CommonModule, NgSwitch, NgSwitchCase, NgSwitchDefault, NgOptimizedImage, DatePipe, NgIf } from '@angular/common';
19
+ import { CommonModule, NgSwitch, NgSwitchCase, NgSwitchDefault, NgClass, NgIf, NgTemplateOutlet, NgOptimizedImage, DatePipe } from '@angular/common';
20
20
  import { of, map as map$2, lastValueFrom, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, fromEvent, animationFrameScheduler, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, filter as filter$1, tap as tap$2, Observable, buffer, debounceTime as debounceTime$1, combineLatestWith, catchError as catchError$1, timer, takeUntil, EMPTY, mergeMap as mergeMap$1, startWith as startWith$1, withLatestFrom as withLatestFrom$1, shareReplay as shareReplay$1, pairwise as pairwise$1 } from 'rxjs';
21
21
  import { lt, valid, coerce, satisfies, ltr } from 'semver';
22
22
  import chroma from 'chroma-js';
@@ -26,8 +26,8 @@ import { createAction, props, createReducer, on, createFeatureSelector, createSe
26
26
  import EmblaCarousel from 'embla-carousel';
27
27
  import * as i2$2 from '@ng-icons/core';
28
28
  import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
29
- import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirLongArrowDownLeft, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirSettings, iconoirDownload, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh } from '@ng-icons/iconoir';
30
- import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matWarning, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
29
+ import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirLongArrowDownLeft, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirSettings, iconoirDownload, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirDatabase, iconoirMap, iconoirInternet, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh } from '@ng-icons/iconoir';
30
+ import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matWarning, matCode, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
31
31
  import * as i1$4 from '@angular/material/tooltip';
32
32
  import { MatTooltipModule } from '@angular/material/tooltip';
33
33
  import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
@@ -41,7 +41,7 @@ import { TagInputModule } from 'ngx-chips';
41
41
  import * as i1$5 from '@angular/material/progress-spinner';
42
42
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
43
43
  import tippy from 'tippy.js';
44
- import { matErrorOutlineOutline, matInfoOutline, matComputerOutline, matCallOutline, matLocationOnOutline, matMailOutline as matMailOutline$1, matWarningAmberOutline, matCloseOutline, matSendOutline, matMapOutline, matCloudDownloadOutline, matHomeWorkOutline, matSwipeOutline, matLayersOutline, matAddCircleOutlineOutline } from '@ng-icons/material-icons/outline';
44
+ import { matErrorOutlineOutline, matInfoOutline, matComputerOutline, matCallOutline, matLocationOnOutline, matMailOutline as matMailOutline$1, matWarningAmberOutline, matCloseOutline, matLocationSearchingOutline, matEmailOutline, matPhoneOutline, matSendOutline, matMapOutline, matCloudDownloadOutline, matHomeWorkOutline, matSwipeOutline, matLayersOutline, matAddCircleOutlineOutline } from '@ng-icons/material-icons/outline';
45
45
  import * as i2 from '@angular/material/core';
46
46
  import { MatNativeDateModule, MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
47
47
  import * as i1$7 from '@angular/material/checkbox';
@@ -18602,6 +18602,7 @@ var records$6 = "Datensätze";
18602
18602
  var de = {
18603
18603
  "": "",
18604
18604
  "Add Layer As": "",
18605
+ "Enter to search": "",
18605
18606
  "button.login": "",
18606
18607
  "catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
18607
18608
  "catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
@@ -18673,6 +18674,7 @@ var de = {
18673
18674
  "dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
18674
18675
  "dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
18675
18676
  "dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
18677
+ "dataset.error.restrictedAccess": "",
18676
18678
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
18677
18679
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
18678
18680
  "domain.contact.role.author": "",
@@ -18955,8 +18957,12 @@ var de = {
18955
18957
  "record.action.duplicating": "",
18956
18958
  "record.action.rollback": "",
18957
18959
  "record.action.view": "Anzeigen",
18960
+ "record.card.metadata.contact": "",
18958
18961
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
18959
18962
  "record.feature.limit": "Die Vorschau wurde aufgrund zu vieler Elemente deaktiviert",
18963
+ "record.kind.dataset": "",
18964
+ "record.kind.reuse": "",
18965
+ "record.kind.service": "",
18960
18966
  "record.metadata.about": "Beschreibung",
18961
18967
  "record.metadata.api": "API",
18962
18968
  "record.metadata.api.form.closeButton": "Schließen",
@@ -19026,6 +19032,8 @@ var de = {
19026
19032
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
19027
19033
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
19028
19034
  "record.metadata.related": "Ähnliche Datensätze",
19035
+ "record.metadata.related.contents": "Verwandte Inhalte",
19036
+ "record.metadata.ressources.and.links": "Ressourcen und Links",
19029
19037
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
19030
19038
  "record.metadata.status": "Status",
19031
19039
  "record.metadata.status.notPublished": "",
@@ -19148,6 +19156,7 @@ var records$5 = "datasets";
19148
19156
  var en = {
19149
19157
  "": "",
19150
19158
  "Add Layer As": "",
19159
+ "Enter to search": "",
19151
19160
  "button.login": "Log in",
19152
19161
  "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
19153
19162
  "catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}",
@@ -19219,6 +19228,7 @@ var en = {
19219
19228
  "dataset.error.http": "The data could not be loaded because of an HTTP error: \"{ info }\"",
19220
19229
  "dataset.error.network": "The data could not be loaded because of a network error or CORS limitations: \"{ info }\"",
19221
19230
  "dataset.error.parse": "The data was loaded but could not be parsed: \"{ info }\"",
19231
+ "dataset.error.restrictedAccess": "Access to this resource is restricted",
19222
19232
  "dataset.error.unknown": "The data cannot be displayed: \"{ info }\"",
19223
19233
  "dataset.error.unsupportedType": "The following content type is unsupported: \"{ info }\"",
19224
19234
  "domain.contact.role.author": "Author",
@@ -19501,8 +19511,12 @@ var en = {
19501
19511
  "record.action.duplicating": "Duplicating...",
19502
19512
  "record.action.rollback": "Rollback",
19503
19513
  "record.action.view": "View",
19514
+ "record.card.metadata.contact": "Metadata Contact",
19504
19515
  "record.externalViewer.open": "Open in the external map viewer",
19505
19516
  "record.feature.limit": "Preview disabled due to too many elements",
19517
+ "record.kind.dataset": "Data",
19518
+ "record.kind.reuse": "Reuse",
19519
+ "record.kind.service": "Service",
19506
19520
  "record.metadata.about": "Description",
19507
19521
  "record.metadata.api": "API",
19508
19522
  "record.metadata.api.form.closeButton": "Close",
@@ -19572,6 +19586,8 @@ var en = {
19572
19586
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
19573
19587
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
19574
19588
  "record.metadata.related": "Related datasets",
19589
+ "record.metadata.related.contents": "Related contents",
19590
+ "record.metadata.ressources.and.links": "Resources and links",
19575
19591
  "record.metadata.sheet": "Original metadata",
19576
19592
  "record.metadata.status": "Status",
19577
19593
  "record.metadata.status.notPublished": "Not published",
@@ -19694,6 +19710,7 @@ var records$4 = "";
19694
19710
  var es = {
19695
19711
  "": "",
19696
19712
  "Add Layer As": "",
19713
+ "Enter to search": "",
19697
19714
  "button.login": "",
19698
19715
  "catalog.figures.datasets": "conjuntos de datos",
19699
19716
  "catalog.figures.organizations": "organizaciones",
@@ -19765,6 +19782,7 @@ var es = {
19765
19782
  "dataset.error.http": "",
19766
19783
  "dataset.error.network": "",
19767
19784
  "dataset.error.parse": "",
19785
+ "dataset.error.restrictedAccess": "",
19768
19786
  "dataset.error.unknown": "",
19769
19787
  "dataset.error.unsupportedType": "",
19770
19788
  "domain.contact.role.author": "",
@@ -20047,8 +20065,12 @@ var es = {
20047
20065
  "record.action.duplicating": "",
20048
20066
  "record.action.rollback": "",
20049
20067
  "record.action.view": "",
20068
+ "record.card.metadata.contact": "",
20050
20069
  "record.externalViewer.open": "",
20051
20070
  "record.feature.limit": "",
20071
+ "record.kind.dataset": "",
20072
+ "record.kind.reuse": "",
20073
+ "record.kind.service": "",
20052
20074
  "record.metadata.about": "",
20053
20075
  "record.metadata.api": "",
20054
20076
  "record.metadata.api.form.closeButton": "",
@@ -20118,6 +20140,8 @@ var es = {
20118
20140
  "record.metadata.quality.updateFrequency.failed": "",
20119
20141
  "record.metadata.quality.updateFrequency.success": "",
20120
20142
  "record.metadata.related": "",
20143
+ "record.metadata.related.contents": "Contenidos relacionados",
20144
+ "record.metadata.ressources.and.links": "Recursos y enlaces",
20121
20145
  "record.metadata.sheet": "",
20122
20146
  "record.metadata.status": "",
20123
20147
  "record.metadata.status.notPublished": "",
@@ -20240,6 +20264,7 @@ var records$3 = "Enregistrements";
20240
20264
  var fr = {
20241
20265
  "": "",
20242
20266
  "Add Layer As": "",
20267
+ "Enter to search": "",
20243
20268
  "button.login": "Se connecter",
20244
20269
  "catalog.figures.datasets": "{count, plural, =0{données} one{donnée} other{données}}",
20245
20270
  "catalog.figures.organizations": "{count, plural, =0{organisations} one{organisation} other{organisations}}",
@@ -20311,6 +20336,7 @@ var fr = {
20311
20336
  "dataset.error.http": "Le chargement des données a échoué en raison d'une erreur HTTP: \"{ info }\"",
20312
20337
  "dataset.error.network": "Le chargement des données a échoué en raison d'une erreur réseau ou de limitations CORS: \"{ info }\"",
20313
20338
  "dataset.error.parse": "Les données ont été chargées mais leur décodage a échoué: \"{ info }\"",
20339
+ "dataset.error.restrictedAccess": "L’accès à cette ressource est restreint",
20314
20340
  "dataset.error.unknown": "Les données ne peuvent être affichées: \"{ info }\"",
20315
20341
  "dataset.error.unsupportedType": "Le type de contenu suivant n'est pas pris en charge: \"{ info }\"",
20316
20342
  "domain.contact.role.author": "Auteur",
@@ -20593,8 +20619,12 @@ var fr = {
20593
20619
  "record.action.duplicating": "Duplication...",
20594
20620
  "record.action.rollback": "Restaurer",
20595
20621
  "record.action.view": "Voir",
20622
+ "record.card.metadata.contact": "Contact de la métadonnée ",
20596
20623
  "record.externalViewer.open": "Ouvrir dans le visualiseur externe",
20597
20624
  "record.feature.limit": "L’aperçu a été désactivé en raison d’un trop grand nombre d'éléments",
20625
+ "record.kind.dataset": "Donnée",
20626
+ "record.kind.reuse": "Réutilisation",
20627
+ "record.kind.service": "Service",
20598
20628
  "record.metadata.about": "Description",
20599
20629
  "record.metadata.api": "API",
20600
20630
  "record.metadata.api.form.closeButton": "Fermer",
@@ -20664,6 +20694,8 @@ var fr = {
20664
20694
  "record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
20665
20695
  "record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
20666
20696
  "record.metadata.related": "Voir aussi",
20697
+ "record.metadata.related.contents": "Contenus associés",
20698
+ "record.metadata.ressources.and.links": "Ressources et liens",
20667
20699
  "record.metadata.sheet": "Fiche de métadonnées d'origine",
20668
20700
  "record.metadata.status": "Statut",
20669
20701
  "record.metadata.status.notPublished": "Non publié",
@@ -20786,6 +20818,7 @@ var records$2 = "record";
20786
20818
  var it = {
20787
20819
  "": "",
20788
20820
  "Add Layer As": "",
20821
+ "Enter to search": "",
20789
20822
  "button.login": "Login",
20790
20823
  "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
20791
20824
  "catalog.figures.organizations": "{count, plural, =0{organizzazioni} one{organizzazione} other{organizzazioni}}",
@@ -20857,6 +20890,7 @@ var it = {
20857
20890
  "dataset.error.http": "Il caricamento dei dati non è riuscito a causa di un errore HTTP: \"{info}\"",
20858
20891
  "dataset.error.network": "Il caricamento dei dati non è riuscito a causa di un errore di rete o di limitazioni CORS: \"{info}\"",
20859
20892
  "dataset.error.parse": "I dati sono stati caricati ma la decodifica non è riuscita: \"{info}\"",
20893
+ "dataset.error.restrictedAccess": "",
20860
20894
  "dataset.error.unknown": "Impossibile visualizzare i dati: \"{info}\"",
20861
20895
  "dataset.error.unsupportedType": "Il seguente tipo di contenuto non è supportato: \"{info}\"",
20862
20896
  "domain.contact.role.author": "Autore",
@@ -21139,8 +21173,12 @@ var it = {
21139
21173
  "record.action.duplicating": "Duplicazione",
21140
21174
  "record.action.rollback": "Annulla",
21141
21175
  "record.action.view": "Visualizza",
21176
+ "record.card.metadata.contact": "",
21142
21177
  "record.externalViewer.open": "Aprire nel visualizzatore esterno",
21143
21178
  "record.feature.limit": "La visualizzazione è stata disabilitata a causa di troppi elementi ",
21179
+ "record.kind.dataset": "",
21180
+ "record.kind.reuse": "",
21181
+ "record.kind.service": "",
21144
21182
  "record.metadata.about": "Descrizione",
21145
21183
  "record.metadata.api": "API",
21146
21184
  "record.metadata.api.form.closeButton": "Chiude",
@@ -21210,6 +21248,8 @@ var it = {
21210
21248
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
21211
21249
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
21212
21250
  "record.metadata.related": "Vedi anche",
21251
+ "record.metadata.related.contents": "Contenuti correlati",
21252
+ "record.metadata.ressources.and.links": "Risorse e collegamenti",
21213
21253
  "record.metadata.sheet": "Origine del metadata",
21214
21254
  "record.metadata.status": "Stato",
21215
21255
  "record.metadata.status.notPublished": "Non pubblicato",
@@ -21317,7 +21357,6 @@ var it = {
21317
21357
  "tooltip.url.open": "Aprire l'URL",
21318
21358
  "ui.readLess": "Ridurre",
21319
21359
  "ui.readMore": "Leggere di più",
21320
- "wfs.aggregations.notsupported": "Aggregazioni non supportate per i servizi WFS",
21321
21360
  "wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
21322
21361
  "wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
21323
21362
  "wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
@@ -21333,6 +21372,7 @@ var records$1 = "";
21333
21372
  var nl = {
21334
21373
  "": "",
21335
21374
  "Add Layer As": "",
21375
+ "Enter to search": "",
21336
21376
  "button.login": "",
21337
21377
  "catalog.figures.datasets": "datasets",
21338
21378
  "catalog.figures.organizations": "organisaties",
@@ -21404,6 +21444,7 @@ var nl = {
21404
21444
  "dataset.error.http": "",
21405
21445
  "dataset.error.network": "",
21406
21446
  "dataset.error.parse": "",
21447
+ "dataset.error.restrictedAccess": "",
21407
21448
  "dataset.error.unknown": "",
21408
21449
  "dataset.error.unsupportedType": "",
21409
21450
  "domain.contact.role.author": "",
@@ -21686,8 +21727,12 @@ var nl = {
21686
21727
  "record.action.duplicating": "",
21687
21728
  "record.action.rollback": "",
21688
21729
  "record.action.view": "",
21730
+ "record.card.metadata.contact": "",
21689
21731
  "record.externalViewer.open": "",
21690
21732
  "record.feature.limit": "",
21733
+ "record.kind.dataset": "",
21734
+ "record.kind.reuse": "",
21735
+ "record.kind.service": "",
21691
21736
  "record.metadata.about": "",
21692
21737
  "record.metadata.api": "",
21693
21738
  "record.metadata.api.form.closeButton": "",
@@ -21757,6 +21802,8 @@ var nl = {
21757
21802
  "record.metadata.quality.updateFrequency.failed": "",
21758
21803
  "record.metadata.quality.updateFrequency.success": "",
21759
21804
  "record.metadata.related": "",
21805
+ "record.metadata.related.contents": "Gerelateerde inhoud",
21806
+ "record.metadata.ressources.and.links": "Bronnen en links",
21760
21807
  "record.metadata.sheet": "",
21761
21808
  "record.metadata.status": "",
21762
21809
  "record.metadata.status.notPublished": "",
@@ -21879,6 +21926,7 @@ var records = "";
21879
21926
  var pt = {
21880
21927
  "": "",
21881
21928
  "Add Layer As": "",
21929
+ "Enter to search": "",
21882
21930
  "button.login": "",
21883
21931
  "catalog.figures.datasets": "conjuntos de dados",
21884
21932
  "catalog.figures.organizations": "organizações",
@@ -21950,6 +21998,7 @@ var pt = {
21950
21998
  "dataset.error.http": "",
21951
21999
  "dataset.error.network": "",
21952
22000
  "dataset.error.parse": "",
22001
+ "dataset.error.restrictedAccess": "",
21953
22002
  "dataset.error.unknown": "",
21954
22003
  "dataset.error.unsupportedType": "",
21955
22004
  "domain.contact.role.author": "",
@@ -22232,8 +22281,12 @@ var pt = {
22232
22281
  "record.action.duplicating": "",
22233
22282
  "record.action.rollback": "",
22234
22283
  "record.action.view": "",
22284
+ "record.card.metadata.contact": "",
22235
22285
  "record.externalViewer.open": "",
22236
22286
  "record.feature.limit": "",
22287
+ "record.kind.dataset": "",
22288
+ "record.kind.reuse": "",
22289
+ "record.kind.service": "",
22237
22290
  "record.metadata.about": "",
22238
22291
  "record.metadata.api": "",
22239
22292
  "record.metadata.api.form.closeButton": "",
@@ -22303,6 +22356,8 @@ var pt = {
22303
22356
  "record.metadata.quality.updateFrequency.failed": "",
22304
22357
  "record.metadata.quality.updateFrequency.success": "",
22305
22358
  "record.metadata.related": "",
22359
+ "record.metadata.related.contents": "Conteúdos relacionados",
22360
+ "record.metadata.ressources.and.links": "Recursos e links",
22306
22361
  "record.metadata.sheet": "",
22307
22362
  "record.metadata.status": "",
22308
22363
  "record.metadata.status.notPublished": "",
@@ -22696,6 +22751,10 @@ class Gn4FieldMapper {
22696
22751
  const url = getAsUrl(selectFallback(selectTranslatedField(sourceLink, 'urlObject', this.lang3), selectField(sourceLink, 'url')));
22697
22752
  const name = selectFallback(selectTranslatedField(sourceLink, 'nameObject', this.lang3), selectField(sourceLink, 'name'));
22698
22753
  const description = selectFallback(selectTranslatedField(sourceLink, 'descriptionObject', this.lang3), selectField(sourceLink, 'description'));
22754
+ const descriptionLink = selectField(sourceLink, 'descriptionObject');
22755
+ const accessRestricted = descriptionLink &&
22756
+ 'link' in descriptionLink &&
22757
+ descriptionLink.link.toString().includes('#MD_RestrictionCode_restricted');
22699
22758
  // no url: fail early
22700
22759
  if (url === null) {
22701
22760
  // TODO: collect errors at the record level?
@@ -22718,6 +22777,7 @@ class Gn4FieldMapper {
22718
22777
  type,
22719
22778
  url: url,
22720
22779
  accessServiceProtocol,
22780
+ accessRestricted: accessRestricted,
22721
22781
  };
22722
22782
  case 'link':
22723
22783
  return {
@@ -25939,11 +25999,11 @@ class ProgressBarComponent {
25939
25999
  }
25940
26000
  }
25941
26001
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25942
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressBarComponent, isStandalone: true, selector: "gn-ui-progress-bar", inputs: { value: "value", type: "type" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <!-- Light Theme -->\n <ng-container *ngSwitchCase=\"'light'\">\n <div class=\"flex items-center relative\">\n <div\n class=\"flex-shrink-0 {{ color.text }} text-xs font-medium mr-2\n text-opacity-100 !text-slate-800\"\n >\n {{ progress }}%\n </div>\n <div class=\"flex-grow h-[6px] w-full {{ color.outerBar }} rounded-full\">\n <div\n [style.width.%]=\"progress\"\n class=\"{{ color.innerBar }} transition-width duration-500\n ease-in-out rounded-full shadow-sm h-full\"\n ></div>\n </div>\n </div>\n </ng-container>\n\n <!-- Default / Primary / Secondary Themes -->\n <ng-container *ngSwitchDefault>\n <div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{ color.innerBar }} my-1 mx-1 transition-width\n duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div\n class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\"\n >\n {{ progress }}%\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }] }); }
26002
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressBarComponent, isStandalone: true, selector: "gn-ui-progress-bar", inputs: { value: "value", type: "type" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <!-- Light Theme -->\n <ng-container *ngSwitchCase=\"'light'\">\n <div class=\"flex items-center relative\">\n <div\n class=\"flex-shrink-0 {{ color.text }} text-xs font-medium mr-2\n text-opacity-100 !text-slate-800\"\n >\n {{ progress }}%\n </div>\n <div class=\"flex-grow h-[4px] w-[52px] {{ color.outerBar }} rounded-full\">\n <div\n [style.width.%]=\"progress\"\n class=\"{{ color.innerBar }} transition-width duration-500\n ease-in-out rounded-full shadow-sm w-[52px] h-[4px]\"\n ></div>\n </div>\n </div>\n </ng-container>\n\n <!-- Default / Primary / Secondary Themes -->\n <ng-container *ngSwitchDefault>\n <div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{ color.innerBar }} my-1 mx-1 transition-width\n duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div\n class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\"\n >\n {{ progress }}%\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }] }); }
25943
26003
  }
25944
26004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, decorators: [{
25945
26005
  type: Component,
25946
- args: [{ selector: 'gn-ui-progress-bar', standalone: true, imports: [NgSwitch, NgSwitchCase, NgSwitchDefault], template: "<ng-container [ngSwitch]=\"type\">\n <!-- Light Theme -->\n <ng-container *ngSwitchCase=\"'light'\">\n <div class=\"flex items-center relative\">\n <div\n class=\"flex-shrink-0 {{ color.text }} text-xs font-medium mr-2\n text-opacity-100 !text-slate-800\"\n >\n {{ progress }}%\n </div>\n <div class=\"flex-grow h-[6px] w-full {{ color.outerBar }} rounded-full\">\n <div\n [style.width.%]=\"progress\"\n class=\"{{ color.innerBar }} transition-width duration-500\n ease-in-out rounded-full shadow-sm h-full\"\n ></div>\n </div>\n </div>\n </ng-container>\n\n <!-- Default / Primary / Secondary Themes -->\n <ng-container *ngSwitchDefault>\n <div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{ color.innerBar }} my-1 mx-1 transition-width\n duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div\n class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\"\n >\n {{ progress }}%\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"] }]
26006
+ args: [{ selector: 'gn-ui-progress-bar', standalone: true, imports: [NgSwitch, NgSwitchCase, NgSwitchDefault], template: "<ng-container [ngSwitch]=\"type\">\n <!-- Light Theme -->\n <ng-container *ngSwitchCase=\"'light'\">\n <div class=\"flex items-center relative\">\n <div\n class=\"flex-shrink-0 {{ color.text }} text-xs font-medium mr-2\n text-opacity-100 !text-slate-800\"\n >\n {{ progress }}%\n </div>\n <div class=\"flex-grow h-[4px] w-[52px] {{ color.outerBar }} rounded-full\">\n <div\n [style.width.%]=\"progress\"\n class=\"{{ color.innerBar }} transition-width duration-500\n ease-in-out rounded-full shadow-sm w-[52px] h-[4px]\"\n ></div>\n </div>\n </div>\n </ng-container>\n\n <!-- Default / Primary / Secondary Themes -->\n <ng-container *ngSwitchDefault>\n <div class=\"flex h-full {{ color.outerBar }} rounded-t-lg rounded-b-lg\">\n <div\n [style.width.%]=\"progress\"\n class=\"flex {{ color.innerBar }} my-1 mx-1 transition-width\n duration-500 ease-in-out rounded-t-md rounded-b-md shadow-xl\"\n >\n <div\n class=\"flex items-center pl-2 py-1 {{ color.text }} font-bold text-4\"\n >\n {{ progress }}%\n </div>\n </div>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".font-bold{font-weight:var(--progress-bar-font-weight, \"bold\")}\n"] }]
25947
26007
  }], propDecorators: { value: [{
25948
26008
  type: Input
25949
26009
  }], type: [{
@@ -28459,7 +28519,7 @@ class MetadataQualityComponent {
28459
28519
  size: '1.2em',
28460
28520
  strokeWidth: '1.5px',
28461
28521
  }),
28462
- ], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'\"\n >\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28522
+ ], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"\n smaller ? 'leading-[8px] min-w-[120px] m-h-[120px]' : 'min-w-[200px]'\n \"\n >\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28463
28523
  }
28464
28524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
28465
28525
  type: Component,
@@ -28478,7 +28538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
28478
28538
  size: '1.2em',
28479
28539
  strokeWidth: '1.5px',
28480
28540
  }),
28481
- ], template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'\"\n >\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
28541
+ ], template: "<div *ngIf=\"metadataQualityDisplay\" class=\"metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"\n smaller ? 'leading-[8px] min-w-[120px] m-h-[120px]' : 'min-w-[200px]'\n \"\n >\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
28482
28542
  }], propDecorators: { metadata: [{
28483
28543
  type: Input
28484
28544
  }], smaller: [{
@@ -28912,7 +28972,7 @@ class DownloadsListComponent {
28912
28972
  link.accessServiceProtocol === 'ogcFeatures'));
28913
28973
  }
28914
28974
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadsListComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
28915
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadsListComponent, isStandalone: true, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between mt-8 mb-6 sm:mt-12 sm:mb-2\"\n *ngIf=\"links && links.length > 0\"\n>\n <p\n class=\"font-title text-[28px] text-title font-medium mr-4 pb-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </p>\n <div\n class=\"flex flex-wrap justify-start sm:justify-end sm:pb-4\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-50')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n<div class=\"mb-2 sm:mb-3\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"L\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromApi", "size"], outputs: ["exportUrl"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28975
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadsListComponent, isStandalone: true, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div\n class=\"font-title text-xl text-title font-medium mr-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </div>\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n<div class=\"mb-2 sm:mb-3\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"L\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromApi", "size"], outputs: ["exportUrl"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28916
28976
  }
28917
28977
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadsListComponent, decorators: [{
28918
28978
  type: Component,
@@ -28921,7 +28981,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
28921
28981
  ButtonComponent,
28922
28982
  DownloadItemComponent,
28923
28983
  TranslateModule,
28924
- ], template: "<div\n class=\"flex flex-wrap justify-between mt-8 mb-6 sm:mt-12 sm:mb-2\"\n *ngIf=\"links && links.length > 0\"\n>\n <p\n class=\"font-title text-[28px] text-title font-medium mr-4 pb-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </p>\n <div\n class=\"flex flex-wrap justify-start sm:justify-end sm:pb-4\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-50')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n<div class=\"mb-2 sm:mb-3\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"L\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n" }]
28984
+ ], template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div\n class=\"font-title text-xl text-title font-medium mr-4 text-center sm:text-left\"\n translate\n >\n record.metadata.download\n </div>\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n<div class=\"mb-2 sm:mb-3\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"L\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n" }]
28925
28985
  }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { links: [{
28926
28986
  type: Input
28927
28987
  }] } });
@@ -29292,11 +29352,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29292
29352
 
29293
29353
  class MetadataCatalogComponent {
29294
29354
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataCatalogComponent, isStandalone: true, selector: "gn-ui-metadata-catalog", inputs: { sourceLabel: "sourceLabel" }, ngImport: i0, template: "<div>\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29355
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataCatalogComponent, isStandalone: true, selector: "gn-ui-metadata-catalog", inputs: { sourceLabel: "sourceLabel" }, ngImport: i0, template: "<div>\n <p class=\"text-gray-900 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29296
29356
  }
29297
29357
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataCatalogComponent, decorators: [{
29298
29358
  type: Component,
29299
- args: [{ selector: 'gn-ui-metadata-catalog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TranslateModule], template: "<div>\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n" }]
29359
+ args: [{ selector: 'gn-ui-metadata-catalog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TranslateModule], template: "<div>\n <p class=\"text-gray-900 text-xs mb-3 uppercase\" translate>\n record.metadata.catalog\n </p>\n <p class=\"text-primary font-title text-21 mb-1\">\n {{ sourceLabel }}\n </p>\n</div>\n" }]
29300
29360
  }], propDecorators: { sourceLabel: [{
29301
29361
  type: Input
29302
29362
  }] } });
@@ -29901,6 +29961,154 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29901
29961
  type: Input
29902
29962
  }] } });
29903
29963
 
29964
+ marker('record.kind.dataset');
29965
+ marker('record.kind.reuse');
29966
+ marker('record.kind.service');
29967
+ class InternalLinkCardComponent {
29968
+ set size(value) {
29969
+ this._size = value;
29970
+ this.cardClass = this.sizeClassMap[value] || '';
29971
+ this.thumbnailContainerClass = this.thumbnailSizeClassMap[value] || 'hidden';
29972
+ }
29973
+ get size() {
29974
+ return this._size;
29975
+ }
29976
+ constructor(elementRef) {
29977
+ this.elementRef = elementRef;
29978
+ this.linkHref = null;
29979
+ this.mdSelect = new EventEmitter();
29980
+ this.subscription = new Subscription();
29981
+ this.cardClass = '';
29982
+ this.thumbnailContainerClass = '';
29983
+ this._size = 'M';
29984
+ this.sizeClassMap = {
29985
+ L: 'min-h-[190px] md:w-[992px] py-3 px-3 flex items-start gap-5',
29986
+ M: 'min-h-[140px] md:w-[570px] py-3 px-3 flex items-start gap-4',
29987
+ S: 'min-h-[220px] md:w-[370px] py-3 px-3 flex gap-4',
29988
+ XS: 'min-h-[108px] md:w-[570px] py-3 px-3 flex gap-4',
29989
+ };
29990
+ this.thumbnailSizeClassMap = {
29991
+ L: 'w-[190px] h-[180px] rounded-lg overflow-hidden shrink-0',
29992
+ M: 'w-[110px] h-[140px] rounded-lg overflow-hidden shrink-0',
29993
+ S: 'hidden',
29994
+ XS: 'hidden',
29995
+ };
29996
+ this.titleClassMap = {
29997
+ L: 'text-xl line-clamp-2',
29998
+ M: 'text-base line-clamp-2',
29999
+ S: 'text-base line-clamp-3',
30000
+ XS: 'text-base mt-3 line-clamp-2',
30001
+ };
30002
+ }
30003
+ ngOnInit() {
30004
+ this.abstract = removeWhitespace(stripHtml(this.record?.abstract));
30005
+ this.subscription.add(fromEvent(this.elementRef.nativeElement, 'click').subscribe((event) => {
30006
+ event.preventDefault();
30007
+ propagateToDocumentOnly(event);
30008
+ this.mdSelect.emit(this.record);
30009
+ }));
30010
+ }
30011
+ get organization() {
30012
+ return this.record.ownerOrganization;
30013
+ }
30014
+ get contacts() {
30015
+ return ((this.record.kind === 'dataset'
30016
+ ? this.record.contactsForResource
30017
+ : this.record.contacts) || []);
30018
+ }
30019
+ getTitleClass() {
30020
+ return (this.titleClassMap[this._size] +
30021
+ ' ' +
30022
+ (this.record.ownerOrganization?.name ? '' : 'mt-3') || '');
30023
+ }
30024
+ openExternalUrl(event, url) {
30025
+ event.stopPropagation();
30026
+ window.open(url, '_blank');
30027
+ }
30028
+ openMailto(event, email) {
30029
+ event.stopPropagation();
30030
+ window.open(`mailto:${email}`, '_blank');
30031
+ }
30032
+ copyToClipboard(event, text) {
30033
+ event.stopPropagation();
30034
+ navigator.clipboard.writeText(text);
30035
+ }
30036
+ get shouldShowThumbnail() {
30037
+ return this.size === 'L' || this.size === 'M';
30038
+ }
30039
+ getKindInfo() {
30040
+ if (!this.record?.kind)
30041
+ return { text: '', icon: '' };
30042
+ switch (this.record.kind.toLowerCase()) {
30043
+ case 'dataset':
30044
+ return { text: 'record.kind.dataset', icon: 'iconoirDatabase' };
30045
+ case 'reuse':
30046
+ return { text: 'record.kind.reuse', icon: 'iconoirMap' };
30047
+ case 'service':
30048
+ return { text: 'record.kind.service', icon: 'matCode' };
30049
+ default:
30050
+ return { text: '', icon: '' };
30051
+ }
30052
+ }
30053
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
30054
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InternalLinkCardComponent, isStandalone: true, selector: "gn-ui-internal-link-card", inputs: { record: "record", metadataQualityDisplay: "metadataQualityDisplay", favoriteTemplate: "favoriteTemplate", linkHref: "linkHref", isGeodata: "isGeodata", size: "size" }, outputs: { mdSelect: "mdSelect" }, providers: [
30055
+ provideIcons({
30056
+ matLocationSearchingOutline,
30057
+ matCode,
30058
+ iconoirDatabase,
30059
+ iconoirMap,
30060
+ iconoirInternet,
30061
+ matEmailOutline,
30062
+ matPhoneOutline,
30063
+ matLocationOnOutline,
30064
+ }),
30065
+ provideNgIconsConfig({
30066
+ size: '1.2em',
30067
+ }),
30068
+ ], ngImport: i0, template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }] }); }
30069
+ }
30070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternalLinkCardComponent, decorators: [{
30071
+ type: Component,
30072
+ args: [{ selector: 'gn-ui-internal-link-card', standalone: true, imports: [
30073
+ NgClass,
30074
+ NgIf,
30075
+ ThumbnailComponent,
30076
+ MetadataQualityComponent,
30077
+ NgTemplateOutlet,
30078
+ NgIconComponent,
30079
+ TranslateModule,
30080
+ MarkdownParserComponent,
30081
+ ], providers: [
30082
+ provideIcons({
30083
+ matLocationSearchingOutline,
30084
+ matCode,
30085
+ iconoirDatabase,
30086
+ iconoirMap,
30087
+ iconoirInternet,
30088
+ matEmailOutline,
30089
+ matPhoneOutline,
30090
+ matLocationOnOutline,
30091
+ }),
30092
+ provideNgIconsConfig({
30093
+ size: '1.2em',
30094
+ }),
30095
+ ], template: "<div\n class=\"rounded-lg group card-shadow cursor-pointer overflow-hidden hover:bg-gray-50\"\n [ngClass]=\"cardClass\"\n>\n <div class=\"flex flex-row justify-between w-full\">\n <div\n *ngIf=\"shouldShowThumbnail\"\n [ngClass]=\"thumbnailContainerClass\"\n class=\"mr-4 flex flex-col\"\n >\n <gn-ui-thumbnail\n class=\"w-full h-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url?.toString() || ''\"\n [fit]=\"'cover'\"\n ></gn-ui-thumbnail>\n </div>\n <div\n class=\"flex flex-col flex-1 relative\"\n [ngClass]=\"{\n 'justify-between': record.ownerOrganization?.name && size !== 'XS',\n }\"\n >\n <div class=\"flex items-center space-x-2\">\n <span\n *ngIf=\"getKindInfo().text\"\n class=\"badge-btn text-white text-xs px-2 py-0.5 font-bold shrink-0 bg-primary leading-tight flex items-center justify-evenly h-6 min-h-6\"\n >\n <ng-icon\n class=\"text-[0.9em] text-white mr-1\"\n [name]=\"getKindInfo().icon\"\n ></ng-icon>\n <span class=\"font-medium text-white text-xs\" translate>\n {{ getKindInfo().text }}\n </span>\n </span>\n <span\n *ngIf=\"isGeodata\"\n class=\"badge-btn text-black text-xs px-2 py-0.5 font-bold shrink-0 bg-primary-white leading-tight flex items-center justify-evenly h-6 min-h-6\"\n [ngClass]=\"size === 'L' ? 'w-[164px]' : 'w-8'\"\n >\n <ng-icon\n class=\"text-[0.9em] text-primary-darkest\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <ng-container *ngIf=\"size === 'L'\">\n <span\n class=\"font-medium text-primary-darkest text-xs ml-1\"\n translate\n >\n record.metadata.type\n </span>\n </ng-container>\n </span>\n <div class=\"flex items-center\">\n <gn-ui-metadata-quality\n [smaller]=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div class=\"absolute top-0 right-0 items-center\">\n <ng-container\n *ngIf=\"size !== 'XS'\"\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"font-medium text-title group-hover:text-primary overflow-hidden break-words\"\n [ngClass]=\"getTitleClass()\"\n >\n {{ record.title }}\n </div>\n <div\n *ngIf=\"size === 'L'\"\n class=\"mt-1 mb-2 font-normal text-xs text-gray-900 line-clamp-2 overflow-hidden\"\n >\n <gn-ui-markdown-parser\n [textContent]=\"abstract\"\n [whitoutStyles]=\"true\"\n ></gn-ui-markdown-parser>\n </div>\n <div\n *ngIf=\"size !== 'XS' && record.ownerOrganization?.name\"\n class=\"flex items-center justify-evenly bg-gray-50 rounded-lg h-[53px] px-2\"\n >\n <div class=\"flex items-center flex-1 min-w-0\">\n <div\n class=\"w-[45px] h-[45px] rounded-lg overflow-hidden shrink-0 mr-3\"\n >\n <gn-ui-thumbnail\n [thumbnailUrl]=\"\n record.ownerOrganization?.logoUrl?.toString() || ''\n \"\n [fit]=\"'contain'\"\n class=\"w-full h-full rounded-lg\"\n ></gn-ui-thumbnail>\n </div>\n <div *ngIf=\"organization?.name\" class=\"flex-1 w-0 overflow-hidden\">\n <div\n class=\"text-xs text-black font-normal leading-tight truncate\"\n translate\n >\n record.card.metadata.contact\n </div>\n <div class=\"text-xl text-primary-black font-medium truncate\">\n {{ organization.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"size === 'L'\" class=\"ml-2 flex space-x-2\">\n <div *ngIf=\"organization?.website\" class=\"flex\">\n <button\n [title]=\"organization.website\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n (click)=\"openExternalUrl($event, organization.website)\"\n >\n <ng-icon name=\"iconoirInternet\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.email\" class=\"flex\">\n <button\n [title]=\"contacts[0].email\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest\"\n data-cy=\"contact-email\"\n (click)=\"openMailto($event, contacts[0].email)\"\n >\n <ng-icon name=\"matEmailOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.phone\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].phone)\"\n >\n <ng-icon name=\"matPhoneOutline\"></ng-icon>\n </button>\n </div>\n <div *ngIf=\"contacts[0]?.address\" class=\"flex\">\n <button\n [title]=\"'Copy to clipboard'\"\n class=\"w-[40px] h-[32px] flex items-center justify-center rounded-lg border border-[#D4D3D7] px-[8px] py-[4px] hover:bg-primary-lightest relative group\"\n data-cy=\"contact-phone\"\n (click)=\"copyToClipboard($event, contacts[0].address)\"\n >\n <ng-icon name=\"matLocationOnOutline\"></ng-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
30096
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { record: [{
30097
+ type: Input
30098
+ }], metadataQualityDisplay: [{
30099
+ type: Input
30100
+ }], favoriteTemplate: [{
30101
+ type: Input
30102
+ }], linkHref: [{
30103
+ type: Input
30104
+ }], isGeodata: [{
30105
+ type: Input
30106
+ }], size: [{
30107
+ type: Input
30108
+ }], mdSelect: [{
30109
+ type: Output
30110
+ }] } });
30111
+
29904
30112
  class UiElementsModule {
29905
30113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29906
30114
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
@@ -29919,12 +30127,14 @@ class UiElementsModule {
29919
30127
  MaxLinesComponent,
29920
30128
  TextInputComponent,
29921
30129
  ImageInputComponent,
29922
- ApplicationBannerComponent], exports: [ThumbnailComponent,
30130
+ ApplicationBannerComponent,
30131
+ InternalLinkCardComponent], exports: [ThumbnailComponent,
29923
30132
  AvatarComponent,
29924
30133
  UserPreviewComponent,
29925
30134
  MarkdownParserComponent,
29926
30135
  ImageInputComponent,
29927
- ApplicationBannerComponent] }); }
30136
+ ApplicationBannerComponent,
30137
+ InternalLinkCardComponent] }); }
29928
30138
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
29929
30139
  provideNgIconsConfig({
29930
30140
  size: '1.5em',
@@ -29944,7 +30154,8 @@ class UiElementsModule {
29944
30154
  MaxLinesComponent,
29945
30155
  TextInputComponent,
29946
30156
  ImageInputComponent,
29947
- ApplicationBannerComponent] }); }
30157
+ ApplicationBannerComponent,
30158
+ InternalLinkCardComponent] }); }
29948
30159
  }
29949
30160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
29950
30161
  type: NgModule,
@@ -29969,6 +30180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29969
30180
  TextInputComponent,
29970
30181
  ImageInputComponent,
29971
30182
  ApplicationBannerComponent,
30183
+ InternalLinkCardComponent,
29972
30184
  ],
29973
30185
  providers: [
29974
30186
  provideNgIconsConfig({
@@ -29983,6 +30195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
29983
30195
  MarkdownParserComponent,
29984
30196
  ImageInputComponent,
29985
30197
  ApplicationBannerComponent,
30198
+ InternalLinkCardComponent,
29986
30199
  ],
29987
30200
  }]
29988
30201
  }] });
@@ -31632,11 +31845,11 @@ class FavoriteStarComponent {
31632
31845
  });
31633
31846
  }
31634
31847
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FavoriteStarComponent, deps: [{ token: FavoritesService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: AuthService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
31635
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FavoriteStarComponent, isStandalone: true, selector: "gn-ui-favorite-star", inputs: { displayCount: "displayCount", record: "record" }, viewQueries: [{ propertyName: "starToggleRef", first: true, predicate: StarToggleComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-row items-center\">\n <span\n class=\"align-text-top mr-1.5\"\n data-test=\"favorite-count\"\n *ngIf=\"hasFavoriteCount && displayCount\"\n >{{ favoriteCount }}</span\n >\n <gn-ui-star-toggle\n [toggled]=\"isFavorite$ | async\"\n (newValue)=\"toggleFavorite($event)\"\n [disabled]=\"loading || (isAnonymous$ | async)\"\n ></gn-ui-star-toggle>\n <span\n class=\"align-text-top ml-1.5\"\n data-test=\"favorite-count\"\n *ngIf=\"!displayCount\"\n translate=\"datahub.record.addToFavorites\"\n ></span>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: ["toggled", "disabled"], outputs: ["newValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31848
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FavoriteStarComponent, isStandalone: true, selector: "gn-ui-favorite-star", inputs: { displayCount: "displayCount", record: "record" }, viewQueries: [{ propertyName: "starToggleRef", first: true, predicate: StarToggleComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-row items-center\">\n <span\n class=\"align-text-top mr-1.5 mt-0.5\"\n data-test=\"favorite-count\"\n *ngIf=\"hasFavoriteCount && displayCount\"\n >{{ favoriteCount }}</span\n >\n <gn-ui-star-toggle\n [toggled]=\"isFavorite$ | async\"\n (newValue)=\"toggleFavorite($event)\"\n [disabled]=\"loading || (isAnonymous$ | async)\"\n ></gn-ui-star-toggle>\n <span\n class=\"align-text-top ml-1.5\"\n data-test=\"favorite-count\"\n *ngIf=\"!displayCount\"\n translate=\"datahub.record.addToFavorites\"\n ></span>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: ["toggled", "disabled"], outputs: ["newValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31636
31849
  }
31637
31850
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FavoriteStarComponent, decorators: [{
31638
31851
  type: Component,
31639
- args: [{ selector: 'gn-ui-favorite-star', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, StarToggleComponent], template: "<div class=\"flex flex-row items-center\">\n <span\n class=\"align-text-top mr-1.5\"\n data-test=\"favorite-count\"\n *ngIf=\"hasFavoriteCount && displayCount\"\n >{{ favoriteCount }}</span\n >\n <gn-ui-star-toggle\n [toggled]=\"isFavorite$ | async\"\n (newValue)=\"toggleFavorite($event)\"\n [disabled]=\"loading || (isAnonymous$ | async)\"\n ></gn-ui-star-toggle>\n <span\n class=\"align-text-top ml-1.5\"\n data-test=\"favorite-count\"\n *ngIf=\"!displayCount\"\n translate=\"datahub.record.addToFavorites\"\n ></span>\n</div>\n" }]
31852
+ args: [{ selector: 'gn-ui-favorite-star', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, StarToggleComponent], template: "<div class=\"flex flex-row items-center\">\n <span\n class=\"align-text-top mr-1.5 mt-0.5\"\n data-test=\"favorite-count\"\n *ngIf=\"hasFavoriteCount && displayCount\"\n >{{ favoriteCount }}</span\n >\n <gn-ui-star-toggle\n [toggled]=\"isFavorite$ | async\"\n (newValue)=\"toggleFavorite($event)\"\n [disabled]=\"loading || (isAnonymous$ | async)\"\n ></gn-ui-star-toggle>\n <span\n class=\"align-text-top ml-1.5\"\n data-test=\"favorite-count\"\n *ngIf=\"!displayCount\"\n translate=\"datahub.record.addToFavorites\"\n ></span>\n</div>\n" }]
31640
31853
  }], ctorParameters: () => [{ type: FavoritesService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: AuthService }, { type: i1$1.TranslateService }], propDecorators: { displayCount: [{
31641
31854
  type: Input
31642
31855
  }], record: [{
@@ -36567,6 +36780,10 @@ class ChartViewComponent {
36567
36780
  this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
36568
36781
  this.error = null;
36569
36782
  this.loading = true;
36783
+ if (link.accessRestricted) {
36784
+ this.handleError('dataset.error.restrictedAccess');
36785
+ return EMPTY;
36786
+ }
36570
36787
  return this.dataService.getDataset(link, this.cacheActive).pipe(catchError((error) => {
36571
36788
  this.handleError(error);
36572
36789
  return EMPTY;
@@ -36831,6 +37048,10 @@ class TableViewComponent {
36831
37048
  this.error = null;
36832
37049
  if (!link)
36833
37050
  return of(undefined);
37051
+ if (link.accessRestricted) {
37052
+ this.handleError('dataset.error.restrictedAccess');
37053
+ return of([]);
37054
+ }
36834
37055
  this.loading = true;
36835
37056
  return this.getDatasetReader(link).pipe(catchError((error) => {
36836
37057
  this.handleError(error);
@@ -37825,6 +38046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
37825
38046
 
37826
38047
  marker('map.dropdown.placeholder');
37827
38048
  marker('wfs.feature.limit');
38049
+ marker('dataset.error.restrictedAccess');
37828
38050
  class MapViewComponent {
37829
38051
  set exceedsLimit(value) {
37830
38052
  this.excludeWfs$.next(value);
@@ -37876,6 +38098,10 @@ class MapViewComponent {
37876
38098
  this.hidePreview = false;
37877
38099
  this.loading = true;
37878
38100
  this.error = null;
38101
+ if (link.accessRestricted) {
38102
+ this.handleError('dataset.error.restrictedAccess');
38103
+ return of([]);
38104
+ }
37879
38105
  return this.getLayerFromLink(link).pipe(map$1((layer) => [layer]), catchError((e) => {
37880
38106
  this.handleError(e);
37881
38107
  return of([]);
@@ -41695,5 +41921,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
41695
41921
  * Generated bundle index. Do not edit.
41696
41922
  */
41697
41923
 
41698
- export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
41924
+ export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
41699
41925
  //# sourceMappingURL=geonetwork-ui.mjs.map