geonetwork-ui 2.10.0-dev.122ccbde0 → 2.10.0-dev.12ab1b88c

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 (163) hide show
  1. package/fesm2022/geonetwork-ui.mjs +1603 -6150
  2. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  3. package/index.d.ts +251 -177
  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 +20 -0
  7. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +4 -0
  8. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +23 -0
  9. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +8 -0
  10. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +2 -0
  11. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +2 -0
  12. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +2 -0
  13. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +2 -0
  14. package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +4 -0
  15. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +23 -0
  16. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +2 -0
  17. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +4 -0
  18. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +2 -0
  19. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +9 -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 +2 -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 +11 -0
  26. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +21 -0
  27. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +52 -0
  28. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +24 -1
  29. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +73 -0
  30. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +79 -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 +66 -40
  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 +23 -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/domain/src/lib/repository/records-repository.interface.ts +2 -1
  43. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +62 -0
  44. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +5 -2
  45. package/src/libs/feature/editor/src/index.ts +1 -0
  46. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +4 -1
  47. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +26 -19
  48. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +5 -1
  49. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +0 -2
  50. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.css +0 -0
  51. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.html +68 -0
  52. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.ts +41 -0
  53. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +5 -14
  54. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +3 -28
  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 +6 -7
  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 +28 -16
  73. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +16 -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 +34 -2
  76. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +18 -6
  77. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +92 -33
  78. package/src/libs/feature/editor/src/lib/expressions.ts +380 -8
  79. package/src/libs/feature/editor/src/lib/fields.config.ts +354 -337
  80. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +10 -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 +2 -0
  84. package/src/libs/feature/notify-reuse/src/lib/edit-delete-reuse-buttons/edit-delete-reuse-buttons.component.css +0 -0
  85. package/src/libs/feature/notify-reuse/src/lib/edit-delete-reuse-buttons/edit-delete-reuse-buttons.component.html +23 -0
  86. package/src/libs/feature/notify-reuse/src/lib/edit-delete-reuse-buttons/edit-delete-reuse-buttons.component.ts +114 -0
  87. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.css +0 -0
  88. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.html +111 -0
  89. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +234 -0
  90. package/src/libs/feature/notify-reuse/src/lib/utils/url.ts +16 -0
  91. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +9 -1
  92. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +10 -5
  93. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +2 -2
  94. package/src/libs/ui/dataviz/src/index.ts +0 -1
  95. package/src/libs/ui/elements/src/index.ts +2 -0
  96. package/src/libs/ui/elements/src/lib/contact-details/contact-details.component.html +88 -0
  97. package/src/libs/ui/elements/src/lib/contact-details/contact-details.component.ts +45 -0
  98. package/src/libs/ui/elements/src/lib/contact-pill/contact-pill.component.html +29 -4
  99. package/src/libs/ui/elements/src/lib/contact-pill/contact-pill.component.ts +51 -7
  100. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +2 -1
  101. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +2 -2
  102. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +13 -0
  103. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +13 -3
  104. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +43 -6
  105. package/src/libs/ui/elements/src/lib/keyword-badge/keyword-badge.component.html +14 -0
  106. package/src/libs/ui/elements/src/lib/keyword-badge/keyword-badge.component.ts +85 -0
  107. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  108. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -5
  109. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +5 -0
  110. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +7 -10
  111. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -2
  112. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +4 -5
  113. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +4 -0
  114. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +33 -26
  115. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +9 -0
  116. package/src/libs/ui/inputs/src/lib/button/button.component.ts +4 -0
  117. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +2 -2
  118. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  119. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +3 -3
  120. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.css +0 -3
  121. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +11 -7
  122. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +56 -30
  123. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +2 -2
  124. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +2 -1
  125. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +5 -5
  126. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +9 -1
  127. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -1
  128. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +3 -8
  129. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +7 -7
  130. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +14 -1
  131. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +4 -54
  132. package/src/libs/ui/map/src/lib/map-utils.ts +48 -0
  133. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +1 -1
  134. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +12 -8
  135. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +3 -1
  136. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -0
  137. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +7 -1
  138. package/src/libs/ui/widgets/src/lib/spinning-loader/spinning-loader.component.html +1 -1
  139. package/src/libs/util/app-config/src/lib/app-config.ts +70 -9
  140. package/src/libs/util/app-config/src/lib/model.ts +7 -0
  141. package/src/libs/util/app-config/src/lib/parse-utils.ts +50 -1
  142. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -2
  143. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +6 -3
  144. package/src/libs/util/i18n/src/index.ts +0 -1
  145. package/src/libs/util/i18n/src/lib/i18n.constants.ts +17 -11
  146. package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +2 -2
  147. package/src/libs/util/i18n/src/lib/i18n.providers.ts +14 -17
  148. package/src/libs/util/i18n/src/lib/test.translate.loader.ts +48 -0
  149. package/src/libs/util/shared/src/lib/links/link-utils.ts +23 -1
  150. package/src/libs/util/shared/src/lib/services/date.service.ts +3 -3
  151. package/src/libs/util/shared/src/lib/utils/geojson.ts +58 -1
  152. package/src/libs/util/shared/src/lib/utils/user-display.ts +9 -0
  153. package/style.css +0 -1
  154. package/tailwind.base.css +15 -0
  155. package/translations/de.json +111 -50
  156. package/translations/en.json +116 -55
  157. package/translations/es.json +85 -24
  158. package/translations/fr.json +113 -52
  159. package/translations/it.json +112 -51
  160. package/translations/nl.json +84 -23
  161. package/translations/pt.json +85 -24
  162. package/translations/sk.json +85 -24
  163. 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,27 @@ 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
+ }
236
+ /**
237
+ * Represents another record associated with this one (e.g. a parent/sibling dataset).
238
+ */
239
+ interface AssociatedRecord {
240
+ uuid: string;
241
+ associationType: string;
242
+ }
232
243
  interface DatasetRecord extends BaseRecord {
233
244
  kind: 'dataset';
234
245
  status: RecordStatus;
235
246
  lineage: string;
247
+ sourceRecords: Array<SourceRecord>;
248
+ associatedRecords: Array<AssociatedRecord>;
236
249
  onlineResources: Array<DatasetOnlineResource>;
237
250
  spatialExtents: Array<DatasetSpatialExtent>;
238
251
  temporalExtents: Array<DatasetTemporalExtent>;
@@ -256,6 +269,8 @@ interface ServiceRecord extends BaseRecord {
256
269
  interface ReuseRecord extends BaseRecord {
257
270
  kind: 'reuse';
258
271
  lineage: string;
272
+ sourceRecords: Array<SourceRecord>;
273
+ associatedRecords: Array<AssociatedRecord>;
259
274
  onlineResources: Array<DatasetOnlineResource>;
260
275
  reuseType: ReuseType;
261
276
  spatialExtents: Array<DatasetSpatialExtent>;
@@ -427,6 +442,7 @@ type ThesaurusName = string;
427
442
  interface Thesaurus {
428
443
  id?: string;
429
444
  title?: string;
445
+ multilingualTitle?: MultilingualField;
430
446
  theme?: string;
431
447
  link?: string;
432
448
  keywords: MultilingualField[];
@@ -687,7 +703,17 @@ declare const getAsUrl: (field: any, location?: string) => URL;
687
703
  declare const mapLogo: (source: SourceWithUnknownProps) => URL;
688
704
  declare const mapOrganization: (sourceContact: SourceWithUnknownProps, lang3: string) => Organization;
689
705
  declare const mapContact: (sourceContact: SourceWithUnknownProps, lang3: string) => Individual;
690
- declare const mapKeywords: (thesauri: Thesaurus[], language: string) => any[];
706
+ interface KeywordTree {
707
+ default?: string[];
708
+ }
709
+ /**
710
+ * Resolves a keyword's ancestor path within its thesaurus tree, or null for a
711
+ * root-level keyword (no ancestors to show). Tree entries are `^`-joined label
712
+ * paths (default language); they aren't index-aligned with the keywords, so we
713
+ * match on the last segment (not by position/URI), shortest path on poly-hierarchy.
714
+ */
715
+ declare const getKeywordHierarchyPath: (keywordDefaultLabel: string, tree?: KeywordTree | null) => string[] | null;
716
+ declare const mapKeywords: (thesauri: Record<string, Thesaurus>, language: string, source?: SourceWithUnknownProps) => any[];
691
717
 
692
718
  type ESResponseSource = SourceWithUnknownProps;
693
719
  type EsFieldMapperFn = (output: Partial<CatalogRecord>, source: ESResponseSource) => Partial<CatalogRecord>;
@@ -1026,7 +1052,7 @@ declare abstract class RecordsRepositoryInterface {
1026
1052
  * @param uniqueIdentifier
1027
1053
  * @returns Observable<[CatalogRecord, string, boolean] | null>
1028
1054
  */
1029
- abstract openRecordForEdition(uniqueIdentifier: string): Observable<[CatalogRecord, string, boolean] | null>;
1055
+ abstract openRecordForEdition(uniqueIdentifier: string, disableDraft?: boolean): Observable<[CatalogRecord, string, boolean] | null>;
1030
1056
  /**
1031
1057
  * This emits once:
1032
1058
  * - record object with a new unique identifier and suffixed title
@@ -1077,6 +1103,7 @@ declare abstract class RecordsRepositoryInterface {
1077
1103
 
1078
1104
  type RecordAsXml = string;
1079
1105
  declare const DISABLE_DRAFT: InjectionToken<boolean>;
1106
+ declare const DEFAULT_RECORD_CONVERTER: InjectionToken<BaseConverter<string>>;
1080
1107
  declare class Gn4Repository implements RecordsRepositoryInterface {
1081
1108
  private httpClient;
1082
1109
  private gn4SearchApi;
@@ -1087,6 +1114,7 @@ declare class Gn4Repository implements RecordsRepositoryInterface {
1087
1114
  private gn4LanguagesApi;
1088
1115
  private settingsService;
1089
1116
  private disableDraft;
1117
+ private defaultConverter;
1090
1118
  _draftsChanged: Subject<void>;
1091
1119
  draftsChanged$: Observable<void>;
1092
1120
  search({ filters, fields, offset, limit, sort, filterIds, filterGeometry, }: SearchParams): Observable<SearchResults>;
@@ -1106,7 +1134,7 @@ declare class Gn4Repository implements RecordsRepositoryInterface {
1106
1134
  private canEdit;
1107
1135
  canEditRecord(uniqueIdentifier: string): Observable<boolean>;
1108
1136
  canEditIndexedRecord(record: CatalogRecord): Observable<boolean>;
1109
- openRecordForEdition(uniqueIdentifier: string): Observable<[CatalogRecord, string, boolean] | null>;
1137
+ openRecordForEdition(uniqueIdentifier: string, disableDraft?: boolean): Observable<[CatalogRecord, string, boolean] | null>;
1110
1138
  openRecordForDuplication(uniqueIdentifier: string): Observable<[CatalogRecord, string, true] | null>;
1111
1139
  saveRecord(record: CatalogRecord, referenceRecordSource?: string, publishToAll?: boolean): Observable<string>;
1112
1140
  duplicateExternalRecord(recordDownloadUrl: string): Observable<string>;
@@ -1746,6 +1774,15 @@ interface UserModel {
1746
1774
  profileIcon?: string;
1747
1775
  }
1748
1776
 
1777
+ interface GroupModel {
1778
+ groupId: number;
1779
+ groupName: string;
1780
+ isMember: boolean;
1781
+ canEdit: boolean;
1782
+ canApprove: boolean;
1783
+ canAdministrate: boolean;
1784
+ }
1785
+
1749
1786
  interface RecordAttachment {
1750
1787
  url: URL;
1751
1788
  fileName: string;
@@ -1765,6 +1802,7 @@ declare abstract class PlatformServiceInterface {
1765
1802
  abstract getMe(): Observable<UserModel>;
1766
1803
  abstract isAnonymous(): Observable<boolean>;
1767
1804
  abstract getUsers(): Observable<UserModel[]>;
1805
+ abstract getUserPermissionsByGroup(): Observable<GroupModel[]>;
1768
1806
  abstract getUsersByOrganization(organisation: Organization): Observable<UserModel[]>;
1769
1807
  abstract getOrganizations(): Observable<Organization[]>;
1770
1808
  abstract translateKey(key: string): Observable<string>;
@@ -1923,6 +1961,7 @@ declare const DISABLE_AUTH: InjectionToken<boolean>;
1923
1961
  declare class Gn4PlatformService implements PlatformServiceInterface {
1924
1962
  private meApi;
1925
1963
  private usersApi;
1964
+ private groupsApi;
1926
1965
  private mapper;
1927
1966
  private toolsApiService;
1928
1967
  private registriesApiService;
@@ -1954,6 +1993,7 @@ declare class Gn4PlatformService implements PlatformServiceInterface {
1954
1993
  getOrganizations(): Observable<Organization[]>;
1955
1994
  getUsersByOrganization(organisation: Organization): Observable<UserModel[]>;
1956
1995
  getUsers(): Observable<UserModel[]>;
1996
+ getUserPermissionsByGroup(): Observable<GroupModel[]>;
1957
1997
  translateKey(key: string): Observable<string>;
1958
1998
  private allThesaurus$;
1959
1999
  searchKeywords(query: string, keywordTypes: KeywordType[]): Observable<Keyword[]>;
@@ -2118,6 +2158,20 @@ declare function createFuzzyFilter(pattern: string): FuzzyFilter;
2118
2158
  declare function getGeometryFromGeoJSON(data: FeatureCollection | Feature | Geometry): Geometry | null;
2119
2159
  type BoundingBox = [number, number, number, number];
2120
2160
  declare function getGeometryBoundingBox(geometry: Geometry): BoundingBox;
2161
+ /**
2162
+ * Builds the closed GeoJSON Polygon matching the given bounding box.
2163
+ */
2164
+ declare function bboxToPolygon(bbox: BoundingBox): Polygon;
2165
+ /**
2166
+ * Returns the geometry carried by a spatial extent, falling back to the polygon
2167
+ * derived from its bounding box. Returns null when the extent has neither.
2168
+ */
2169
+ declare function spatialExtentToGeometry(extent: DatasetSpatialExtent): Geometry | null;
2170
+ /**
2171
+ * Converts a list of dataset spatial extents into a GeoJSON FeatureCollection,
2172
+ * e.g. to be used as the data source of a map layer.
2173
+ */
2174
+ declare function spatialExtentsToFeatureCollection(extents: DatasetSpatialExtent[]): FeatureCollection;
2121
2175
 
2122
2176
  declare function downsizeImage(blob: Blob, maxWidth: number, maxHeight: number): Promise<Blob>;
2123
2177
  declare function downgradeImage(blob: Blob, maxSizeBytes: number): Promise<Blob>;
@@ -2166,6 +2220,7 @@ declare function getTemporalRangeUnion(ranges: {
2166
2220
  declare function removeSearchParams(url: string, searchParams: string[]): string;
2167
2221
 
2168
2222
  declare function getIndividualDisplayName(individual: Individual): string;
2223
+ declare function getAddressLines(address: string | undefined): string[];
2169
2224
  declare function toIndividual(user: UserModel): Individual;
2170
2225
 
2171
2226
  declare const FORMATS: {
@@ -2376,6 +2431,15 @@ declare class GnUiHumanizeDateDirective implements OnInit {
2376
2431
 
2377
2432
  declare class MapUtilsService {
2378
2433
  getRecordExtent(record: Partial<CatalogRecord>): BoundingBox;
2434
+ /**
2435
+ * Builds a non-interactive overlay layer drawing the spatial extent(s)
2436
+ * declared in the record's metadata (bounding boxes and/or geometries).
2437
+ * Returns null when the record has no usable spatial extent.
2438
+ *
2439
+ * This is purely for display and is independent from the map's initial view,
2440
+ * which is derived separately (see {@link getRecordExtent}).
2441
+ */
2442
+ getRecordExtentLayer(record: Partial<CatalogRecord>): MapContextLayer | null;
2379
2443
  static ɵfac: i0.ɵɵFactoryDeclaration<MapUtilsService, never>;
2380
2444
  static ɵprov: i0.ɵɵInjectableDeclaration<MapUtilsService>;
2381
2445
  }
@@ -2701,14 +2765,16 @@ declare class BadgeComponent {
2701
2765
  clickable?: boolean;
2702
2766
  removable?: boolean;
2703
2767
  badgeRemoveClicked: EventEmitter<void>;
2768
+ badgeClicked: EventEmitter<void>;
2704
2769
  removeBadge(): void;
2770
+ handleClick(event: MouseEvent): void;
2705
2771
  static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
2706
- static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "gn-ui-badge", never, { "clickable": { "alias": "clickable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "badgeRemoveClicked": "badgeRemoveClicked"; }, never, ["*"], true, never>;
2772
+ 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>;
2707
2773
  }
2708
2774
 
2709
2775
  declare class ButtonComponent {
2710
2776
  private btnClass;
2711
- set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'black' | 'primary-light');
2777
+ set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'gray-light' | 'black' | 'primary-light');
2712
2778
  disabled: boolean;
2713
2779
  extraClass: string;
2714
2780
  buttonClick: EventEmitter<Event>;
@@ -2819,7 +2885,7 @@ declare class DropdownMultiselectComponent {
2819
2885
  overlayPositions: ConnectedPosition[];
2820
2886
  scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
2821
2887
  overlayOpen: boolean;
2822
- overlayWidth: string;
2888
+ overlayMinWidth: string;
2823
2889
  overlayMaxHeight: string;
2824
2890
  id: string;
2825
2891
  get hasSelectedChoices(): boolean;
@@ -3002,20 +3068,21 @@ declare class TextAreaComponent implements AfterViewInit {
3002
3068
  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>;
3003
3069
  }
3004
3070
 
3005
- declare class TextInputComponent implements AfterViewInit {
3006
- value: string;
3007
- extraClass: string;
3008
- placeholder: string;
3009
- required: boolean;
3010
- disabled: boolean;
3011
- rawChange: Subject<string>;
3012
- valueChange: rxjs.Observable<string>;
3013
- input: any;
3014
- ngAfterViewInit(): void;
3015
- checkRequired(value: any): void;
3016
- handleChange($event: any): void;
3071
+ declare class TextInputComponent {
3072
+ value: i0.InputSignalWithTransform<string, string>;
3073
+ extraClass: i0.InputSignal<string>;
3074
+ placeholder: i0.InputSignal<string>;
3075
+ required: i0.InputSignal<boolean>;
3076
+ disabled: i0.InputSignal<boolean>;
3077
+ type: i0.InputSignalWithTransform<string, string>;
3078
+ valueChange: i0.OutputEmitterRef<string>;
3079
+ inputModel: i0.WritableSignal<string>;
3080
+ inputRef: i0.Signal<ElementRef<HTMLInputElement>>;
3081
+ isValid: i0.Signal<boolean>;
3082
+ private lastEmittedValue;
3083
+ handleChange($event: Event): void;
3017
3084
  static ɵfac: i0.ɵɵFactoryDeclaration<TextInputComponent, never>;
3018
- 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>;
3085
+ 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>;
3019
3086
  }
3020
3087
 
3021
3088
  declare class UrlInputComponent implements OnChanges {
@@ -3034,7 +3101,7 @@ declare class UrlInputComponent implements OnChanges {
3034
3101
  inputValue: string;
3035
3102
  ngOnChanges(changes: SimpleChanges): void;
3036
3103
  handleInput(event: Event): void;
3037
- handleUpload(element: HTMLInputElement): void;
3104
+ handleUpload(element: HTMLInputElement, event: Event): void;
3038
3105
  isValidUrl(url: string): boolean;
3039
3106
  static ɵfac: i0.ɵɵFactoryDeclaration<UrlInputComponent, never>;
3040
3107
  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>;
@@ -3143,6 +3210,22 @@ declare class ResultsTableComponent {
3143
3210
  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>;
3144
3211
  }
3145
3212
 
3213
+ type AggregationTypes = 'count' | 'sum' | 'min' | 'max' | 'average';
3214
+ declare const CHART_TYPE_VALUES: readonly ["bar", "bar-horizontal", "line", "line-interpolated", "scatter", "pie"];
3215
+ type InputChartType = (typeof CHART_TYPE_VALUES)[number];
3216
+ interface DatavizChartConfigModel {
3217
+ xProperty: string;
3218
+ yProperty: string;
3219
+ aggregation: AggregationTypes;
3220
+ chartType: InputChartType;
3221
+ }
3222
+ interface DatavizConfigModel {
3223
+ view: string;
3224
+ source: DatasetOnlineResource;
3225
+ chartConfig?: DatavizChartConfigModel;
3226
+ styleTMSIndex?: number;
3227
+ }
3228
+
3146
3229
  type ActionMenuPage = 'mainMenu' | 'deleteMenu' | 'rollbackMenu';
3147
3230
  declare class ActionMenuComponent {
3148
3231
  dialog: MatDialog;
@@ -3151,6 +3234,7 @@ declare class ActionMenuComponent {
3151
3234
  isDuplicating: boolean;
3152
3235
  canDelete: boolean;
3153
3236
  page: 'draft' | 'main' | 'record';
3237
+ recordKind: RecordKind;
3154
3238
  duplicate: EventEmitter<void>;
3155
3239
  delete: EventEmitter<void>;
3156
3240
  closeActionMenu: EventEmitter<void>;
@@ -3161,7 +3245,7 @@ declare class ActionMenuComponent {
3161
3245
  displayMainMenu(): void;
3162
3246
  displayDeleteMenu(): void;
3163
3247
  static ɵfac: i0.ɵɵFactoryDeclaration<ActionMenuComponent, never>;
3164
- 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>;
3248
+ 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>;
3165
3249
  }
3166
3250
 
3167
3251
  declare class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
@@ -3904,7 +3988,7 @@ declare class InteractiveTableComponent {
3904
3988
  get gridStyle(): {
3905
3989
  'grid-template-columns': string;
3906
3990
  };
3907
- getItemTitle(item: CatalogRecord): "" | "editor.record.lock.resourceType" | "editor.record.lock.harvested" | "editor.record.lock.owner";
3991
+ getItemTitle(item: CatalogRecord): "" | "editor.record.lock.harvested" | "editor.record.lock.owner";
3908
3992
  handleRowClick(item: unknown): void;
3909
3993
  static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveTableComponent, never>;
3910
3994
  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>;
@@ -4147,11 +4231,16 @@ declare class ImageInputComponent {
4147
4231
  }
4148
4232
 
4149
4233
  declare class ImageOverlayPreviewComponent {
4150
- imageUrl: string;
4151
- isPlaceholderShown: EventEmitter<boolean>;
4152
- openLightbox(src: string): void;
4234
+ imageUrl: i0.InputSignal<string>;
4235
+ isPlaceholderShown: i0.OutputEmitterRef<boolean>;
4236
+ private imageTemplate;
4237
+ private overlay;
4238
+ private viewContainerRef;
4239
+ private overlayRef;
4240
+ openLightbox(): void;
4241
+ closeLightbox(): void;
4153
4242
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageOverlayPreviewComponent, never>;
4154
- static ɵcmp: i0.ɵɵComponentDeclaration<ImageOverlayPreviewComponent, "gn-ui-image-overlay-preview", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "isPlaceholderShown": "isPlaceholderShown"; }, never, never, true, never>;
4243
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageOverlayPreviewComponent, "gn-ui-image-overlay-preview", never, { "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; }, { "isPlaceholderShown": "isPlaceholderShown"; }, never, never, true, never>;
4155
4244
  }
4156
4245
 
4157
4246
  declare class KindBadgeComponent {
@@ -4193,6 +4282,20 @@ declare class MarkdownEditorComponent {
4193
4282
  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>;
4194
4283
  }
4195
4284
 
4285
+ declare class KeywordBadgeComponent implements AfterViewInit {
4286
+ private translateService;
4287
+ keyword: Keyword;
4288
+ editable: boolean;
4289
+ keywordClick: EventEmitter<Keyword>;
4290
+ keywordRemove: EventEmitter<Keyword>;
4291
+ badgeComponent: ElementRef;
4292
+ get segments(): string[];
4293
+ get isPlaceWithoutExtent(): boolean;
4294
+ ngAfterViewInit(): void;
4295
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeywordBadgeComponent, never>;
4296
+ 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>;
4297
+ }
4298
+
4196
4299
  declare class MarkdownParserComponent {
4197
4300
  textContent: string;
4198
4301
  whitoutStyles?: boolean;
@@ -4286,11 +4389,27 @@ declare class MetadataQualityComponent implements OnChanges {
4286
4389
 
4287
4390
  declare class ContactPillComponent {
4288
4391
  contact: Individual;
4392
+ private host;
4393
+ overlayOpen: boolean;
4394
+ overlayWidth: number;
4395
+ overlayOffsetX: number;
4396
+ overlayPositions: ConnectedPosition[];
4289
4397
  get displayName(): string;
4398
+ toggleOverlay(): void;
4399
+ closeOverlay(): void;
4290
4400
  static ɵfac: i0.ɵɵFactoryDeclaration<ContactPillComponent, never>;
4291
4401
  static ɵcmp: i0.ɵɵComponentDeclaration<ContactPillComponent, "gn-ui-contact-pill", never, { "contact": { "alias": "contact"; "required": false; }; }, {}, never, never, true, never>;
4292
4402
  }
4293
4403
 
4404
+ declare class ContactDetailsComponent {
4405
+ contact: Individual;
4406
+ get organization(): Organization;
4407
+ get displayName(): string;
4408
+ get addressLines(): string[];
4409
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContactDetailsComponent, never>;
4410
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContactDetailsComponent, "gn-ui-contact-details", never, { "contact": { "alias": "contact"; "required": false; }; }, {}, never, never, true, never>;
4411
+ }
4412
+
4294
4413
  declare class NotificationComponent {
4295
4414
  type: 'info' | 'warning' | 'error' | 'success';
4296
4415
  title: string;
@@ -4730,22 +4849,6 @@ declare class FeatureRecordModule {
4730
4849
  static ɵinj: i0.ɵɵInjectorDeclaration<FeatureRecordModule>;
4731
4850
  }
4732
4851
 
4733
- type AggregationTypes = 'count' | 'sum' | 'min' | 'max' | 'average';
4734
- declare const CHART_TYPE_VALUES: readonly ["bar", "bar-horizontal", "line", "line-interpolated", "scatter", "pie"];
4735
- type InputChartType = (typeof CHART_TYPE_VALUES)[number];
4736
- interface DatavizChartConfigModel {
4737
- xProperty: string;
4738
- yProperty: string;
4739
- aggregation: AggregationTypes;
4740
- chartType: InputChartType;
4741
- }
4742
- interface DatavizConfigModel {
4743
- view: string;
4744
- source: DatasetOnlineResource;
4745
- chartConfig?: DatavizChartConfigModel;
4746
- styleTMSIndex?: number;
4747
- }
4748
-
4749
4852
  type DataItem = Feature;
4750
4853
  declare class FetchError {
4751
4854
  type: 'http' | 'forbidden' | 'network' | 'parse' | 'unsupportedType' | 'unknown';
@@ -4917,7 +5020,7 @@ declare class ChartViewComponent {
4917
5020
  set link(value: DatasetOnlineResource);
4918
5021
  private currentLink$;
4919
5022
  set aggregation(value: FieldAggregation[0]);
4920
- aggregation$: BehaviorSubject<"average" | "count" | "max" | "min" | "sum">;
5023
+ aggregation$: BehaviorSubject<"count" | "sum" | "min" | "max" | "average">;
4921
5024
  set xProperty(value: string);
4922
5025
  xProperty$: BehaviorSubject<string>;
4923
5026
  set yProperty(value: string);
@@ -4926,7 +5029,7 @@ declare class ChartViewComponent {
4926
5029
  chartType$: BehaviorSubject<"line" | "bar" | "bar-horizontal" | "line-interpolated" | "scatter" | "pie">;
4927
5030
  set userChartConfig(config: DatavizChartConfigModel);
4928
5031
  chartConfig$: Observable<{
4929
- aggregation: "average" | "count" | "max" | "min" | "sum";
5032
+ aggregation: "count" | "sum" | "min" | "max" | "average";
4930
5033
  xProperty: string;
4931
5034
  yProperty: string;
4932
5035
  chartType: "line" | "bar" | "bar-horizontal" | "line-interpolated" | "scatter" | "pie";
@@ -5031,15 +5134,6 @@ declare class DataTableComponent implements OnInit, AfterViewInit, OnChanges {
5031
5134
  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>;
5032
5135
  }
5033
5136
 
5034
- declare const tableItemsFixture: {
5035
- items: DataItem[];
5036
- properties: PropertyInfo[];
5037
- };
5038
- declare const someHabTableItemFixture: {
5039
- items: DataItem[];
5040
- properties: PropertyInfo[];
5041
- };
5042
-
5043
5137
  declare class FigureComponent {
5044
5138
  icon: string;
5045
5139
  title: string;
@@ -5138,6 +5232,24 @@ declare class MapLegendComponent implements OnChanges {
5138
5232
  static ɵcmp: i0.ɵɵComponentDeclaration<MapLegendComponent, "gn-ui-map-legend", never, { "context": { "alias": "context"; "required": false; }; }, { "legendStatusChange": "legendStatusChange"; }, never, never, true, never>;
5139
5233
  }
5140
5234
 
5235
+ type SpatialExtentLayerStyle = NonNullable<MapContextLayerGeojson['style']>;
5236
+ /**
5237
+ * Default style for a spatial-extent layer: a solid black outline over a
5238
+ * translucent grey fill.
5239
+ */
5240
+ declare const DEFAULT_SPATIAL_EXTENT_STYLE: SpatialExtentLayerStyle;
5241
+ /**
5242
+ * Builds a GeoJSON map layer drawing the given spatial extents: each extent is
5243
+ * rendered from its own geometry or, when only a bounding box is available,
5244
+ * from a polygon derived from that box.
5245
+ *
5246
+ * @returns the layer, or `null` when none of the extents can be represented.
5247
+ */
5248
+ declare function createSpatialExtentLayer(extents: DatasetSpatialExtent[], overrides?: {
5249
+ label?: string;
5250
+ clickable?: boolean;
5251
+ style?: SpatialExtentLayerStyle;
5252
+ }): MapContextLayer | null;
5141
5253
  declare function prioritizePageScroll(interactions: Collection<Interaction>): void;
5142
5254
  declare function dragPanCondition(this: DragPan, event: MapBrowserEvent<PointerEvent>): boolean;
5143
5255
  declare function mouseWheelZoomCondition(this: MouseWheelZoom, event: MapBrowserEvent<WheelEvent>): boolean;
@@ -5148,7 +5260,6 @@ declare class SpatialExtentComponent {
5148
5260
  spatialExtents$: BehaviorSubject<DatasetSpatialExtent[]>;
5149
5261
  mapContext$: Observable<MapContext>;
5150
5262
  error: string;
5151
- bboxCoordsToGeometry(bbox: [number, number, number, number]): Geometry;
5152
5263
  static ɵfac: i0.ɵɵFactoryDeclaration<SpatialExtentComponent, never>;
5153
5264
  static ɵcmp: i0.ɵɵComponentDeclaration<SpatialExtentComponent, "gn-ui-spatial-extent", never, { "spatialExtents": { "alias": "spatialExtents"; "required": false; }; }, {}, never, never, true, never>;
5154
5265
  }
@@ -5759,7 +5870,9 @@ interface FormFieldConfig {
5759
5870
  }
5760
5871
  type OnlineLinkResourceSpecifier = `onlineResourceType:link`;
5761
5872
  type DatasetDistributionsSpecifier = `onlineResourceType:!link`;
5762
- type FieldModelSpecifier = OnlineLinkResourceSpecifier | DatasetDistributionsSpecifier;
5873
+ type OnlineSingleLinkResourceSpecifier = `onlineResourceType:singleLink`;
5874
+ type EditableContactDetailsSpecifier = `contact:editableDetails`;
5875
+ type FieldModelSpecifier = OnlineLinkResourceSpecifier | DatasetDistributionsSpecifier | OnlineSingleLinkResourceSpecifier | EditableContactDetailsSpecifier;
5763
5876
  type FormFieldComponentName = 'form-field-constraints-shortcuts' | 'form-field-spatial-toggle';
5764
5877
  interface EditorFieldIdentification {
5765
5878
  model?: CatalogRecordKeys;
@@ -5769,20 +5882,20 @@ interface EditorFieldIdentification {
5769
5882
  interface EditorField extends EditorFieldIdentification {
5770
5883
  formFieldConfig: FormFieldConfig;
5771
5884
  gridColumnSpan?: number;
5772
- hidden?: boolean;
5885
+ hidden?: boolean | EditorFieldExpression;
5773
5886
  onSaveProcess?: EditorFieldExpression;
5774
5887
  }
5775
5888
  interface EditorSection {
5776
5889
  labelKey?: string;
5777
5890
  descriptionKey?: string;
5778
- hidden: boolean;
5891
+ hidden?: boolean | EditorFieldExpression;
5779
5892
  fields: EditorField[];
5780
5893
  }
5781
5894
  interface EditorFieldPage {
5782
5895
  labelKey?: string;
5783
5896
  sections: EditorSection[];
5784
5897
  }
5785
- interface EditorConfig {
5898
+ interface EditorConfig$1 {
5786
5899
  pages: EditorFieldPage[];
5787
5900
  }
5788
5901
 
@@ -5817,7 +5930,11 @@ declare const updateRecordLanguages: _ngrx_store.ActionCreator<"[Editor] Update
5817
5930
  otherLanguages: LanguageCode[];
5818
5931
  } & _ngrx_store.Action<"[Editor] Update record languages">>;
5819
5932
  declare const markRecordAsChanged: _ngrx_store.ActionCreator<"[Editor] Mark record as changed", () => _ngrx_store.Action<"[Editor] Mark record as changed">>;
5820
- declare const saveRecord: _ngrx_store.ActionCreator<"[Editor] Save record", () => _ngrx_store.Action<"[Editor] Save record">>;
5933
+ declare const saveRecord: _ngrx_store.ActionCreator<"[Editor] Save record", (props: {
5934
+ publish: boolean;
5935
+ }) => {
5936
+ publish: boolean;
5937
+ } & _ngrx_store.Action<"[Editor] Save record">>;
5821
5938
  declare const saveRecordSuccess: _ngrx_store.ActionCreator<"[Editor] Save record success", () => _ngrx_store.Action<"[Editor] Save record success">>;
5822
5939
  declare const saveRecordFailure: _ngrx_store.ActionCreator<"[Editor] Save record failure", (props: {
5823
5940
  error: SaveRecordError;
@@ -5827,9 +5944,9 @@ declare const saveRecordFailure: _ngrx_store.ActionCreator<"[Editor] Save record
5827
5944
  declare const draftSaveSuccess: _ngrx_store.ActionCreator<"[Editor] Draft save success", () => _ngrx_store.Action<"[Editor] Draft save success">>;
5828
5945
  declare const undoRecordDraft: _ngrx_store.ActionCreator<"[Editor] Undo record draft", () => _ngrx_store.Action<"[Editor] Undo record draft">>;
5829
5946
  declare const setEditorConfiguration: _ngrx_store.ActionCreator<"[Editor] Set editor configuration", (props: {
5830
- configuration: EditorConfig;
5947
+ configuration: EditorConfig$1;
5831
5948
  }) => {
5832
- configuration: EditorConfig;
5949
+ configuration: EditorConfig$1;
5833
5950
  } & _ngrx_store.Action<"[Editor] Set editor configuration">>;
5834
5951
  declare const setCurrentPage: _ngrx_store.ActionCreator<"[Editor] Set current page", (props: {
5835
5952
  page: number;
@@ -5887,7 +6004,7 @@ declare class EditorFacade {
5887
6004
  currentSections$: rxjs.Observable<geonetwork_ui.EditorSectionWithValues[]>;
5888
6005
  draftSaveSuccess$: rxjs.Observable<_ngrx_store.Action<"[Editor] Draft save success">>;
5889
6006
  currentPage$: rxjs.Observable<number>;
5890
- editorConfig$: rxjs.Observable<EditorConfig>;
6007
+ editorConfig$: rxjs.Observable<EditorConfig$1>;
5891
6008
  hasRecordChanged$: rxjs.Observable<{
5892
6009
  user: string;
5893
6010
  date: Date;
@@ -5897,10 +6014,11 @@ declare class EditorFacade {
5897
6014
  focusedField$: rxjs.Observable<CatalogRecordKeys>;
5898
6015
  openRecord(record: CatalogRecord, recordSource: string): void;
5899
6016
  saveRecord(): void;
6017
+ saveAndPublishRecord(): void;
5900
6018
  undoRecordDraft(): void;
5901
6019
  updateRecordField(field: string, value: unknown): void;
5902
6020
  updateRecordLanguages(defaultLanguage: LanguageCode, otherLanguages: LanguageCode[]): void;
5903
- setConfiguration(configuration: EditorConfig): void;
6021
+ setConfiguration(configuration: EditorConfig$1): void;
5904
6022
  setCurrentPage(page: number): void;
5905
6023
  setFocusedField(model: CatalogRecordKeys): void;
5906
6024
  setFieldVisibility(field: EditorFieldIdentification, visible: boolean): void;
@@ -5926,7 +6044,7 @@ interface EditorState {
5926
6044
  saving: boolean;
5927
6045
  saveError: SaveRecordError | null;
5928
6046
  changedSinceSave: boolean;
5929
- editorConfig: EditorConfig;
6047
+ editorConfig: EditorConfig$1;
5930
6048
  currentPage: number;
5931
6049
  hasRecordChanged: {
5932
6050
  user: string;
@@ -5947,7 +6065,7 @@ declare const selectRecordSource: _ngrx_store.MemoizedSelector<object, string, (
5947
6065
  declare const selectRecordSaving: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5948
6066
  declare const selectRecordSaveError: _ngrx_store.MemoizedSelector<object, Error, (s1: EditorState) => Error>;
5949
6067
  declare const selectRecordChangedSinceSave: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5950
- declare const selectEditorConfig: _ngrx_store.MemoizedSelector<object, EditorConfig, (s1: EditorState) => EditorConfig>;
6068
+ declare const selectEditorConfig: _ngrx_store.MemoizedSelector<object, EditorConfig$1, (s1: EditorState) => EditorConfig$1>;
5951
6069
  declare const selectCurrentPage: _ngrx_store.MemoizedSelector<object, number, (s1: EditorState) => number>;
5952
6070
  declare const selectRecordSections: _ngrx_store.MemoizedSelector<object, EditorSectionWithValues[], (s1: EditorState) => EditorSectionWithValues[]>;
5953
6071
  declare const selectHasRecordChanged: _ngrx_store.MemoizedSelector<object, {
@@ -5960,6 +6078,15 @@ declare const selectHasRecordChanged: _ngrx_store.MemoizedSelector<object, {
5960
6078
  declare const selectIsPublished: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5961
6079
  declare const selectCanEditRecord: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5962
6080
 
6081
+ declare class ContactDetailsFormComponent {
6082
+ contact: Individual;
6083
+ contactChange: EventEmitter<Individual>;
6084
+ handleChange(change: Partial<Individual>): void;
6085
+ handleOrganizationChange(change: Partial<Organization>): void;
6086
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContactDetailsFormComponent, never>;
6087
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContactDetailsFormComponent, "gn-ui-contact-details-form", never, { "contact": { "alias": "contact"; "required": false; }; }, { "contactChange": "contactChange"; }, never, never, true, never>;
6088
+ }
6089
+
5963
6090
  interface ImportMenuItems {
5964
6091
  label: string;
5965
6092
  icon: string;
@@ -6043,6 +6170,14 @@ declare class MultilingualPanelComponent implements OnDestroy {
6043
6170
  static ɵcmp: i0.ɵɵComponentDeclaration<MultilingualPanelComponent, "gn-ui-multilingual-panel", never, { "record": { "alias": "record"; "required": false; }; }, {}, never, never, true, never>;
6044
6171
  }
6045
6172
 
6173
+ declare class FieldFocusDirective {
6174
+ gnUiFieldFocusGlowClass: string;
6175
+ private el;
6176
+ focusField(focusInnerTarget?: boolean): void;
6177
+ static ɵfac: i0.ɵɵFactoryDeclaration<FieldFocusDirective, never>;
6178
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FieldFocusDirective, "[gnUiFieldFocus]", ["fieldFocus"], { "gnUiFieldFocusGlowClass": { "alias": "gnUiFieldFocusGlowClass"; "required": false; }; }, {}, never, never, true, never>;
6179
+ }
6180
+
6046
6181
  declare class FormFieldKeywordsComponent {
6047
6182
  private editorFacade;
6048
6183
  value: Keyword[];
@@ -6164,6 +6299,7 @@ declare class FormFieldSpatialExtentComponent {
6164
6299
 
6165
6300
  declare class FormFieldComponent {
6166
6301
  uniqueIdentifier: string;
6302
+ recordKind: RecordKind;
6167
6303
  model: CatalogRecordKeys;
6168
6304
  modelSpecifier: FieldModelSpecifier;
6169
6305
  componentName: FormFieldComponentName;
@@ -6172,6 +6308,7 @@ declare class FormFieldComponent {
6172
6308
  valueChange: EventEmitter<unknown>;
6173
6309
  titleInput: ElementRef;
6174
6310
  isOpenData: boolean;
6311
+ fieldFocus: FieldFocusDirective;
6175
6312
  toggleIsOpenData(event: boolean): void;
6176
6313
  focusTitleInput(): void;
6177
6314
  get withoutWrapper(): boolean;
@@ -6188,7 +6325,7 @@ declare class FormFieldComponent {
6188
6325
  get valueAsResourceIdentifierCode(): string;
6189
6326
  handleResourceIdentifierChange(code: string): void;
6190
6327
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
6191
- 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>;
6328
+ 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: {}; }]>;
6192
6329
  }
6193
6330
 
6194
6331
  declare const NOT_APPLICABLE_CONSTRAINT: Constraint;
@@ -6213,17 +6350,27 @@ declare class FormFieldTopicsComponent {
6213
6350
  }
6214
6351
 
6215
6352
  declare class RecordFormComponent implements OnInit, OnDestroy {
6216
- anchorIdPrefix: string;
6217
6353
  facade: EditorFacade;
6218
- private el;
6354
+ notifications: NotificationsService;
6219
6355
  subscription: Subscription;
6220
6356
  recordUniqueIdentifier$: rxjs.Observable<string>;
6357
+ recordKind$: rxjs.Observable<"dataset" | "service" | "reuse">;
6358
+ focusFieldWithPage$: rxjs.Observable<readonly [CatalogRecordKeys, number, number]>;
6359
+ formFields: Signal<readonly FormFieldComponent[]>;
6360
+ sectionFocusDirectives: Signal<readonly FieldFocusDirective[]>;
6361
+ focusField(model: CatalogRecordKeys, sectionIndex: number): void;
6221
6362
  ngOnInit(): void;
6222
6363
  ngOnDestroy(): void;
6223
6364
  handleFieldValueChange(model: CatalogRecordKeys, newValue: EditorFieldValue): void;
6224
6365
  fieldTracker(index: number, field: EditorFieldWithValue): CatalogRecordKeys;
6225
6366
  sectionTracker(index: number, section: EditorSectionWithValues): string;
6226
- getPageIndexForField(model: CatalogRecordKeys): Promise<number | null>;
6367
+ getFieldLocation(model: CatalogRecordKeys): Promise<{
6368
+ page: number;
6369
+ section: number;
6370
+ } | null>;
6371
+ private recordSignal;
6372
+ private expressionCache;
6373
+ evaluateExpression(expressionOrValue: string | EditorFieldValue): Signal<EditorFieldValue>;
6227
6374
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordFormComponent, never>;
6228
6375
  static ɵcmp: i0.ɵɵComponentDeclaration<RecordFormComponent, "gn-ui-record-form", never, {}, {}, never, never, true, never>;
6229
6376
  }
@@ -6303,79 +6450,24 @@ declare class FeatureEditorModule {
6303
6450
  static ɵinj: i0.ɵɵInjectorDeclaration<FeatureEditorModule>;
6304
6451
  }
6305
6452
 
6453
+ interface ISOTopic {
6454
+ value: string;
6455
+ label: string;
6456
+ }
6457
+ declare const DEFAULT_CONFIGURATION: EditorConfig$1;
6458
+ declare const REUSE_LIGHT_CONFIGURATION: EditorConfig$1;
6306
6459
  /**
6307
- * This file contains the configuration of the fields that will be displayed in the editor.
6308
- * To add a new field, you need to create a new EditorField object in the fields part of this file.
6309
- * Then add it to the corresponding section in the sections part of this file.
6310
- * Finally, add the section to the corresponding page in the pages part of this file.
6311
- */
6312
- /************************************************************
6313
- *************** FIELDS *****************
6314
- ************************************************************
6315
- */
6316
- declare const RECORD_UNIQUE_IDENTIFIER_FIELD: EditorField;
6317
- declare const CONSTRAINTS_SHORTCUTS: EditorField;
6318
- declare const LEGAL_CONSTRAINTS_FIELD: EditorField;
6319
- declare const SECURITY_CONSTRAINTS_FIELD: EditorField;
6320
- declare const OTHER_CONSTRAINTS_FIELD: EditorField;
6321
- declare const RECORD_LICENSE_FIELD: EditorField;
6322
- declare const RECORD_KEYWORDS_FIELD: EditorField;
6323
- declare const RECORD_TOPICS_FIELD: EditorField;
6324
- declare const RECORD_RESOURCE_CREATED_FIELD: EditorField;
6325
- declare const RESOURCE_IDENTIFIER_FIELD: EditorField;
6326
- declare const RECORD_RESOURCE_UPDATED_FIELD: EditorField;
6327
- declare const RECORD_UPDATED_FIELD: EditorField;
6328
- declare const RECORD_UPDATE_FREQUENCY_FIELD: EditorField;
6329
- declare const RECORD_TEMPORAL_EXTENTS_FIELD: EditorField;
6330
- declare const RECORD_TITLE_FIELD: EditorField;
6331
- declare const RECORD_ABSTRACT_FIELD: EditorField;
6332
- declare const CONTACTS_FOR_RESOURCE_FIELD: EditorField;
6333
- declare const CONTACTS: EditorField;
6334
- declare const RECORD_GRAPHICAL_OVERVIEW_FIELD: EditorField;
6335
- declare const RECORD_SPATIAL_TOGGLE_FIELD: EditorField;
6336
- declare const RECORD_SPATIAL_EXTENTS_FIELD: EditorField;
6337
- declare const RECORD_ONLINE_RESOURCES: EditorField;
6338
- declare const RECORD_ONLINE_LINK_RESOURCES: EditorField;
6339
- /************************************************************
6340
- *************** SECTIONS *****************
6341
- ************************************************************
6342
- */
6343
- declare const TITLE_SECTION: EditorSection;
6344
- declare const ABOUT_SECTION: EditorSection;
6345
- declare const GEOGRAPHICAL_COVERAGE_SECTION: EditorSection;
6346
- declare const ASSOCIATED_RESOURCES_SECTION: EditorSection;
6347
- declare const ANNEXES_SECTION: EditorSection;
6348
- declare const CLASSIFICATION_SECTION: EditorSection;
6349
- declare const TOPICS_SECTION: EditorSection;
6350
- declare const USE_AND_ACCESS_CONDITIONS_SECTION: EditorSection;
6351
- declare const DATA_MANAGERS_SECTION: EditorSection;
6352
- declare const METADATA_POINT_OF_CONTACT_SECTION: EditorSection;
6353
- /************************************************************
6354
- *************** PAGES *****************
6355
- ************************************************************
6356
- */
6357
- declare const DEFAULT_CONFIGURATION: EditorConfig;
6358
- /************************************************************
6359
- *************** LICENSES **************
6360
- ************************************************************
6460
+ * OTHER SETTINGS
6361
6461
  */
6362
6462
  declare const AVAILABLE_LICENSES: string[];
6363
6463
  declare const OPEN_DATA_LICENSE = "etalab";
6364
6464
  declare const MAX_UPLOAD_SIZE_MB = 10;
6365
- /************************************************************
6366
- *************** SPATIAL SCOPE ************
6367
- ************************************************************
6368
- */
6369
6465
  declare const SPATIAL_SCOPES: Keyword[];
6370
- /************************************************************
6371
- *************** INSPIRE TOPICS **************
6372
- ************************************************************
6373
- */
6374
- declare const INSPIRE_TOPICS: INSPIRE_topic[];
6466
+ declare const ISO_TOPICS: ISOTopic[];
6375
6467
 
6376
6468
  declare class EditorService {
6377
6469
  private recordsRepository;
6378
- saveRecord(record: CatalogRecord, recordSource: string, fieldsConfig: EditorConfig): Observable<[CatalogRecord, string]>;
6470
+ saveRecord(record: CatalogRecord, recordSource: string, fieldsConfig: EditorConfig$1, publish: boolean): Observable<[CatalogRecord, string]>;
6379
6471
  saveRecordAsDraft(record: CatalogRecord, recordSource: string): Observable<void>;
6380
6472
  undoRecordDraft(record: CatalogRecord): Observable<[CatalogRecord, string, boolean]>;
6381
6473
  hasRecordChangedSinceDraft(localRecord: CatalogRecord): Observable<{
@@ -6570,7 +6662,7 @@ declare class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {
6570
6662
  private renderer;
6571
6663
  popoverContent: ElementRef;
6572
6664
  content: string | TemplateRef<any>;
6573
- theme: 'light' | 'light-border' | 'translucent' | 'material' | '';
6665
+ theme: 'light' | 'light-border' | 'translucent' | 'material' | 'dark' | '';
6574
6666
  private tippyInstance;
6575
6667
  private view;
6576
6668
  private getContent;
@@ -6615,17 +6707,8 @@ declare class SpinningLoaderComponent {
6615
6707
 
6616
6708
  declare function provideI18n(config?: TranslateModuleConfig, useLocalStorage?: boolean): EnvironmentProviders;
6617
6709
 
6618
- /**
6619
- * This loader will rely on JSON files in the app assets
6620
- * Implements a fallback on default lang if translated labels are empty
6621
- */
6622
- declare class FileTranslateLoader extends TranslateHttpLoader {
6623
- getTranslation(lang: string): rxjs.Observable<{}>;
6624
- }
6625
-
6626
6710
  declare const DEFAULT_LANG = "en";
6627
6711
  declare const LANGUAGE_STORAGE_KEY = "geonetwork-ui-language";
6628
- declare function HttpLoaderFactory(http: HttpClient): FileTranslateLoader;
6629
6712
  declare const TRANSLATE_DEFAULT_CONFIG: TranslateModuleConfig;
6630
6713
  /**
6631
6714
  * This config will print translation keys in the UI directly; used to identify which keys are used
@@ -6639,8 +6722,12 @@ declare class I18nInterceptor implements HttpInterceptor {
6639
6722
  static ɵprov: i0.ɵɵInjectableDeclaration<I18nInterceptor>;
6640
6723
  }
6641
6724
 
6642
- declare class EmbeddedTranslateLoader implements TranslateLoader {
6643
- getTranslation(lang: string): Observable<Record<string, string>>;
6725
+ /**
6726
+ * This loader will rely on JSON files in the app assets
6727
+ * Implements a fallback on default lang if translated labels are empty
6728
+ */
6729
+ declare class FileTranslateLoader extends TranslateHttpLoader {
6730
+ getTranslation(lang: string): rxjs.Observable<{}>;
6644
6731
  }
6645
6732
 
6646
6733
  declare function dropEmptyTranslations(translations: any): {};
@@ -6791,6 +6878,11 @@ interface SearchPreset {
6791
6878
  interface MetadataQualityConfig {
6792
6879
  ENABLED: boolean;
6793
6880
  }
6881
+ type NewRecordStandard = 'iso19139' | 'iso19115-3';
6882
+ interface EditorConfig {
6883
+ NEW_RECORD_DEFAULT_LANGUAGE?: string;
6884
+ NEW_RECORD_STANDARD?: NewRecordStandard;
6885
+ }
6794
6886
  type CustomTranslations = {
6795
6887
  [translationKey: string]: string;
6796
6888
  };
@@ -6810,35 +6902,17 @@ interface SearchConfig {
6810
6902
  FILTER_GEOMETRY?: Geometry;
6811
6903
  }
6812
6904
 
6813
- /**
6814
- * This loader extends the default one based on JSON files but also loads custom translations
6815
- * defined in the app configuration
6816
- * Implements a fallback on default lang if translated labels are empty
6817
- */
6818
- declare class FileWithOverridesTranslateLoader extends FileTranslateLoader {
6819
- getTranslation(lang: string): rxjs.Observable<{}>;
6820
- }
6821
-
6822
6905
  declare function getGlobalConfig(): GlobalConfig;
6823
6906
  declare function getThemeConfig(): ThemeConfig;
6824
6907
  declare function getOptionalMapConfig(): MapConfig | null;
6825
6908
  declare function getOptionalSearchConfig(): SearchConfig | null;
6909
+ declare function getOptionalEditorConfig(): EditorConfig | null;
6826
6910
  declare function getMetadataQualityConfig(): MetadataQualityConfig;
6827
6911
  declare function getCustomTranslations(langCode: string): CustomTranslations;
6828
6912
  declare function loadAppConfig(configUrl?: string): Promise<void>;
6829
6913
  declare function isConfigLoaded(): boolean;
6830
6914
  declare function _reset(): void;
6831
- declare const TRANSLATE_WITH_OVERRIDES_CONFIG: {
6832
- compiler: {
6833
- provide: typeof TranslateCompiler;
6834
- useClass: typeof TranslateMessageFormatCompiler;
6835
- };
6836
- loader: {
6837
- provide: typeof TranslateLoader;
6838
- useFactory: (http: HttpClient) => FileWithOverridesTranslateLoader;
6839
- deps: (typeof HttpClient)[];
6840
- };
6841
- };
6915
+ declare const TRANSLATE_WITH_OVERRIDES_CONFIG: TranslateModuleConfig;
6842
6916
 
6843
6917
  declare const okAppConfigFixture: () => string;
6844
6918
  declare const appConfigWithTranslationFixture: () => string;
@@ -6851,6 +6925,6 @@ declare const unrecognizedKeysConfigFixture: () => string;
6851
6925
 
6852
6926
  declare function getMapContextLayerFromConfig(config: LayerConfig): MapContextLayer;
6853
6927
 
6854
- 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, setFocusedField, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, toIndividual, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateFrequencyCodeValues, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
6855
- 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 };
6928
+ 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, ContactDetailsFormComponent, 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, REUSE_LIGHT_CONFIGURATION, 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 };
6929
+ export type { Aggregation, AggregationBuckets, AggregationCounts, AggregationParams, AggregationResult, AggregationSort, AggregationTypes, Aggregations, AggregationsParams, AggregationsResults, AggregationsTypes, AssociatedRecord, 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 };
6856
6930
  //# sourceMappingURL=index.d.ts.map