geonetwork-ui 2.8.0-dev.83aaa1736 → 2.8.0-dev.8cb6904b7

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 (106) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +2 -1
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
  5. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
  6. package/esm2022/libs/common/domain/src/index.mjs +3 -0
  7. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  8. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +2 -1
  9. package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
  10. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  11. package/esm2022/libs/feature/dataviz/src/index.mjs +2 -1
  12. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -1
  13. package/esm2022/libs/feature/dataviz/src/lib/stac-view/stac-view.component.mjs +22 -0
  14. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -4
  15. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +23 -8
  16. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +2 -1
  17. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
  18. package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
  19. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
  20. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
  21. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
  22. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +3 -1
  23. package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
  24. package/esm2022/translations/de.json +7 -3
  25. package/esm2022/translations/en.json +7 -4
  26. package/esm2022/translations/es.json +6 -2
  27. package/esm2022/translations/fr.json +7 -3
  28. package/esm2022/translations/it.json +8 -4
  29. package/esm2022/translations/nl.json +6 -2
  30. package/esm2022/translations/pt.json +6 -2
  31. package/esm2022/translations/sk.json +7 -3
  32. package/fesm2022/geonetwork-ui.mjs +150 -62
  33. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  34. package/index.d.ts +1 -0
  35. package/index.d.ts.map +1 -1
  36. package/index.ts +1 -0
  37. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  38. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  39. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
  40. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  41. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  42. package/libs/common/domain/src/index.d.ts +3 -0
  43. package/libs/common/domain/src/index.d.ts.map +1 -0
  44. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
  45. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  46. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -1
  47. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  48. package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
  49. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
  50. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  51. package/libs/feature/dataviz/src/index.d.ts +1 -0
  52. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  53. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  54. package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts +11 -0
  55. package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
  56. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +3 -2
  57. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  58. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +3 -2
  59. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  60. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +24 -24
  61. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  62. package/libs/feature/router/src/lib/default/router.service.d.ts +2 -0
  63. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  64. package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
  65. package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
  66. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
  67. package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
  68. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  69. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  70. package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
  71. package/package.json +1 -1
  72. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  73. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +1 -0
  74. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
  75. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
  76. package/src/libs/common/domain/src/index.ts +2 -0
  77. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
  78. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -0
  79. package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
  80. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -1
  81. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
  82. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +10 -0
  83. package/src/libs/feature/dataviz/src/index.ts +1 -0
  84. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +1 -0
  85. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.css +0 -0
  86. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.html +5 -0
  87. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.ts +27 -0
  88. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +7 -1
  89. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +23 -4
  90. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +11 -1
  91. package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
  92. package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
  93. package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
  94. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +56 -14
  95. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
  96. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
  97. package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
  98. package/translations/de.json +7 -3
  99. package/translations/en.json +7 -4
  100. package/translations/es.json +6 -2
  101. package/translations/fr.json +7 -3
  102. package/translations/it.json +8 -4
  103. package/translations/nl.json +6 -2
  104. package/translations/pt.json +6 -2
  105. package/translations/sk.json +7 -3
  106. package/src/libs/common/domain/src/lib/index.ts +0 -2
@@ -15,7 +15,7 @@ import { TranslateCompiler, TranslateLoader, TranslateDefaultParser, TranslatePa
15
15
  import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
16
16
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
17
17
  import { map as map$1, shareReplay as shareReplay$1, catchError, tap as tap$1, filter as filter$1, startWith as startWith$1, withLatestFrom, switchMap as switchMap$1, take, mergeMap, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, first as first$1, pairwise as pairwise$1, share, defaultIfEmpty, toArray } from 'rxjs/operators';
18
- import { of, map as map$2, lastValueFrom, fromEvent, startWith, shareReplay, filter, pairwise, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, animationFrameScheduler, debounceTime as debounceTime$1, Observable, buffer, tap as tap$2, combineLatestWith, take as take$1, catchError as catchError$1, takeUntil, EMPTY, mergeMap as mergeMap$1, withLatestFrom as withLatestFrom$1 } from 'rxjs';
18
+ import { of, map as map$2, lastValueFrom, fromEvent, startWith, shareReplay, filter, pairwise, switchMap, Subject, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, animationFrameScheduler, debounceTime as debounceTime$1, Observable, buffer, tap as tap$2, combineLatestWith, take as take$1, catchError as catchError$1, takeUntil, EMPTY, mergeMap as mergeMap$1, withLatestFrom as withLatestFrom$1 } from 'rxjs';
19
19
  import { lt, valid, coerce, satisfies, ltr } from 'semver';
20
20
  import chroma from 'chroma-js';
21
21
  import * as i1$2 from '@angular/common';
@@ -668,6 +668,8 @@ function matchProtocol(protocol) {
668
668
  return 'GPFDL';
669
669
  if (/DB:POSTGIS/i.test(protocol))
670
670
  return 'postgis';
671
+ if (/stac\W*items/i.test(protocol))
672
+ return 'stac';
671
673
  return 'other';
672
674
  }
673
675
  function matchMimeType(format) {
@@ -917,6 +919,7 @@ marker('record.metadata.api.accessServiceProtocol.GPFDL');
917
919
  marker('record.metadata.api.accessServiceProtocol.tms');
918
920
  marker('record.metadata.api.accessServiceProtocol.maplibre-style');
919
921
  marker('record.metadata.api.accessServiceProtocol.postgis');
922
+ marker('record.metadata.api.accessServiceProtocol.stac');
920
923
  marker('record.metadata.api.accessServiceProtocol.other');
921
924
 
922
925
  function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
@@ -19163,6 +19166,7 @@ var de = {
19163
19166
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
19164
19167
  "record.metadata.api.accessServiceProtocol.other": "",
19165
19168
  "record.metadata.api.accessServiceProtocol.postgis": "",
19169
+ "record.metadata.api.accessServiceProtocol.stac": "",
19166
19170
  "record.metadata.api.accessServiceProtocol.tms": "",
19167
19171
  "record.metadata.api.accessServiceProtocol.wfs": "",
19168
19172
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -19210,7 +19214,6 @@ var de = {
19210
19214
  "record.metadata.isGeographical": "Geographischer Datensatz",
19211
19215
  "record.metadata.keywords": "Stichworte",
19212
19216
  "record.metadata.languages": "Sprachen",
19213
- "record.metadata.lastUpdate": "Zuletzt aktualisiert am {date}",
19214
19217
  "record.metadata.link.postgis.table": "",
19215
19218
  "record.metadata.link.postgis.tooltip": "",
19216
19219
  "record.metadata.linked.datasets": "Verknüpfte Datensätze",
@@ -19253,6 +19256,9 @@ var de = {
19253
19256
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
19254
19257
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
19255
19258
  "record.metadata.related": "Entdecken Sie den Katalog",
19259
+ "record.metadata.resourceCreated": "Erstellt am {date}",
19260
+ "record.metadata.resourcePublished": "Veröffentlicht am {date}",
19261
+ "record.metadata.resourceUpdated": "Zuletzt aktualisiert am {date}",
19256
19262
  "record.metadata.ressources.and.links": "Ressourcen und Links",
19257
19263
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
19258
19264
  "record.metadata.status": "Status",
@@ -19265,8 +19271,9 @@ var de = {
19265
19271
  "record.metadata.title": "Titel",
19266
19272
  "record.metadata.topics": "Kategorien",
19267
19273
  "record.metadata.uniqueId": "Eindeutige Kennung",
19274
+ "record.metadata.update": "Aktualisierungsdatum",
19268
19275
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
19269
- "record.metadata.updatedOn": "Geändert am",
19276
+ "record.metadata.updatedOn": "Informationen geändert am",
19270
19277
  "record.metadata.usage": "Nutzung und Einschränkungen",
19271
19278
  "record.metadata.userFeedbacks": "",
19272
19279
  "record.metadata.userFeedbacks.anonymousUser": "",
@@ -19281,6 +19288,7 @@ var de = {
19281
19288
  "record.tab.chart": "Diagramm",
19282
19289
  "record.tab.data": "Tabelle",
19283
19290
  "record.tab.map": "Karte",
19291
+ "record.tab.stac": "",
19284
19292
  "record.was.created.time": "erstellte diesen Ressource {time}",
19285
19293
  records: records$7,
19286
19294
  "results.layout.selectOne": "Layout auswählen",
@@ -19289,7 +19297,6 @@ var de = {
19289
19297
  "results.records.hits.found": "{hits, plural, =0{Keine Ressource entsprechen der angegebenen Suche.} one{1 Ressource gefunden.} other{{hits} Ressourcen gefunden.}}",
19290
19298
  "results.records.hits.selected": "{ amount } ausgewählt",
19291
19299
  "results.showMore": "Mehr Ergebnisse anzeigen...",
19292
- "results.sortBy.changeDate": "",
19293
19300
  "results.sortBy.dateStamp": "Neueste",
19294
19301
  "results.sortBy.popularity": "Beliebtheit",
19295
19302
  "results.sortBy.qualityScore": "Fertigstellungsanzeige",
@@ -19640,7 +19647,6 @@ var en = {
19640
19647
  "editor.record.form.topics.inspire.intelligence": "Intelligence / Military",
19641
19648
  "editor.record.form.topics.inspire.location": "Location",
19642
19649
  "editor.record.form.topics.inspire.oceans": "Oceans",
19643
- "editor.record.form.topics.inspire.placeholder": "Select an INSPIRE theme",
19644
19650
  "editor.record.form.topics.inspire.planning": "Planning / Cadastre",
19645
19651
  "editor.record.form.topics.inspire.society": "Society",
19646
19652
  "editor.record.form.topics.inspire.structure": "Structure",
@@ -19819,6 +19825,7 @@ var en = {
19819
19825
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
19820
19826
  "record.metadata.api.accessServiceProtocol.other": "other",
19821
19827
  "record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
19828
+ "record.metadata.api.accessServiceProtocol.stac": "STAC",
19822
19829
  "record.metadata.api.accessServiceProtocol.tms": "tms",
19823
19830
  "record.metadata.api.accessServiceProtocol.wfs": "wfs",
19824
19831
  "record.metadata.api.accessServiceProtocol.wms": "wms",
@@ -19866,7 +19873,6 @@ var en = {
19866
19873
  "record.metadata.isGeographical": "Geographical dataset",
19867
19874
  "record.metadata.keywords": "Keywords",
19868
19875
  "record.metadata.languages": "Languages",
19869
- "record.metadata.lastUpdate": "Last updated on {date}",
19870
19876
  "record.metadata.link.postgis.table": "table :",
19871
19877
  "record.metadata.link.postgis.tooltip": "PostGIS resources do not have access links",
19872
19878
  "record.metadata.linked.datasets": "Associated datasets",
@@ -19909,6 +19915,9 @@ var en = {
19909
19915
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
19910
19916
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
19911
19917
  "record.metadata.related": "Explore the catalog",
19918
+ "record.metadata.resourceCreated": "Created on {date}",
19919
+ "record.metadata.resourcePublished": "Published on {date}",
19920
+ "record.metadata.resourceUpdated": "Last updated on {date}",
19912
19921
  "record.metadata.ressources.and.links": "Resources and links",
19913
19922
  "record.metadata.sheet": "Original metadata",
19914
19923
  "record.metadata.status": "Status",
@@ -19921,8 +19930,9 @@ var en = {
19921
19930
  "record.metadata.title": "Title",
19922
19931
  "record.metadata.topics": "Categories",
19923
19932
  "record.metadata.uniqueId": "Unique Identifier",
19933
+ "record.metadata.update": "Date of update",
19924
19934
  "record.metadata.updateFrequency": "Data Update Frequency",
19925
- "record.metadata.updatedOn": "Updated on",
19935
+ "record.metadata.updatedOn": "Metadata modified on",
19926
19936
  "record.metadata.usage": "License and Conditions",
19927
19937
  "record.metadata.userFeedbacks": "Questions / Answers",
19928
19938
  "record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
@@ -19937,6 +19947,7 @@ var en = {
19937
19947
  "record.tab.chart": "Chart",
19938
19948
  "record.tab.data": "Table",
19939
19949
  "record.tab.map": "Map",
19950
+ "record.tab.stac": "STAC",
19940
19951
  "record.was.created.time": "created this record {time}",
19941
19952
  records: records$6,
19942
19953
  "results.layout.selectOne": "Results layout",
@@ -19945,7 +19956,6 @@ var en = {
19945
19956
  "results.records.hits.found": "{hits, plural, =0{No record match the specified search.} one{1 record found.} other{{hits} records found.}}",
19946
19957
  "results.records.hits.selected": "{ amount } selected",
19947
19958
  "results.showMore": "Show more results...",
19948
- "results.sortBy.changeDate": "Last modification",
19949
19959
  "results.sortBy.dateStamp": "Newest",
19950
19960
  "results.sortBy.popularity": "Popularity",
19951
19961
  "results.sortBy.qualityScore": "Completion score",
@@ -20474,6 +20484,7 @@ var es = {
20474
20484
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
20475
20485
  "record.metadata.api.accessServiceProtocol.other": "",
20476
20486
  "record.metadata.api.accessServiceProtocol.postgis": "",
20487
+ "record.metadata.api.accessServiceProtocol.stac": "",
20477
20488
  "record.metadata.api.accessServiceProtocol.tms": "",
20478
20489
  "record.metadata.api.accessServiceProtocol.wfs": "",
20479
20490
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -20521,7 +20532,6 @@ var es = {
20521
20532
  "record.metadata.isGeographical": "",
20522
20533
  "record.metadata.keywords": "",
20523
20534
  "record.metadata.languages": "",
20524
- "record.metadata.lastUpdate": "",
20525
20535
  "record.metadata.link.postgis.table": "",
20526
20536
  "record.metadata.link.postgis.tooltip": "",
20527
20537
  "record.metadata.linked.datasets": "",
@@ -20564,6 +20574,9 @@ var es = {
20564
20574
  "record.metadata.quality.updateFrequency.failed": "",
20565
20575
  "record.metadata.quality.updateFrequency.success": "",
20566
20576
  "record.metadata.related": "",
20577
+ "record.metadata.resourceCreated": "",
20578
+ "record.metadata.resourcePublished": "",
20579
+ "record.metadata.resourceUpdated": "",
20567
20580
  "record.metadata.ressources.and.links": "Recursos y enlaces",
20568
20581
  "record.metadata.sheet": "",
20569
20582
  "record.metadata.status": "",
@@ -20576,6 +20589,7 @@ var es = {
20576
20589
  "record.metadata.title": "",
20577
20590
  "record.metadata.topics": "",
20578
20591
  "record.metadata.uniqueId": "",
20592
+ "record.metadata.update": "",
20579
20593
  "record.metadata.updateFrequency": "",
20580
20594
  "record.metadata.updatedOn": "",
20581
20595
  "record.metadata.usage": "",
@@ -20592,6 +20606,7 @@ var es = {
20592
20606
  "record.tab.chart": "",
20593
20607
  "record.tab.data": "",
20594
20608
  "record.tab.map": "",
20609
+ "record.tab.stac": "",
20595
20610
  "record.was.created.time": "",
20596
20611
  records: records$5,
20597
20612
  "results.layout.selectOne": "",
@@ -20600,7 +20615,6 @@ var es = {
20600
20615
  "results.records.hits.found": "",
20601
20616
  "results.records.hits.selected": "",
20602
20617
  "results.showMore": "",
20603
- "results.sortBy.changeDate": "",
20604
20618
  "results.sortBy.dateStamp": "",
20605
20619
  "results.sortBy.popularity": "",
20606
20620
  "results.sortBy.qualityScore": "",
@@ -21129,6 +21143,7 @@ var fr = {
21129
21143
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
21130
21144
  "record.metadata.api.accessServiceProtocol.other": "autre",
21131
21145
  "record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
21146
+ "record.metadata.api.accessServiceProtocol.stac": "STAC",
21132
21147
  "record.metadata.api.accessServiceProtocol.tms": "",
21133
21148
  "record.metadata.api.accessServiceProtocol.wfs": "",
21134
21149
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -21176,7 +21191,6 @@ var fr = {
21176
21191
  "record.metadata.isGeographical": "Donnée géographique",
21177
21192
  "record.metadata.keywords": "Mots-clés",
21178
21193
  "record.metadata.languages": "Langues",
21179
- "record.metadata.lastUpdate": "Mis à jour le {date}",
21180
21194
  "record.metadata.link.postgis.table": "table :",
21181
21195
  "record.metadata.link.postgis.tooltip": "Les ressources de type PostGIS n'ont pas de lien d'accès",
21182
21196
  "record.metadata.linked.datasets": "Jeux de données associés",
@@ -21219,6 +21233,9 @@ var fr = {
21219
21233
  "record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
21220
21234
  "record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
21221
21235
  "record.metadata.related": "Explorez le catalogue",
21236
+ "record.metadata.resourceCreated": "Créé le {date}",
21237
+ "record.metadata.resourcePublished": "Publié le {date}",
21238
+ "record.metadata.resourceUpdated": "Mis à jour le {date}",
21222
21239
  "record.metadata.ressources.and.links": "Ressources et liens",
21223
21240
  "record.metadata.sheet": "Fiche de métadonnées d'origine",
21224
21241
  "record.metadata.status": "Statut",
@@ -21231,8 +21248,9 @@ var fr = {
21231
21248
  "record.metadata.title": "Intitulé",
21232
21249
  "record.metadata.topics": "Catégories",
21233
21250
  "record.metadata.uniqueId": "Identificateur de ressource unique",
21251
+ "record.metadata.update": "Date de mise à jour",
21234
21252
  "record.metadata.updateFrequency": "Fréquence de mise à jour des données",
21235
- "record.metadata.updatedOn": "Modifié le",
21253
+ "record.metadata.updatedOn": "Fiche de métadonnées modifiée le",
21236
21254
  "record.metadata.usage": "Licences et conditions d'utilisation",
21237
21255
  "record.metadata.userFeedbacks": "Questions / Réponses",
21238
21256
  "record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
@@ -21247,6 +21265,7 @@ var fr = {
21247
21265
  "record.tab.chart": "Graphique",
21248
21266
  "record.tab.data": "Tableau",
21249
21267
  "record.tab.map": "Carte",
21268
+ "record.tab.stac": "STAC",
21250
21269
  "record.was.created.time": "a créé cette ressource {time}",
21251
21270
  records: records$4,
21252
21271
  "results.layout.selectOne": "Affichage des résultats",
@@ -21255,7 +21274,6 @@ var fr = {
21255
21274
  "results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 ressource trouvée.} other{{hits} ressources.}}",
21256
21275
  "results.records.hits.selected": "{amount, plural, one{1 selectionné} other{{ amount } sélectionnés}}",
21257
21276
  "results.showMore": "Plus de résultats...",
21258
- "results.sortBy.changeDate": "Dernière modification",
21259
21277
  "results.sortBy.dateStamp": "Plus récent",
21260
21278
  "results.sortBy.popularity": "Popularité",
21261
21279
  "results.sortBy.qualityScore": "Indicateur de complétion",
@@ -21784,6 +21802,7 @@ var it = {
21784
21802
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
21785
21803
  "record.metadata.api.accessServiceProtocol.other": "",
21786
21804
  "record.metadata.api.accessServiceProtocol.postgis": "",
21805
+ "record.metadata.api.accessServiceProtocol.stac": "",
21787
21806
  "record.metadata.api.accessServiceProtocol.tms": "",
21788
21807
  "record.metadata.api.accessServiceProtocol.wfs": "",
21789
21808
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -21831,7 +21850,6 @@ var it = {
21831
21850
  "record.metadata.isGeographical": "Dati geografici",
21832
21851
  "record.metadata.keywords": "Parole chiave",
21833
21852
  "record.metadata.languages": "Lingue",
21834
- "record.metadata.lastUpdate": "Ultimo aggiornamento il {date}",
21835
21853
  "record.metadata.link.postgis.table": "",
21836
21854
  "record.metadata.link.postgis.tooltip": "",
21837
21855
  "record.metadata.linked.datasets": "",
@@ -21874,8 +21892,11 @@ var it = {
21874
21892
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
21875
21893
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
21876
21894
  "record.metadata.related": "Vedi anche",
21895
+ "record.metadata.resourceCreated": "Creato il {date}",
21896
+ "record.metadata.resourcePublished": "Pubblicato il {date}",
21897
+ "record.metadata.resourceUpdated": "Ultimo aggiornamento il {date}",
21877
21898
  "record.metadata.ressources.and.links": "Risorse e collegamenti",
21878
- "record.metadata.sheet": "Origine del metadata",
21899
+ "record.metadata.sheet": "Origine dei metadati",
21879
21900
  "record.metadata.status": "Stato",
21880
21901
  "record.metadata.status.notPublished": "Non pubblicato",
21881
21902
  "record.metadata.status.published": "Pubblicato",
@@ -21886,8 +21907,9 @@ var it = {
21886
21907
  "record.metadata.title": "Titolo",
21887
21908
  "record.metadata.topics": "Categorie",
21888
21909
  "record.metadata.uniqueId": "Identificatore unico di risorsa",
21910
+ "record.metadata.update": "Data di aggiornamento",
21889
21911
  "record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
21890
- "record.metadata.updatedOn": "Modificato il",
21912
+ "record.metadata.updatedOn": "Metadati modificati il",
21891
21913
  "record.metadata.usage": "Licenze e limiti di utilizzo",
21892
21914
  "record.metadata.userFeedbacks": "Domande / Risposte",
21893
21915
  "record.metadata.userFeedbacks.anonymousUser": "Per pubblicare un commento, effettua il login.",
@@ -21902,6 +21924,7 @@ var it = {
21902
21924
  "record.tab.chart": "Grafico",
21903
21925
  "record.tab.data": "Tabella",
21904
21926
  "record.tab.map": "Mappa",
21927
+ "record.tab.stac": "",
21905
21928
  "record.was.created.time": "ha creato questi dati {time}",
21906
21929
  records: records$3,
21907
21930
  "results.layout.selectOne": "Mostra risultati",
@@ -21910,7 +21933,6 @@ var it = {
21910
21933
  "results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
21911
21934
  "results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
21912
21935
  "results.showMore": "Altri risultati...",
21913
- "results.sortBy.changeDate": "Ultima modifica",
21914
21936
  "results.sortBy.dateStamp": "Più recente",
21915
21937
  "results.sortBy.popularity": "Popolarità",
21916
21938
  "results.sortBy.qualityScore": "Indicatore di completamento",
@@ -22439,6 +22461,7 @@ var nl = {
22439
22461
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
22440
22462
  "record.metadata.api.accessServiceProtocol.other": "",
22441
22463
  "record.metadata.api.accessServiceProtocol.postgis": "",
22464
+ "record.metadata.api.accessServiceProtocol.stac": "",
22442
22465
  "record.metadata.api.accessServiceProtocol.tms": "",
22443
22466
  "record.metadata.api.accessServiceProtocol.wfs": "",
22444
22467
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -22486,7 +22509,6 @@ var nl = {
22486
22509
  "record.metadata.isGeographical": "",
22487
22510
  "record.metadata.keywords": "",
22488
22511
  "record.metadata.languages": "",
22489
- "record.metadata.lastUpdate": "",
22490
22512
  "record.metadata.link.postgis.table": "",
22491
22513
  "record.metadata.link.postgis.tooltip": "",
22492
22514
  "record.metadata.linked.datasets": "",
@@ -22529,6 +22551,9 @@ var nl = {
22529
22551
  "record.metadata.quality.updateFrequency.failed": "",
22530
22552
  "record.metadata.quality.updateFrequency.success": "",
22531
22553
  "record.metadata.related": "",
22554
+ "record.metadata.resourceCreated": "",
22555
+ "record.metadata.resourcePublished": "",
22556
+ "record.metadata.resourceUpdated": "",
22532
22557
  "record.metadata.ressources.and.links": "Bronnen en links",
22533
22558
  "record.metadata.sheet": "",
22534
22559
  "record.metadata.status": "",
@@ -22541,6 +22566,7 @@ var nl = {
22541
22566
  "record.metadata.title": "",
22542
22567
  "record.metadata.topics": "",
22543
22568
  "record.metadata.uniqueId": "",
22569
+ "record.metadata.update": "",
22544
22570
  "record.metadata.updateFrequency": "",
22545
22571
  "record.metadata.updatedOn": "",
22546
22572
  "record.metadata.usage": "",
@@ -22557,6 +22583,7 @@ var nl = {
22557
22583
  "record.tab.chart": "",
22558
22584
  "record.tab.data": "",
22559
22585
  "record.tab.map": "",
22586
+ "record.tab.stac": "",
22560
22587
  "record.was.created.time": "",
22561
22588
  records: records$2,
22562
22589
  "results.layout.selectOne": "",
@@ -22565,7 +22592,6 @@ var nl = {
22565
22592
  "results.records.hits.found": "",
22566
22593
  "results.records.hits.selected": "",
22567
22594
  "results.showMore": "",
22568
- "results.sortBy.changeDate": "",
22569
22595
  "results.sortBy.dateStamp": "",
22570
22596
  "results.sortBy.popularity": "",
22571
22597
  "results.sortBy.qualityScore": "",
@@ -23094,6 +23120,7 @@ var pt = {
23094
23120
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
23095
23121
  "record.metadata.api.accessServiceProtocol.other": "",
23096
23122
  "record.metadata.api.accessServiceProtocol.postgis": "",
23123
+ "record.metadata.api.accessServiceProtocol.stac": "",
23097
23124
  "record.metadata.api.accessServiceProtocol.tms": "",
23098
23125
  "record.metadata.api.accessServiceProtocol.wfs": "",
23099
23126
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -23141,7 +23168,6 @@ var pt = {
23141
23168
  "record.metadata.isGeographical": "",
23142
23169
  "record.metadata.keywords": "",
23143
23170
  "record.metadata.languages": "",
23144
- "record.metadata.lastUpdate": "",
23145
23171
  "record.metadata.link.postgis.table": "",
23146
23172
  "record.metadata.link.postgis.tooltip": "",
23147
23173
  "record.metadata.linked.datasets": "",
@@ -23184,6 +23210,9 @@ var pt = {
23184
23210
  "record.metadata.quality.updateFrequency.failed": "",
23185
23211
  "record.metadata.quality.updateFrequency.success": "",
23186
23212
  "record.metadata.related": "",
23213
+ "record.metadata.resourceCreated": "",
23214
+ "record.metadata.resourcePublished": "",
23215
+ "record.metadata.resourceUpdated": "",
23187
23216
  "record.metadata.ressources.and.links": "Recursos e links",
23188
23217
  "record.metadata.sheet": "",
23189
23218
  "record.metadata.status": "",
@@ -23196,6 +23225,7 @@ var pt = {
23196
23225
  "record.metadata.title": "",
23197
23226
  "record.metadata.topics": "",
23198
23227
  "record.metadata.uniqueId": "",
23228
+ "record.metadata.update": "",
23199
23229
  "record.metadata.updateFrequency": "",
23200
23230
  "record.metadata.updatedOn": "",
23201
23231
  "record.metadata.usage": "",
@@ -23212,6 +23242,7 @@ var pt = {
23212
23242
  "record.tab.chart": "",
23213
23243
  "record.tab.data": "",
23214
23244
  "record.tab.map": "",
23245
+ "record.tab.stac": "",
23215
23246
  "record.was.created.time": "",
23216
23247
  records: records$1,
23217
23248
  "results.layout.selectOne": "",
@@ -23220,7 +23251,6 @@ var pt = {
23220
23251
  "results.records.hits.found": "",
23221
23252
  "results.records.hits.selected": "",
23222
23253
  "results.showMore": "",
23223
- "results.sortBy.changeDate": "",
23224
23254
  "results.sortBy.dateStamp": "",
23225
23255
  "results.sortBy.popularity": "",
23226
23256
  "results.sortBy.qualityScore": "",
@@ -23749,6 +23779,7 @@ var sk = {
23749
23779
  "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
23750
23780
  "record.metadata.api.accessServiceProtocol.other": "",
23751
23781
  "record.metadata.api.accessServiceProtocol.postgis": "",
23782
+ "record.metadata.api.accessServiceProtocol.stac": "",
23752
23783
  "record.metadata.api.accessServiceProtocol.tms": "",
23753
23784
  "record.metadata.api.accessServiceProtocol.wfs": "",
23754
23785
  "record.metadata.api.accessServiceProtocol.wms": "",
@@ -23796,7 +23827,6 @@ var sk = {
23796
23827
  "record.metadata.isGeographical": "Súbor geografických údajov",
23797
23828
  "record.metadata.keywords": "Kľúčové slová",
23798
23829
  "record.metadata.languages": "",
23799
- "record.metadata.lastUpdate": "Posledná aktualizácia",
23800
23830
  "record.metadata.link.postgis.table": "",
23801
23831
  "record.metadata.link.postgis.tooltip": "",
23802
23832
  "record.metadata.linked.datasets": "",
@@ -23839,6 +23869,9 @@ var sk = {
23839
23869
  "record.metadata.quality.updateFrequency.failed": "Frekvencia aktualizácie nie je určená",
23840
23870
  "record.metadata.quality.updateFrequency.success": "Frekvencia aktualizácie je určená",
23841
23871
  "record.metadata.related": "Súvisiace záznamy",
23872
+ "record.metadata.resourceCreated": "",
23873
+ "record.metadata.resourcePublished": "",
23874
+ "record.metadata.resourceUpdated": "",
23842
23875
  "record.metadata.ressources.and.links": "Prostředky a odkazy",
23843
23876
  "record.metadata.sheet": "Ďalšie metadáta sú k dispozícii na:",
23844
23877
  "record.metadata.status": "Stav",
@@ -23851,8 +23884,9 @@ var sk = {
23851
23884
  "record.metadata.title": "Názov",
23852
23885
  "record.metadata.topics": "",
23853
23886
  "record.metadata.uniqueId": "Jedinečný identifikátor",
23887
+ "record.metadata.update": "Dátum aktualizácie",
23854
23888
  "record.metadata.updateFrequency": "Frekvencia aktualizácie metadát",
23855
- "record.metadata.updatedOn": "Posledná aktualizácia metadát",
23889
+ "record.metadata.updatedOn": "Metadáta zmenené dňa",
23856
23890
  "record.metadata.usage": "Použitie a obmedzenia",
23857
23891
  "record.metadata.userFeedbacks": "",
23858
23892
  "record.metadata.userFeedbacks.anonymousUser": "",
@@ -23867,6 +23901,7 @@ var sk = {
23867
23901
  "record.tab.chart": "Graf",
23868
23902
  "record.tab.data": "Tabuľka",
23869
23903
  "record.tab.map": "Mapa",
23904
+ "record.tab.stac": "",
23870
23905
  "record.was.created.time": "vytvoril tento dataset o {time}",
23871
23906
  records: records,
23872
23907
  "results.layout.selectOne": "Rozmiestnenie výsledkov",
@@ -23875,7 +23910,6 @@ var sk = {
23875
23910
  "results.records.hits.found": "{hits, plural, =0{Žiadne dokumenty nezodpovedajú zadanému vyhľadávaniu.} one{1 záznam nájdený.} other{{hits} záznamov nájdených.}}",
23876
23911
  "results.records.hits.selected": "{ amount } označených",
23877
23912
  "results.showMore": "Zobraziť viac výsledkov...",
23878
- "results.sortBy.changeDate": "",
23879
23913
  "results.sortBy.dateStamp": "Najnovšie",
23880
23914
  "results.sortBy.popularity": "Popularita",
23881
23915
  "results.sortBy.qualityScore": "Indikátor dokončenia",
@@ -24365,6 +24399,7 @@ class Gn4FieldMapper {
24365
24399
  /TMS/i.test(protocol) ||
24366
24400
  /ogc\W*api\W*features/i.test(protocol) ||
24367
24401
  /^DB:POSTGIS/i.test(protocol) ||
24402
+ /stac\W*items/i.test(protocol) ||
24368
24403
  (/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
24369
24404
  ) {
24370
24405
  return 'service';
@@ -25009,13 +25044,16 @@ function sortByToStrings(sortBy) {
25009
25044
  return array.map((param) => `${param[0] === 'desc' ? '-' : ''}${param[1]}`);
25010
25045
  }
25011
25046
  function sortByToString(sortBy) {
25012
- return sortByToStrings(sortBy)[0];
25047
+ return sortByToStrings(sortBy).join(',');
25013
25048
  }
25014
25049
  function sortByFromString(sortByString) {
25015
- return [
25016
- sortByString.startsWith('-') ? 'desc' : 'asc',
25017
- sortByString.startsWith('-') ? sortByString.substring(1) : sortByString,
25018
- ];
25050
+ const fields = sortByString
25051
+ .split(',')
25052
+ .map((field) => [
25053
+ field.startsWith('-') ? 'desc' : 'asc',
25054
+ field.startsWith('-') ? field.substring(1) : field,
25055
+ ]);
25056
+ return fields.length > 1 ? fields : fields[0];
25019
25057
  }
25020
25058
 
25021
25059
  const stripHtml = function (html) {
@@ -25421,6 +25459,8 @@ class LinkClassifierService {
25421
25459
  return [LinkUsage.API];
25422
25460
  case 'postgis':
25423
25461
  return [LinkUsage.UNKNOWN];
25462
+ case 'stac':
25463
+ return [LinkUsage.API];
25424
25464
  default:
25425
25465
  return [LinkUsage.UNKNOWN];
25426
25466
  }
@@ -25484,7 +25524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25484
25524
  }] } });
25485
25525
 
25486
25526
  var name = "geonetwork-ui";
25487
- var version = "2.8.0-dev.83aaa1736";
25527
+ var version = "2.8.0-dev.8cb6904b7";
25488
25528
  var engines = {
25489
25529
  node: ">=20"
25490
25530
  };
@@ -26236,7 +26276,7 @@ class Gn4SettingsService {
26236
26276
  this.apiVersion$ = this.getSettingsSetValueByKey('system/platform/version');
26237
26277
  }
26238
26278
  getSettingsSetValueByKey(key) {
26239
- return this.siteApiService.getSettingsSet(null, [key]).pipe(map$1((v) => v[key]), shareReplay$1({ bufferSize: 1, refCount: true }));
26279
+ return of(true).pipe(switchMap(() => this.siteApiService.getSettingsSet(null, [key])), map$1((v) => v[key]), shareReplay$1({ bufferSize: 1, refCount: true }));
26240
26280
  }
26241
26281
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4SettingsService, deps: [{ token: SiteApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
26242
26282
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4SettingsService, providedIn: 'root' }); }
@@ -27175,6 +27215,9 @@ class Gn4PlatformService {
27175
27215
  console.warn('Error while loading gnui language package');
27176
27216
  return of({});
27177
27217
  }), shareReplay$1(1));
27218
+ this.me$ = this.disableAuth
27219
+ ? of(null)
27220
+ : of(true).pipe(switchMap(() => this.meApi.getMe()), switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
27178
27221
  /**
27179
27222
  * A map of already loaded thesauri (groups of keywords); the key is a URI
27180
27223
  * @private
@@ -27185,9 +27228,6 @@ class Gn4PlatformService {
27185
27228
  .pipe(map$1((thesaurus) => {
27186
27229
  return thesaurus[0];
27187
27230
  }), shareReplay$1(1));
27188
- this.me$ = this.disableAuth
27189
- ? of(null)
27190
- : this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
27191
27231
  this.isUserAnonymous$ = this.me$.pipe(map$1((user) => !user || !('id' in user)));
27192
27232
  this.users$ = this.usersApi.getUsers().pipe(map$1((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay$1());
27193
27233
  }
@@ -29800,8 +29840,7 @@ class DropdownSelectorComponent {
29800
29840
  ];
29801
29841
  }
29802
29842
  get selectedChoice() {
29803
- return (this.choices.find((choice) => choice.value === this.selected) ??
29804
- this.choices[0]);
29843
+ return (this.choices.find((choice) => JSON.stringify(choice.value) === JSON.stringify(this.selected)) ?? this.choices[0]);
29805
29844
  }
29806
29845
  get id() {
29807
29846
  return this.title.toLowerCase().replace(/[^a-z]+/g, '-');
@@ -34086,7 +34125,7 @@ class MetadataInfoComponent {
34086
34125
  return this.dateService.formatDateTime(date);
34087
34126
  }
34088
34127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataInfoComponent, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
34089
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataInfoComponent, isStandalone: true, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <gn-ui-max-lines [maxLines]=\"7\" *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n (metadata.kind === 'dataset' && metadata.status)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourcePublished) }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.kind !== 'dataset' &&\n metadata.spatialExtents &&\n metadata.spatialExtents.length\n \"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && formatDateTime(metadata.recordUpdated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\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: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "iconColor", "collapsed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], viewProviders: [
34128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataInfoComponent, isStandalone: true, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines\n [maxLines]=\"6\"\n *ngIf=\"metadata.abstract\"\n data-test=\"metadata-info-abstract\"\n >\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <gn-ui-max-lines [maxLines]=\"7\" *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n resourceContact ||\n metadata.resourceCreated ||\n metadata.resourcePublished ||\n metadata.resourceUpdated ||\n (metadata.kind === 'dataset' && metadata.updateFrequency) ||\n metadata.otherLanguages?.length ||\n (metadata.kind === 'dataset' && temporalExtent)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.lineage\"\n class=\"text-gray-900 flex flex-col mt-4 gap-2\"\n data-test=\"details-panel-lineage\"\n >\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div\n class=\"flex flex-row gap-6 mt-5 mb-8 resource-contact\"\n *ngIf=\"resourceContact\"\n data-test=\"details-panel-resource-contact\"\n >\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div\n *ngIf=\"metadata.resourceCreated\"\n data-test=\"details-panel-resource-created\"\n >\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1 resource-created\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourcePublished\"\n data-test=\"details-panel-resource-published\"\n >\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1 resource-published\">\n {{ formatDate(metadata.resourcePublished) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourceUpdated\"\n data-test=\"details-panel-resource-updated\"\n >\n <p class=\"text-sm\" translate>record.metadata.update</p>\n <p class=\"text-primary font-medium mt-1 resource-updated\">\n {{ formatDate(metadata.resourceUpdated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.updateFrequency\"\n data-test=\"details-panel-update-frequency\"\n >\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.otherLanguages?.length\"\n data-test=\"details-panel-other-languages\"\n >\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium other-languages\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && temporalExtent\"\n data-test=\"details-panel-temporal-extent\"\n >\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div\n class=\"flex flex-row gap-1 mb-1 text-primary font-medium temporal-extent\"\n >\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.kind !== 'dataset' &&\n metadata.spatialExtents &&\n metadata.spatialExtents.length\n \"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && formatDateTime(metadata.recordUpdated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\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: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "iconColor", "collapsed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], viewProviders: [
34090
34129
  provideIcons({
34091
34130
  matOpenInNew,
34092
34131
  matMailOutline: matMailOutline$1,
@@ -34114,7 +34153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
34114
34153
  matOpenInNew,
34115
34154
  matMailOutline: matMailOutline$1,
34116
34155
  }),
34117
- ], template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <gn-ui-max-lines [maxLines]=\"7\" *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n (metadata.kind === 'dataset' && metadata.status)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourcePublished) }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.kind !== 'dataset' &&\n metadata.spatialExtents &&\n metadata.spatialExtents.length\n \"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && formatDateTime(metadata.recordUpdated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\n"] }]
34156
+ ], template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines\n [maxLines]=\"6\"\n *ngIf=\"metadata.abstract\"\n data-test=\"metadata-info-abstract\"\n >\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <gn-ui-max-lines [maxLines]=\"7\" *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n resourceContact ||\n metadata.resourceCreated ||\n metadata.resourcePublished ||\n metadata.resourceUpdated ||\n (metadata.kind === 'dataset' && metadata.updateFrequency) ||\n metadata.otherLanguages?.length ||\n (metadata.kind === 'dataset' && temporalExtent)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.lineage\"\n class=\"text-gray-900 flex flex-col mt-4 gap-2\"\n data-test=\"details-panel-lineage\"\n >\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div\n class=\"flex flex-row gap-6 mt-5 mb-8 resource-contact\"\n *ngIf=\"resourceContact\"\n data-test=\"details-panel-resource-contact\"\n >\n <div\n *ngIf=\"resourceContact.organization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div\n *ngIf=\"metadata.resourceCreated\"\n data-test=\"details-panel-resource-created\"\n >\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1 resource-created\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourcePublished\"\n data-test=\"details-panel-resource-published\"\n >\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1 resource-published\">\n {{ formatDate(metadata.resourcePublished) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourceUpdated\"\n data-test=\"details-panel-resource-updated\"\n >\n <p class=\"text-sm\" translate>record.metadata.update</p>\n <p class=\"text-primary font-medium mt-1 resource-updated\">\n {{ formatDate(metadata.resourceUpdated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.updateFrequency\"\n data-test=\"details-panel-update-frequency\"\n >\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.otherLanguages?.length\"\n data-test=\"details-panel-other-languages\"\n >\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium other-languages\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && temporalExtent\"\n data-test=\"details-panel-temporal-extent\"\n >\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div\n class=\"flex flex-row gap-1 mb-1 text-primary font-medium temporal-extent\"\n >\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.kind !== 'dataset' &&\n metadata.spatialExtents &&\n metadata.spatialExtents.length\n \"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && formatDateTime(metadata.recordUpdated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\n"] }]
34118
34157
  }], ctorParameters: () => [{ type: DateService }], propDecorators: { metadata: [{
34119
34158
  type: Input
34120
34159
  }], incomplete: [{
@@ -36502,6 +36541,11 @@ const SortByEnum = {
36502
36541
  RELEVANCY: ['desc', '_score'],
36503
36542
  QUALITY_SCORE: ['desc', 'qualityScore'],
36504
36543
  CHANGE_DATE: ['desc', 'changeDate'],
36544
+ RESOURCE_DATES: [
36545
+ ['desc', 'revisionDateForResource'],
36546
+ ['desc', 'publicationDateForResource'],
36547
+ ['desc', 'creationDateForResource'],
36548
+ ],
36505
36549
  };
36506
36550
 
36507
36551
  class SortByComponent {
@@ -36511,33 +36555,29 @@ class SortByComponent {
36511
36555
  this.choices = [
36512
36556
  {
36513
36557
  label: marker('results.sortBy.relevancy'),
36514
- value: SortByEnum.RELEVANCY.join(','),
36558
+ value: SortByEnum.RELEVANCY,
36515
36559
  },
36516
36560
  {
36517
36561
  label: marker('results.sortBy.dateStamp'),
36518
- value: SortByEnum.CREATE_DATE.join(','),
36519
- },
36520
- {
36521
- label: marker('results.sortBy.changeDate'),
36522
- value: SortByEnum.CHANGE_DATE.join(','),
36562
+ value: SortByEnum.RESOURCE_DATES,
36523
36563
  },
36524
36564
  {
36525
36565
  label: marker('results.sortBy.popularity'),
36526
- value: SortByEnum.POPULARITY.join(','),
36566
+ value: SortByEnum.POPULARITY,
36527
36567
  },
36528
36568
  ];
36529
- this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy.join(',')));
36569
+ this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy));
36530
36570
  }
36531
36571
  ngOnInit() {
36532
36572
  if (this.isQualitySortable) {
36533
36573
  this.choices.push({
36534
36574
  label: marker('results.sortBy.qualityScore'),
36535
- value: SortByEnum.QUALITY_SCORE.join(','),
36575
+ value: SortByEnum.QUALITY_SCORE,
36536
36576
  });
36537
36577
  }
36538
36578
  }
36539
- changeSortBy(criteriaAsString) {
36540
- this.searchService.setSortBy(criteriaAsString.split(','));
36579
+ changeSortBy(criteria) {
36580
+ this.searchService.setSortBy(criteria);
36541
36581
  }
36542
36582
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortByComponent, deps: [{ token: SearchFacade }, { token: SearchService }], target: i0.ɵɵFactoryTarget.Component }); }
36543
36583
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SortByComponent, isStandalone: true, selector: "gn-ui-sort-by", inputs: { isQualitySortable: "isQualitySortable" }, ngImport: i0, template: "<gn-ui-dropdown-selector\n [title]=\"'search.field.sortBy' | translate\"\n [choices]=\"choices\"\n (selectValue)=\"changeSortBy($event)\"\n [selected]=\"currentSortBy$ | async\"\n ariaName=\"search-sort-by\"\n></gn-ui-dropdown-selector>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
@@ -38901,6 +38941,8 @@ class ChartViewComponent {
38901
38941
  this.chartType$.next(value);
38902
38942
  }
38903
38943
  set userChartConfig(config) {
38944
+ if (!config)
38945
+ return;
38904
38946
  this.aggregation$.next(config.aggregation);
38905
38947
  this.xProperty$.next(config.xProperty);
38906
38948
  this.yProperty$.next(config.yProperty);
@@ -39338,6 +39380,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
39338
39380
  type: Input
39339
39381
  }] } });
39340
39382
 
39383
+ class StacViewComponent {
39384
+ constructor() {
39385
+ this.subscription = new Subscription();
39386
+ }
39387
+ ngOnDestroy() {
39388
+ this.subscription.unsubscribe();
39389
+ }
39390
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39391
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StacViewComponent, isStandalone: true, selector: "gn-ui-stac-view", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"relative h-full mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n ></div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39392
+ }
39393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, decorators: [{
39394
+ type: Component,
39395
+ args: [{ selector: 'gn-ui-stac-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, TranslatePipe], template: "<div class=\"w-full h-full flex flex-col\">\n <div\n class=\"relative h-full mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n ></div>\n</div>\n" }]
39396
+ }], propDecorators: { link: [{
39397
+ type: Input
39398
+ }] } });
39399
+
39341
39400
  /**
39342
39401
  * The Metadata View Facade is used to render complete metadata records.
39343
39402
  * Supply it with an incomplete record (at least containing the uuid) and the
@@ -39370,6 +39429,7 @@ class MdViewFacade {
39370
39429
  this.allLinks$ = this.metadata$.pipe(map$1((record) => 'onlineResources' in record ? record.onlineResources : []), shareReplay$1(1));
39371
39430
  this.apiLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.API))), shareReplay$1(1));
39372
39431
  this.mapApiLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API))), shareReplay$1(1));
39432
+ this.stacLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => link.type === 'service' && link.accessServiceProtocol === 'stac')), shareReplay$1(1));
39373
39433
  this.downloadLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
39374
39434
  this.dataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DATA))));
39375
39435
  this.geoDataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
@@ -39527,8 +39587,9 @@ class DataViewPermalinkComponent {
39527
39587
  set viewType(value) {
39528
39588
  this.viewType$.next(value);
39529
39589
  }
39530
- constructor(config, wcEmbedderBaseUrl, facade) {
39590
+ constructor(config, proxyPath, wcEmbedderBaseUrl, facade) {
39531
39591
  this.config = config;
39592
+ this.proxyPath = proxyPath;
39532
39593
  this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
39533
39594
  this.facade = facade;
39534
39595
  this.viewType$ = new BehaviorSubject('map');
@@ -39561,6 +39622,9 @@ class DataViewPermalinkComponent {
39561
39622
  url.searchParams.append('e', `gn-dataset-view-map`);
39562
39623
  }
39563
39624
  url.searchParams.append('a', `api-url=${this.config.basePath}`);
39625
+ if (this.proxyPath) {
39626
+ url.searchParams.append('a', `proxy-path=${this.proxyPath}`);
39627
+ }
39564
39628
  url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
39565
39629
  url.searchParams.append('a', `primary-color=#0f4395`);
39566
39630
  url.searchParams.append('a', `secondary-color=#8bc832`);
@@ -39569,7 +39633,7 @@ class DataViewPermalinkComponent {
39569
39633
  return url.toString();
39570
39634
  }));
39571
39635
  }
39572
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
39636
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
39573
39637
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewPermalinkComponent, isStandalone: true, selector: "gn-ui-data-view-permalink", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\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: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39574
39638
  }
39575
39639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
@@ -39580,6 +39644,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
39580
39644
  args: [Configuration]
39581
39645
  }] }, { type: undefined, decorators: [{
39582
39646
  type: Optional
39647
+ }, {
39648
+ type: Inject,
39649
+ args: [PROXY_PATH]
39650
+ }] }, { type: undefined, decorators: [{
39651
+ type: Optional
39583
39652
  }, {
39584
39653
  type: Inject,
39585
39654
  args: [WEB_COMPONENT_EMBEDDER_URL]
@@ -39688,8 +39757,9 @@ class DataViewWebComponentComponent {
39688
39757
  set viewType(value) {
39689
39758
  this.viewType$.next(value);
39690
39759
  }
39691
- constructor(config, facade) {
39760
+ constructor(config, proxyPath, facade) {
39692
39761
  this.config = config;
39762
+ this.proxyPath = proxyPath;
39693
39763
  this.facade = facade;
39694
39764
  this.viewType$ = new BehaviorSubject('map');
39695
39765
  this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map$2(([viewType, config, metadata]) => {
@@ -39698,7 +39768,10 @@ class DataViewWebComponentComponent {
39698
39768
  const { aggregation, xProperty, yProperty, chartType } = config;
39699
39769
  return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
39700
39770
  <gn-dataset-view-chart
39701
- api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
39771
+ api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
39772
+ ? `
39773
+ proxy-path="${this.proxyPath}"`
39774
+ : ''}
39702
39775
  dataset-id="${metadata.uniqueIdentifier}"
39703
39776
  aggregation="${aggregation}"
39704
39777
  x-property="${xProperty}"
@@ -39717,7 +39790,10 @@ class DataViewWebComponentComponent {
39717
39790
  else if (viewType === 'table') {
39718
39791
  return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
39719
39792
  <gn-dataset-view-table
39720
- api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
39793
+ api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
39794
+ ? `
39795
+ proxy-path="${this.proxyPath}"`
39796
+ : ''}
39721
39797
  dataset-id="${metadata.uniqueIdentifier}"
39722
39798
  primary-color="#0f4395"
39723
39799
  secondary-color="#8bc832"
@@ -39730,7 +39806,10 @@ class DataViewWebComponentComponent {
39730
39806
  else {
39731
39807
  return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
39732
39808
  <gn-dataset-view-map
39733
- api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
39809
+ api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
39810
+ ? `
39811
+ proxy-path="${this.proxyPath}"`
39812
+ : ''}
39734
39813
  dataset-id="${metadata.uniqueIdentifier}"
39735
39814
  primary-color="#0f4395"
39736
39815
  secondary-color="#8bc832"
@@ -39742,7 +39821,7 @@ class DataViewWebComponentComponent {
39742
39821
  }
39743
39822
  }));
39744
39823
  }
39745
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
39824
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
39746
39825
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewWebComponentComponent, isStandalone: true, selector: "gn-ui-data-view-web-component", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
39747
39826
  }
39748
39827
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
@@ -39751,6 +39830,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
39751
39830
  }], ctorParameters: () => [{ type: Configuration, decorators: [{
39752
39831
  type: Inject,
39753
39832
  args: [Configuration]
39833
+ }] }, { type: undefined, decorators: [{
39834
+ type: Optional
39835
+ }, {
39836
+ type: Inject,
39837
+ args: [PROXY_PATH]
39754
39838
  }] }, { type: MdViewFacade }], propDecorators: { viewType: [{
39755
39839
  type: Input
39756
39840
  }] } });
@@ -43838,6 +43922,9 @@ class RouterService {
43838
43922
  getOrganizationPageRoute() {
43839
43923
  return ROUTER_ROUTE_ORGANIZATION;
43840
43924
  }
43925
+ getDefaultSort() {
43926
+ return SortByEnum.RESOURCE_DATES;
43927
+ }
43841
43928
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1$d.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
43842
43929
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, providedIn: 'root' }); }
43843
43930
  }
@@ -43998,13 +44085,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43998
44085
  }], ctorParameters: () => [{ type: i1$3.Store }, { type: RouterService }] });
43999
44086
 
44000
44087
  class RouterEffects {
44001
- constructor(_actions$, _router, _location, facade, routerConfig, fieldsService) {
44088
+ constructor(_actions$, _router, _location, facade, routerConfig, fieldsService, routerService) {
44002
44089
  this._actions$ = _actions$;
44003
44090
  this._router = _router;
44004
44091
  this._location = _location;
44005
44092
  this.facade = facade;
44006
44093
  this.routerConfig = routerConfig;
44007
44094
  this.fieldsService = fieldsService;
44095
+ this.routerService = routerService;
44008
44096
  this.navigate$ = createEffect(() => this._actions$.pipe(ofType(goAction), tap$1(({ path, query: queryParams, queryParamsHandling }) => {
44009
44097
  this._router.navigate([path], {
44010
44098
  queryParams,
@@ -44016,14 +44104,14 @@ class RouterEffects {
44016
44104
  .pipe(map$1((filters) => [searchParams, filters]))), startWith([null, {}]), pairwise(), map$1(([[oldParams, oldFilters], [newParams, newFilters]]) => {
44017
44105
  let sortBy = ROUTE_PARAMS.SORT in newParams
44018
44106
  ? sortByFromString(newParams[ROUTE_PARAMS.SORT])
44019
- : SortByEnum.CHANGE_DATE;
44107
+ : this.routerService.getDefaultSort();
44020
44108
  let pageNumber = ROUTE_PARAMS.PAGE in newParams
44021
44109
  ? parseInt(newParams[ROUTE_PARAMS.PAGE])
44022
44110
  : 1;
44023
44111
  if (oldParams !== null) {
44024
44112
  const oldSort = ROUTE_PARAMS.SORT in oldParams
44025
44113
  ? sortByFromString(oldParams[ROUTE_PARAMS.SORT])
44026
- : SortByEnum.CHANGE_DATE;
44114
+ : this.routerService.getDefaultSort();
44027
44115
  if (JSON.stringify(sortBy) === JSON.stringify(oldSort)) {
44028
44116
  sortBy = null;
44029
44117
  }
@@ -44080,7 +44168,7 @@ class RouterEffects {
44080
44168
  this.navigateBack$ = createEffect(() => this._actions$.pipe(ofType(backAction), tap$1(() => this._location.back())), { dispatch: false });
44081
44169
  this.navigateForward$ = createEffect(() => this._actions$.pipe(ofType(forwardAction), tap$1(() => this._location.forward())), { dispatch: false });
44082
44170
  }
44083
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1$c.Actions }, { token: i1$d.Router }, { token: i1$2.Location }, { token: RouterFacade }, { token: ROUTER_CONFIG }, { token: FieldsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
44171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1$c.Actions }, { token: i1$d.Router }, { token: i1$2.Location }, { token: RouterFacade }, { token: ROUTER_CONFIG }, { token: FieldsService }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
44084
44172
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects }); }
44085
44173
  }
44086
44174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, decorators: [{
@@ -44088,7 +44176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
44088
44176
  }], ctorParameters: () => [{ type: i1$c.Actions }, { type: i1$d.Router }, { type: i1$2.Location }, { type: RouterFacade }, { type: undefined, decorators: [{
44089
44177
  type: Inject,
44090
44178
  args: [ROUTER_CONFIG]
44091
- }] }, { type: FieldsService }] });
44179
+ }] }, { type: FieldsService }, { type: RouterService }] });
44092
44180
 
44093
44181
  class DefaultRouterModule {
44094
44182
  constructor(routerService) {
@@ -44226,5 +44314,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
44226
44314
  * Generated bundle index. Do not edit.
44227
44315
  */
44228
44316
 
44229
- export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, 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, CellPopinComponent, 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, DISABLE_AUTH, 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, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetItemComponent, FacetListComponent, FacetsContainerComponent, FavoriteStarComponent, FavoritesService, FeatureCatalogListComponent, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldTopicsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, 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, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_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_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, 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, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, 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, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, handleScrollOnNavigation, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, organizationsServiceFactory, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, 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, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
44317
+ export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, 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, CellPopinComponent, 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, DISABLE_AUTH, 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, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetItemComponent, FacetListComponent, FacetsContainerComponent, FavoriteStarComponent, FavoritesService, FeatureCatalogListComponent, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldTopicsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OrganizationsServiceInterface, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PlatformServiceInterface, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_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_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, 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, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StacViewComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, 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, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, handleScrollOnNavigation, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, organizationsServiceFactory, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, 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, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
44230
44318
  //# sourceMappingURL=geonetwork-ui.mjs.map