geonetwork-ui 2.9.0 → 2.10.0-dev.02185426a

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 (167) hide show
  1. package/fesm2022/geonetwork-ui.mjs +2365 -6948
  2. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  3. package/index.d.ts +332 -174
  4. package/index.d.ts.map +1 -1
  5. package/material-styles.css +483 -0
  6. package/package.json +25 -35
  7. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +9 -0
  8. package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +2 -0
  9. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -0
  10. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +7 -0
  11. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +1 -0
  12. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -0
  13. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
  14. package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -0
  15. package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +2 -0
  16. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +1 -0
  17. package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +1 -0
  18. package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +2 -0
  19. package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +1 -0
  20. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +8 -0
  21. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +48 -7
  22. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +1 -0
  23. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +5 -4
  24. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
  25. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  26. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +7 -0
  27. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +8 -0
  28. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +8 -0
  29. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +11 -0
  30. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +33 -0
  31. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +33 -0
  32. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +8 -4
  33. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +2 -2
  34. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +72 -38
  35. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -1
  36. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +1 -1
  37. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +1 -1
  38. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +48 -2
  39. package/src/libs/common/domain/src/index.ts +1 -0
  40. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +13 -5
  41. package/src/libs/common/domain/src/lib/model/thesaurus/thesaurus.model.ts +2 -1
  42. package/src/libs/common/domain/src/lib/model/user/group.model.ts +8 -0
  43. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  44. package/src/libs/common/domain/src/lib/platform.service.interface.ts +2 -0
  45. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +56 -0
  46. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +5 -2
  47. package/src/libs/feature/editor/src/index.ts +2 -0
  48. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +10 -1
  49. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +26 -20
  50. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +15 -2
  51. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +0 -2
  52. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.css +0 -0
  53. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.html +67 -0
  54. package/src/libs/feature/editor/src/lib/components/contact-details/contact-details-form.component.ts +39 -0
  55. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +5 -14
  56. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +3 -28
  57. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +18 -3
  58. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +33 -40
  59. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +11 -6
  60. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +18 -2
  61. package/src/libs/feature/editor/src/lib/components/record-form/form-field/field-focus.directive.ts +41 -0
  62. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +33 -34
  63. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +13 -13
  64. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +18 -4
  65. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +8 -7
  66. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +6 -6
  67. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +1 -1
  68. 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
  69. 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
  70. 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
  71. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +12 -5
  72. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.html +4 -4
  73. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +7 -0
  74. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.ts +2 -2
  75. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +6 -2
  76. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +3 -1
  77. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.css +3 -0
  78. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +21 -16
  79. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +14 -0
  80. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  81. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.css +35 -0
  82. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +18 -5
  83. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +118 -5
  84. package/src/libs/feature/editor/src/lib/expressions.ts +380 -8
  85. package/src/libs/feature/editor/src/lib/fields.config.ts +310 -336
  86. package/src/libs/feature/editor/src/lib/models/editor-config.model.ts +6 -3
  87. package/src/libs/feature/editor/src/lib/services/editor.service.ts +9 -13
  88. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +33 -0
  89. package/src/libs/feature/notify-reuse/src/index.ts +1 -0
  90. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.css +0 -0
  91. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.html +1 -0
  92. package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +21 -0
  93. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +9 -1
  94. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +10 -5
  95. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +2 -2
  96. package/src/libs/ui/dataviz/src/index.ts +0 -1
  97. package/src/libs/ui/elements/src/index.ts +3 -0
  98. package/src/libs/ui/elements/src/lib/contact-details/contact-details.component.html +88 -0
  99. package/src/libs/ui/elements/src/lib/contact-details/contact-details.component.ts +45 -0
  100. package/src/libs/ui/elements/src/lib/contact-pill/contact-pill.component.html +41 -0
  101. package/src/libs/ui/elements/src/lib/contact-pill/contact-pill.component.ts +70 -0
  102. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +2 -1
  103. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +2 -2
  104. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +13 -0
  105. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +13 -3
  106. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +43 -6
  107. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +1 -1
  108. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +0 -1
  109. package/src/libs/ui/elements/src/lib/keyword-badge/keyword-badge.component.html +14 -0
  110. package/src/libs/ui/elements/src/lib/keyword-badge/keyword-badge.component.ts +85 -0
  111. package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +2 -2
  112. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -5
  113. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +3 -2
  114. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +26 -68
  115. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +30 -10
  116. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +4 -5
  117. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +4 -0
  118. package/src/libs/ui/inputs/src/lib/badge/badge.component.html +33 -26
  119. package/src/libs/ui/inputs/src/lib/badge/badge.component.ts +9 -0
  120. package/src/libs/ui/inputs/src/lib/button/button.component.ts +8 -0
  121. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +2 -2
  122. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  123. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +3 -3
  124. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +2 -2
  125. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +6 -2
  126. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +5 -5
  127. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +9 -1
  128. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -1
  129. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +3 -8
  130. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.html +7 -7
  131. package/src/libs/ui/layout/src/lib/sortable-list/sortable-list.component.ts +14 -1
  132. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +2 -1
  133. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts +15 -64
  134. package/src/libs/ui/map/src/lib/map-utils.ts +48 -0
  135. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +1 -1
  136. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +0 -1
  137. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +12 -8
  138. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +3 -1
  139. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -0
  140. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +7 -1
  141. package/src/libs/util/app-config/src/lib/app-config.ts +70 -9
  142. package/src/libs/util/app-config/src/lib/model.ts +7 -0
  143. package/src/libs/util/app-config/src/lib/parse-utils.ts +50 -1
  144. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +1 -2
  145. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +6 -3
  146. package/src/libs/util/i18n/src/index.ts +0 -1
  147. package/src/libs/util/i18n/src/lib/i18n.constants.ts +17 -11
  148. package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +2 -2
  149. package/src/libs/util/i18n/src/lib/i18n.providers.ts +14 -17
  150. package/src/libs/util/i18n/src/lib/test.translate.loader.ts +48 -0
  151. package/src/libs/util/shared/src/lib/links/link-utils.ts +23 -1
  152. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +33 -18
  153. package/src/libs/util/shared/src/lib/services/date.service.ts +3 -3
  154. package/src/libs/util/shared/src/lib/utils/geojson.ts +58 -1
  155. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  156. package/src/libs/util/shared/src/lib/utils/user-display.ts +32 -0
  157. package/style.css +0 -1
  158. package/tailwind.base.css +28 -2
  159. package/translations/de.json +81 -48
  160. package/translations/en.json +86 -53
  161. package/translations/es.json +55 -22
  162. package/translations/fr.json +83 -50
  163. package/translations/it.json +81 -48
  164. package/translations/nl.json +54 -21
  165. package/translations/pt.json +55 -22
  166. package/translations/sk.json +55 -22
  167. 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';
@@ -32,7 +32,7 @@ import * as i2 from '@ngrx/router-store';
32
32
  import * as _angular_router from '@angular/router';
33
33
  import { Router, QueryParamsHandling, Routes } from '@angular/router';
34
34
  import Collection from 'ol/Collection.js';
35
- import { Interaction, DragPan, MouseWheelZoom } from 'ol/interaction.js';
35
+ import { DragPan, MouseWheelZoom, Interaction } from 'ol/interaction.js';
36
36
  import MapBrowserEvent from 'ol/MapBrowserEvent.js';
37
37
  import * as chart_js from 'chart.js';
38
38
  import { Chart, ChartType, ChartData, ChartOptions } from 'chart.js';
@@ -46,7 +46,6 @@ import { CdkDragDrop } from '@angular/cdk/drag-drop';
46
46
  import { Locale } from 'date-fns/locale';
47
47
  import { ViewportScroller } from '@angular/common';
48
48
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
49
- import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
50
49
 
51
50
  type LanguageCode = string;
52
51
  type FieldTranslation = Record<LanguageCode, string>;
@@ -100,7 +99,7 @@ interface Individual {
100
99
 
101
100
  type KeywordType = 'place' | 'temporal' | 'theme' | 'other';
102
101
  interface ThesaurusModel {
103
- id: string;
102
+ id?: string;
104
103
  name?: string;
105
104
  url?: URL;
106
105
  thesaurusKey?: string;
@@ -136,12 +135,9 @@ interface Keyword {
136
135
  type: KeywordType;
137
136
  thesaurus?: ThesaurusModel;
138
137
  bbox?: [number, number, number, number];
138
+ hierarchyPath?: string[];
139
139
  translations?: KeywordTranslations;
140
140
  }
141
- interface INSPIRE_topic {
142
- value: string;
143
- label: string;
144
- }
145
141
  interface ResourceIdentifier$1 {
146
142
  code: string;
147
143
  codeSpace?: string;
@@ -229,10 +225,19 @@ interface DatasetTemporalExtent {
229
225
  start: Date;
230
226
  end?: Date;
231
227
  }
228
+ /**
229
+ * Represents a source dataset referenced from a lineage entry.
230
+ */
231
+ interface SourceRecord {
232
+ uuid?: string;
233
+ title?: string;
234
+ href?: string;
235
+ }
232
236
  interface DatasetRecord extends BaseRecord {
233
237
  kind: 'dataset';
234
238
  status: RecordStatus;
235
239
  lineage: string;
240
+ sourceRecords: Array<SourceRecord>;
236
241
  onlineResources: Array<DatasetOnlineResource>;
237
242
  spatialExtents: Array<DatasetSpatialExtent>;
238
243
  temporalExtents: Array<DatasetTemporalExtent>;
@@ -256,6 +261,7 @@ interface ServiceRecord extends BaseRecord {
256
261
  interface ReuseRecord extends BaseRecord {
257
262
  kind: 'reuse';
258
263
  lineage: string;
264
+ sourceRecords: Array<SourceRecord>;
259
265
  onlineResources: Array<DatasetOnlineResource>;
260
266
  reuseType: ReuseType;
261
267
  spatialExtents: Array<DatasetSpatialExtent>;
@@ -427,6 +433,7 @@ type ThesaurusName = string;
427
433
  interface Thesaurus {
428
434
  id?: string;
429
435
  title?: string;
436
+ multilingualTitle?: MultilingualField;
430
437
  theme?: string;
431
438
  link?: string;
432
439
  keywords: MultilingualField[];
@@ -687,7 +694,17 @@ declare const getAsUrl: (field: any, location?: string) => URL;
687
694
  declare const mapLogo: (source: SourceWithUnknownProps) => URL;
688
695
  declare const mapOrganization: (sourceContact: SourceWithUnknownProps, lang3: string) => Organization;
689
696
  declare const mapContact: (sourceContact: SourceWithUnknownProps, lang3: string) => Individual;
690
- declare const mapKeywords: (thesauri: Thesaurus[], language: string) => any[];
697
+ interface KeywordTree {
698
+ default?: string[];
699
+ }
700
+ /**
701
+ * Resolves a keyword's ancestor path within its thesaurus tree, or null for a
702
+ * root-level keyword (no ancestors to show). Tree entries are `^`-joined label
703
+ * paths (default language); they aren't index-aligned with the keywords, so we
704
+ * match on the last segment (not by position/URI), shortest path on poly-hierarchy.
705
+ */
706
+ declare const getKeywordHierarchyPath: (keywordDefaultLabel: string, tree?: KeywordTree | null) => string[] | null;
707
+ declare const mapKeywords: (thesauri: Record<string, Thesaurus>, language: string, source?: SourceWithUnknownProps) => any[];
691
708
 
692
709
  type ESResponseSource = SourceWithUnknownProps;
693
710
  type EsFieldMapperFn = (output: Partial<CatalogRecord>, source: ESResponseSource) => Partial<CatalogRecord>;
@@ -1076,6 +1093,8 @@ declare abstract class RecordsRepositoryInterface {
1076
1093
  }
1077
1094
 
1078
1095
  type RecordAsXml = string;
1096
+ declare const DISABLE_DRAFT: InjectionToken<boolean>;
1097
+ declare const DEFAULT_RECORD_CONVERTER: InjectionToken<BaseConverter<string>>;
1079
1098
  declare class Gn4Repository implements RecordsRepositoryInterface {
1080
1099
  private httpClient;
1081
1100
  private gn4SearchApi;
@@ -1085,6 +1104,8 @@ declare class Gn4Repository implements RecordsRepositoryInterface {
1085
1104
  private platformService;
1086
1105
  private gn4LanguagesApi;
1087
1106
  private settingsService;
1107
+ private disableDraft;
1108
+ private defaultConverter;
1088
1109
  _draftsChanged: Subject<void>;
1089
1110
  draftsChanged$: Observable<void>;
1090
1111
  search({ filters, fields, offset, limit, sort, filterIds, filterGeometry, }: SearchParams): Observable<SearchResults>;
@@ -1744,6 +1765,15 @@ interface UserModel {
1744
1765
  profileIcon?: string;
1745
1766
  }
1746
1767
 
1768
+ interface GroupModel {
1769
+ groupId: number;
1770
+ groupName: string;
1771
+ isMember: boolean;
1772
+ canEdit: boolean;
1773
+ canApprove: boolean;
1774
+ canAdministrate: boolean;
1775
+ }
1776
+
1747
1777
  interface RecordAttachment {
1748
1778
  url: URL;
1749
1779
  fileName: string;
@@ -1763,6 +1793,7 @@ declare abstract class PlatformServiceInterface {
1763
1793
  abstract getMe(): Observable<UserModel>;
1764
1794
  abstract isAnonymous(): Observable<boolean>;
1765
1795
  abstract getUsers(): Observable<UserModel[]>;
1796
+ abstract getUserPermissionsByGroup(): Observable<GroupModel[]>;
1766
1797
  abstract getUsersByOrganization(organisation: Organization): Observable<UserModel[]>;
1767
1798
  abstract getOrganizations(): Observable<Organization[]>;
1768
1799
  abstract translateKey(key: string): Observable<string>;
@@ -1913,6 +1944,7 @@ declare class SelectionService {
1913
1944
 
1914
1945
  interface Gn4ProvideOptions {
1915
1946
  disableAuth?: boolean;
1947
+ disableDraft?: boolean;
1916
1948
  }
1917
1949
  declare function provideGn4(provideOptions?: Gn4ProvideOptions): Provider[];
1918
1950
 
@@ -1920,6 +1952,7 @@ declare const DISABLE_AUTH: InjectionToken<boolean>;
1920
1952
  declare class Gn4PlatformService implements PlatformServiceInterface {
1921
1953
  private meApi;
1922
1954
  private usersApi;
1955
+ private groupsApi;
1923
1956
  private mapper;
1924
1957
  private toolsApiService;
1925
1958
  private registriesApiService;
@@ -1951,6 +1984,7 @@ declare class Gn4PlatformService implements PlatformServiceInterface {
1951
1984
  getOrganizations(): Observable<Organization[]>;
1952
1985
  getUsersByOrganization(organisation: Organization): Observable<UserModel[]>;
1953
1986
  getUsers(): Observable<UserModel[]>;
1987
+ getUserPermissionsByGroup(): Observable<GroupModel[]>;
1954
1988
  translateKey(key: string): Observable<string>;
1955
1989
  private allThesaurus$;
1956
1990
  searchKeywords(query: string, keywordTypes: KeywordType[]): Observable<Keyword[]>;
@@ -2115,6 +2149,20 @@ declare function createFuzzyFilter(pattern: string): FuzzyFilter;
2115
2149
  declare function getGeometryFromGeoJSON(data: FeatureCollection | Feature | Geometry): Geometry | null;
2116
2150
  type BoundingBox = [number, number, number, number];
2117
2151
  declare function getGeometryBoundingBox(geometry: Geometry): BoundingBox;
2152
+ /**
2153
+ * Builds the closed GeoJSON Polygon matching the given bounding box.
2154
+ */
2155
+ declare function bboxToPolygon(bbox: BoundingBox): Polygon;
2156
+ /**
2157
+ * Returns the geometry carried by a spatial extent, falling back to the polygon
2158
+ * derived from its bounding box. Returns null when the extent has neither.
2159
+ */
2160
+ declare function spatialExtentToGeometry(extent: DatasetSpatialExtent): Geometry | null;
2161
+ /**
2162
+ * Converts a list of dataset spatial extents into a GeoJSON FeatureCollection,
2163
+ * e.g. to be used as the data source of a map layer.
2164
+ */
2165
+ declare function spatialExtentsToFeatureCollection(extents: DatasetSpatialExtent[]): FeatureCollection;
2118
2166
 
2119
2167
  declare function downsizeImage(blob: Blob, maxWidth: number, maxHeight: number): Promise<Blob>;
2120
2168
  declare function downgradeImage(blob: Blob, maxSizeBytes: number): Promise<Blob>;
@@ -2162,6 +2210,10 @@ declare function getTemporalRangeUnion(ranges: {
2162
2210
  */
2163
2211
  declare function removeSearchParams(url: string, searchParams: string[]): string;
2164
2212
 
2213
+ declare function getIndividualDisplayName(individual: Individual): string;
2214
+ declare function getAddressLines(address: string | undefined): string[];
2215
+ declare function toIndividual(user: UserModel): Individual;
2216
+
2165
2217
  declare const FORMATS: {
2166
2218
  readonly csv: {
2167
2219
  readonly extensions: readonly ["csv"];
@@ -2339,8 +2391,12 @@ declare class ImageFallbackDirective {
2339
2391
  declare const GEONETWORK_UI_VERSION: string;
2340
2392
  declare const GEONETWORK_UI_TAG_NAME: string;
2341
2393
 
2394
+ type TValidatorEntry = {
2395
+ validator: (metadata: Partial<CatalogRecord>) => boolean;
2396
+ alias?: string;
2397
+ };
2342
2398
  type TValidatorMapper = {
2343
- [key: string]: (metadata: Partial<CatalogRecord>) => boolean;
2399
+ [key: string]: TValidatorEntry;
2344
2400
  };
2345
2401
  declare const ValidatorMapper: TValidatorMapper;
2346
2402
  type ValidatorMapperKeys = keyof typeof ValidatorMapper & string;
@@ -2348,6 +2404,7 @@ declare function getAllKeysValidator(): string[];
2348
2404
  declare function getQualityValidators(record: Partial<CatalogRecord>, propsToValidate: ValidatorMapperKeys[]): {
2349
2405
  name: string;
2350
2406
  validator: () => boolean;
2407
+ alias: string;
2351
2408
  }[];
2352
2409
 
2353
2410
  declare function updateLanguages<T extends CatalogRecord>(record: T, defaultLanguage: LanguageCode, otherLanguages: LanguageCode[]): T;
@@ -2365,6 +2422,15 @@ declare class GnUiHumanizeDateDirective implements OnInit {
2365
2422
 
2366
2423
  declare class MapUtilsService {
2367
2424
  getRecordExtent(record: Partial<CatalogRecord>): BoundingBox;
2425
+ /**
2426
+ * Builds a non-interactive overlay layer drawing the spatial extent(s)
2427
+ * declared in the record's metadata (bounding boxes and/or geometries).
2428
+ * Returns null when the record has no usable spatial extent.
2429
+ *
2430
+ * This is purely for display and is independent from the map's initial view,
2431
+ * which is derived separately (see {@link getRecordExtent}).
2432
+ */
2433
+ getRecordExtentLayer(record: Partial<CatalogRecord>): MapContextLayer | null;
2368
2434
  static ɵfac: i0.ɵɵFactoryDeclaration<MapUtilsService, never>;
2369
2435
  static ɵprov: i0.ɵɵInjectableDeclaration<MapUtilsService>;
2370
2436
  }
@@ -2690,14 +2756,16 @@ declare class BadgeComponent {
2690
2756
  clickable?: boolean;
2691
2757
  removable?: boolean;
2692
2758
  badgeRemoveClicked: EventEmitter<void>;
2759
+ badgeClicked: EventEmitter<void>;
2693
2760
  removeBadge(): void;
2761
+ handleClick(event: MouseEvent): void;
2694
2762
  static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
2695
- static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "gn-ui-badge", never, { "clickable": { "alias": "clickable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "badgeRemoveClicked": "badgeRemoveClicked"; }, never, ["*"], true, never>;
2763
+ static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "gn-ui-badge", never, { "clickable": { "alias": "clickable"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "badgeRemoveClicked": "badgeRemoveClicked"; "badgeClicked": "badgeClicked"; }, never, ["*"], true, never>;
2696
2764
  }
2697
2765
 
2698
2766
  declare class ButtonComponent {
2699
2767
  private btnClass;
2700
- set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'black');
2768
+ set type(value: 'primary' | 'secondary' | 'default' | 'outline' | 'light' | 'gray' | 'gray-light' | 'black' | 'primary-light');
2701
2769
  disabled: boolean;
2702
2770
  extraClass: string;
2703
2771
  buttonClick: EventEmitter<Event>;
@@ -2808,7 +2876,7 @@ declare class DropdownMultiselectComponent {
2808
2876
  overlayPositions: ConnectedPosition[];
2809
2877
  scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
2810
2878
  overlayOpen: boolean;
2811
- overlayWidth: string;
2879
+ overlayMinWidth: string;
2812
2880
  overlayMaxHeight: string;
2813
2881
  id: string;
2814
2882
  get hasSelectedChoices(): boolean;
@@ -3023,7 +3091,7 @@ declare class UrlInputComponent implements OnChanges {
3023
3091
  inputValue: string;
3024
3092
  ngOnChanges(changes: SimpleChanges): void;
3025
3093
  handleInput(event: Event): void;
3026
- handleUpload(element: HTMLInputElement): void;
3094
+ handleUpload(element: HTMLInputElement, event: Event): void;
3027
3095
  isValidUrl(url: string): boolean;
3028
3096
  static ɵfac: i0.ɵɵFactoryDeclaration<UrlInputComponent, never>;
3029
3097
  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>;
@@ -3132,6 +3200,22 @@ declare class ResultsTableComponent {
3132
3200
  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>;
3133
3201
  }
3134
3202
 
3203
+ type AggregationTypes = 'count' | 'sum' | 'min' | 'max' | 'average';
3204
+ declare const CHART_TYPE_VALUES: readonly ["bar", "bar-horizontal", "line", "line-interpolated", "scatter", "pie"];
3205
+ type InputChartType = (typeof CHART_TYPE_VALUES)[number];
3206
+ interface DatavizChartConfigModel {
3207
+ xProperty: string;
3208
+ yProperty: string;
3209
+ aggregation: AggregationTypes;
3210
+ chartType: InputChartType;
3211
+ }
3212
+ interface DatavizConfigModel {
3213
+ view: string;
3214
+ source: DatasetOnlineResource;
3215
+ chartConfig?: DatavizChartConfigModel;
3216
+ styleTMSIndex?: number;
3217
+ }
3218
+
3135
3219
  type ActionMenuPage = 'mainMenu' | 'deleteMenu' | 'rollbackMenu';
3136
3220
  declare class ActionMenuComponent {
3137
3221
  dialog: MatDialog;
@@ -3140,6 +3224,7 @@ declare class ActionMenuComponent {
3140
3224
  isDuplicating: boolean;
3141
3225
  canDelete: boolean;
3142
3226
  page: 'draft' | 'main' | 'record';
3227
+ recordKind: RecordKind;
3143
3228
  duplicate: EventEmitter<void>;
3144
3229
  delete: EventEmitter<void>;
3145
3230
  closeActionMenu: EventEmitter<void>;
@@ -3150,7 +3235,7 @@ declare class ActionMenuComponent {
3150
3235
  displayMainMenu(): void;
3151
3236
  displayDeleteMenu(): void;
3152
3237
  static ɵfac: i0.ɵɵFactoryDeclaration<ActionMenuComponent, never>;
3153
- 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>;
3238
+ 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>;
3154
3239
  }
3155
3240
 
3156
3241
  declare class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
@@ -3893,7 +3978,7 @@ declare class InteractiveTableComponent {
3893
3978
  get gridStyle(): {
3894
3979
  'grid-template-columns': string;
3895
3980
  };
3896
- getItemTitle(item: CatalogRecord): "" | "editor.record.lock.resourceType" | "editor.record.lock.harvested" | "editor.record.lock.owner";
3981
+ getItemTitle(item: CatalogRecord): "" | "editor.record.lock.harvested" | "editor.record.lock.owner";
3897
3982
  handleRowClick(item: unknown): void;
3898
3983
  static ɵfac: i0.ɵɵFactoryDeclaration<InteractiveTableComponent, never>;
3899
3984
  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>;
@@ -4136,11 +4221,16 @@ declare class ImageInputComponent {
4136
4221
  }
4137
4222
 
4138
4223
  declare class ImageOverlayPreviewComponent {
4139
- imageUrl: string;
4140
- isPlaceholderShown: EventEmitter<boolean>;
4141
- openLightbox(src: string): void;
4224
+ imageUrl: i0.InputSignal<string>;
4225
+ isPlaceholderShown: i0.OutputEmitterRef<boolean>;
4226
+ private imageTemplate;
4227
+ private overlay;
4228
+ private viewContainerRef;
4229
+ private overlayRef;
4230
+ openLightbox(): void;
4231
+ closeLightbox(): void;
4142
4232
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageOverlayPreviewComponent, never>;
4143
- static ɵcmp: i0.ɵɵComponentDeclaration<ImageOverlayPreviewComponent, "gn-ui-image-overlay-preview", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "isPlaceholderShown": "isPlaceholderShown"; }, never, never, true, never>;
4233
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageOverlayPreviewComponent, "gn-ui-image-overlay-preview", never, { "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; }, { "isPlaceholderShown": "isPlaceholderShown"; }, never, never, true, never>;
4144
4234
  }
4145
4235
 
4146
4236
  declare class KindBadgeComponent {
@@ -4182,6 +4272,20 @@ declare class MarkdownEditorComponent {
4182
4272
  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>;
4183
4273
  }
4184
4274
 
4275
+ declare class KeywordBadgeComponent implements AfterViewInit {
4276
+ private translateService;
4277
+ keyword: Keyword;
4278
+ editable: boolean;
4279
+ keywordClick: EventEmitter<Keyword>;
4280
+ keywordRemove: EventEmitter<Keyword>;
4281
+ badgeComponent: ElementRef;
4282
+ get segments(): string[];
4283
+ get isPlaceWithoutExtent(): boolean;
4284
+ ngAfterViewInit(): void;
4285
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeywordBadgeComponent, never>;
4286
+ 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>;
4287
+ }
4288
+
4185
4289
  declare class MarkdownParserComponent {
4186
4290
  textContent: string;
4187
4291
  whitoutStyles?: boolean;
@@ -4233,9 +4337,12 @@ declare class MetadataInfoComponent {
4233
4337
  start: string;
4234
4338
  end: string;
4235
4339
  };
4236
- get shownOrganization(): Organization;
4237
- get resourceContact(): Individual;
4238
4340
  fieldReady(propName: string): boolean;
4341
+ get contactGroups(): {
4342
+ role: Role;
4343
+ roleLabel: string;
4344
+ contacts: Individual[];
4345
+ }[];
4239
4346
  onKeywordClick(keyword: Keyword): void;
4240
4347
  static ɵfac: i0.ɵɵFactoryDeclaration<MetadataInfoComponent, never>;
4241
4348
  static ɵcmp: i0.ɵɵComponentDeclaration<MetadataInfoComponent, "gn-ui-metadata-info", never, { "metadata": { "alias": "metadata"; "required": false; }; "incomplete": { "alias": "incomplete"; "required": false; }; }, { "keyword": "keyword"; }, never, never, true, never>;
@@ -4270,6 +4377,29 @@ declare class MetadataQualityComponent implements OnChanges {
4270
4377
  static ɵcmp: i0.ɵɵComponentDeclaration<MetadataQualityComponent, "gn-ui-metadata-quality", never, { "metadata": { "alias": "metadata"; "required": false; }; "smaller": { "alias": "smaller"; "required": false; }; "metadataQualityDisplay": { "alias": "metadataQualityDisplay"; "required": false; }; "popoverDisplay": { "alias": "popoverDisplay"; "required": false; }; "propsToValidate": { "alias": "propsToValidate"; "required": false; }; "forceComputeScore": { "alias": "forceComputeScore"; "required": false; }; }, {}, never, never, true, never>;
4271
4378
  }
4272
4379
 
4380
+ declare class ContactPillComponent {
4381
+ contact: Individual;
4382
+ private host;
4383
+ overlayOpen: boolean;
4384
+ overlayWidth: number;
4385
+ overlayOffsetX: number;
4386
+ overlayPositions: ConnectedPosition[];
4387
+ get displayName(): string;
4388
+ toggleOverlay(): void;
4389
+ closeOverlay(): void;
4390
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContactPillComponent, never>;
4391
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContactPillComponent, "gn-ui-contact-pill", never, { "contact": { "alias": "contact"; "required": false; }; }, {}, never, never, true, never>;
4392
+ }
4393
+
4394
+ declare class ContactDetailsComponent {
4395
+ contact: Individual;
4396
+ get organization(): Organization;
4397
+ get displayName(): string;
4398
+ get addressLines(): string[];
4399
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContactDetailsComponent, never>;
4400
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContactDetailsComponent, "gn-ui-contact-details", never, { "contact": { "alias": "contact"; "required": false; }; }, {}, never, never, true, never>;
4401
+ }
4402
+
4273
4403
  declare class NotificationComponent {
4274
4404
  type: 'info' | 'warning' | 'error' | 'success';
4275
4405
  title: string;
@@ -4379,7 +4509,6 @@ type CardSize = 'L' | 'M' | 'S' | 'XS';
4379
4509
  declare class InternalLinkCardComponent implements OnInit {
4380
4510
  protected elementRef: ElementRef<any>;
4381
4511
  record: CatalogRecord;
4382
- linkTarget: string;
4383
4512
  linkHref: string;
4384
4513
  metadataQualityDisplay: boolean;
4385
4514
  favoriteTemplate: TemplateRef<{
@@ -4396,7 +4525,7 @@ declare class InternalLinkCardComponent implements OnInit {
4396
4525
  get shouldShowThumbnail(): boolean;
4397
4526
  get displayContactIconOnly(): boolean;
4398
4527
  static ɵfac: i0.ɵɵFactoryDeclaration<InternalLinkCardComponent, never>;
4399
- static ɵcmp: i0.ɵɵComponentDeclaration<InternalLinkCardComponent, "gn-ui-internal-link-card", never, { "record": { "alias": "record"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "linkHref": { "alias": "linkHref"; "required": false; }; "metadataQualityDisplay": { "alias": "metadataQualityDisplay"; "required": false; }; "favoriteTemplate": { "alias": "favoriteTemplate"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "mdSelect": "mdSelect"; }, never, never, true, never>;
4528
+ static ɵcmp: i0.ɵɵComponentDeclaration<InternalLinkCardComponent, "gn-ui-internal-link-card", never, { "record": { "alias": "record"; "required": false; }; "linkHref": { "alias": "linkHref"; "required": false; }; "metadataQualityDisplay": { "alias": "metadataQualityDisplay"; "required": false; }; "favoriteTemplate": { "alias": "favoriteTemplate"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "mdSelect": "mdSelect"; }, never, never, true, never>;
4400
4529
  }
4401
4530
 
4402
4531
  declare class ServiceCapabilitiesComponent implements OnInit {
@@ -4710,22 +4839,6 @@ declare class FeatureRecordModule {
4710
4839
  static ɵinj: i0.ɵɵInjectorDeclaration<FeatureRecordModule>;
4711
4840
  }
4712
4841
 
4713
- type AggregationTypes = 'count' | 'sum' | 'min' | 'max' | 'average';
4714
- declare const CHART_TYPE_VALUES: readonly ["bar", "bar-horizontal", "line", "line-interpolated", "scatter", "pie"];
4715
- type InputChartType = (typeof CHART_TYPE_VALUES)[number];
4716
- interface DatavizChartConfigModel {
4717
- xProperty: string;
4718
- yProperty: string;
4719
- aggregation: AggregationTypes;
4720
- chartType: InputChartType;
4721
- }
4722
- interface DatavizConfigModel {
4723
- view: string;
4724
- source: DatasetOnlineResource;
4725
- chartConfig?: DatavizChartConfigModel;
4726
- styleTMSIndex?: number;
4727
- }
4728
-
4729
4842
  type DataItem = Feature;
4730
4843
  declare class FetchError {
4731
4844
  type: 'http' | 'forbidden' | 'network' | 'parse' | 'unsupportedType' | 'unknown';
@@ -4897,7 +5010,7 @@ declare class ChartViewComponent {
4897
5010
  set link(value: DatasetOnlineResource);
4898
5011
  private currentLink$;
4899
5012
  set aggregation(value: FieldAggregation[0]);
4900
- aggregation$: BehaviorSubject<"average" | "count" | "max" | "min" | "sum">;
5013
+ aggregation$: BehaviorSubject<"count" | "sum" | "min" | "max" | "average">;
4901
5014
  set xProperty(value: string);
4902
5015
  xProperty$: BehaviorSubject<string>;
4903
5016
  set yProperty(value: string);
@@ -4906,7 +5019,7 @@ declare class ChartViewComponent {
4906
5019
  chartType$: BehaviorSubject<"line" | "bar" | "bar-horizontal" | "line-interpolated" | "scatter" | "pie">;
4907
5020
  set userChartConfig(config: DatavizChartConfigModel);
4908
5021
  chartConfig$: Observable<{
4909
- aggregation: "average" | "count" | "max" | "min" | "sum";
5022
+ aggregation: "count" | "sum" | "min" | "max" | "average";
4910
5023
  xProperty: string;
4911
5024
  yProperty: string;
4912
5025
  chartType: "line" | "bar" | "bar-horizontal" | "line-interpolated" | "scatter" | "pie";
@@ -5011,15 +5124,6 @@ declare class DataTableComponent implements OnInit, AfterViewInit, OnChanges {
5011
5124
  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>;
5012
5125
  }
5013
5126
 
5014
- declare const tableItemsFixture: {
5015
- items: DataItem[];
5016
- properties: PropertyInfo[];
5017
- };
5018
- declare const someHabTableItemFixture: {
5019
- items: DataItem[];
5020
- properties: PropertyInfo[];
5021
- };
5022
-
5023
5127
  declare class FigureComponent {
5024
5128
  icon: string;
5025
5129
  title: string;
@@ -5118,16 +5222,34 @@ declare class MapLegendComponent implements OnChanges {
5118
5222
  static ɵcmp: i0.ɵɵComponentDeclaration<MapLegendComponent, "gn-ui-map-legend", never, { "context": { "alias": "context"; "required": false; }; }, { "legendStatusChange": "legendStatusChange"; }, never, never, true, never>;
5119
5223
  }
5120
5224
 
5225
+ type SpatialExtentLayerStyle = NonNullable<MapContextLayerGeojson['style']>;
5226
+ /**
5227
+ * Default style for a spatial-extent layer: a solid black outline over a
5228
+ * translucent grey fill.
5229
+ */
5230
+ declare const DEFAULT_SPATIAL_EXTENT_STYLE: SpatialExtentLayerStyle;
5231
+ /**
5232
+ * Builds a GeoJSON map layer drawing the given spatial extents: each extent is
5233
+ * rendered from its own geometry or, when only a bounding box is available,
5234
+ * from a polygon derived from that box.
5235
+ *
5236
+ * @returns the layer, or `null` when none of the extents can be represented.
5237
+ */
5238
+ declare function createSpatialExtentLayer(extents: DatasetSpatialExtent[], overrides?: {
5239
+ label?: string;
5240
+ clickable?: boolean;
5241
+ style?: SpatialExtentLayerStyle;
5242
+ }): MapContextLayer | null;
5121
5243
  declare function prioritizePageScroll(interactions: Collection<Interaction>): void;
5122
5244
  declare function dragPanCondition(this: DragPan, event: MapBrowserEvent<PointerEvent>): boolean;
5123
5245
  declare function mouseWheelZoomCondition(this: MouseWheelZoom, event: MapBrowserEvent<WheelEvent>): boolean;
5124
5246
 
5125
5247
  declare class SpatialExtentComponent {
5248
+ private _cdr;
5126
5249
  set spatialExtents(value: DatasetSpatialExtent[]);
5127
5250
  spatialExtents$: BehaviorSubject<DatasetSpatialExtent[]>;
5128
5251
  mapContext$: Observable<MapContext>;
5129
5252
  error: string;
5130
- bboxCoordsToGeometry(bbox: [number, number, number, number]): Geometry;
5131
5253
  static ɵfac: i0.ɵɵFactoryDeclaration<SpatialExtentComponent, never>;
5132
5254
  static ɵcmp: i0.ɵɵComponentDeclaration<SpatialExtentComponent, "gn-ui-spatial-extent", never, { "spatialExtents": { "alias": "spatialExtents"; "required": false; }; }, {}, never, never, true, never>;
5133
5255
  }
@@ -5738,7 +5860,8 @@ interface FormFieldConfig {
5738
5860
  }
5739
5861
  type OnlineLinkResourceSpecifier = `onlineResourceType:link`;
5740
5862
  type DatasetDistributionsSpecifier = `onlineResourceType:!link`;
5741
- type FieldModelSpecifier = OnlineLinkResourceSpecifier | DatasetDistributionsSpecifier;
5863
+ type EditableContactDetailsSpecifier = `contact:editableDetails`;
5864
+ type FieldModelSpecifier = OnlineLinkResourceSpecifier | DatasetDistributionsSpecifier | EditableContactDetailsSpecifier;
5742
5865
  type FormFieldComponentName = 'form-field-constraints-shortcuts' | 'form-field-spatial-toggle';
5743
5866
  interface EditorFieldIdentification {
5744
5867
  model?: CatalogRecordKeys;
@@ -5748,20 +5871,20 @@ interface EditorFieldIdentification {
5748
5871
  interface EditorField extends EditorFieldIdentification {
5749
5872
  formFieldConfig: FormFieldConfig;
5750
5873
  gridColumnSpan?: number;
5751
- hidden?: boolean;
5874
+ hidden?: boolean | EditorFieldExpression;
5752
5875
  onSaveProcess?: EditorFieldExpression;
5753
5876
  }
5754
5877
  interface EditorSection {
5755
5878
  labelKey?: string;
5756
5879
  descriptionKey?: string;
5757
- hidden: boolean;
5880
+ hidden?: boolean | EditorFieldExpression;
5758
5881
  fields: EditorField[];
5759
5882
  }
5760
5883
  interface EditorFieldPage {
5761
5884
  labelKey?: string;
5762
5885
  sections: EditorSection[];
5763
5886
  }
5764
- interface EditorConfig {
5887
+ interface EditorConfig$1 {
5765
5888
  pages: EditorFieldPage[];
5766
5889
  }
5767
5890
 
@@ -5796,7 +5919,11 @@ declare const updateRecordLanguages: _ngrx_store.ActionCreator<"[Editor] Update
5796
5919
  otherLanguages: LanguageCode[];
5797
5920
  } & _ngrx_store.Action<"[Editor] Update record languages">>;
5798
5921
  declare const markRecordAsChanged: _ngrx_store.ActionCreator<"[Editor] Mark record as changed", () => _ngrx_store.Action<"[Editor] Mark record as changed">>;
5799
- declare const saveRecord: _ngrx_store.ActionCreator<"[Editor] Save record", () => _ngrx_store.Action<"[Editor] Save record">>;
5922
+ declare const saveRecord: _ngrx_store.ActionCreator<"[Editor] Save record", (props: {
5923
+ publish: boolean;
5924
+ }) => {
5925
+ publish: boolean;
5926
+ } & _ngrx_store.Action<"[Editor] Save record">>;
5800
5927
  declare const saveRecordSuccess: _ngrx_store.ActionCreator<"[Editor] Save record success", () => _ngrx_store.Action<"[Editor] Save record success">>;
5801
5928
  declare const saveRecordFailure: _ngrx_store.ActionCreator<"[Editor] Save record failure", (props: {
5802
5929
  error: SaveRecordError;
@@ -5806,9 +5933,9 @@ declare const saveRecordFailure: _ngrx_store.ActionCreator<"[Editor] Save record
5806
5933
  declare const draftSaveSuccess: _ngrx_store.ActionCreator<"[Editor] Draft save success", () => _ngrx_store.Action<"[Editor] Draft save success">>;
5807
5934
  declare const undoRecordDraft: _ngrx_store.ActionCreator<"[Editor] Undo record draft", () => _ngrx_store.Action<"[Editor] Undo record draft">>;
5808
5935
  declare const setEditorConfiguration: _ngrx_store.ActionCreator<"[Editor] Set editor configuration", (props: {
5809
- configuration: EditorConfig;
5936
+ configuration: EditorConfig$1;
5810
5937
  }) => {
5811
- configuration: EditorConfig;
5938
+ configuration: EditorConfig$1;
5812
5939
  } & _ngrx_store.Action<"[Editor] Set editor configuration">>;
5813
5940
  declare const setCurrentPage: _ngrx_store.ActionCreator<"[Editor] Set current page", (props: {
5814
5941
  page: number;
@@ -5848,6 +5975,11 @@ declare const canEditRecord: _ngrx_store.ActionCreator<"[Editor] User can edit r
5848
5975
  }) => {
5849
5976
  canEditRecord: boolean;
5850
5977
  } & _ngrx_store.Action<"[Editor] User can edit record">>;
5978
+ declare const setFocusedField: _ngrx_store.ActionCreator<"[Editor] Set focused field", (props: {
5979
+ model: CatalogRecordKeys;
5980
+ }) => {
5981
+ model: CatalogRecordKeys;
5982
+ } & _ngrx_store.Action<"[Editor] Set focused field">>;
5851
5983
 
5852
5984
  declare class EditorFacade {
5853
5985
  private readonly store;
@@ -5861,20 +5993,23 @@ declare class EditorFacade {
5861
5993
  currentSections$: rxjs.Observable<geonetwork_ui.EditorSectionWithValues[]>;
5862
5994
  draftSaveSuccess$: rxjs.Observable<_ngrx_store.Action<"[Editor] Draft save success">>;
5863
5995
  currentPage$: rxjs.Observable<number>;
5864
- editorConfig$: rxjs.Observable<EditorConfig>;
5996
+ editorConfig$: rxjs.Observable<EditorConfig$1>;
5865
5997
  hasRecordChanged$: rxjs.Observable<{
5866
5998
  user: string;
5867
5999
  date: Date;
5868
6000
  }>;
5869
6001
  isPublished$: rxjs.Observable<boolean>;
5870
6002
  canEditRecord$: rxjs.Observable<boolean>;
6003
+ focusedField$: rxjs.Observable<CatalogRecordKeys>;
5871
6004
  openRecord(record: CatalogRecord, recordSource: string): void;
5872
6005
  saveRecord(): void;
6006
+ saveAndPublishRecord(): void;
5873
6007
  undoRecordDraft(): void;
5874
6008
  updateRecordField(field: string, value: unknown): void;
5875
6009
  updateRecordLanguages(defaultLanguage: LanguageCode, otherLanguages: LanguageCode[]): void;
5876
- setConfiguration(configuration: EditorConfig): void;
6010
+ setConfiguration(configuration: EditorConfig$1): void;
5877
6011
  setCurrentPage(page: number): void;
6012
+ setFocusedField(model: CatalogRecordKeys): void;
5878
6013
  setFieldVisibility(field: EditorFieldIdentification, visible: boolean): void;
5879
6014
  checkHasRecordChanged(record: CatalogRecord): void;
5880
6015
  isPublished(isPublished: boolean): void;
@@ -5898,7 +6033,7 @@ interface EditorState {
5898
6033
  saving: boolean;
5899
6034
  saveError: SaveRecordError | null;
5900
6035
  changedSinceSave: boolean;
5901
- editorConfig: EditorConfig;
6036
+ editorConfig: EditorConfig$1;
5902
6037
  currentPage: number;
5903
6038
  hasRecordChanged: {
5904
6039
  user: string;
@@ -5919,7 +6054,7 @@ declare const selectRecordSource: _ngrx_store.MemoizedSelector<object, string, (
5919
6054
  declare const selectRecordSaving: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5920
6055
  declare const selectRecordSaveError: _ngrx_store.MemoizedSelector<object, Error, (s1: EditorState) => Error>;
5921
6056
  declare const selectRecordChangedSinceSave: _ngrx_store.MemoizedSelector<object, boolean, (s1: EditorState) => boolean>;
5922
- declare const selectEditorConfig: _ngrx_store.MemoizedSelector<object, EditorConfig, (s1: EditorState) => EditorConfig>;
6057
+ declare const selectEditorConfig: _ngrx_store.MemoizedSelector<object, EditorConfig$1, (s1: EditorState) => EditorConfig$1>;
5923
6058
  declare const selectCurrentPage: _ngrx_store.MemoizedSelector<object, number, (s1: EditorState) => number>;
5924
6059
  declare const selectRecordSections: _ngrx_store.MemoizedSelector<object, EditorSectionWithValues[], (s1: EditorState) => EditorSectionWithValues[]>;
5925
6060
  declare const selectHasRecordChanged: _ngrx_store.MemoizedSelector<object, {
@@ -5957,18 +6092,20 @@ declare class ImportRecordComponent {
5957
6092
  static ɵcmp: i0.ɵɵComponentDeclaration<ImportRecordComponent, "gn-ui-import-record", never, {}, { "closeImportMenu": "closeImportMenu"; }, never, never, true, never>;
5958
6093
  }
5959
6094
 
5960
- declare class MetadataQualityPanelComponent implements OnChanges {
6095
+ declare class MetadataQualityPanelComponent {
6096
+ facade: EditorFacade;
5961
6097
  propsToValidate: ValidatorMapperKeys[];
5962
- propertiesByPage: {
6098
+ propertiesByPage$: rxjs.Observable<{
5963
6099
  label: string;
5964
6100
  value: boolean;
5965
- }[][];
5966
- editorConfig: EditorConfig;
5967
- record: CatalogRecord;
5968
- ngOnChanges(): void;
5969
- getExtraClass(checked: boolean): string;
6101
+ model: CatalogRecordKeys;
6102
+ }[][]>;
6103
+ onCriterionClick(property: {
6104
+ value: boolean;
6105
+ model: CatalogRecordKeys;
6106
+ }): void;
5970
6107
  static ɵfac: i0.ɵɵFactoryDeclaration<MetadataQualityPanelComponent, never>;
5971
- static ɵcmp: i0.ɵɵComponentDeclaration<MetadataQualityPanelComponent, "gn-ui-metadata-quality-panel", never, { "editorConfig": { "alias": "editorConfig"; "required": false; }; "record": { "alias": "record"; "required": false; }; }, {}, never, never, true, never>;
6108
+ static ɵcmp: i0.ɵɵComponentDeclaration<MetadataQualityPanelComponent, "gn-ui-metadata-quality-panel", never, {}, {}, never, never, true, never>;
5972
6109
  }
5973
6110
 
5974
6111
  declare class MultilingualPanelComponent implements OnDestroy {
@@ -6013,6 +6150,14 @@ declare class MultilingualPanelComponent implements OnDestroy {
6013
6150
  static ɵcmp: i0.ɵɵComponentDeclaration<MultilingualPanelComponent, "gn-ui-multilingual-panel", never, { "record": { "alias": "record"; "required": false; }; }, {}, never, never, true, never>;
6014
6151
  }
6015
6152
 
6153
+ declare class FieldFocusDirective {
6154
+ gnUiFieldFocusGlowClass: string;
6155
+ private el;
6156
+ focusField(focusInnerTarget?: boolean): void;
6157
+ static ɵfac: i0.ɵɵFactoryDeclaration<FieldFocusDirective, never>;
6158
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FieldFocusDirective, "[gnUiFieldFocus]", ["fieldFocus"], { "gnUiFieldFocusGlowClass": { "alias": "gnUiFieldFocusGlowClass"; "required": false; }; }, {}, never, never, true, never>;
6159
+ }
6160
+
6016
6161
  declare class FormFieldKeywordsComponent {
6017
6162
  private editorFacade;
6018
6163
  value: Keyword[];
@@ -6134,6 +6279,7 @@ declare class FormFieldSpatialExtentComponent {
6134
6279
 
6135
6280
  declare class FormFieldComponent {
6136
6281
  uniqueIdentifier: string;
6282
+ recordKind: RecordKind;
6137
6283
  model: CatalogRecordKeys;
6138
6284
  modelSpecifier: FieldModelSpecifier;
6139
6285
  componentName: FormFieldComponentName;
@@ -6142,6 +6288,7 @@ declare class FormFieldComponent {
6142
6288
  valueChange: EventEmitter<unknown>;
6143
6289
  titleInput: ElementRef;
6144
6290
  isOpenData: boolean;
6291
+ fieldFocus: FieldFocusDirective;
6145
6292
  toggleIsOpenData(event: boolean): void;
6146
6293
  focusTitleInput(): void;
6147
6294
  get withoutWrapper(): boolean;
@@ -6158,7 +6305,7 @@ declare class FormFieldComponent {
6158
6305
  get valueAsResourceIdentifierCode(): string;
6159
6306
  handleResourceIdentifierChange(code: string): void;
6160
6307
  static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
6161
- 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>;
6308
+ 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: {}; }]>;
6162
6309
  }
6163
6310
 
6164
6311
  declare const NOT_APPLICABLE_CONSTRAINT: Constraint;
@@ -6182,95 +6329,124 @@ declare class FormFieldTopicsComponent {
6182
6329
  static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldTopicsComponent, "gn-ui-form-field-topics", never, { "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
6183
6330
  }
6184
6331
 
6185
- declare class RecordFormComponent {
6332
+ declare class RecordFormComponent implements OnInit, OnDestroy {
6186
6333
  facade: EditorFacade;
6334
+ notifications: NotificationsService;
6335
+ subscription: Subscription;
6187
6336
  recordUniqueIdentifier$: rxjs.Observable<string>;
6337
+ recordKind$: rxjs.Observable<"dataset" | "service" | "reuse">;
6338
+ focusFieldWithPage$: rxjs.Observable<readonly [CatalogRecordKeys, number, number]>;
6339
+ formFields: Signal<readonly FormFieldComponent[]>;
6340
+ sectionFocusDirectives: Signal<readonly FieldFocusDirective[]>;
6341
+ focusField(model: CatalogRecordKeys, sectionIndex: number): void;
6342
+ ngOnInit(): void;
6343
+ ngOnDestroy(): void;
6188
6344
  handleFieldValueChange(model: CatalogRecordKeys, newValue: EditorFieldValue): void;
6189
6345
  fieldTracker(index: number, field: EditorFieldWithValue): CatalogRecordKeys;
6190
6346
  sectionTracker(index: number, section: EditorSectionWithValues): string;
6347
+ getFieldLocation(model: CatalogRecordKeys): Promise<{
6348
+ page: number;
6349
+ section: number;
6350
+ } | null>;
6351
+ private recordSignal;
6352
+ private expressionCache;
6353
+ evaluateExpression(expressionOrValue: string | EditorFieldValue): Signal<EditorFieldValue>;
6191
6354
  static ɵfac: i0.ɵɵFactoryDeclaration<RecordFormComponent, never>;
6192
6355
  static ɵcmp: i0.ɵɵComponentDeclaration<RecordFormComponent, "gn-ui-record-form", never, {}, {}, never, never, true, never>;
6193
6356
  }
6194
6357
 
6358
+ declare class OnlineServiceResourceInputComponent {
6359
+ private cdr;
6360
+ _service: DatasetServiceDistribution;
6361
+ set service(service: DatasetServiceDistribution);
6362
+ protocolHint?: string;
6363
+ disabled?: boolean;
6364
+ modifyMode?: boolean;
6365
+ protocolOptions?: ServiceProtocol[];
6366
+ serviceChange: EventEmitter<DatasetServiceDistribution>;
6367
+ errorMessage: boolean;
6368
+ loading: boolean;
6369
+ resetUrlOnChange: number;
6370
+ layersSubject: BehaviorSubject<{
6371
+ name?: string;
6372
+ title?: string;
6373
+ }[]>;
6374
+ layers$: Observable<{
6375
+ name?: string;
6376
+ title?: string;
6377
+ }[]>;
6378
+ allProtocolOptions: {
6379
+ label: string;
6380
+ value: ServiceProtocol;
6381
+ }[];
6382
+ get availableProtocolOptions(): any[];
6383
+ get activeLayerSuggestion(): boolean;
6384
+ handleUrlValueChange(url: string): void;
6385
+ handleUploadClick(url: string): Promise<void>;
6386
+ resetAllFormFields(): void;
6387
+ resetLayersSuggestion(): void;
6388
+ submit(): void;
6389
+ getIdentifierPlaceholder(): string;
6390
+ /**
6391
+ * gn-ui-autocomplete
6392
+ */
6393
+ displayWithFn(item: {
6394
+ name: string;
6395
+ title: string;
6396
+ }): string;
6397
+ /**
6398
+ * gn-ui-autocomplete
6399
+ */
6400
+ autoCompleteAction: (query: string) => Observable<{
6401
+ name?: string;
6402
+ title?: string;
6403
+ }[]>;
6404
+ /**
6405
+ * gn-ui-autocomplete
6406
+ */
6407
+ handleSelectValue(val: {
6408
+ name: string;
6409
+ title: string;
6410
+ }): void;
6411
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnlineServiceResourceInputComponent, never>;
6412
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnlineServiceResourceInputComponent, "gn-ui-online-service-resource-input", never, { "service": { "alias": "service"; "required": false; }; "protocolHint": { "alias": "protocolHint"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "modifyMode": { "alias": "modifyMode"; "required": false; }; "protocolOptions": { "alias": "protocolOptions"; "required": false; }; }, { "serviceChange": "serviceChange"; }, never, ["*"], true, never>;
6413
+ }
6414
+
6415
+ declare class OnlineResourceCardComponent {
6416
+ onlineResource: OnlineResource;
6417
+ modifyClick: EventEmitter<OnlineResource>;
6418
+ get title(): string;
6419
+ get subtitle(): string;
6420
+ get fileSize(): string;
6421
+ get identifierInService(): string;
6422
+ getFormat(onlineResource: OnlineLinkResource | DatasetDownloadDistribution): string;
6423
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnlineResourceCardComponent, never>;
6424
+ static ɵcmp: i0.ɵɵComponentDeclaration<OnlineResourceCardComponent, "gn-ui-online-resource-card", never, { "onlineResource": { "alias": "onlineResource"; "required": false; }; }, { "modifyClick": "modifyClick"; }, never, never, true, never>;
6425
+ }
6426
+
6195
6427
  declare class FeatureEditorModule {
6196
6428
  static ɵfac: i0.ɵɵFactoryDeclaration<FeatureEditorModule, never>;
6197
6429
  static ɵmod: i0.ɵɵNgModuleDeclaration<FeatureEditorModule, never, [typeof _ngrx_store.StoreFeatureModule, typeof _ngrx_effects.EffectsFeatureModule], never>;
6198
6430
  static ɵinj: i0.ɵɵInjectorDeclaration<FeatureEditorModule>;
6199
6431
  }
6200
6432
 
6433
+ interface ISOTopic {
6434
+ value: string;
6435
+ label: string;
6436
+ }
6437
+ declare const DEFAULT_CONFIGURATION: EditorConfig$1;
6201
6438
  /**
6202
- * This file contains the configuration of the fields that will be displayed in the editor.
6203
- * To add a new field, you need to create a new EditorField object in the fields part of this file.
6204
- * Then add it to the corresponding section in the sections part of this file.
6205
- * Finally, add the section to the corresponding page in the pages part of this file.
6206
- */
6207
- /************************************************************
6208
- *************** FIELDS *****************
6209
- ************************************************************
6210
- */
6211
- declare const RECORD_UNIQUE_IDENTIFIER_FIELD: EditorField;
6212
- declare const CONSTRAINTS_SHORTCUTS: EditorField;
6213
- declare const LEGAL_CONSTRAINTS_FIELD: EditorField;
6214
- declare const SECURITY_CONSTRAINTS_FIELD: EditorField;
6215
- declare const OTHER_CONSTRAINTS_FIELD: EditorField;
6216
- declare const RECORD_LICENSE_FIELD: EditorField;
6217
- declare const RECORD_KEYWORDS_FIELD: EditorField;
6218
- declare const RECORD_TOPICS_FIELD: EditorField;
6219
- declare const RECORD_RESOURCE_CREATED_FIELD: EditorField;
6220
- declare const RESOURCE_IDENTIFIER_FIELD: EditorField;
6221
- declare const RECORD_RESOURCE_UPDATED_FIELD: EditorField;
6222
- declare const RECORD_UPDATED_FIELD: EditorField;
6223
- declare const RECORD_UPDATE_FREQUENCY_FIELD: EditorField;
6224
- declare const RECORD_TEMPORAL_EXTENTS_FIELD: EditorField;
6225
- declare const RECORD_TITLE_FIELD: EditorField;
6226
- declare const RECORD_ABSTRACT_FIELD: EditorField;
6227
- declare const CONTACTS_FOR_RESOURCE_FIELD: EditorField;
6228
- declare const CONTACTS: EditorField;
6229
- declare const RECORD_GRAPHICAL_OVERVIEW_FIELD: EditorField;
6230
- declare const RECORD_SPATIAL_TOGGLE_FIELD: EditorField;
6231
- declare const RECORD_SPATIAL_EXTENTS_FIELD: EditorField;
6232
- declare const RECORD_ONLINE_RESOURCES: EditorField;
6233
- declare const RECORD_ONLINE_LINK_RESOURCES: EditorField;
6234
- /************************************************************
6235
- *************** SECTIONS *****************
6236
- ************************************************************
6237
- */
6238
- declare const TITLE_SECTION: EditorSection;
6239
- declare const ABOUT_SECTION: EditorSection;
6240
- declare const GEOGRAPHICAL_COVERAGE_SECTION: EditorSection;
6241
- declare const ASSOCIATED_RESOURCES_SECTION: EditorSection;
6242
- declare const ANNEXES_SECTION: EditorSection;
6243
- declare const CLASSIFICATION_SECTION: EditorSection;
6244
- declare const TOPICS_SECTION: EditorSection;
6245
- declare const USE_AND_ACCESS_CONDITIONS_SECTION: EditorSection;
6246
- declare const DATA_MANAGERS_SECTION: EditorSection;
6247
- declare const METADATA_POINT_OF_CONTACT_SECTION: EditorSection;
6248
- /************************************************************
6249
- *************** PAGES *****************
6250
- ************************************************************
6251
- */
6252
- declare const DEFAULT_CONFIGURATION: EditorConfig;
6253
- /************************************************************
6254
- *************** LICENSES **************
6255
- ************************************************************
6439
+ * OTHER SETTINGS
6256
6440
  */
6257
6441
  declare const AVAILABLE_LICENSES: string[];
6258
6442
  declare const OPEN_DATA_LICENSE = "etalab";
6259
6443
  declare const MAX_UPLOAD_SIZE_MB = 10;
6260
- /************************************************************
6261
- *************** SPATIAL SCOPE ************
6262
- ************************************************************
6263
- */
6264
6444
  declare const SPATIAL_SCOPES: Keyword[];
6265
- /************************************************************
6266
- *************** INSPIRE TOPICS **************
6267
- ************************************************************
6268
- */
6269
- declare const INSPIRE_TOPICS: INSPIRE_topic[];
6445
+ declare const ISO_TOPICS: ISOTopic[];
6270
6446
 
6271
6447
  declare class EditorService {
6272
6448
  private recordsRepository;
6273
- saveRecord(record: CatalogRecord, recordSource: string, fieldsConfig: EditorConfig): Observable<[CatalogRecord, string]>;
6449
+ saveRecord(record: CatalogRecord, recordSource: string, fieldsConfig: EditorConfig$1, publish: boolean): Observable<[CatalogRecord, string]>;
6274
6450
  saveRecordAsDraft(record: CatalogRecord, recordSource: string): Observable<void>;
6275
6451
  undoRecordDraft(record: CatalogRecord): Observable<[CatalogRecord, string, boolean]>;
6276
6452
  hasRecordChangedSinceDraft(localRecord: CatalogRecord): Observable<{
@@ -6465,7 +6641,7 @@ declare class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {
6465
6641
  private renderer;
6466
6642
  popoverContent: ElementRef;
6467
6643
  content: string | TemplateRef<any>;
6468
- theme: 'light' | 'light-border' | 'translucent' | 'material' | '';
6644
+ theme: 'light' | 'light-border' | 'translucent' | 'material' | 'dark' | '';
6469
6645
  private tippyInstance;
6470
6646
  private view;
6471
6647
  private getContent;
@@ -6510,17 +6686,8 @@ declare class SpinningLoaderComponent {
6510
6686
 
6511
6687
  declare function provideI18n(config?: TranslateModuleConfig, useLocalStorage?: boolean): EnvironmentProviders;
6512
6688
 
6513
- /**
6514
- * This loader will rely on JSON files in the app assets
6515
- * Implements a fallback on default lang if translated labels are empty
6516
- */
6517
- declare class FileTranslateLoader extends TranslateHttpLoader {
6518
- getTranslation(lang: string): rxjs.Observable<{}>;
6519
- }
6520
-
6521
6689
  declare const DEFAULT_LANG = "en";
6522
6690
  declare const LANGUAGE_STORAGE_KEY = "geonetwork-ui-language";
6523
- declare function HttpLoaderFactory(http: HttpClient): FileTranslateLoader;
6524
6691
  declare const TRANSLATE_DEFAULT_CONFIG: TranslateModuleConfig;
6525
6692
  /**
6526
6693
  * This config will print translation keys in the UI directly; used to identify which keys are used
@@ -6534,8 +6701,12 @@ declare class I18nInterceptor implements HttpInterceptor {
6534
6701
  static ɵprov: i0.ɵɵInjectableDeclaration<I18nInterceptor>;
6535
6702
  }
6536
6703
 
6537
- declare class EmbeddedTranslateLoader implements TranslateLoader {
6538
- getTranslation(lang: string): Observable<Record<string, string>>;
6704
+ /**
6705
+ * This loader will rely on JSON files in the app assets
6706
+ * Implements a fallback on default lang if translated labels are empty
6707
+ */
6708
+ declare class FileTranslateLoader extends TranslateHttpLoader {
6709
+ getTranslation(lang: string): rxjs.Observable<{}>;
6539
6710
  }
6540
6711
 
6541
6712
  declare function dropEmptyTranslations(translations: any): {};
@@ -6686,6 +6857,11 @@ interface SearchPreset {
6686
6857
  interface MetadataQualityConfig {
6687
6858
  ENABLED: boolean;
6688
6859
  }
6860
+ type NewRecordStandard = 'iso19139' | 'iso19115-3';
6861
+ interface EditorConfig {
6862
+ NEW_RECORD_DEFAULT_LANGUAGE?: string;
6863
+ NEW_RECORD_STANDARD?: NewRecordStandard;
6864
+ }
6689
6865
  type CustomTranslations = {
6690
6866
  [translationKey: string]: string;
6691
6867
  };
@@ -6705,35 +6881,17 @@ interface SearchConfig {
6705
6881
  FILTER_GEOMETRY?: Geometry;
6706
6882
  }
6707
6883
 
6708
- /**
6709
- * This loader extends the default one based on JSON files but also loads custom translations
6710
- * defined in the app configuration
6711
- * Implements a fallback on default lang if translated labels are empty
6712
- */
6713
- declare class FileWithOverridesTranslateLoader extends FileTranslateLoader {
6714
- getTranslation(lang: string): rxjs.Observable<{}>;
6715
- }
6716
-
6717
6884
  declare function getGlobalConfig(): GlobalConfig;
6718
6885
  declare function getThemeConfig(): ThemeConfig;
6719
6886
  declare function getOptionalMapConfig(): MapConfig | null;
6720
6887
  declare function getOptionalSearchConfig(): SearchConfig | null;
6888
+ declare function getOptionalEditorConfig(): EditorConfig | null;
6721
6889
  declare function getMetadataQualityConfig(): MetadataQualityConfig;
6722
6890
  declare function getCustomTranslations(langCode: string): CustomTranslations;
6723
6891
  declare function loadAppConfig(configUrl?: string): Promise<void>;
6724
6892
  declare function isConfigLoaded(): boolean;
6725
6893
  declare function _reset(): void;
6726
- declare const TRANSLATE_WITH_OVERRIDES_CONFIG: {
6727
- compiler: {
6728
- provide: typeof TranslateCompiler;
6729
- useClass: typeof TranslateMessageFormatCompiler;
6730
- };
6731
- loader: {
6732
- provide: typeof TranslateLoader;
6733
- useFactory: (http: HttpClient) => FileWithOverridesTranslateLoader;
6734
- deps: (typeof HttpClient)[];
6735
- };
6736
- };
6894
+ declare const TRANSLATE_WITH_OVERRIDES_CONFIG: TranslateModuleConfig;
6737
6895
 
6738
6896
  declare const okAppConfigFixture: () => string;
6739
6897
  declare const appConfigWithTranslationFixture: () => string;
@@ -6746,6 +6904,6 @@ declare const unrecognizedKeysConfigFixture: () => string;
6746
6904
 
6747
6905
  declare function getMapContextLayerFromConfig(config: LayerConfig): MapContextLayer;
6748
6906
 
6749
- 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, 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, 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, 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, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReusePresentationForm, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, handleScrollOnNavigation, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, organizationsServiceFactory, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setEditorConfiguration, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateFrequencyCodeValues, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
6750
- 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 };
6907
+ export { ADD_RESULTS, ADD_SEARCH, AVAILABLE_LICENSES, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CHART_TYPE_VALUES, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContactDetailsComponent, ContactPillComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_CONFIGURATION, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RECORD_CONVERTER, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_SPATIAL_EXTENT_STYLE, DISABLE_AUTH, DISABLE_DRAFT, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangeInputsComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetItemComponent, FacetListComponent, FacetsContainerComponent, FavoriteStarComponent, FavoritesService, FeatureCatalogListComponent, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldFocusDirective, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldTopicsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GnUiHumanizeDateDirective, GpfApiDlComponent, GravatarService, I18nInterceptor, ISO_TOPICS, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KeywordBadgeComponent, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, MAX_UPLOAD_SIZE_MB, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions_d as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataDoiComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, OPEN_DATA_LICENSE, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OnlineResourceCardComponent, OnlineServiceResourceInputComponent, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OrganizationsServiceInterface, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PlatformServiceInterface, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordStatusValues, RecordsMetricsComponent, RecordsRepositoryInterface, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, ReusePresentationForms, RoleLabels, RoleValues, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SPATIAL_SCOPES, SearchEffects, SearchFacade, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortByEnum, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StacItemsResultGridComponent, StacViewComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, bboxToPolygon, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, createSpatialExtentLayer, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getAddressLines, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIndividualDisplayName, getIsMobile, getJsonDataItemsProxy, getKeywordHierarchyPath, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalEditorConfig, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReusePresentationForm, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, handleScrollOnNavigation, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, organizationsServiceFactory, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setEditorConfiguration, setFieldVisibility, setFocusedField, setSelectedFeatures, setTextContent, sortByFromString, sortByToString, sortByToStrings, spatialExtentToGeometry, spatialExtentsToFeatureCollection, stripHtml, stripNamespace, toDate, toIndividual, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateFrequencyCodeValues, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
6908
+ export type { Aggregation, AggregationBuckets, AggregationCounts, AggregationParams, AggregationResult, AggregationSort, AggregationTypes, Aggregations, AggregationsParams, AggregationsResults, AggregationsTypes, AutocompleteItem, BaseRecord, BoundingBox, Bucket, CatalogRecord, CatalogRecordKeys, CatalogSource, Choice$1 as Choice, ConfirmationDialogData, Constraint, ConstraintTranslations, CreateStyleOptions, CustomTranslations, CustomTranslationsAllLanguages, DataItem, DatasetDownloadDistribution, DatasetFeatureAttribute, DatasetFeatureAttributeValue, DatasetFeatureCatalog, DatasetFeatureType, DatasetOnlineResource, DatasetRecord, DatasetServiceDistribution, DatasetSpatialExtent, DatasetTemporalExtent, DatavizChartConfigModel, DatavizConfigModel, DateRange, DropdownChoice, EditorConfig, EditorFieldWithValue, EditorPartialState, EditorSectionWithValues, EditorState, EsQueryFieldsPriorityType, EsRequestAggTerm, EsRequestAggTermPatch, EsRequestSource, EsResourceType, EsResourceTypeValues, EsSearchParams, EsSearchResponse, EsTemplateType, EsTemplateValues, FacetPath, FacetSelectEvent, Field, FieldAggregation, FieldAvailableValue, FieldFilter$1 as FieldFilter, FieldFilterByExpression, FieldFilterByRange, FieldFilterByValues, FieldFilters, FieldName$1 as FieldName, FieldSort$1 as FieldSort, FieldTranslation, FieldType, FieldValue, FieldValues, FileFormat, FilterAggregationParams, FilterQuery, FiltersAggregationParams, FiltersAggregationResult, FiltersBucket, FormatProduit, FormatSortieProduit, GlobalConfig, Gn4Record, Gn4RecordRelated, Gn4SearchResults, GpfApiDlTermBucket, GraphicOverview, HasPath, HistogramAggregationParams, HistogramAggregationResult, HistogramBucket, ISOTopic, Individual, InputChartType, Iso3Langs, Keyword, KeywordApiResponse, KeywordTranslations, KeywordTree, Label, LanguageCode, LanguageCode2, LanguageCode3, LanguageCodeFactory, LanguageCodeLike, LayerConfig, Link, ListChoice, ListUrl, MapConfig, MapPartialState, MapState, MetadataContact, MetadataObject, MetadataQualityConfig, MetadataQualityItem, ModalDialogData, ModelBlock, ModelItem, ModelTranslations, NestedAggregationResult, NewRecordStandard, OnlineLinkResource, OnlineResource, OnlineResourceTranslations, OnlineResourceType, Organization, OrganizationTranslations, OrganizationsStrategy, Paginable, PropertyInfo, QueryRange, QueryString, RecordAsXml, RecordAttachment, RecordKind, RecordMetric, RecordStatus, RecordTranslations, RequestFields, ResourceIdentifier$1 as ResourceIdentifier, ResultsLayoutConfigModel, ResultsListShowMoreStrategy, ReuseRecord, ReuseType, Role, RouterConfigModel, SaveRecordError, SearchActions, SearchConfig, SearchError, SearchFilters, SearchParams, SearchPreset, SearchResults, SearchRouteParams, SearchServiceI, SearchState, SearchStateParams, SearchStateSearch, ServiceEndpoint, ServiceOnlineResource, ServiceProtocol, ServiceRecord, SortByField, SortOrder, SortParams, SourceRecord, SourceWithUnknownProps, SpatialExtentLayerStyle, SpatialExtentTranslations, SpatialRepresentationType, StacFilterState, StyleByGeometryType, SupportedType, SwitchToggleOption, TableItemId, TableItemModel, TermBucket, TermsAggregationParams, TermsAggregationResult, ThemeConfig, Thesaurus, ThesaurusApiResponse, UpdateFrequency, UpdateFrequencyCode, UpdateFrequencyCustom, UploadEvent, UserFeedback, UserFeedbackViewModel, ValidatorMapperKeys };
6751
6909
  //# sourceMappingURL=index.d.ts.map