geonetwork-ui 2.1.0 → 2.2.0-dev.162f13e3

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 (80) hide show
  1. package/esm2022/libs/api/repository/src/index.mjs +2 -1
  2. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
  3. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
  4. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
  5. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  6. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
  7. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
  8. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
  9. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
  10. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +17 -38
  11. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
  12. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
  13. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  14. package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +8 -1
  15. package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
  16. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  17. package/esm2022/translations/de.json +3 -0
  18. package/esm2022/translations/en.json +5 -2
  19. package/esm2022/translations/es.json +3 -0
  20. package/esm2022/translations/fr.json +7 -4
  21. package/esm2022/translations/it.json +6 -0
  22. package/esm2022/translations/nl.json +3 -0
  23. package/esm2022/translations/pt.json +3 -0
  24. package/fesm2022/geonetwork-ui.mjs +99 -61
  25. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  26. package/libs/api/repository/src/index.d.ts +1 -0
  27. package/libs/api/repository/src/index.d.ts.map +1 -1
  28. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
  29. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  30. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
  31. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  32. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  33. package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
  34. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  35. package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
  36. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  37. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
  38. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  39. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
  40. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  41. package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -4
  42. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  43. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  44. package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts +1 -1
  45. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  46. package/libs/util/app-config/src/lib/model.d.ts +2 -0
  47. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  48. package/libs/util/shared/src/lib/services/theme.service.d.ts +1 -0
  49. package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
  50. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
  51. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
  52. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  53. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  54. package/package.json +8 -6
  55. package/src/libs/api/repository/src/index.ts +1 -0
  56. package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
  57. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
  58. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
  59. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -4
  60. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
  61. package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
  62. package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
  63. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
  64. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
  65. package/src/libs/ui/inputs/src/lib/button/button.component.ts +22 -42
  66. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
  67. package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
  68. package/src/libs/util/app-config/src/lib/model.ts +2 -0
  69. package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -0
  70. package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
  71. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  72. package/tailwind.base.css +31 -1
  73. package/translations/de.json +3 -0
  74. package/translations/en.json +5 -2
  75. package/translations/es.json +3 -0
  76. package/translations/fr.json +7 -4
  77. package/translations/it.json +6 -0
  78. package/translations/nl.json +3 -0
  79. package/translations/pt.json +3 -0
  80. package/translations/sk.json +3 -0
@@ -24,12 +24,12 @@
24
24
  "dashboard.records.myRecords": "My Records",
25
25
  "dashboard.records.noRecord": "No record for this organization",
26
26
  "dashboard.records.noUser": "No users for this organization",
27
- "dashboard.records.publishedRecords": "published records",
27
+ "dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
28
28
  "dashboard.records.search": "Search for \"{searchText}\"",
29
29
  "dashboard.records.userDetail": "Name",
30
30
  "dashboard.records.userEmail": "Email",
31
31
  "dashboard.records.username": "Username",
32
- "dashboard.records.users": "users",
32
+ "dashboard.records.users": "{count, plural, =1{user} other{users}}",
33
33
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
34
34
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
35
35
  "datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "Organisations",
111
111
  "datahub.header.popularRecords": "The most popular",
112
112
  "datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
113
+ "datahub.news.contact.contactus": "Contact us",
114
+ "datahub.news.contact.html": "<p>Do you need data that is not currently present on the platform?</p><p>Our teams are here to answer you.</p>",
115
+ "datahub.news.contact.title": "A specific need?",
113
116
  "datahub.news.feed": "News feed",
114
117
  "datahub.news.figures": "Indicators",
115
118
  "datahub.search.back": "Back to results",
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "",
111
111
  "datahub.header.popularRecords": "",
112
112
  "datahub.header.title.html": "",
113
+ "datahub.news.contact.contactus": "",
114
+ "datahub.news.contact.html": "",
115
+ "datahub.news.contact.title": "",
113
116
  "datahub.news.feed": "",
114
117
  "datahub.news.figures": "",
115
118
  "datahub.search.back": "",
@@ -24,12 +24,12 @@
24
24
  "dashboard.records.myRecords": "Mes fiches publiées",
25
25
  "dashboard.records.noRecord": "Aucun jeu de données pour cette organisation",
26
26
  "dashboard.records.noUser": "Aucun utilisateur pour cette organisation",
27
- "dashboard.records.publishedRecords": "données publiées",
27
+ "dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
28
28
  "dashboard.records.search": "Résultats pour \"{searchText}\"",
29
29
  "dashboard.records.userDetail": "Nom",
30
30
  "dashboard.records.userEmail": "Email",
31
31
  "dashboard.records.username": "Nom d'utilisateur",
32
- "dashboard.records.users": "utilisateurs",
32
+ "dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
33
33
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
34
34
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
35
35
  "datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n des données",
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "Organisations",
111
111
  "datahub.header.popularRecords": "Les plus appréciées",
112
112
  "datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
113
+ "datahub.news.contact.contactus": "Contactez-nous",
114
+ "datahub.news.contact.html": "<p>Vous avez besoin de données qui ne sont pas présentes sur la plateforme actuellement ? </p><p> Nos équipes sont la pour vous répondre.</p>",
115
+ "datahub.news.contact.title": "Un besoin spécifique ?",
113
116
  "datahub.news.feed": "Fil d'activité",
114
117
  "datahub.news.figures": "Quelques chiffres",
115
118
  "datahub.search.back": "Retour aux résultats",
@@ -252,10 +255,10 @@
252
255
  "record.was.created.time": "a créé ce jeu de données {time}",
253
256
  "records": "enregistrements",
254
257
  "results.layout.selectOne": "Affichage des résultats",
255
- "results.records.hits.displayedOn": "",
258
+ "results.records.hits.displayedOn": "{displayed, plural, =0{Aucun enregistrement} one{1 enregistrement affiché} other{{displayed} enregistrements affichés}} {hits, plural, other{sur {hits} au total.}}",
256
259
  "results.records.hits.empty.help.html": "Suggestions : <ul class='list-disc list-inside'><li>Essayez d'autres mots clés</li><li>Cherchez moins de mots</li></ul>",
257
260
  "results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 enregistrement trouvé.} other{{hits} résultats.}}",
258
- "results.records.hits.selected": "",
261
+ "results.records.hits.selected": "{amount, plural, one{1 selectionnée} other{{ amount } sélectionnées}}",
259
262
  "results.showMore": "Plus de résultats...",
260
263
  "results.sortBy.dateStamp": "Plus récent",
261
264
  "results.sortBy.popularity": "Popularité",
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "Organizzazioni",
111
111
  "datahub.header.popularRecords": "Più popolari",
112
112
  "datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
113
+ "datahub.news.contact.contactus": "",
114
+ "datahub.news.contact.html": "",
115
+ "datahub.news.contact.title": "",
113
116
  "datahub.news.feed": "Feed di attività",
114
117
  "datahub.news.figures": "Alcune figure",
115
118
  "datahub.search.back": "Torna ai risultati",
@@ -139,6 +142,7 @@
139
142
  "downloads.format.unknown": "sconosciuto",
140
143
  "downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
141
144
  "dropFile": "Trascina il suo file",
145
+ "externalviewer.dataset.unnamed": "",
142
146
  "facets.block.title.OrgForResource": "Organizzazione",
143
147
  "facets.block.title.availableInServices": "Disponibile per",
144
148
  "facets.block.title.cl_hierarchyLevel.key": "Tipo di risorsa",
@@ -305,6 +309,8 @@
305
309
  "tooltip.html.copy": "Copiare il HTML",
306
310
  "tooltip.url.copy": "Copiare l'URL",
307
311
  "tooltip.url.open": "Aprire l'URL",
312
+ "ui.readLess": "",
313
+ "ui.readMore": "",
308
314
  "wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
309
315
  "wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
310
316
  "wfs.unreachable.cors": "Il servizio non è accessibile a causa di limitazioni CORS",
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "",
111
111
  "datahub.header.popularRecords": "",
112
112
  "datahub.header.title.html": "",
113
+ "datahub.news.contact.contactus": "",
114
+ "datahub.news.contact.html": "",
115
+ "datahub.news.contact.title": "",
113
116
  "datahub.news.feed": "",
114
117
  "datahub.news.figures": "",
115
118
  "datahub.search.back": "",
@@ -110,6 +110,9 @@
110
110
  "datahub.header.organisations": "",
111
111
  "datahub.header.popularRecords": "",
112
112
  "datahub.header.title.html": "",
113
+ "datahub.news.contact.contactus": "",
114
+ "datahub.news.contact.html": "",
115
+ "datahub.news.contact.title": "",
113
116
  "datahub.news.feed": "",
114
117
  "datahub.news.figures": "",
115
118
  "datahub.search.back": "",
@@ -16781,6 +16781,9 @@ var de = {
16781
16781
  "datahub.header.organisations": "Organisationen",
16782
16782
  "datahub.header.popularRecords": "Die beliebtesten",
16783
16783
  "datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten von meiner Organisation</div>",
16784
+ "datahub.news.contact.contactus": "",
16785
+ "datahub.news.contact.html": "",
16786
+ "datahub.news.contact.title": "",
16784
16787
  "datahub.news.feed": "Nachrichtenfeed",
16785
16788
  "datahub.news.figures": "Indikatoren",
16786
16789
  "datahub.search.back": "Zurück zu den Ergebnissen",
@@ -17016,12 +17019,12 @@ var en = {
17016
17019
  "dashboard.records.myRecords": "My Records",
17017
17020
  "dashboard.records.noRecord": "No record for this organization",
17018
17021
  "dashboard.records.noUser": "No users for this organization",
17019
- "dashboard.records.publishedRecords": "published records",
17022
+ "dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
17020
17023
  "dashboard.records.search": "Search for \"{searchText}\"",
17021
17024
  "dashboard.records.userDetail": "Name",
17022
17025
  "dashboard.records.userEmail": "Email",
17023
17026
  "dashboard.records.username": "Username",
17024
- "dashboard.records.users": "users",
17027
+ "dashboard.records.users": "{count, plural, =1{user} other{users}}",
17025
17028
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
17026
17029
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
17027
17030
  "datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
@@ -17102,6 +17105,9 @@ var en = {
17102
17105
  "datahub.header.organisations": "Organisations",
17103
17106
  "datahub.header.popularRecords": "The most popular",
17104
17107
  "datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
17108
+ "datahub.news.contact.contactus": "Contact us",
17109
+ "datahub.news.contact.html": "<p>Do you need data that is not currently present on the platform?</p><p>Our teams are here to answer you.</p>",
17110
+ "datahub.news.contact.title": "A specific need?",
17105
17111
  "datahub.news.feed": "News feed",
17106
17112
  "datahub.news.figures": "Indicators",
17107
17113
  "datahub.search.back": "Back to results",
@@ -17423,6 +17429,9 @@ var es = {
17423
17429
  "datahub.header.organisations": "",
17424
17430
  "datahub.header.popularRecords": "",
17425
17431
  "datahub.header.title.html": "",
17432
+ "datahub.news.contact.contactus": "",
17433
+ "datahub.news.contact.html": "",
17434
+ "datahub.news.contact.title": "",
17426
17435
  "datahub.news.feed": "",
17427
17436
  "datahub.news.figures": "",
17428
17437
  "datahub.search.back": "",
@@ -17658,12 +17667,12 @@ var fr = {
17658
17667
  "dashboard.records.myRecords": "Mes fiches publiées",
17659
17668
  "dashboard.records.noRecord": "Aucun jeu de données pour cette organisation",
17660
17669
  "dashboard.records.noUser": "Aucun utilisateur pour cette organisation",
17661
- "dashboard.records.publishedRecords": "données publiées",
17670
+ "dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
17662
17671
  "dashboard.records.search": "Résultats pour \"{searchText}\"",
17663
17672
  "dashboard.records.userDetail": "Nom",
17664
17673
  "dashboard.records.userEmail": "Email",
17665
17674
  "dashboard.records.username": "Nom d'utilisateur",
17666
- "dashboard.records.users": "utilisateurs",
17675
+ "dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
17667
17676
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
17668
17677
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
17669
17678
  "datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n des données",
@@ -17744,6 +17753,9 @@ var fr = {
17744
17753
  "datahub.header.organisations": "Organisations",
17745
17754
  "datahub.header.popularRecords": "Les plus appréciées",
17746
17755
  "datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
17756
+ "datahub.news.contact.contactus": "Contactez-nous",
17757
+ "datahub.news.contact.html": "<p>Vous avez besoin de données qui ne sont pas présentes sur la plateforme actuellement ? </p><p> Nos équipes sont la pour vous répondre.</p>",
17758
+ "datahub.news.contact.title": "Un besoin spécifique ?",
17747
17759
  "datahub.news.feed": "Fil d'activité",
17748
17760
  "datahub.news.figures": "Quelques chiffres",
17749
17761
  "datahub.search.back": "Retour aux résultats",
@@ -17886,10 +17898,10 @@ var fr = {
17886
17898
  "record.was.created.time": "a créé ce jeu de données {time}",
17887
17899
  records: records$3,
17888
17900
  "results.layout.selectOne": "Affichage des résultats",
17889
- "results.records.hits.displayedOn": "",
17901
+ "results.records.hits.displayedOn": "{displayed, plural, =0{Aucun enregistrement} one{1 enregistrement affiché} other{{displayed} enregistrements affichés}} {hits, plural, other{sur {hits} au total.}}",
17890
17902
  "results.records.hits.empty.help.html": "Suggestions : <ul class='list-disc list-inside'><li>Essayez d'autres mots clés</li><li>Cherchez moins de mots</li></ul>",
17891
17903
  "results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 enregistrement trouvé.} other{{hits} résultats.}}",
17892
- "results.records.hits.selected": "",
17904
+ "results.records.hits.selected": "{amount, plural, one{1 selectionnée} other{{ amount } sélectionnées}}",
17893
17905
  "results.showMore": "Plus de résultats...",
17894
17906
  "results.sortBy.dateStamp": "Plus récent",
17895
17907
  "results.sortBy.popularity": "Popularité",
@@ -18065,6 +18077,9 @@ var it = {
18065
18077
  "datahub.header.organisations": "Organizzazioni",
18066
18078
  "datahub.header.popularRecords": "Più popolari",
18067
18079
  "datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
18080
+ "datahub.news.contact.contactus": "",
18081
+ "datahub.news.contact.html": "",
18082
+ "datahub.news.contact.title": "",
18068
18083
  "datahub.news.feed": "Feed di attività",
18069
18084
  "datahub.news.figures": "Alcune figure",
18070
18085
  "datahub.search.back": "Torna ai risultati",
@@ -18094,6 +18109,7 @@ var it = {
18094
18109
  "downloads.format.unknown": "sconosciuto",
18095
18110
  "downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
18096
18111
  dropFile: dropFile$2,
18112
+ "externalviewer.dataset.unnamed": "",
18097
18113
  "facets.block.title.OrgForResource": "Organizzazione",
18098
18114
  "facets.block.title.availableInServices": "Disponibile per",
18099
18115
  "facets.block.title.cl_hierarchyLevel.key": "Tipo di risorsa",
@@ -18260,6 +18276,8 @@ var it = {
18260
18276
  "tooltip.html.copy": "Copiare il HTML",
18261
18277
  "tooltip.url.copy": "Copiare l'URL",
18262
18278
  "tooltip.url.open": "Aprire l'URL",
18279
+ "ui.readLess": "",
18280
+ "ui.readMore": "",
18263
18281
  "wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
18264
18282
  "wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
18265
18283
  "wfs.unreachable.cors": "Il servizio non è accessibile a causa di limitazioni CORS",
@@ -18383,6 +18401,9 @@ var nl = {
18383
18401
  "datahub.header.organisations": "",
18384
18402
  "datahub.header.popularRecords": "",
18385
18403
  "datahub.header.title.html": "",
18404
+ "datahub.news.contact.contactus": "",
18405
+ "datahub.news.contact.html": "",
18406
+ "datahub.news.contact.title": "",
18386
18407
  "datahub.news.feed": "",
18387
18408
  "datahub.news.figures": "",
18388
18409
  "datahub.search.back": "",
@@ -18704,6 +18725,9 @@ var pt = {
18704
18725
  "datahub.header.organisations": "",
18705
18726
  "datahub.header.popularRecords": "",
18706
18727
  "datahub.header.title.html": "",
18728
+ "datahub.news.contact.contactus": "",
18729
+ "datahub.news.contact.html": "",
18730
+ "datahub.news.contact.title": "",
18707
18731
  "datahub.news.feed": "",
18708
18732
  "datahub.news.figures": "",
18709
18733
  "datahub.search.back": "",
@@ -20736,6 +20760,13 @@ class ThemeService {
20736
20760
  }
20737
20761
  return chroma.hsl(hue % 360, saturation, lightness).css();
20738
20762
  }
20763
+ static setFavicon(faviconPath) {
20764
+ const link = document.querySelector("link[rel*='icon']") ||
20765
+ document.createElement('link');
20766
+ link['rel'] = 'icon';
20767
+ link['href'] = faviconPath;
20768
+ document.getElementsByTagName('head')[0].appendChild(link);
20769
+ }
20739
20770
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20740
20771
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
20741
20772
  }
@@ -20915,6 +20946,33 @@ function propagateToDocumentOnly(event) {
20915
20946
  }, 0);
20916
20947
  }
20917
20948
 
20949
+ function normalize(input) {
20950
+ return input
20951
+ .toLowerCase()
20952
+ .normalize('NFD') // explode composite chars (e.g. é) into multiple chars
20953
+ .replace(/[\u0300-\u036f]/g, '') // remove accents
20954
+ .replace(/œ/g, 'oe') // remove accents
20955
+ .replace(/[^a-z0-9\s]/g, ' '); // replace special characters with space
20956
+ }
20957
+ function asNormalizedParts(input) {
20958
+ return normalize(input)
20959
+ .split(/\s+/)
20960
+ .map((part) => part.trim())
20961
+ .filter((part) => part.length > 0);
20962
+ }
20963
+ /**
20964
+ * This creates a filter function based on a pattern (typically a user-input
20965
+ * search text).
20966
+ * @param pattern
20967
+ */
20968
+ function createFuzzyFilter(pattern) {
20969
+ const patternParts = asNormalizedParts(pattern);
20970
+ return (input) => {
20971
+ const inputParts = asNormalizedParts(input);
20972
+ return patternParts.every((patternPart) => inputParts.some((part) => part.includes(patternPart)));
20973
+ };
20974
+ }
20975
+
20918
20976
  marker('downloads.wfs.featuretype.not.found');
20919
20977
  const FORMATS = {
20920
20978
  csv: {
@@ -22043,6 +22101,7 @@ function loadAppConfig() {
22043
22101
  'login_url',
22044
22102
  'web_component_embedder_url',
22045
22103
  'languages',
22104
+ 'contact_email',
22046
22105
  ], warnings, errors);
22047
22106
  if (parsedGlobalSection?.metadata_language) {
22048
22107
  parsedGlobalSection = checkMetadataLanguage(parsedGlobalSection, warnings);
@@ -22060,6 +22119,7 @@ function loadAppConfig() {
22060
22119
  LOGIN_URL: parsedGlobalSection.login_url,
22061
22120
  WEB_COMPONENT_EMBEDDER_URL: parsedGlobalSection.web_component_embedder_url,
22062
22121
  LANGUAGES: parsedGlobalSection.languages,
22122
+ CONTACT_EMAIL: parsedGlobalSection.contact_email,
22063
22123
  };
22064
22124
  const parsedLayersSections = parseMultiConfigSection(parsed, 'map_layer', ['type'], ['name', 'url', 'data'], warnings, errors);
22065
22125
  const parsedMapSection = parseConfigSection(parsed, 'map', [], [
@@ -22093,6 +22153,7 @@ function loadAppConfig() {
22093
22153
  'fonts_stylesheet_url',
22094
22154
  'thumbnail_placeholder',
22095
22155
  'header_background',
22156
+ 'favicon',
22096
22157
  ], warnings, errors);
22097
22158
  themeConfig =
22098
22159
  parsedThemeSection === null
@@ -22108,6 +22169,7 @@ function loadAppConfig() {
22108
22169
  TITLE_FONT: parsedThemeSection.title_font,
22109
22170
  MAIN_FONT: parsedThemeSection.main_font,
22110
22171
  FONTS_STYLESHEET_URL: parsedThemeSection.fonts_stylesheet_url,
22172
+ FAVICON: parsedThemeSection.favicon,
22111
22173
  };
22112
22174
  const parsedSearchSection = parseConfigSection(parsed, 'search', [], [
22113
22175
  'filter_geometry_data',
@@ -23900,53 +23962,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
23900
23962
 
23901
23963
  class ButtonComponent {
23902
23964
  constructor() {
23903
- this.type = 'default';
23904
23965
  this.disabled = false;
23905
23966
  this.extraClass = '';
23906
23967
  this.buttonClick = new EventEmitter();
23907
23968
  }
23908
- get classList() {
23909
- return `${this.color} ${this.textColor} ${this.borderColor} ${this.extraClass}`;
23910
- }
23911
- get color() {
23912
- switch (this.type) {
23913
- case 'default':
23914
- return 'bg-gray-700 hover:bg-gray-800 hover:bg-gray-800 active:bg-gray-900';
23969
+ // btn-classes are explicited to allow tailwind recognize them and add it in css.
23970
+ set type(value) {
23971
+ switch (value) {
23915
23972
  case 'primary':
23916
- return 'bg-primary hover:bg-primary-darker focus:bg-primary-darker active:bg-primary-darkest';
23917
- case 'secondary':
23918
- return 'bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest';
23919
- case 'outline':
23920
- return 'bg-white';
23921
- case 'light':
23922
- return 'bg-white hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100';
23923
- }
23924
- }
23925
- get textColor() {
23926
- switch (this.type) {
23927
- case 'default':
23973
+ this.btnClass = 'btn-primary';
23974
+ break;
23928
23975
  case 'secondary':
23929
- case 'primary':
23930
- return 'text-white';
23976
+ this.btnClass = 'btn-secondary';
23977
+ break;
23931
23978
  case 'outline':
23932
- return 'text-main hover:text-primary-darker focus:text-primary-darker active:text-primary-black';
23979
+ this.btnClass = 'btn-outline';
23980
+ break;
23933
23981
  case 'light':
23934
- return 'text-main';
23982
+ this.btnClass = 'btn-light';
23983
+ break;
23984
+ default:
23985
+ this.btnClass = 'btn-default';
23986
+ break;
23935
23987
  }
23936
23988
  }
23937
- get borderColor() {
23938
- switch (this.type) {
23939
- case 'default':
23940
- return 'border border-gray-700 focus:ring-4 focus:ring-gray-200';
23941
- case 'secondary':
23942
- return 'border border-secondary focus:ring-4 focus:ring-secondary-lightest';
23943
- case 'primary':
23944
- return 'border border-primary focus:ring-4 focus:ring-primary-lightest';
23945
- case 'outline':
23946
- return 'border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker';
23947
- case 'light':
23948
- return 'border border-white focus:ring-4 focus:ring-gray-300';
23949
- }
23989
+ get classList() {
23990
+ return `${this.btnClass} ${this.extraClass}`;
23950
23991
  }
23951
23992
  handleClick(event) {
23952
23993
  this.buttonClick.emit();
@@ -24346,15 +24387,21 @@ class MetadataContactComponent {
24346
24387
  ? this.metadata.contactsForResource
24347
24388
  : this.metadata.contacts) || []);
24348
24389
  }
24390
+ get address() {
24391
+ const addressParts = this.contacts[0].address
24392
+ .split(',')
24393
+ .map((part) => part.trim());
24394
+ return addressParts;
24395
+ }
24349
24396
  onOrganizationClick() {
24350
24397
  this.organizationClick.emit(this.shownOrganization);
24351
24398
  }
24352
24399
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24353
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataContactComponent, selector: "gn-ui-metadata-contact", inputs: { metadata: "metadata" }, outputs: { organizationClick: "organizationClick", contactClick: "contactClick" }, ngImport: i0, template: "<div *ngIf=\"shownOrganization\" class=\"mb-6 sm:mb-12\">\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.contact\n </p>\n <div class=\"flex mb-1\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-gray-700 text-sm hover:underline\"\n target=\"_blank\"\n >{{ contacts[0].email }}</a\n >\n <div *ngIf=\"shownOrganization.website\" class=\"mb-2\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24400
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataContactComponent, selector: "gn-ui-metadata-contact", inputs: { metadata: "metadata" }, outputs: { organizationClick: "organizationClick", contactClick: "contactClick" }, ngImport: i0, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.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]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <div *ngIf=\"shownOrganization?.website\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n </div>\n <div class=\"grid gap-5 py-3 overflow-hidden\">\n <div *ngIf=\"contacts[0]?.phone\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >call_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">{{ contacts[0].phone }}</p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ contacts[0].email }}</a\n >\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.firstName || contacts[0]?.lastName\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >person_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">\n {{ contacts[0]?.firstName || '' }}\n {{ contacts[0]?.lastName || '' }}\n </p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.address\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n location_on</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p *ngFor=\"let addressPart of address\" class=\"text-sm\">\n {{ addressPart }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24354
24401
  }
24355
24402
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, decorators: [{
24356
24403
  type: Component,
24357
- args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"shownOrganization\" class=\"mb-6 sm:mb-12\">\n <p class=\"text-gray-700 text-xs mb-3 uppercase\" translate>\n record.metadata.contact\n </p>\n <div class=\"flex mb-1\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-gray-700 text-sm hover:underline\"\n target=\"_blank\"\n >{{ contacts[0].email }}</a\n >\n <div *ngIf=\"shownOrganization.website\" class=\"mb-2\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n</div>\n" }]
24404
+ args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.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]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization.name }}\n </div>\n </div>\n <div *ngIf=\"shownOrganization?.website\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n </div>\n <div class=\"grid gap-5 py-3 overflow-hidden\">\n <div *ngIf=\"contacts[0]?.phone\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >call_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">{{ contacts[0].phone }}</p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ contacts[0].email }}</a\n >\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.firstName || contacts[0]?.lastName\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >person_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">\n {{ contacts[0]?.firstName || '' }}\n {{ contacts[0]?.lastName || '' }}\n </p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.address\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n location_on</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p *ngFor=\"let addressPart of address\" class=\"text-sm\">\n {{ addressPart }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
24358
24405
  }], propDecorators: { metadata: [{
24359
24406
  type: Input
24360
24407
  }], organizationClick: [{
@@ -24620,7 +24667,10 @@ class DropdownMultiselectComponent {
24620
24667
  return this.choices.filter((choice) => this.selected.indexOf(choice.value) > -1);
24621
24668
  }
24622
24669
  get filteredChoicesByText() {
24623
- return this.choices.filter((choice) => choice.label.toLowerCase().includes(this.searchInputValue?.toLowerCase()));
24670
+ if (!this.searchInputValue)
24671
+ return this.choices;
24672
+ const filter = createFuzzyFilter(this.searchInputValue);
24673
+ return this.choices.filter((choice) => filter(choice.label));
24624
24674
  }
24625
24675
  get focusedIndex() {
24626
24676
  return this.checkboxes.reduce((prev, curr, curIndex) => curr.nativeElement === document.activeElement ? curIndex : prev, -1);
@@ -30427,20 +30477,8 @@ class OrganisationsComponent {
30427
30477
  filterOrganisations(organisations, filterBy) {
30428
30478
  if (!filterBy)
30429
30479
  return organisations;
30430
- const filterRegex = new RegExp(this.normalizeString(filterBy) //ignore accents and case
30431
- .replace(/[^a-z0-9\s]/g, ' ') //ignore special characters (also without spaces like l')
30432
- .replace(/\s(?=.)/g, '.*') //replace whitespaces by "AND" separator
30433
- .replace(/\s/g, ''), //remove potential whitespaces left
30434
- 'i');
30435
- return [...organisations].filter((org) => {
30436
- return this.normalizeString(org.name).match(filterRegex);
30437
- });
30438
- }
30439
- normalizeString(str) {
30440
- return str
30441
- .normalize('NFD')
30442
- .replace(/[\u0300-\u036f]/g, '')
30443
- .toLowerCase();
30480
+ const filter = createFuzzyFilter(filterBy);
30481
+ return organisations.filter((org) => filter(org.name));
30444
30482
  }
30445
30483
  sortOrganisations(organisations, sortBy) {
30446
30484
  let order;
@@ -31668,5 +31706,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
31668
31706
  * Generated bundle index. Do not edit.
31669
31707
  */
31670
31708
 
31671
- export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AutocompleteComponent, AvatarComponent, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EMPTY_BLOCK_MODEL_FIXTURE, ES_RESOURCES_VALUES, EditorService, EmbeddedTranslateLoader, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldFileComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentComponent, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, Gn4MetadataMapper, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, LANGUAGES_LIST, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapUtilsWMSService, MapViewComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MyOrgService, NavigationButtonComponent, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordTableComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, 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, SearchInputComponent, SearchResultsErrorComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SiteTitleComponent, SortByComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslateTestingModule, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, currentPage, defaultMapOptions, dragPanCondition, extensionToFormat, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getThemeConfig, initSearch, initialMapState, initialState, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapLogo, mapOrganization, mapReducer, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, parse, placeholder, propagateToDocumentOnly, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$1 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, selectFallback, selectFallbackFields, selectField, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, toModel, toXml, totalPages, updateLayer };
31709
+ export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldFileComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentComponent, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, Gn4MetadataMapper, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, LANGUAGES_LIST, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapUtilsWMSService, MapViewComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MyOrgService, NavigationButtonComponent, ORGANIZATIONS_STRATEGY, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationsFromGroupsService, OrganizationsFromMetadataService, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordTableComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, 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, SearchInputComponent, SearchResultsErrorComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SiteTitleComponent, SortByComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslateTestingModule, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, dragPanCondition, extensionToFormat, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getThemeConfig, initSearch, initialMapState, initialState, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapLogo, mapOrganization, mapReducer, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$1 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, selectFallback, selectFallbackFields, selectField, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, toModel, toXml, totalPages, updateLayer };
31672
31710
  //# sourceMappingURL=geonetwork-ui.mjs.map