geonetwork-ui 2.10.0-dev.91673b3ba → 2.10.0-dev.981f59a75

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 (161) hide show
  1. package/fesm2022/geonetwork-ui.mjs +1536 -6196
  2. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  3. package/index.d.ts +257 -182
  4. package/index.d.ts.map +1 -1
  5. package/package.json +25 -35
  6. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +9 -0
  7. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +2 -0
  8. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -0
  9. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +7 -0
  10. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +1 -0
  11. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -0
  12. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
  13. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -0
  14. package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +2 -0
  15. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -0
  16. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +1 -0
  17. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +2 -0
  18. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +1 -0
  19. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +8 -0
  20. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +48 -7
  21. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +1 -0
  22. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +6 -5
  23. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
  24. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  25. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +7 -0
  26. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +8 -0
  27. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +12 -0
  28. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +14 -0
  29. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +33 -0
  30. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +36 -0
  31. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +8 -4
  32. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +2 -2
  33. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +59 -37
  34. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -1
  35. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +1 -1
  36. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -2
  37. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +13 -5
  38. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +2 -1
  39. package/src/libs/common/domain/src/lib/model/user/group.model.ts +8 -0
  40. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  41. package/src/libs/common/domain/src/lib/platform.service.interface.ts +2 -0
  42. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +56 -0
  43. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +5 -2
  44. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +10 -1
  45. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +26 -19
  46. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +15 -2
  47. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +0 -2
  48. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.css +0 -0
  49. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.html +68 -0
  50. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.ts +39 -0
  51. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +5 -14
  52. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +3 -28
  53. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +18 -3
  54. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +33 -40
  55. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +5 -5
  56. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -1
  57. package/src/libs/feature/editor/src/lib/components/record-form/form-field/field-focus.directive.ts +41 -0
  58. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +33 -34
  59. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +9 -2
  60. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +12 -0
  61. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +1 -1
  62. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-single-link-resource/form-field-online-single-link-resource.component.css +0 -0
  63. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-single-link-resource/form-field-online-single-link-resource.component.html +5 -0
  64. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-single-link-resource/form-field-online-single-link-resource.component.ts +89 -0
  65. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +12 -5
  66. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +4 -4
  67. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +7 -0
  68. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.ts +2 -2
  69. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +6 -2
  70. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +3 -1
  71. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.css +3 -0
  72. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +21 -16
  73. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +14 -0
  74. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  75. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.css +35 -0
  76. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +18 -5
  77. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +118 -5
  78. package/src/libs/feature/editor/src/lib/expressions.ts +380 -8
  79. package/src/libs/feature/editor/src/lib/fields.config.ts +310 -336
  80. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +6 -3
  81. package/src/libs/feature/editor/src/lib/services/editor.service.ts +9 -13
  82. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +33 -0
  83. package/src/libs/feature/notify-reuse/src/index.ts +1 -0
  84. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.css +0 -0
  85. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.html +111 -0
  86. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +229 -0
  87. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +9 -1
  88. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +10 -5
  89. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +2 -2
  90. package/src/libs/ui/dataviz/src/index.ts +0 -1
  91. package/src/libs/ui/elements/src/index.ts +2 -0
  92. package/src/libs/ui/elements/src/lib/contact-details/contact-details.component.html +88 -0
  93. package/src/libs/ui/elements/src/lib/contact-details/contact-details.component.ts +45 -0
  94. package/src/libs/ui/elements/src/lib/contact-pill/contact-pill.component.html +29 -4
  95. package/src/libs/ui/elements/src/lib/contact-pill/contact-pill.component.ts +51 -7
  96. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +2 -1
  97. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +2 -2
  98. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +13 -0
  99. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +13 -3
  100. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +43 -6
  101. package/src/libs/ui/elements/src/lib/keyword-badge/keyword-badge.component.html +14 -0
  102. package/src/libs/ui/elements/src/lib/keyword-badge/keyword-badge.component.ts +85 -0
  103. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  104. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -5
  105. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +5 -0
  106. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +7 -10
  107. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -2
  108. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +4 -5
  109. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +4 -0
  110. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +33 -26
  111. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +9 -0
  112. package/src/libs/ui/inputs/src/lib/button/button.component.ts +4 -0
  113. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +2 -2
  114. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  115. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +3 -3
  116. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.css +0 -3
  117. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +11 -7
  118. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +56 -30
  119. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +2 -2
  120. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +2 -1
  121. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +5 -5
  122. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +9 -1
  123. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -1
  124. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +3 -8
  125. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +7 -7
  126. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +14 -1
  127. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +2 -1
  128. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +15 -64
  129. package/src/libs/ui/map/src/lib/map-utils.ts +48 -0
  130. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +1 -1
  131. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +12 -8
  132. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +3 -1
  133. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -0
  134. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +7 -1
  135. package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.html +1 -1
  136. package/src/libs/util/app-config/src/lib/app-config.ts +70 -9
  137. package/src/libs/util/app-config/src/lib/model.ts +7 -0
  138. package/src/libs/util/app-config/src/lib/parse-utils.ts +50 -1
  139. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -2
  140. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +6 -3
  141. package/src/libs/util/i18n/src/index.ts +0 -1
  142. package/src/libs/util/i18n/src/lib/i18n.constants.ts +17 -11
  143. package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +2 -2
  144. package/src/libs/util/i18n/src/lib/i18n.providers.ts +14 -17
  145. package/src/libs/util/i18n/src/lib/test.translate.loader.ts +48 -0
  146. package/src/libs/util/shared/src/lib/links/link-utils.ts +23 -1
  147. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +33 -18
  148. package/src/libs/util/shared/src/lib/services/date.service.ts +3 -3
  149. package/src/libs/util/shared/src/lib/utils/geojson.ts +58 -1
  150. package/src/libs/util/shared/src/lib/utils/user-display.ts +9 -0
  151. package/style.css +0 -1
  152. package/tailwind.base.css +20 -2
  153. package/translations/de.json +93 -48
  154. package/translations/en.json +98 -53
  155. package/translations/es.json +67 -22
  156. package/translations/fr.json +95 -50
  157. package/translations/it.json +94 -49
  158. package/translations/nl.json +66 -21
  159. package/translations/pt.json +67 -22
  160. package/translations/sk.json +67 -22
  161. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.css +0 -3
package/index.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import * as geojson from 'geojson';
2
- import { Geometry, Feature, FeatureCollection } from 'geojson';
2
+ import { Geometry, Feature, Polygon, FeatureCollection } from 'geojson';
3
3
  import { XmlElement, XmlDocument, XmlComment, XmlProcessingInstruction, XmlDeclaration, XmlDocumentType, XmlCdata, XmlText } from '@rgrove/parse-xml';
4
4
  export { XmlDocument, XmlElement } from '@rgrove/parse-xml';
5
5
  import * as i0 from '@angular/core';
6
- import { InjectionToken, Provider, OnInit, AfterViewInit, OnDestroy, OnChanges, ElementRef, EventEmitter, SimpleChanges, TemplateRef, Type, ViewContainerRef, AfterViewChecked, QueryList, Injector, ModuleWithProviders, EnvironmentProviders } from '@angular/core';
6
+ import { InjectionToken, Provider, OnInit, AfterViewInit, OnDestroy, OnChanges, ElementRef, EventEmitter, SimpleChanges, TemplateRef, Type, ViewContainerRef, AfterViewChecked, QueryList, Injector, Signal, ModuleWithProviders, EnvironmentProviders } from '@angular/core';
7
7
  import * as rxjs from 'rxjs';
8
8
  import { Observable, Subject, BehaviorSubject, Subscription, ReplaySubject } from 'rxjs';
9
9
  import { Store, NamedNode } from 'rdflib';
10
10
  import { ContentType } from 'rdflib/lib/types';
11
11
  import { HttpParameterCodec, HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';
12
- import { TranslateService, TranslateModuleConfig, TranslateLoader, TranslateCompiler } from '@ngx-translate/core';
12
+ import { TranslateService, TranslateModuleConfig } from '@ngx-translate/core';
13
13
  import * as _geospatial_sdk_core from '@geospatial-sdk/core';
14
- import { MapContext, MapContextLayer, Extent, SourceLoadErrorEvent } from '@geospatial-sdk/core';
14
+ import { MapContext, MapContextLayer, Extent, SourceLoadErrorEvent, MapContextLayerGeojson } from '@geospatial-sdk/core';
15
15
  import * as _ngrx_store from '@ngrx/store';
16
16
  import { Action } from '@ngrx/store';
17
17
  import { Style } from 'ol/style.js';
@@ -46,7 +46,6 @@ import { CdkDragDrop } from '@angular/cdk/drag-drop';
46
46
  import { Locale } from 'date-fns/locale';
47
47
  import { ViewportScroller } from '@angular/common';
48
48
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
49
- import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
50
49
 
51
50
  type LanguageCode = string;
52
51
  type FieldTranslation = Record<LanguageCode, string>;
@@ -100,7 +99,7 @@ interface Individual {
100
99
 
101
100
  type KeywordType = 'place' | 'temporal' | 'theme' | 'other';
102
101
  interface ThesaurusModel {
103
- id: string;
102
+ id?: string;
104
103
  name?: string;
105
104
  url?: URL;
106
105
  thesaurusKey?: string;
@@ -136,12 +135,9 @@ interface Keyword {
136
135
  type: KeywordType;
137
136
  thesaurus?: ThesaurusModel;
138
137
  bbox?: [number, number, number, number];
138
+ hierarchyPath?: string[];
139
139
  translations?: KeywordTranslations;
140
140
  }
141
- interface INSPIRE_topic {
142
- value: string;
143
- label: string;
144
- }
145
141
  interface ResourceIdentifier$1 {
146
142
  code: string;
147
143
  codeSpace?: string;
@@ -229,10 +225,19 @@ interface DatasetTemporalExtent {
229
225
  start: Date;
230
226
  end?: Date;
231
227
  }
228
+ /**
229
+ * Represents a source dataset referenced from a lineage entry.
230
+ */
231
+ interface SourceRecord {
232
+ uuid?: string;
233
+ title?: string;
234
+ href?: string;
235
+ }
232
236
  interface DatasetRecord extends BaseRecord {
233
237
  kind: 'dataset';
234
238
  status: RecordStatus;
235
239
  lineage: string;
240
+ sourceRecords: Array<SourceRecord>;
236
241
  onlineResources: Array<DatasetOnlineResource>;
237
242
  spatialExtents: Array<DatasetSpatialExtent>;
238
243
  temporalExtents: Array<DatasetTemporalExtent>;
@@ -256,6 +261,7 @@ interface ServiceRecord extends BaseRecord {
256
261
  interface ReuseRecord extends BaseRecord {
257
262
  kind: 'reuse';
258
263
  lineage: string;
264
+ sourceRecords: Array<SourceRecord>;
259
265
  onlineResources: Array<DatasetOnlineResource>;
260
266
  reuseType: ReuseType;
261
267
  spatialExtents: Array<DatasetSpatialExtent>;
@@ -427,6 +433,7 @@ type ThesaurusName = string;
427
433
  interface Thesaurus {
428
434
  id?: string;
429
435
  title?: string;
436
+ multilingualTitle?: MultilingualField;
430
437
  theme?: string;
431
438
  link?: string;
432
439
  keywords: MultilingualField[];
@@ -687,7 +694,17 @@ declare const getAsUrl: (field: any, location?: string) => URL;
687
694
  declare const mapLogo: (source: SourceWithUnknownProps) => URL;
688
695
  declare const mapOrganization: (sourceContact: SourceWithUnknownProps, lang3: string) => Organization;
689
696
  declare const mapContact: (sourceContact: SourceWithUnknownProps, lang3: string) => Individual;
690
- declare const mapKeywords: (thesauri: Thesaurus[], language: string) => any[];
697
+ interface KeywordTree {
698
+ default?: string[];
699
+ }
700
+ /**
701
+ * Resolves a keyword's ancestor path within its thesaurus tree, or null for a
702
+ * root-level keyword (no ancestors to show). Tree entries are `^`-joined label
703
+ * paths (default language); they aren't index-aligned with the keywords, so we
704
+ * match on the last segment (not by position/URI), shortest path on poly-hierarchy.
705
+ */
706
+ declare const getKeywordHierarchyPath: (keywordDefaultLabel: string, tree?: KeywordTree | null) => string[] | null;
707
+ declare const mapKeywords: (thesauri: Record<string, Thesaurus>, language: string, source?: SourceWithUnknownProps) => any[];
691
708
 
692
709
  type ESResponseSource = SourceWithUnknownProps;
693
710
  type EsFieldMapperFn = (output: Partial<CatalogRecord>, source: ESResponseSource) => Partial<CatalogRecord>;
@@ -1077,6 +1094,7 @@ declare abstract class RecordsRepositoryInterface {
1077
1094
 
1078
1095
  type RecordAsXml = string;
1079
1096
  declare const DISABLE_DRAFT: InjectionToken<boolean>;
1097
+ declare const DEFAULT_RECORD_CONVERTER: InjectionToken<BaseConverter<string>>;
1080
1098
  declare class Gn4Repository implements RecordsRepositoryInterface {
1081
1099
  private httpClient;
1082
1100
  private gn4SearchApi;
@@ -1087,6 +1105,7 @@ declare class Gn4Repository implements RecordsRepositoryInterface {
1087
1105
  private gn4LanguagesApi;
1088
1106
  private settingsService;
1089
1107
  private disableDraft;
1108
+ private defaultConverter;
1090
1109
  _draftsChanged: Subject<void>;
1091
1110
  draftsChanged$: Observable<void>;
1092
1111
  search({ filters, fields, offset, limit, sort, filterIds, filterGeometry, }: SearchParams): Observable<SearchResults>;
@@ -1746,6 +1765,15 @@ interface UserModel {
1746
1765
  profileIcon?: string;
1747
1766
  }
1748
1767
 
1768
+ interface GroupModel {
1769
+ groupId: number;
1770
+ groupName: string;
1771
+ isMember: boolean;
1772
+ canEdit: boolean;
1773
+ canApprove: boolean;
1774
+ canAdministrate: boolean;
1775
+ }
1776
+
1749
1777
  interface RecordAttachment {
1750
1778
  url: URL;
1751
1779
  fileName: string;
@@ -1765,6 +1793,7 @@ declare abstract class PlatformServiceInterface {
1765
1793
  abstract getMe(): Observable<UserModel>;
1766
1794
  abstract isAnonymous(): Observable<boolean>;
1767
1795
  abstract getUsers(): Observable<UserModel[]>;
1796
+ abstract getUserPermissionsByGroup(): Observable<GroupModel[]>;
1768
1797
  abstract getUsersByOrganization(organisation: Organization): Observable<UserModel[]>;
1769
1798
  abstract getOrganizations(): Observable<Organization[]>;
1770
1799
  abstract translateKey(key: string): Observable<string>;
@@ -1923,6 +1952,7 @@ declare const DISABLE_AUTH: InjectionToken<boolean>;
1923
1952
  declare class Gn4PlatformService implements PlatformServiceInterface {
1924
1953
  private meApi;
1925
1954
  private usersApi;
1955
+ private groupsApi;
1926
1956
  private mapper;
1927
1957
  private toolsApiService;
1928
1958
  private registriesApiService;
@@ -1954,6 +1984,7 @@ declare class Gn4PlatformService implements PlatformServiceInterface {
1954
1984
  getOrganizations(): Observable<Organization[]>;
1955
1985
  getUsersByOrganization(organisation: Organization): Observable<UserModel[]>;
1956
1986
  getUsers(): Observable<UserModel[]>;
1987
+ getUserPermissionsByGroup(): Observable<GroupModel[]>;
1957
1988
  translateKey(key: string): Observable<string>;
1958
1989
  private allThesaurus$;
1959
1990
  searchKeywords(query: string, keywordTypes: KeywordType[]): Observable<Keyword[]>;
@@ -2118,6 +2149,20 @@ declare function createFuzzyFilter(pattern: string): FuzzyFilter;
2118
2149
  declare function getGeometryFromGeoJSON(data: FeatureCollection | Feature | Geometry): Geometry | null;
2119
2150
  type BoundingBox = [number, number, number, number];
2120
2151
  declare function getGeometryBoundingBox(geometry: Geometry): BoundingBox;
2152
+ /**
2153
+ * Builds the closed GeoJSON Polygon matching the given bounding box.
2154
+ */
2155
+ declare function bboxToPolygon(bbox: BoundingBox): Polygon;
2156
+ /**
2157
+ * Returns the geometry carried by a spatial extent, falling back to the polygon
2158
+ * derived from its bounding box. Returns null when the extent has neither.
2159
+ */
2160
+ declare function spatialExtentToGeometry(extent: DatasetSpatialExtent): Geometry | null;
2161
+ /**
2162
+ * Converts a list of dataset spatial extents into a GeoJSON FeatureCollection,
2163
+ * e.g. to be used as the data source of a map layer.
2164
+ */
2165
+ declare function spatialExtentsToFeatureCollection(extents: DatasetSpatialExtent[]): FeatureCollection;
2121
2166
 
2122
2167
  declare function downsizeImage(blob: Blob, maxWidth: number, maxHeight: number): Promise<Blob>;
2123
2168
  declare function downgradeImage(blob: Blob, maxSizeBytes: number): Promise<Blob>;
@@ -2166,6 +2211,7 @@ declare function getTemporalRangeUnion(ranges: {
2166
2211
  declare function removeSearchParams(url: string, searchParams: string[]): string;
2167
2212
 
2168
2213
  declare function getIndividualDisplayName(individual: Individual): string;
2214
+ declare function getAddressLines(address: string | undefined): string[];
2169
2215
  declare function toIndividual(user: UserModel): Individual;
2170
2216
 
2171
2217
  declare const FORMATS: {
@@ -2345,8 +2391,12 @@ declare class ImageFallbackDirective {
2345
2391
  declare const GEONETWORK_UI_VERSION: string;
2346
2392
  declare const GEONETWORK_UI_TAG_NAME: string;
2347
2393
 
2394
+ type TValidatorEntry = {
2395
+ validator: (metadata: Partial<CatalogRecord>) => boolean;
2396
+ alias?: string;
2397
+ };
2348
2398
  type TValidatorMapper = {
2349
- [key: string]: (metadata: Partial<CatalogRecord>) => boolean;
2399
+ [key: string]: TValidatorEntry;
2350
2400
  };
2351
2401
  declare const ValidatorMapper: TValidatorMapper;
2352
2402
  type ValidatorMapperKeys = keyof typeof ValidatorMapper & string;
@@ -2354,6 +2404,7 @@ declare function getAllKeysValidator(): string[];
2354
2404
  declare function getQualityValidators(record: Partial<CatalogRecord>, propsToValidate: ValidatorMapperKeys[]): {
2355
2405
  name: string;
2356
2406
  validator: () => boolean;
2407
+ alias: string;
2357
2408
  }[];
2358
2409
 
2359
2410
  declare function updateLanguages<T extends CatalogRecord>(record: T, defaultLanguage: LanguageCode, otherLanguages: LanguageCode[]): T;
@@ -2371,6 +2422,15 @@ declare class GnUiHumanizeDateDirective implements OnInit {
2371
2422
 
2372
2423
  declare class MapUtilsService {
2373
2424
  getRecordExtent(record: Partial<CatalogRecord>): BoundingBox;
2425
+ /**
2426
+ * Builds a non-interactive overlay layer drawing the spatial extent(s)
2427
+ * declared in the record's metadata (bounding boxes and/or geometries).
2428
+ * Returns null when the record has no usable spatial extent.
2429
+ *
2430
+ * This is purely for display and is independent from the map's initial view,
2431
+ * which is derived separately (see {@link getRecordExtent}).
2432
+ */
2433
+ getRecordExtentLayer(record: Partial<CatalogRecord>): MapContextLayer | null;
2374
2434
  static ɵfac: i0.ɵɵFactoryDeclaration<MapUtilsService, never>;
2375
2435
  static ɵprov: i0.ɵɵInjectableDeclaration<MapUtilsService>;
2376
2436
  }
@@ -2696,14 +2756,16 @@ declare class BadgeComponent {
2696
2756
  clickable?: boolean;
2697
2757
  removable?: boolean;
2698
2758
  badgeRemoveClicked: EventEmitter<void>;
2759
+ badgeClicked: EventEmitter<void>;
2699
2760
  removeBadge(): void;
2761
+ handleClick(event: MouseEvent): void;
2700
2762
  static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
2701
- static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "gn-ui-badge", never, { "clickable": { "alias": "clickable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "badgeRemoveClicked": "badgeRemoveClicked"; }, never, ["*"], true, never>;
2763
+ static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "gn-ui-badge", never, { "clickable": { "alias": "clickable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "badgeRemoveClicked": "badgeRemoveClicked"; "badgeClicked": "badgeClicked"; }, never, ["*"], true, never>;
2702
2764
  }
2703
2765
 
2704
2766
  declare class ButtonComponent {
2705
2767
  private btnClass;
2706
- set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'black' | 'primary-light');
2768
+ set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'gray-light' | 'black' | 'primary-light');
2707
2769
  disabled: boolean;
2708
2770
  extraClass: string;
2709
2771
  buttonClick: EventEmitter<Event>;
@@ -2814,7 +2876,7 @@ declare class DropdownMultiselectComponent {
2814
2876
  overlayPositions: ConnectedPosition[];
2815
2877
  scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
2816
2878
  overlayOpen: boolean;
2817
- overlayWidth: string;
2879
+ overlayMinWidth: string;
2818
2880
  overlayMaxHeight: string;
2819
2881
  id: string;
2820
2882
  get hasSelectedChoices(): boolean;
@@ -2997,20 +3059,21 @@ declare class TextAreaComponent implements AfterViewInit {
2997
3059
  static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "gn-ui-text-area", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
2998
3060
  }
2999
3061
 
3000
- declare class TextInputComponent implements AfterViewInit {
3001
- value: string;
3002
- extraClass: string;
3003
- placeholder: string;
3004
- required: boolean;
3005
- disabled: boolean;
3006
- rawChange: Subject<string>;
3007
- valueChange: rxjs.Observable<string>;
3008
- input: any;
3009
- ngAfterViewInit(): void;
3010
- checkRequired(value: any): void;
3011
- handleChange($event: any): void;
3062
+ declare class TextInputComponent {
3063
+ value: i0.InputSignalWithTransform<string, string>;
3064
+ extraClass: i0.InputSignal<string>;
3065
+ placeholder: i0.InputSignal<string>;
3066
+ required: i0.InputSignal<boolean>;
3067
+ disabled: i0.InputSignal<boolean>;
3068
+ type: i0.InputSignalWithTransform<string, string>;
3069
+ valueChange: i0.OutputEmitterRef<string>;
3070
+ inputModel: i0.WritableSignal<string>;
3071
+ inputRef: i0.Signal<ElementRef<HTMLInputElement>>;
3072
+ isValid: i0.Signal<boolean>;
3073
+ private lastEmittedValue;
3074
+ handleChange($event: Event): void;
3012
3075
  static ɵfac: i0.ɵɵFactoryDeclaration<TextInputComponent, never>;
3013
- static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "gn-ui-text-input", never, { "value": { "alias": "value"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
3076
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextInputComponent, "gn-ui-text-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "extraClass": { "alias": "extraClass"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
3014
3077
  }
3015
3078
 
3016
3079
  declare class UrlInputComponent implements OnChanges {
@@ -3029,7 +3092,7 @@ declare class UrlInputComponent implements OnChanges {
3029
3092
  inputValue: string;
3030
3093
  ngOnChanges(changes: SimpleChanges): void;
3031
3094
  handleInput(event: Event): void;
3032
- handleUpload(element: HTMLInputElement): void;
3095
+ handleUpload(element: HTMLInputElement, event: Event): void;
3033
3096
  isValidUrl(url: string): boolean;
3034
3097
  static ɵfac: i0.ɵɵFactoryDeclaration<UrlInputComponent, never>;
3035
3098
  static ɵcmp: i0.ɵɵComponentDeclaration<UrlInputComponent, "gn-ui-url-input", never, { "value": { "alias": "value"; "required": false; }; "extraClass": { "alias": "extraClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showValidateButton": { "alias": "showValidateButton"; "required": false; }; "resetUrlOnChange": { "alias": "resetUrlOnChange"; "required": false; }; }, { "valueChange": "valueChange"; "uploadClick": "uploadClick"; }, never, ["*"], true, never>;
@@ -3138,6 +3201,22 @@ declare class ResultsTableComponent {
3138
3201
  static ɵcmp: i0.ɵɵComponentDeclaration<ResultsTableComponent, "gn-ui-results-table", never, { "records": { "alias": "records"; "required": false; }; "selectedRecordsIdentifiers": { "alias": "selectedRecordsIdentifiers"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "hasDraft": { "alias": "hasDraft"; "required": false; }; "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "canEdit": { "alias": "canEdit"; "required": false; }; "isDraftPage": { "alias": "isDraftPage"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; }, { "sortByChange": "sortByChange"; "recordClick": "recordClick"; "duplicateRecord": "duplicateRecord"; "deleteRecord": "deleteRecord"; "rollbackDraft": "rollbackDraft"; "recordsSelectedChange": "recordsSelectedChange"; }, never, never, true, never>;
3139
3202
  }
3140
3203
 
3204
+ type AggregationTypes = 'count' | 'sum' | 'min' | 'max' | 'average';
3205
+ declare const CHART_TYPE_VALUES: readonly ["bar", "bar-horizontal", "line", "line-interpolated", "scatter", "pie"];
3206
+ type InputChartType = (typeof CHART_TYPE_VALUES)[number];
3207
+ interface DatavizChartConfigModel {
3208
+ xProperty: string;
3209
+ yProperty: string;
3210
+ aggregation: AggregationTypes;
3211
+ chartType: InputChartType;
3212
+ }
3213
+ interface DatavizConfigModel {
3214
+ view: string;
3215
+ source: DatasetOnlineResource;
3216
+ chartConfig?: DatavizChartConfigModel;
3217
+ styleTMSIndex?: number;
3218
+ }
3219
+
3141
3220
  type ActionMenuPage = 'mainMenu' | 'deleteMenu' | 'rollbackMenu';
3142
3221
  declare class ActionMenuComponent {
3143
3222
  dialog: MatDialog;
@@ -3146,6 +3225,7 @@ declare class ActionMenuComponent {
3146
3225
  isDuplicating: boolean;
3147
3226
  canDelete: boolean;
3148
3227
  page: 'draft' | 'main' | 'record';
3228
+ recordKind: RecordKind;
3149
3229
  duplicate: EventEmitter<void>;
3150
3230
  delete: EventEmitter<void>;
3151
3231
  closeActionMenu: EventEmitter<void>;
@@ -3156,7 +3236,7 @@ declare class ActionMenuComponent {
3156
3236
  displayMainMenu(): void;
3157
3237
  displayDeleteMenu(): void;
3158
3238
  static ɵfac: i0.ɵɵFactoryDeclaration<ActionMenuComponent, never>;
3159
- static ɵcmp: i0.ɵɵComponentDeclaration<ActionMenuComponent, "gn-ui-action-menu", never, { "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "page": { "alias": "page"; "required": false; }; }, { "duplicate": "duplicate"; "delete": "delete"; "closeActionMenu": "closeActionMenu"; "rollback": "rollback"; "switch": "switch"; }, never, never, true, never>;
3239
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionMenuComponent, "gn-ui-action-menu", never, { "canDuplicate": { "alias": "canDuplicate"; "required": false; }; "isDuplicating": { "alias": "isDuplicating"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "page": { "alias": "page"; "required": false; }; "recordKind": { "alias": "recordKind"; "required": false; }; }, { "duplicate": "duplicate"; "delete": "delete"; "closeActionMenu": "closeActionMenu"; "rollback": "rollback"; "switch": "switch"; }, never, never, true, never>;
3160
3240
  }
3161
3241
 
3162
3242
  declare class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
@@ -3899,7 +3979,7 @@ declare class InteractiveTableComponent {
3899
3979
  get gridStyle(): {
3900
3980
  'grid-template-columns': string;
3901
3981
  };
3902
- getItemTitle(item: CatalogRecord): "" | "editor.record.lock.resourceType" | "editor.record.lock.harvested" | "editor.record.lock.owner";
3982
+ getItemTitle(item: CatalogRecord): "" | "editor.record.lock.harvested" | "editor.record.lock.owner";
3903
3983
  handleRowClick(item: unknown): void;
3904
3984
  static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveTableComponent, never>;
3905
3985
  static ɵcmp: i0.ɵɵComponentDeclaration<InteractiveTableComponent, "gn-ui-interactive-table", never, { "items": { "alias": "items"; "required": false; }; "canEditItem": { "alias": "canEditItem"; "required": false; }; "isDraftPage": { "alias": "isDraftPage"; "required": false; }; }, { "itemClick": "itemClick"; }, ["columns"], never, true, never>;
@@ -4142,11 +4222,16 @@ declare class ImageInputComponent {
4142
4222
  }
4143
4223
 
4144
4224
  declare class ImageOverlayPreviewComponent {
4145
- imageUrl: string;
4146
- isPlaceholderShown: EventEmitter<boolean>;
4147
- openLightbox(src: string): void;
4225
+ imageUrl: i0.InputSignal<string>;
4226
+ isPlaceholderShown: i0.OutputEmitterRef<boolean>;
4227
+ private imageTemplate;
4228
+ private overlay;
4229
+ private viewContainerRef;
4230
+ private overlayRef;
4231
+ openLightbox(): void;
4232
+ closeLightbox(): void;
4148
4233
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageOverlayPreviewComponent, never>;
4149
- static ɵcmp: i0.ɵɵComponentDeclaration<ImageOverlayPreviewComponent, "gn-ui-image-overlay-preview", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "isPlaceholderShown": "isPlaceholderShown"; }, never, never, true, never>;
4234
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageOverlayPreviewComponent, "gn-ui-image-overlay-preview", never, { "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; }, { "isPlaceholderShown": "isPlaceholderShown"; }, never, never, true, never>;
4150
4235
  }
4151
4236
 
4152
4237
  declare class KindBadgeComponent {
@@ -4188,6 +4273,20 @@ declare class MarkdownEditorComponent {
4188
4273
  static ɵcmp: i0.ɵɵComponentDeclaration<MarkdownEditorComponent, "gn-ui-markdown-editor", never, { "preview": { "alias": "preview"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "textContent": { "alias": "textContent"; "required": false; }; "textAreaExtraClass": { "alias": "textAreaExtraClass"; "required": false; }; }, { "textContentChanged": "textContentChanged"; }, never, never, true, never>;
4189
4274
  }
4190
4275
 
4276
+ declare class KeywordBadgeComponent implements AfterViewInit {
4277
+ private translateService;
4278
+ keyword: Keyword;
4279
+ editable: boolean;
4280
+ keywordClick: EventEmitter<Keyword>;
4281
+ keywordRemove: EventEmitter<Keyword>;
4282
+ badgeComponent: ElementRef;
4283
+ get segments(): string[];
4284
+ get isPlaceWithoutExtent(): boolean;
4285
+ ngAfterViewInit(): void;
4286
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeywordBadgeComponent, never>;
4287
+ static ɵcmp: i0.ɵɵComponentDeclaration<KeywordBadgeComponent, "gn-ui-keyword-badge", never, { "keyword": { "alias": "keyword"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; }, { "keywordClick": "keywordClick"; "keywordRemove": "keywordRemove"; }, never, never, true, never>;
4288
+ }
4289
+
4191
4290
  declare class MarkdownParserComponent {
4192
4291
  textContent: string;
4193
4292
  whitoutStyles?: boolean;
@@ -4281,11 +4380,27 @@ declare class MetadataQualityComponent implements OnChanges {
4281
4380
 
4282
4381
  declare class ContactPillComponent {
4283
4382
  contact: Individual;
4383
+ private host;
4384
+ overlayOpen: boolean;
4385
+ overlayWidth: number;
4386
+ overlayOffsetX: number;
4387
+ overlayPositions: ConnectedPosition[];
4284
4388
  get displayName(): string;
4389
+ toggleOverlay(): void;
4390
+ closeOverlay(): void;
4285
4391
  static ɵfac: i0.ɵɵFactoryDeclaration<ContactPillComponent, never>;
4286
4392
  static ɵcmp: i0.ɵɵComponentDeclaration<ContactPillComponent, "gn-ui-contact-pill", never, { "contact": { "alias": "contact"; "required": false; }; }, {}, never, never, true, never>;
4287
4393
  }
4288
4394
 
4395
+ declare class ContactDetailsComponent {
4396
+ contact: Individual;
4397
+ get organization(): Organization;
4398
+ get displayName(): string;
4399
+ get addressLines(): string[];
4400
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContactDetailsComponent, never>;
4401
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContactDetailsComponent, "gn-ui-contact-details", never, { "contact": { "alias": "contact"; "required": false; }; }, {}, never, never, true, never>;
4402
+ }
4403
+
4289
4404
  declare class NotificationComponent {
4290
4405
  type: 'info' | 'warning' | 'error' | 'success';
4291
4406
  title: string;
@@ -4725,22 +4840,6 @@ declare class FeatureRecordModule {
4725
4840
  static ɵinj: i0.ɵɵInjectorDeclaration<FeatureRecordModule>;
4726
4841
  }
4727
4842
 
4728
- type AggregationTypes = 'count' | 'sum' | 'min' | 'max' | 'average';
4729
- declare const CHART_TYPE_VALUES: readonly ["bar", "bar-horizontal", "line", "line-interpolated", "scatter", "pie"];
4730
- type InputChartType = (typeof CHART_TYPE_VALUES)[number];
4731
- interface DatavizChartConfigModel {
4732
- xProperty: string;
4733
- yProperty: string;
4734
- aggregation: AggregationTypes;
4735
- chartType: InputChartType;
4736
- }
4737
- interface DatavizConfigModel {
4738
- view: string;
4739
- source: DatasetOnlineResource;
4740
- chartConfig?: DatavizChartConfigModel;
4741
- styleTMSIndex?: number;
4742
- }
4743
-
4744
4843
  type DataItem = Feature;
4745
4844
  declare class FetchError {
4746
4845
  type: 'http' | 'forbidden' | 'network' | 'parse' | 'unsupportedType' | 'unknown';
@@ -4912,7 +5011,7 @@ declare class ChartViewComponent {
4912
5011
  set link(value: DatasetOnlineResource);
4913
5012
  private currentLink$;
4914
5013
  set aggregation(value: FieldAggregation[0]);
4915
- aggregation$: BehaviorSubject<"average" | "count" | "max" | "min" | "sum">;
5014
+ aggregation$: BehaviorSubject<"count" | "sum" | "min" | "max" | "average">;
4916
5015
  set xProperty(value: string);
4917
5016
  xProperty$: BehaviorSubject<string>;
4918
5017
  set yProperty(value: string);
@@ -4921,7 +5020,7 @@ declare class ChartViewComponent {
4921
5020
  chartType$: BehaviorSubject<"line" | "bar" | "bar-horizontal" | "line-interpolated" | "scatter" | "pie">;
4922
5021
  set userChartConfig(config: DatavizChartConfigModel);
4923
5022
  chartConfig$: Observable<{
4924
- aggregation: "average" | "count" | "max" | "min" | "sum";
5023
+ aggregation: "count" | "sum" | "min" | "max" | "average";
4925
5024
  xProperty: string;
4926
5025
  yProperty: string;
4927
5026
  chartType: "line" | "bar" | "bar-horizontal" | "line-interpolated" | "scatter" | "pie";
@@ -5026,15 +5125,6 @@ declare class DataTableComponent implements OnInit, AfterViewInit, OnChanges {
5026
5125
  static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "gn-ui-data-table", never, { "featureAttributes": { "alias": "featureAttributes"; "required": false; }; "dataset": { "alias": "dataset"; "required": false; }; "activeId": { "alias": "activeId"; "required": false; }; }, { "selected": "selected"; }, never, never, true, never>;
5027
5126
  }
5028
5127
 
5029
- declare const tableItemsFixture: {
5030
- items: DataItem[];
5031
- properties: PropertyInfo[];
5032
- };
5033
- declare const someHabTableItemFixture: {
5034
- items: DataItem[];
5035
- properties: PropertyInfo[];
5036
- };
5037
-
5038
5128
  declare class FigureComponent {
5039
5129
  icon: string;
5040
5130
  title: string;
@@ -5133,16 +5223,34 @@ declare class MapLegendComponent implements OnChanges {
5133
5223
  static ɵcmp: i0.ɵɵComponentDeclaration<MapLegendComponent, "gn-ui-map-legend", never, { "context": { "alias": "context"; "required": false; }; }, { "legendStatusChange": "legendStatusChange"; }, never, never, true, never>;
5134
5224
  }
5135
5225
 
5226
+ type SpatialExtentLayerStyle = NonNullable<MapContextLayerGeojson['style']>;
5227
+ /**
5228
+ * Default style for a spatial-extent layer: a solid black outline over a
5229
+ * translucent grey fill.
5230
+ */
5231
+ declare const DEFAULT_SPATIAL_EXTENT_STYLE: SpatialExtentLayerStyle;
5232
+ /**
5233
+ * Builds a GeoJSON map layer drawing the given spatial extents: each extent is
5234
+ * rendered from its own geometry or, when only a bounding box is available,
5235
+ * from a polygon derived from that box.
5236
+ *
5237
+ * @returns the layer, or `null` when none of the extents can be represented.
5238
+ */
5239
+ declare function createSpatialExtentLayer(extents: DatasetSpatialExtent[], overrides?: {
5240
+ label?: string;
5241
+ clickable?: boolean;
5242
+ style?: SpatialExtentLayerStyle;
5243
+ }): MapContextLayer | null;
5136
5244
  declare function prioritizePageScroll(interactions: Collection<Interaction>): void;
5137
5245
  declare function dragPanCondition(this: DragPan, event: MapBrowserEvent<PointerEvent>): boolean;
5138
5246
  declare function mouseWheelZoomCondition(this: MouseWheelZoom, event: MapBrowserEvent<WheelEvent>): boolean;
5139
5247
 
5140
5248
  declare class SpatialExtentComponent {
5249
+ private _cdr;
5141
5250
  set spatialExtents(value: DatasetSpatialExtent[]);
5142
5251
  spatialExtents$: BehaviorSubject<DatasetSpatialExtent[]>;
5143
5252
  mapContext$: Observable<MapContext>;
5144
5253
  error: string;
5145
- bboxCoordsToGeometry(bbox: [number, number, number, number]): Geometry;
5146
5254
  static ɵfac: i0.ɵɵFactoryDeclaration<SpatialExtentComponent, never>;
5147
5255
  static ɵcmp: i0.ɵɵComponentDeclaration<SpatialExtentComponent, "gn-ui-spatial-extent", never, { "spatialExtents": { "alias": "spatialExtents"; "required": false; }; }, {}, never, never, true, never>;
5148
5256
  }
@@ -5753,7 +5861,8 @@ interface FormFieldConfig {
5753
5861
  }
5754
5862
  type OnlineLinkResourceSpecifier = `onlineResourceType:link`;
5755
5863
  type DatasetDistributionsSpecifier = `onlineResourceType:!link`;
5756
- type FieldModelSpecifier = OnlineLinkResourceSpecifier | DatasetDistributionsSpecifier;
5864
+ type EditableContactDetailsSpecifier = `contact:editableDetails`;
5865
+ type FieldModelSpecifier = OnlineLinkResourceSpecifier | DatasetDistributionsSpecifier | EditableContactDetailsSpecifier;
5757
5866
  type FormFieldComponentName = 'form-field-constraints-shortcuts' | 'form-field-spatial-toggle';
5758
5867
  interface EditorFieldIdentification {
5759
5868
  model?: CatalogRecordKeys;
@@ -5763,20 +5872,20 @@ interface EditorFieldIdentification {
5763
5872
  interface EditorField extends EditorFieldIdentification {
5764
5873
  formFieldConfig: FormFieldConfig;
5765
5874
  gridColumnSpan?: number;
5766
- hidden?: boolean;
5875
+ hidden?: boolean | EditorFieldExpression;
5767
5876
  onSaveProcess?: EditorFieldExpression;
5768
5877
  }
5769
5878
  interface EditorSection {
5770
5879
  labelKey?: string;
5771
5880
  descriptionKey?: string;
5772
- hidden: boolean;
5881
+ hidden?: boolean | EditorFieldExpression;
5773
5882
  fields: EditorField[];
5774
5883
  }
5775
5884
  interface EditorFieldPage {
5776
5885
  labelKey?: string;
5777
5886
  sections: EditorSection[];
5778
5887
  }
5779
- interface EditorConfig {
5888
+ interface EditorConfig$1 {
5780
5889
  pages: EditorFieldPage[];
5781
5890
  }
5782
5891
 
@@ -5811,7 +5920,11 @@ declare const updateRecordLanguages: _ngrx_store.ActionCreator<"[Editor] Update
5811
5920
  otherLanguages: LanguageCode[];
5812
5921
  } & _ngrx_store.Action<"[Editor] Update record languages">>;
5813
5922
  declare const markRecordAsChanged: _ngrx_store.ActionCreator<"[Editor] Mark record as changed", () => _ngrx_store.Action<"[Editor] Mark record as changed">>;
5814
- declare const saveRecord: _ngrx_store.ActionCreator<"[Editor] Save record", () => _ngrx_store.Action<"[Editor] Save record">>;
5923
+ declare const saveRecord: _ngrx_store.ActionCreator<"[Editor] Save record", (props: {
5924
+ publish: boolean;
5925
+ }) => {
5926
+ publish: boolean;
5927
+ } & _ngrx_store.Action<"[Editor] Save record">>;
5815
5928
  declare const saveRecordSuccess: _ngrx_store.ActionCreator<"[Editor] Save record success", () => _ngrx_store.Action<"[Editor] Save record success">>;
5816
5929
  declare const saveRecordFailure: _ngrx_store.ActionCreator<"[Editor] Save record failure", (props: {
5817
5930
  error: SaveRecordError;
@@ -5821,9 +5934,9 @@ declare const saveRecordFailure: _ngrx_store.ActionCreator<"[Editor] Save record
5821
5934
  declare const draftSaveSuccess: _ngrx_store.ActionCreator<"[Editor] Draft save success", () => _ngrx_store.Action<"[Editor] Draft save success">>;
5822
5935
  declare const undoRecordDraft: _ngrx_store.ActionCreator<"[Editor] Undo record draft", () => _ngrx_store.Action<"[Editor] Undo record draft">>;
5823
5936
  declare const setEditorConfiguration: _ngrx_store.ActionCreator<"[Editor] Set editor configuration", (props: {
5824
- configuration: EditorConfig;
5937
+ configuration: EditorConfig$1;
5825
5938
  }) => {
5826
- configuration: EditorConfig;
5939
+ configuration: EditorConfig$1;
5827
5940
  } & _ngrx_store.Action<"[Editor] Set editor configuration">>;
5828
5941
  declare const setCurrentPage: _ngrx_store.ActionCreator<"[Editor] Set current page", (props: {
5829
5942
  page: number;
@@ -5863,6 +5976,11 @@ declare const canEditRecord: _ngrx_store.ActionCreator<"[Editor] User can edit r
5863
5976
  }) => {
5864
5977
  canEditRecord: boolean;
5865
5978
  } & _ngrx_store.Action<"[Editor] User can edit record">>;
5979
+ declare const setFocusedField: _ngrx_store.ActionCreator<"[Editor] Set focused field", (props: {
5980
+ model: CatalogRecordKeys;
5981
+ }) => {
5982
+ model: CatalogRecordKeys;
5983
+ } & _ngrx_store.Action<"[Editor] Set focused field">>;
5866
5984
 
5867
5985
  declare class EditorFacade {
5868
5986
  private readonly store;
@@ -5876,20 +5994,23 @@ declare class EditorFacade {
5876
5994
  currentSections$: rxjs.Observable<geonetwork_ui.EditorSectionWithValues[]>;
5877
5995
  draftSaveSuccess$: rxjs.Observable<_ngrx_store.Action<"[Editor] Draft save success">>;
5878
5996
  currentPage$: rxjs.Observable<number>;
5879
- editorConfig$: rxjs.Observable<EditorConfig>;
5997
+ editorConfig$: rxjs.Observable<EditorConfig$1>;
5880
5998
  hasRecordChanged$: rxjs.Observable<{
5881
5999
  user: string;
5882
6000
  date: Date;
5883
6001
  }>;
5884
6002
  isPublished$: rxjs.Observable<boolean>;
5885
6003
  canEditRecord$: rxjs.Observable<boolean>;
6004
+ focusedField$: rxjs.Observable<CatalogRecordKeys>;
5886
6005
  openRecord(record: CatalogRecord, recordSource: string): void;
5887
6006
  saveRecord(): void;
6007
+ saveAndPublishRecord(): void;
5888
6008
  undoRecordDraft(): void;
5889
6009
  updateRecordField(field: string, value: unknown): void;
5890
6010
  updateRecordLanguages(defaultLanguage: LanguageCode, otherLanguages: LanguageCode[]): void;
5891
- setConfiguration(configuration: EditorConfig): void;
6011
+ setConfiguration(configuration: EditorConfig$1): void;
5892
6012
  setCurrentPage(page: number): void;
6013
+ setFocusedField(model: CatalogRecordKeys): void;
5893
6014
  setFieldVisibility(field: EditorFieldIdentification, visible: boolean): void;
5894
6015
  checkHasRecordChanged(record: CatalogRecord): void;
5895
6016
  isPublished(isPublished: boolean): void;
@@ -5913,7 +6034,7 @@ interface EditorState {
5913
6034
  saving: boolean;
5914
6035
  saveError: SaveRecordError | null;
5915
6036
  changedSinceSave: boolean;
5916
- editorConfig: EditorConfig;
6037
+ editorConfig: EditorConfig$1;
5917
6038
  currentPage: number;
5918
6039
  hasRecordChanged: {
5919
6040
  user: string;
@@ -5934,7 +6055,7 @@ declare const selectRecordSource: _ngrx_store.MemoizedSelector<object, string, (
5934
6055
  declare const selectRecordSaving: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5935
6056
  declare const selectRecordSaveError: _ngrx_store.MemoizedSelector<object, Error, (s1: EditorState) => Error>;
5936
6057
  declare const selectRecordChangedSinceSave: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5937
- declare const selectEditorConfig: _ngrx_store.MemoizedSelector<object, EditorConfig, (s1: EditorState) => EditorConfig>;
6058
+ declare const selectEditorConfig: _ngrx_store.MemoizedSelector<object, EditorConfig$1, (s1: EditorState) => EditorConfig$1>;
5938
6059
  declare const selectCurrentPage: _ngrx_store.MemoizedSelector<object, number, (s1: EditorState) => number>;
5939
6060
  declare const selectRecordSections: _ngrx_store.MemoizedSelector<object, EditorSectionWithValues[], (s1: EditorState) => EditorSectionWithValues[]>;
5940
6061
  declare const selectHasRecordChanged: _ngrx_store.MemoizedSelector<object, {
@@ -5972,18 +6093,20 @@ declare class ImportRecordComponent {
5972
6093
  static ɵcmp: i0.ɵɵComponentDeclaration<ImportRecordComponent, "gn-ui-import-record", never, {}, { "closeImportMenu": "closeImportMenu"; }, never, never, true, never>;
5973
6094
  }
5974
6095
 
5975
- declare class MetadataQualityPanelComponent implements OnChanges {
6096
+ declare class MetadataQualityPanelComponent {
6097
+ facade: EditorFacade;
5976
6098
  propsToValidate: ValidatorMapperKeys[];
5977
- propertiesByPage: {
6099
+ propertiesByPage$: rxjs.Observable<{
5978
6100
  label: string;
5979
6101
  value: boolean;
5980
- }[][];
5981
- editorConfig: EditorConfig;
5982
- record: CatalogRecord;
5983
- ngOnChanges(): void;
5984
- getExtraClass(checked: boolean): string;
6102
+ model: CatalogRecordKeys;
6103
+ }[][]>;
6104
+ onCriterionClick(property: {
6105
+ value: boolean;
6106
+ model: CatalogRecordKeys;
6107
+ }): void;
5985
6108
  static ɵfac: i0.ɵɵFactoryDeclaration<MetadataQualityPanelComponent, never>;
5986
- static ɵcmp: i0.ɵɵComponentDeclaration<MetadataQualityPanelComponent, "gn-ui-metadata-quality-panel", never, { "editorConfig": { "alias": "editorConfig"; "required": false; }; "record": { "alias": "record"; "required": false; }; }, {}, never, never, true, never>;
6109
+ static ɵcmp: i0.ɵɵComponentDeclaration<MetadataQualityPanelComponent, "gn-ui-metadata-quality-panel", never, {}, {}, never, never, true, never>;
5987
6110
  }
5988
6111
 
5989
6112
  declare class MultilingualPanelComponent implements OnDestroy {
@@ -6028,6 +6151,14 @@ declare class MultilingualPanelComponent implements OnDestroy {
6028
6151
  static ɵcmp: i0.ɵɵComponentDeclaration<MultilingualPanelComponent, "gn-ui-multilingual-panel", never, { "record": { "alias": "record"; "required": false; }; }, {}, never, never, true, never>;
6029
6152
  }
6030
6153
 
6154
+ declare class FieldFocusDirective {
6155
+ gnUiFieldFocusGlowClass: string;
6156
+ private el;
6157
+ focusField(focusInnerTarget?: boolean): void;
6158
+ static ɵfac: i0.ɵɵFactoryDeclaration<FieldFocusDirective, never>;
6159
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FieldFocusDirective, "[gnUiFieldFocus]", ["fieldFocus"], { "gnUiFieldFocusGlowClass": { "alias": "gnUiFieldFocusGlowClass"; "required": false; }; }, {}, never, never, true, never>;
6160
+ }
6161
+
6031
6162
  declare class FormFieldKeywordsComponent {
6032
6163
  private editorFacade;
6033
6164
  value: Keyword[];
@@ -6149,6 +6280,7 @@ declare class FormFieldSpatialExtentComponent {
6149
6280
 
6150
6281
  declare class FormFieldComponent {
6151
6282
  uniqueIdentifier: string;
6283
+ recordKind: RecordKind;
6152
6284
  model: CatalogRecordKeys;
6153
6285
  modelSpecifier: FieldModelSpecifier;
6154
6286
  componentName: FormFieldComponentName;
@@ -6157,6 +6289,7 @@ declare class FormFieldComponent {
6157
6289
  valueChange: EventEmitter<unknown>;
6158
6290
  titleInput: ElementRef;
6159
6291
  isOpenData: boolean;
6292
+ fieldFocus: FieldFocusDirective;
6160
6293
  toggleIsOpenData(event: boolean): void;
6161
6294
  focusTitleInput(): void;
6162
6295
  get withoutWrapper(): boolean;
@@ -6173,7 +6306,7 @@ declare class FormFieldComponent {
6173
6306
  get valueAsResourceIdentifierCode(): string;
6174
6307
  handleResourceIdentifierChange(code: string): void;
6175
6308
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
6176
- static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "gn-ui-form-field", never, { "uniqueIdentifier": { "alias": "uniqueIdentifier"; "required": false; }; "model": { "alias": "model"; "required": false; }; "modelSpecifier": { "alias": "modelSpecifier"; "required": false; }; "componentName": { "alias": "componentName"; "required": false; }; "config": { "alias": "config"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
6309
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "gn-ui-form-field", never, { "uniqueIdentifier": { "alias": "uniqueIdentifier"; "required": false; }; "recordKind": { "alias": "recordKind"; "required": false; }; "model": { "alias": "model"; "required": false; }; "modelSpecifier": { "alias": "modelSpecifier"; "required": false; }; "componentName": { "alias": "componentName"; "required": false; }; "config": { "alias": "config"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, [{ directive: typeof FieldFocusDirective; inputs: {}; outputs: {}; }]>;
6177
6310
  }
6178
6311
 
6179
6312
  declare const NOT_APPLICABLE_CONSTRAINT: Constraint;
@@ -6197,12 +6330,28 @@ declare class FormFieldTopicsComponent {
6197
6330
  static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldTopicsComponent, "gn-ui-form-field-topics", never, { "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
6198
6331
  }
6199
6332
 
6200
- declare class RecordFormComponent {
6333
+ declare class RecordFormComponent implements OnInit, OnDestroy {
6201
6334
  facade: EditorFacade;
6335
+ notifications: NotificationsService;
6336
+ subscription: Subscription;
6202
6337
  recordUniqueIdentifier$: rxjs.Observable<string>;
6338
+ recordKind$: rxjs.Observable<"dataset" | "service" | "reuse">;
6339
+ focusFieldWithPage$: rxjs.Observable<readonly [CatalogRecordKeys, number, number]>;
6340
+ formFields: Signal<readonly FormFieldComponent[]>;
6341
+ sectionFocusDirectives: Signal<readonly FieldFocusDirective[]>;
6342
+ focusField(model: CatalogRecordKeys, sectionIndex: number): void;
6343
+ ngOnInit(): void;
6344
+ ngOnDestroy(): void;
6203
6345
  handleFieldValueChange(model: CatalogRecordKeys, newValue: EditorFieldValue): void;
6204
6346
  fieldTracker(index: number, field: EditorFieldWithValue): CatalogRecordKeys;
6205
6347
  sectionTracker(index: number, section: EditorSectionWithValues): string;
6348
+ getFieldLocation(model: CatalogRecordKeys): Promise<{
6349
+ page: number;
6350
+ section: number;
6351
+ } | null>;
6352
+ private recordSignal;
6353
+ private expressionCache;
6354
+ evaluateExpression(expressionOrValue: string | EditorFieldValue): Signal<EditorFieldValue>;
6206
6355
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordFormComponent, never>;
6207
6356
  static ɵcmp: i0.ɵɵComponentDeclaration<RecordFormComponent, "gn-ui-record-form", never, {}, {}, never, never, true, never>;
6208
6357
  }
@@ -6282,79 +6431,23 @@ declare class FeatureEditorModule {
6282
6431
  static ɵinj: i0.ɵɵInjectorDeclaration<FeatureEditorModule>;
6283
6432
  }
6284
6433
 
6434
+ interface ISOTopic {
6435
+ value: string;
6436
+ label: string;
6437
+ }
6438
+ declare const DEFAULT_CONFIGURATION: EditorConfig$1;
6285
6439
  /**
6286
- * This file contains the configuration of the fields that will be displayed in the editor.
6287
- * To add a new field, you need to create a new EditorField object in the fields part of this file.
6288
- * Then add it to the corresponding section in the sections part of this file.
6289
- * Finally, add the section to the corresponding page in the pages part of this file.
6290
- */
6291
- /************************************************************
6292
- *************** FIELDS *****************
6293
- ************************************************************
6294
- */
6295
- declare const RECORD_UNIQUE_IDENTIFIER_FIELD: EditorField;
6296
- declare const CONSTRAINTS_SHORTCUTS: EditorField;
6297
- declare const LEGAL_CONSTRAINTS_FIELD: EditorField;
6298
- declare const SECURITY_CONSTRAINTS_FIELD: EditorField;
6299
- declare const OTHER_CONSTRAINTS_FIELD: EditorField;
6300
- declare const RECORD_LICENSE_FIELD: EditorField;
6301
- declare const RECORD_KEYWORDS_FIELD: EditorField;
6302
- declare const RECORD_TOPICS_FIELD: EditorField;
6303
- declare const RECORD_RESOURCE_CREATED_FIELD: EditorField;
6304
- declare const RESOURCE_IDENTIFIER_FIELD: EditorField;
6305
- declare const RECORD_RESOURCE_UPDATED_FIELD: EditorField;
6306
- declare const RECORD_UPDATED_FIELD: EditorField;
6307
- declare const RECORD_UPDATE_FREQUENCY_FIELD: EditorField;
6308
- declare const RECORD_TEMPORAL_EXTENTS_FIELD: EditorField;
6309
- declare const RECORD_TITLE_FIELD: EditorField;
6310
- declare const RECORD_ABSTRACT_FIELD: EditorField;
6311
- declare const CONTACTS_FOR_RESOURCE_FIELD: EditorField;
6312
- declare const CONTACTS: EditorField;
6313
- declare const RECORD_GRAPHICAL_OVERVIEW_FIELD: EditorField;
6314
- declare const RECORD_SPATIAL_TOGGLE_FIELD: EditorField;
6315
- declare const RECORD_SPATIAL_EXTENTS_FIELD: EditorField;
6316
- declare const RECORD_ONLINE_RESOURCES: EditorField;
6317
- declare const RECORD_ONLINE_LINK_RESOURCES: EditorField;
6318
- /************************************************************
6319
- *************** SECTIONS *****************
6320
- ************************************************************
6321
- */
6322
- declare const TITLE_SECTION: EditorSection;
6323
- declare const ABOUT_SECTION: EditorSection;
6324
- declare const GEOGRAPHICAL_COVERAGE_SECTION: EditorSection;
6325
- declare const ASSOCIATED_RESOURCES_SECTION: EditorSection;
6326
- declare const ANNEXES_SECTION: EditorSection;
6327
- declare const CLASSIFICATION_SECTION: EditorSection;
6328
- declare const TOPICS_SECTION: EditorSection;
6329
- declare const USE_AND_ACCESS_CONDITIONS_SECTION: EditorSection;
6330
- declare const DATA_MANAGERS_SECTION: EditorSection;
6331
- declare const METADATA_POINT_OF_CONTACT_SECTION: EditorSection;
6332
- /************************************************************
6333
- *************** PAGES *****************
6334
- ************************************************************
6335
- */
6336
- declare const DEFAULT_CONFIGURATION: EditorConfig;
6337
- /************************************************************
6338
- *************** LICENSES **************
6339
- ************************************************************
6440
+ * OTHER SETTINGS
6340
6441
  */
6341
6442
  declare const AVAILABLE_LICENSES: string[];
6342
6443
  declare const OPEN_DATA_LICENSE = "etalab";
6343
6444
  declare const MAX_UPLOAD_SIZE_MB = 10;
6344
- /************************************************************
6345
- *************** SPATIAL SCOPE ************
6346
- ************************************************************
6347
- */
6348
6445
  declare const SPATIAL_SCOPES: Keyword[];
6349
- /************************************************************
6350
- *************** INSPIRE TOPICS **************
6351
- ************************************************************
6352
- */
6353
- declare const INSPIRE_TOPICS: INSPIRE_topic[];
6446
+ declare const ISO_TOPICS: ISOTopic[];
6354
6447
 
6355
6448
  declare class EditorService {
6356
6449
  private recordsRepository;
6357
- saveRecord(record: CatalogRecord, recordSource: string, fieldsConfig: EditorConfig): Observable<[CatalogRecord, string]>;
6450
+ saveRecord(record: CatalogRecord, recordSource: string, fieldsConfig: EditorConfig$1, publish: boolean): Observable<[CatalogRecord, string]>;
6358
6451
  saveRecordAsDraft(record: CatalogRecord, recordSource: string): Observable<void>;
6359
6452
  undoRecordDraft(record: CatalogRecord): Observable<[CatalogRecord, string, boolean]>;
6360
6453
  hasRecordChangedSinceDraft(localRecord: CatalogRecord): Observable<{
@@ -6549,7 +6642,7 @@ declare class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {
6549
6642
  private renderer;
6550
6643
  popoverContent: ElementRef;
6551
6644
  content: string | TemplateRef<any>;
6552
- theme: 'light' | 'light-border' | 'translucent' | 'material' | '';
6645
+ theme: 'light' | 'light-border' | 'translucent' | 'material' | 'dark' | '';
6553
6646
  private tippyInstance;
6554
6647
  private view;
6555
6648
  private getContent;
@@ -6594,17 +6687,8 @@ declare class SpinningLoaderComponent {
6594
6687
 
6595
6688
  declare function provideI18n(config?: TranslateModuleConfig, useLocalStorage?: boolean): EnvironmentProviders;
6596
6689
 
6597
- /**
6598
- * This loader will rely on JSON files in the app assets
6599
- * Implements a fallback on default lang if translated labels are empty
6600
- */
6601
- declare class FileTranslateLoader extends TranslateHttpLoader {
6602
- getTranslation(lang: string): rxjs.Observable<{}>;
6603
- }
6604
-
6605
6690
  declare const DEFAULT_LANG = "en";
6606
6691
  declare const LANGUAGE_STORAGE_KEY = "geonetwork-ui-language";
6607
- declare function HttpLoaderFactory(http: HttpClient): FileTranslateLoader;
6608
6692
  declare const TRANSLATE_DEFAULT_CONFIG: TranslateModuleConfig;
6609
6693
  /**
6610
6694
  * This config will print translation keys in the UI directly; used to identify which keys are used
@@ -6618,8 +6702,12 @@ declare class I18nInterceptor implements HttpInterceptor {
6618
6702
  static ɵprov: i0.ɵɵInjectableDeclaration<I18nInterceptor>;
6619
6703
  }
6620
6704
 
6621
- declare class EmbeddedTranslateLoader implements TranslateLoader {
6622
- getTranslation(lang: string): Observable<Record<string, string>>;
6705
+ /**
6706
+ * This loader will rely on JSON files in the app assets
6707
+ * Implements a fallback on default lang if translated labels are empty
6708
+ */
6709
+ declare class FileTranslateLoader extends TranslateHttpLoader {
6710
+ getTranslation(lang: string): rxjs.Observable<{}>;
6623
6711
  }
6624
6712
 
6625
6713
  declare function dropEmptyTranslations(translations: any): {};
@@ -6770,6 +6858,11 @@ interface SearchPreset {
6770
6858
  interface MetadataQualityConfig {
6771
6859
  ENABLED: boolean;
6772
6860
  }
6861
+ type NewRecordStandard = 'iso19139' | 'iso19115-3';
6862
+ interface EditorConfig {
6863
+ NEW_RECORD_DEFAULT_LANGUAGE?: string;
6864
+ NEW_RECORD_STANDARD?: NewRecordStandard;
6865
+ }
6773
6866
  type CustomTranslations = {
6774
6867
  [translationKey: string]: string;
6775
6868
  };
@@ -6789,35 +6882,17 @@ interface SearchConfig {
6789
6882
  FILTER_GEOMETRY?: Geometry;
6790
6883
  }
6791
6884
 
6792
- /**
6793
- * This loader extends the default one based on JSON files but also loads custom translations
6794
- * defined in the app configuration
6795
- * Implements a fallback on default lang if translated labels are empty
6796
- */
6797
- declare class FileWithOverridesTranslateLoader extends FileTranslateLoader {
6798
- getTranslation(lang: string): rxjs.Observable<{}>;
6799
- }
6800
-
6801
6885
  declare function getGlobalConfig(): GlobalConfig;
6802
6886
  declare function getThemeConfig(): ThemeConfig;
6803
6887
  declare function getOptionalMapConfig(): MapConfig | null;
6804
6888
  declare function getOptionalSearchConfig(): SearchConfig | null;
6889
+ declare function getOptionalEditorConfig(): EditorConfig | null;
6805
6890
  declare function getMetadataQualityConfig(): MetadataQualityConfig;
6806
6891
  declare function getCustomTranslations(langCode: string): CustomTranslations;
6807
6892
  declare function loadAppConfig(configUrl?: string): Promise<void>;
6808
6893
  declare function isConfigLoaded(): boolean;
6809
6894
  declare function _reset(): void;
6810
- declare const TRANSLATE_WITH_OVERRIDES_CONFIG: {
6811
- compiler: {
6812
- provide: typeof TranslateCompiler;
6813
- useClass: typeof TranslateMessageFormatCompiler;
6814
- };
6815
- loader: {
6816
- provide: typeof TranslateLoader;
6817
- useFactory: (http: HttpClient) => FileWithOverridesTranslateLoader;
6818
- deps: (typeof HttpClient)[];
6819
- };
6820
- };
6895
+ declare const TRANSLATE_WITH_OVERRIDES_CONFIG: TranslateModuleConfig;
6821
6896
 
6822
6897
  declare const okAppConfigFixture: () => string;
6823
6898
  declare const appConfigWithTranslationFixture: () => string;
@@ -6830,6 +6905,6 @@ declare const unrecognizedKeysConfigFixture: () => string;
6830
6905
 
6831
6906
  declare function getMapContextLayerFromConfig(config: LayerConfig): MapContextLayer;
6832
6907
 
6833
- export { ABOUT_SECTION, ADD_RESULTS, ADD_SEARCH, ANNEXES_SECTION, ASSOCIATED_RESOURCES_SECTION, AVAILABLE_LICENSES, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CHART_TYPE_VALUES, CLASSIFICATION_SECTION, CLEAR_ERROR, CLEAR_RESULTS, CONSTRAINTS_SHORTCUTS, CONTACTS, CONTACTS_FOR_RESOURCE_FIELD, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContactPillComponent, ContentGhostComponent, CopyTextButtonComponent, DATA_MANAGERS_SECTION, DEFAULT_CONFIGURATION, 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, DISABLE_DRAFT, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangeInputsComponent, 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, GEOGRAPHICAL_COVERAGE_SECTION, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GnUiHumanizeDateDirective, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, INSPIRE_TOPICS, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LEGAL_CONSTRAINTS_FIELD, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, MAX_UPLOAD_SIZE_MB, METADATA_LANGUAGE, METADATA_POINT_OF_CONTACT_SECTION, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions_d as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataDoiComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, OPEN_DATA_LICENSE, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OTHER_CONSTRAINTS_FIELD, OnlineResourceCardComponent, OnlineServiceResourceInputComponent, 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_ABSTRACT_FIELD, RECORD_DATASET_URL_TOKEN, RECORD_GRAPHICAL_OVERVIEW_FIELD, RECORD_KEYWORDS_FIELD, RECORD_LICENSE_FIELD, RECORD_ONLINE_LINK_RESOURCES, RECORD_ONLINE_RESOURCES, RECORD_RESOURCE_CREATED_FIELD, RECORD_RESOURCE_UPDATED_FIELD, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, RECORD_SPATIAL_EXTENTS_FIELD, RECORD_SPATIAL_TOGGLE_FIELD, RECORD_TEMPORAL_EXTENTS_FIELD, RECORD_TITLE_FIELD, RECORD_TOPICS_FIELD, RECORD_UNIQUE_IDENTIFIER_FIELD, RECORD_UPDATED_FIELD, RECORD_UPDATE_FREQUENCY_FIELD, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESOURCE_IDENTIFIER_FIELD, 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, RecordStatusValues, RecordsMetricsComponent, RecordsRepositoryInterface, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, ReusePresentationForms, RoleLabels, RoleValues, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SECURITY_CONSTRAINTS_FIELD, 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, SPATIAL_SCOPES, 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, SortByEnum, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StacItemsResultGridComponent, StacViewComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TITLE_SECTION, TOPICS_SECTION, 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, USE_AND_ACCESS_CONDITIONS_SECTION, 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, getIndividualDisplayName, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReusePresentationForm, 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, 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, setEditorConfiguration, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, toIndividual, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateFrequencyCodeValues, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
6834
- export type { Aggregation, AggregationBuckets, AggregationCounts, AggregationParams, AggregationResult, AggregationSort, AggregationTypes, Aggregations, AggregationsParams, AggregationsResults, AggregationsTypes, AutocompleteItem, BaseRecord, BoundingBox, Bucket, CatalogRecord, CatalogRecordKeys, CatalogSource, Choice$1 as Choice, ConfirmationDialogData, Constraint, ConstraintTranslations, CreateStyleOptions, CustomTranslations, CustomTranslationsAllLanguages, DataItem, DatasetDownloadDistribution, DatasetFeatureAttribute, DatasetFeatureAttributeValue, DatasetFeatureCatalog, DatasetFeatureType, DatasetOnlineResource, DatasetRecord, DatasetServiceDistribution, DatasetSpatialExtent, DatasetTemporalExtent, DatavizChartConfigModel, DatavizConfigModel, DateRange, DropdownChoice, EditorFieldWithValue, EditorPartialState, EditorSectionWithValues, EditorState, EsQueryFieldsPriorityType, EsRequestAggTerm, EsRequestAggTermPatch, EsRequestSource, EsResourceType, EsResourceTypeValues, EsSearchParams, EsSearchResponse, EsTemplateType, EsTemplateValues, FacetPath, FacetSelectEvent, Field, FieldAggregation, FieldAvailableValue, FieldFilter$1 as FieldFilter, FieldFilterByExpression, FieldFilterByRange, FieldFilterByValues, FieldFilters, FieldName$1 as FieldName, FieldSort$1 as FieldSort, FieldTranslation, FieldType, FieldValue, FieldValues, FileFormat, FilterAggregationParams, FilterQuery, FiltersAggregationParams, FiltersAggregationResult, FiltersBucket, FormatProduit, FormatSortieProduit, GlobalConfig, Gn4Record, Gn4RecordRelated, Gn4SearchResults, GpfApiDlTermBucket, GraphicOverview, HasPath, HistogramAggregationParams, HistogramAggregationResult, HistogramBucket, INSPIRE_topic, Individual, InputChartType, Iso3Langs, Keyword, KeywordApiResponse, KeywordTranslations, Label, LanguageCode, LanguageCode2, LanguageCode3, LanguageCodeFactory, LanguageCodeLike, LayerConfig, Link, ListChoice, ListUrl, MapConfig, MapPartialState, MapState, MetadataContact, MetadataObject, MetadataQualityConfig, MetadataQualityItem, ModalDialogData, ModelBlock, ModelItem, ModelTranslations, NestedAggregationResult, OnlineLinkResource, OnlineResource, OnlineResourceTranslations, OnlineResourceType, Organization, OrganizationTranslations, OrganizationsStrategy, Paginable, PropertyInfo, QueryRange, QueryString, RecordAsXml, RecordAttachment, RecordKind, RecordMetric, RecordStatus, RecordTranslations, RequestFields, ResourceIdentifier$1 as ResourceIdentifier, ResultsLayoutConfigModel, ResultsListShowMoreStrategy, ReuseRecord, ReuseType, Role, RouterConfigModel, SaveRecordError, SearchActions, SearchConfig, SearchError, SearchFilters, SearchParams, SearchPreset, SearchResults, SearchRouteParams, SearchServiceI, SearchState, SearchStateParams, SearchStateSearch, ServiceEndpoint, ServiceOnlineResource, ServiceProtocol, ServiceRecord, SortByField, SortOrder, SortParams, SourceWithUnknownProps, SpatialExtentTranslations, SpatialRepresentationType, StacFilterState, StyleByGeometryType, SupportedType, SwitchToggleOption, TableItemId, TableItemModel, TermBucket, TermsAggregationParams, TermsAggregationResult, ThemeConfig, Thesaurus, ThesaurusApiResponse, UpdateFrequency, UpdateFrequencyCode, UpdateFrequencyCustom, UploadEvent, UserFeedback, UserFeedbackViewModel, ValidatorMapperKeys };
6908
+ export { ADD_RESULTS, ADD_SEARCH, AVAILABLE_LICENSES, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CHART_TYPE_VALUES, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContactDetailsComponent, ContactPillComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_CONFIGURATION, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RECORD_CONVERTER, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_SPATIAL_EXTENT_STYLE, DISABLE_AUTH, DISABLE_DRAFT, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangeInputsComponent, 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, 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, FieldFocusDirective, 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, GnUiHumanizeDateDirective, GpfApiDlComponent, GravatarService, I18nInterceptor, ISO_TOPICS, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KeywordBadgeComponent, 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, MAX_UPLOAD_SIZE_MB, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions_d as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataDoiComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, OPEN_DATA_LICENSE, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OnlineResourceCardComponent, OnlineServiceResourceInputComponent, 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, RecordStatusValues, RecordsMetricsComponent, RecordsRepositoryInterface, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, ReusePresentationForms, RoleLabels, RoleValues, 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, SPATIAL_SCOPES, 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, SortByEnum, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StacItemsResultGridComponent, 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, bboxToPolygon, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, createSpatialExtentLayer, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getAddressLines, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIndividualDisplayName, getIsMobile, getJsonDataItemsProxy, getKeywordHierarchyPath, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalEditorConfig, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReusePresentationForm, 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, 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, setEditorConfiguration, setFieldVisibility, setFocusedField, setSelectedFeatures, setTextContent, sortByFromString, sortByToString, sortByToStrings, spatialExtentToGeometry, spatialExtentsToFeatureCollection, stripHtml, stripNamespace, toDate, toIndividual, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateFrequencyCodeValues, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
6909
+ export type { Aggregation, AggregationBuckets, AggregationCounts, AggregationParams, AggregationResult, AggregationSort, AggregationTypes, Aggregations, AggregationsParams, AggregationsResults, AggregationsTypes, AutocompleteItem, BaseRecord, BoundingBox, Bucket, CatalogRecord, CatalogRecordKeys, CatalogSource, Choice$1 as Choice, ConfirmationDialogData, Constraint, ConstraintTranslations, CreateStyleOptions, CustomTranslations, CustomTranslationsAllLanguages, DataItem, DatasetDownloadDistribution, DatasetFeatureAttribute, DatasetFeatureAttributeValue, DatasetFeatureCatalog, DatasetFeatureType, DatasetOnlineResource, DatasetRecord, DatasetServiceDistribution, DatasetSpatialExtent, DatasetTemporalExtent, DatavizChartConfigModel, DatavizConfigModel, DateRange, DropdownChoice, EditorConfig, EditorFieldWithValue, EditorPartialState, EditorSectionWithValues, EditorState, EsQueryFieldsPriorityType, EsRequestAggTerm, EsRequestAggTermPatch, EsRequestSource, EsResourceType, EsResourceTypeValues, EsSearchParams, EsSearchResponse, EsTemplateType, EsTemplateValues, FacetPath, FacetSelectEvent, Field, FieldAggregation, FieldAvailableValue, FieldFilter$1 as FieldFilter, FieldFilterByExpression, FieldFilterByRange, FieldFilterByValues, FieldFilters, FieldName$1 as FieldName, FieldSort$1 as FieldSort, FieldTranslation, FieldType, FieldValue, FieldValues, FileFormat, FilterAggregationParams, FilterQuery, FiltersAggregationParams, FiltersAggregationResult, FiltersBucket, FormatProduit, FormatSortieProduit, GlobalConfig, Gn4Record, Gn4RecordRelated, Gn4SearchResults, GpfApiDlTermBucket, GraphicOverview, HasPath, HistogramAggregationParams, HistogramAggregationResult, HistogramBucket, ISOTopic, Individual, InputChartType, Iso3Langs, Keyword, KeywordApiResponse, KeywordTranslations, KeywordTree, Label, LanguageCode, LanguageCode2, LanguageCode3, LanguageCodeFactory, LanguageCodeLike, LayerConfig, Link, ListChoice, ListUrl, MapConfig, MapPartialState, MapState, MetadataContact, MetadataObject, MetadataQualityConfig, MetadataQualityItem, ModalDialogData, ModelBlock, ModelItem, ModelTranslations, NestedAggregationResult, NewRecordStandard, OnlineLinkResource, OnlineResource, OnlineResourceTranslations, OnlineResourceType, Organization, OrganizationTranslations, OrganizationsStrategy, Paginable, PropertyInfo, QueryRange, QueryString, RecordAsXml, RecordAttachment, RecordKind, RecordMetric, RecordStatus, RecordTranslations, RequestFields, ResourceIdentifier$1 as ResourceIdentifier, ResultsLayoutConfigModel, ResultsListShowMoreStrategy, ReuseRecord, ReuseType, Role, RouterConfigModel, SaveRecordError, SearchActions, SearchConfig, SearchError, SearchFilters, SearchParams, SearchPreset, SearchResults, SearchRouteParams, SearchServiceI, SearchState, SearchStateParams, SearchStateSearch, ServiceEndpoint, ServiceOnlineResource, ServiceProtocol, ServiceRecord, SortByField, SortOrder, SortParams, SourceRecord, SourceWithUnknownProps, SpatialExtentLayerStyle, SpatialExtentTranslations, SpatialRepresentationType, StacFilterState, StyleByGeometryType, SupportedType, SwitchToggleOption, TableItemId, TableItemModel, TermBucket, TermsAggregationParams, TermsAggregationResult, ThemeConfig, Thesaurus, ThesaurusApiResponse, UpdateFrequency, UpdateFrequencyCode, UpdateFrequencyCustom, UploadEvent, UserFeedback, UserFeedbackViewModel, ValidatorMapperKeys };
6835
6910
  //# sourceMappingURL=index.d.ts.map