geonetwork-ui 2.6.0-dev.f073bbb4e → 2.7.0-dev.035ba2871

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 (884) hide show
  1. package/README.md +2 -3
  2. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  5. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  6. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +11 -2
  7. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +3 -3
  8. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +59 -15
  9. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
  10. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +6 -6
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
  13. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +14 -6
  14. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +7 -7
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +4 -1
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +12 -8
  17. package/esm2022/libs/api/metadata-converter/src/lib/translate-utils.mjs +17 -0
  18. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +4 -4
  19. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +5 -2
  20. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +21 -27
  21. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
  22. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  23. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +8 -8
  24. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +14 -11
  25. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +91 -46
  26. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
  27. package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
  28. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +5 -1
  29. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  30. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  31. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +7 -31
  32. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +9 -8
  33. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +59 -11
  34. package/esm2022/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.mjs +4 -5
  35. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  36. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +42 -3
  37. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +31 -8
  38. package/esm2022/libs/feature/editor/src/index.mjs +3 -4
  39. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
  40. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +13 -7
  41. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +4 -1
  42. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +5 -1
  43. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +5 -7
  44. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +8 -13
  45. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +5 -6
  46. package/esm2022/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.mjs +80 -0
  47. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +275 -0
  48. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +5 -15
  49. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +5 -5
  50. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.mjs +5 -8
  51. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.mjs +4 -5
  52. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +6 -10
  53. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +9 -14
  54. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +4 -15
  55. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +4 -4
  56. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +4 -4
  57. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +4 -4
  58. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +7 -7
  59. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +4 -4
  60. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +4 -4
  61. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +6 -17
  62. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +4 -5
  63. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +12 -30
  64. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +1 -3
  65. package/esm2022/libs/feature/editor/src/lib/models/index.mjs +1 -3
  66. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +5 -6
  67. package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +11 -8
  68. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +11 -8
  69. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +11 -6
  70. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +10 -5
  71. package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +3 -36
  72. package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +5 -11
  73. package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -6
  74. package/esm2022/libs/feature/record/src/index.mjs +2 -4
  75. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +50 -26
  76. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +10 -15
  77. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +5 -6
  78. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +12 -17
  79. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +7 -4
  80. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +8 -22
  81. package/esm2022/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.mjs +5 -5
  82. package/esm2022/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.mjs +15 -7
  83. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +151 -24
  84. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  85. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  86. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +16 -5
  87. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
  88. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  89. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  90. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  91. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  92. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  93. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  94. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  95. package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
  96. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +12 -8
  97. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +33 -42
  98. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +3 -3
  99. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +8 -6
  100. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  101. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +44 -0
  102. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +35 -15
  103. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
  104. package/esm2022/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.mjs +5 -7
  105. package/esm2022/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.mjs +4 -4
  106. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +74 -4
  107. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  108. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  109. package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +4 -5
  110. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +4 -5
  111. package/esm2022/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.mjs +4 -5
  112. package/esm2022/libs/ui/dataviz/src/index.mjs +1 -2
  113. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  114. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +14 -8
  115. package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +5 -5
  116. package/esm2022/libs/ui/elements/src/index.mjs +7 -4
  117. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +7 -7
  118. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +5 -5
  119. package/esm2022/libs/ui/elements/src/lib/avatar/avatar.component.mjs +4 -3
  120. package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +5 -3
  121. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +5 -6
  122. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +20 -9
  123. package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +4 -5
  124. package/esm2022/libs/ui/elements/src/lib/external-link-card/external-link-card.component.mjs +59 -0
  125. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +54 -0
  126. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +4 -5
  127. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  128. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +89 -0
  129. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +70 -0
  130. package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +3 -6
  131. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +4 -5
  132. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +5 -6
  133. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +10 -8
  134. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +27 -26
  135. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +8 -5
  136. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  137. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +70 -0
  138. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +170 -0
  139. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +4 -5
  140. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +5 -4
  141. package/esm2022/libs/ui/inputs/src/index.mjs +3 -3
  142. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +10 -13
  143. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  144. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +4 -3
  145. package/esm2022/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.mjs +7 -6
  146. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +29 -7
  147. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +5 -6
  148. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -7
  149. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +43 -0
  150. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  151. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +73 -0
  152. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +8 -3
  153. package/esm2022/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.mjs +4 -5
  154. package/esm2022/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.mjs +3 -3
  155. package/esm2022/libs/ui/layout/src/index.mjs +3 -2
  156. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +44 -3
  157. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +61 -14
  158. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  159. package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
  160. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  161. package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +4 -5
  162. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +26 -5
  163. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +4 -5
  164. package/esm2022/libs/ui/layout/src/lib/pagination/pagination.component.mjs +4 -5
  165. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  166. package/esm2022/libs/ui/layout/src/lib/sticky-header/sticky-header.component.mjs +4 -3
  167. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +71 -0
  168. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  169. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  170. package/esm2022/libs/ui/map/src/lib/components/map-container/map-container.component.mjs +4 -5
  171. package/esm2022/libs/ui/map/src/lib/components/map-legend/map-legend.component.mjs +2 -2
  172. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
  173. package/esm2022/libs/ui/search/src/index.mjs +3 -1
  174. package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +6 -6
  175. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +17 -10
  176. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  177. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  178. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  179. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  180. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +24 -17
  181. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +45 -20
  182. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +39 -26
  183. package/esm2022/libs/ui/widgets/src/index.mjs +1 -2
  184. package/esm2022/libs/ui/widgets/src/lib/color-scale/color-scale.component.mjs +3 -3
  185. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  186. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +6 -3
  187. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +3 -1
  188. package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
  189. package/esm2022/libs/util/i18n/src/index.mjs +2 -3
  190. package/esm2022/libs/util/i18n/src/lib/embedded.translate.loader.mjs +3 -2
  191. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +36 -28
  192. package/esm2022/libs/util/i18n/src/lib/i18n.interceptor.mjs +10 -9
  193. package/esm2022/libs/util/i18n/src/lib/i18n.providers.mjs +41 -0
  194. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +63 -3
  195. package/esm2022/libs/util/shared/src/index.mjs +3 -2
  196. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  197. package/esm2022/libs/util/shared/src/lib/image-fallback.directive.mjs +3 -2
  198. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
  199. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +27 -7
  200. package/esm2022/libs/util/shared/src/lib/record/index.mjs +3 -0
  201. package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +45 -0
  202. package/esm2022/libs/util/shared/src/lib/record/record.util.mjs +56 -0
  203. package/esm2022/translations/de.json +98 -24
  204. package/esm2022/translations/en.json +98 -24
  205. package/esm2022/translations/es.json +97 -23
  206. package/esm2022/translations/fr.json +100 -26
  207. package/esm2022/translations/it.json +97 -24
  208. package/esm2022/translations/nl.json +97 -23
  209. package/esm2022/translations/pt.json +97 -23
  210. package/esm2022/translations/sk.json +615 -0
  211. package/fesm2022/geonetwork-ui.mjs +12372 -9881
  212. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  213. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  214. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  215. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  216. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  217. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  218. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  219. package/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.d.ts.map +1 -1
  220. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +4 -4
  221. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  222. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  223. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  224. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  225. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  226. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  227. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  228. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -1
  229. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  230. package/libs/api/metadata-converter/src/lib/translate-utils.d.ts +2 -0
  231. package/libs/api/metadata-converter/src/lib/translate-utils.d.ts.map +1 -0
  232. package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
  233. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  234. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +9 -7
  235. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  236. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +14 -3
  237. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  238. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  239. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts +1 -0
  240. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.d.ts.map +1 -1
  241. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts +4 -4
  242. package/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.d.ts.map +1 -1
  243. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +10 -4
  244. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  245. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
  246. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  247. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +8 -1
  248. package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
  249. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +26 -17
  250. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  251. package/libs/common/domain/src/lib/platform.service.interface.d.ts +2 -1
  252. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  253. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +7 -1
  254. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  255. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts +4 -8
  256. package/libs/feature/catalog/src/lib/feature-catalog.module.d.ts.map +1 -1
  257. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts +3 -3
  258. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  259. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +14 -9
  260. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  261. package/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.d.ts.map +1 -1
  262. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +3 -0
  263. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  264. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +6 -3
  265. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  266. package/libs/feature/editor/src/index.d.ts +2 -3
  267. package/libs/feature/editor/src/index.d.ts.map +1 -1
  268. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +8 -1
  269. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
  270. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +10 -12
  271. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
  272. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +2 -1
  273. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
  274. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
  275. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +1 -1
  276. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
  277. package/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.d.ts.map +1 -1
  278. package/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.d.ts.map +1 -1
  279. package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
  280. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts +19 -0
  281. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts.map +1 -0
  282. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
  283. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  284. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  285. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  286. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  287. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.d.ts.map +1 -1
  288. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.d.ts.map +1 -1
  289. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  290. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.d.ts.map +1 -1
  291. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
  292. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  293. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
  294. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
  295. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
  296. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  297. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  298. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +10 -17
  299. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  300. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  301. package/libs/feature/editor/src/lib/models/index.d.ts +0 -2
  302. package/libs/feature/editor/src/lib/models/index.d.ts.map +1 -1
  303. package/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.d.ts.map +1 -1
  304. package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -1
  305. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  306. package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -1
  307. package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -1
  308. package/libs/feature/map/src/lib/feature-map.module.d.ts +2 -11
  309. package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
  310. package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -1
  311. package/libs/feature/map/src/lib/layers-panel/layers-panel.component.d.ts.map +1 -1
  312. package/libs/feature/record/src/index.d.ts +1 -3
  313. package/libs/feature/record/src/index.d.ts.map +1 -1
  314. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +23 -7
  315. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  316. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  317. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  318. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  319. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  320. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  321. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  322. package/libs/feature/record/src/lib/feature-record.module.d.ts +8 -12
  323. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  324. package/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.d.ts.map +1 -1
  325. package/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.d.ts.map +1 -1
  326. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +22 -8
  327. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  328. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  329. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +13 -3
  330. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  331. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -1
  332. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  333. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +30 -23
  334. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  335. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -2
  336. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  337. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +3 -1
  338. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  339. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  340. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  341. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  342. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  343. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  344. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  345. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  346. package/libs/feature/search/src/index.d.ts +1 -1
  347. package/libs/feature/search/src/index.d.ts.map +1 -1
  348. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  349. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +2 -1
  350. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  351. package/libs/feature/search/src/lib/feature-search.module.d.ts +24 -22
  352. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  353. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  354. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  355. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  356. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  357. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +22 -0
  358. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  359. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  360. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  361. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
  362. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  363. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts +1 -2
  364. package/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.d.ts.map +1 -1
  365. package/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.d.ts.map +1 -1
  366. package/libs/feature/search/src/lib/utils/service/fields.d.ts +22 -2
  367. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  368. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  369. package/libs/ui/dataviz/src/index.d.ts +0 -1
  370. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  371. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  372. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  373. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  374. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  375. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts +1 -1
  376. package/libs/ui/dataviz/src/lib/figure/figure.component.d.ts.map +1 -1
  377. package/libs/ui/elements/src/index.d.ts +6 -3
  378. package/libs/ui/elements/src/index.d.ts.map +1 -1
  379. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  380. package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts +1 -1
  381. package/libs/ui/elements/src/lib/avatar/avatar.component.d.ts.map +1 -1
  382. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +2 -0
  383. package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -1
  384. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  385. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  386. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  387. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  388. package/libs/ui/elements/src/lib/{link-card/link-card.component.d.ts → external-link-card/external-link-card.component.d.ts} +5 -5
  389. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -0
  390. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  391. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  392. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +30 -0
  393. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  394. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +14 -0
  395. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  396. package/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.d.ts.map +1 -1
  397. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  398. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  399. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +8 -4
  400. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  401. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  402. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  403. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
  404. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  405. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
  406. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  407. package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts +1 -1
  408. package/libs/ui/elements/src/lib/user-preview/user-preview.component.d.ts.map +1 -1
  409. package/libs/ui/inputs/src/index.d.ts +2 -2
  410. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  411. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +1 -2
  412. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  413. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  414. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  415. package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts +1 -1
  416. package/libs/ui/inputs/src/lib/checkbox/checkbox.component.d.ts.map +1 -1
  417. package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts +1 -1
  418. package/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.d.ts.map +1 -1
  419. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts +1 -1
  420. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  421. package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
  422. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  423. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  424. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  425. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  426. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  427. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  428. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts +2 -1
  429. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  430. package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts +1 -1
  431. package/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.d.ts.map +1 -1
  432. package/libs/ui/layout/src/index.d.ts +2 -1
  433. package/libs/ui/layout/src/index.d.ts.map +1 -1
  434. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  435. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  436. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +11 -3
  437. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  438. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
  439. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
  440. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  441. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  442. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +5 -1
  443. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  444. package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts +1 -1
  445. package/libs/ui/layout/src/lib/sticky-header/sticky-header.component.d.ts.map +1 -1
  446. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
  447. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  448. package/libs/ui/map/src/index.d.ts +1 -0
  449. package/libs/ui/map/src/index.d.ts.map +1 -1
  450. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  451. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  452. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  453. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  454. package/libs/ui/search/src/index.d.ts +2 -0
  455. package/libs/ui/search/src/index.d.ts.map +1 -1
  456. package/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.d.ts +2 -0
  457. package/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.d.ts.map +1 -1
  458. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  459. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  460. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  461. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
  462. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  463. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
  464. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  465. package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
  466. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  467. package/libs/ui/widgets/src/index.d.ts +0 -1
  468. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  469. package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts +1 -1
  470. package/libs/ui/widgets/src/lib/color-scale/color-scale.component.d.ts.map +1 -1
  471. package/libs/util/app-config/src/lib/app-config.d.ts +0 -1
  472. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  473. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  474. package/libs/util/app-config/src/lib/model.d.ts +2 -0
  475. package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
  476. package/libs/util/i18n/src/index.d.ts +1 -2
  477. package/libs/util/i18n/src/index.d.ts.map +1 -1
  478. package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts +1 -1
  479. package/libs/util/i18n/src/lib/embedded.translate.loader.d.ts.map +1 -1
  480. package/libs/util/i18n/src/lib/i18n.constants.d.ts +6 -15
  481. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  482. package/libs/util/i18n/src/lib/i18n.interceptor.d.ts +5 -5
  483. package/libs/util/i18n/src/lib/i18n.interceptor.d.ts.map +1 -1
  484. package/libs/util/i18n/src/lib/i18n.providers.d.ts +4 -0
  485. package/libs/util/i18n/src/lib/i18n.providers.d.ts.map +1 -0
  486. package/libs/util/i18n/src/lib/language-codes.d.ts +15 -19
  487. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  488. package/libs/util/shared/src/index.d.ts +2 -1
  489. package/libs/util/shared/src/index.d.ts.map +1 -1
  490. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  491. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  492. package/libs/util/shared/src/lib/image-fallback.directive.d.ts +1 -1
  493. package/libs/util/shared/src/lib/image-fallback.directive.d.ts.map +1 -1
  494. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  495. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  496. package/libs/util/shared/src/lib/links/link-utils.d.ts +16 -8
  497. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  498. package/libs/util/shared/src/lib/record/index.d.ts +3 -0
  499. package/libs/util/shared/src/lib/record/index.d.ts.map +1 -0
  500. package/libs/util/shared/src/lib/record/quality-score.util.d.ts +13 -0
  501. package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -0
  502. package/libs/util/shared/src/lib/record/record.util.d.ts +3 -0
  503. package/libs/util/shared/src/lib/record/record.util.d.ts.map +1 -0
  504. package/package.json +4 -4
  505. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  506. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  507. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  508. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  509. package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +10 -1
  510. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +2 -2
  511. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +3 -0
  512. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  513. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +3 -3
  514. package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +4240 -0
  515. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  516. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  517. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +81 -11
  518. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +4 -4
  519. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  520. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +11 -5
  521. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
  522. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +14 -8
  523. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +12 -8
  524. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.ts +3 -0
  525. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +12 -7
  526. package/src/libs/api/metadata-converter/src/lib/translate-utils.ts +17 -0
  527. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +3 -6
  528. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +4 -1
  529. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +17 -17
  530. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +119 -16
  531. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  532. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +8 -7
  533. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +13 -6
  534. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +113 -69
  535. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
  536. package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +10 -1
  537. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +31 -11
  538. package/src/libs/common/domain/src/lib/platform.service.interface.ts +4 -1
  539. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +11 -1
  540. package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +0 -3
  541. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
  542. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
  543. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  544. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +114 -1
  545. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +4 -17
  546. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +7 -3
  547. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  548. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +70 -13
  549. package/src/libs/feature/dataviz/src/lib/figure/figure-container/figure-container.component.ts +2 -2
  550. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +49 -1
  551. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  552. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +33 -3
  553. package/src/libs/feature/editor/src/index.ts +2 -3
  554. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +9 -1
  555. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +23 -12
  556. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +13 -1
  557. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +9 -1
  558. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.ts +3 -4
  559. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.ts +5 -16
  560. package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +7 -5
  561. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +37 -0
  562. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +93 -0
  563. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +121 -0
  564. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +331 -0
  565. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +3 -12
  566. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +5 -4
  567. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints/form-field-constraints.component.ts +3 -4
  568. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-constraints-shortcuts/form-field-constraints-shortcuts.component.ts +2 -2
  569. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.ts +4 -11
  570. 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 -9
  571. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.ts +2 -17
  572. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +2 -2
  573. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -2
  574. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +2 -2
  575. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +2 -2
  576. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  577. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +4 -4
  578. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +2 -2
  579. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +2 -2
  580. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +2 -15
  581. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +2 -2
  582. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +4 -17
  583. package/src/libs/feature/editor/src/lib/fields.config.ts +0 -2
  584. package/src/libs/feature/editor/src/lib/models/index.ts +0 -2
  585. package/src/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.ts +2 -1
  586. package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +8 -3
  587. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +10 -3
  588. package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +8 -2
  589. package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +8 -2
  590. package/src/libs/feature/map/src/lib/feature-map.module.ts +0 -17
  591. package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +3 -8
  592. package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.ts +3 -2
  593. package/src/libs/feature/record/src/index.ts +1 -3
  594. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +19 -11
  595. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +56 -30
  596. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +4 -5
  597. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  598. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.ts +2 -2
  599. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +6 -7
  600. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  601. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +3 -2
  602. package/src/libs/feature/record/src/lib/feature-record.module.ts +4 -13
  603. package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.ts +4 -3
  604. package/src/libs/feature/record/src/lib/gpf-api-dl-list-item/gpf-api-dl-list-item.component.ts +10 -4
  605. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +43 -13
  606. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +189 -25
  607. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  608. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +12 -2
  609. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +31 -3
  610. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +23 -19
  611. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +14 -2
  612. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  613. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  614. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  615. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  616. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  617. package/src/libs/feature/search/src/index.ts +1 -1
  618. package/src/libs/feature/search/src/lib/constants.ts +3 -1
  619. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +2 -7
  620. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -7
  621. package/src/libs/feature/search/src/lib/feature-search.module.ts +17 -23
  622. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  623. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +5 -0
  624. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  625. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +17 -0
  626. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +60 -0
  627. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  628. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  629. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
  630. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  631. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
  632. package/src/libs/feature/search/src/lib/search-filters-summary/search-filters-summary.component.ts +10 -4
  633. package/src/libs/feature/search/src/lib/search-filters-summary-item/search-filters-summary-item.component.ts +2 -2
  634. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  635. package/src/libs/feature/search/src/lib/utils/service/fields.ts +103 -3
  636. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  637. package/src/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.ts +2 -2
  638. package/src/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.ts +2 -2
  639. package/src/libs/ui/catalog/src/lib/organisations-result/organisations-result.component.ts +2 -2
  640. package/src/libs/ui/dataviz/src/index.ts +0 -1
  641. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  642. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  643. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +12 -6
  644. package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +0 -1
  645. package/src/libs/ui/dataviz/src/lib/figure/figure.component.ts +4 -0
  646. package/src/libs/ui/elements/src/index.ts +6 -3
  647. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  648. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +3 -2
  649. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +6 -6
  650. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +2 -2
  651. package/src/libs/ui/elements/src/lib/avatar/avatar.component.ts +3 -0
  652. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +6 -2
  653. package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +5 -1
  654. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  655. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +4 -4
  656. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +42 -11
  657. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +28 -4
  658. package/src/libs/ui/elements/src/lib/error/error.component.ts +2 -2
  659. package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.css +0 -0
  660. package/src/libs/ui/elements/src/lib/{link-card/link-card.component.html → external-link-card/external-link-card.component.html} +5 -2
  661. package/src/libs/ui/elements/src/lib/{link-card/link-card.component.ts → external-link-card/external-link-card.component.ts} +9 -13
  662. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  663. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  664. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  665. package/src/libs/ui/elements/src/lib/image-input/image-input.component.ts +2 -2
  666. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  667. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +88 -0
  668. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.scss +115 -0
  669. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +102 -0
  670. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  671. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +15 -0
  672. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +72 -0
  673. package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.ts +1 -4
  674. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  675. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.ts +2 -2
  676. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  677. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +2 -2
  678. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  679. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
  680. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +11 -6
  681. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +21 -21
  682. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +27 -22
  683. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -2
  684. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +6 -3
  685. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
  686. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +82 -0
  687. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  688. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
  689. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +196 -0
  690. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
  691. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.ts +4 -0
  692. package/src/libs/ui/inputs/src/index.ts +2 -2
  693. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +3 -3
  694. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -9
  695. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  696. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.ts +3 -0
  697. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.html +1 -1
  698. package/src/libs/ui/inputs/src/lib/drag-and-drop-file-input/drag-and-drop-file-input.component.ts +4 -0
  699. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  700. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +27 -0
  701. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  702. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +2 -2
  703. package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +3 -4
  704. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  705. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +47 -0
  706. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  707. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  708. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  709. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +83 -0
  710. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +0 -1
  711. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +11 -8
  712. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +4 -1
  713. package/src/libs/ui/inputs/src/lib/switch-toggle/switch-toggle.component.ts +2 -2
  714. package/src/libs/ui/inputs/src/lib/viewport-intersector/viewport-intersector.component.ts +1 -0
  715. package/src/libs/ui/layout/src/index.ts +2 -1
  716. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +47 -2
  717. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  718. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -3
  719. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +57 -9
  720. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  721. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  722. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
  723. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
  724. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  725. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  726. package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.ts +2 -2
  727. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
  728. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +22 -2
  729. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  730. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.ts +2 -2
  731. package/src/libs/ui/layout/src/lib/pagination/pagination.component.ts +2 -2
  732. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  733. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  734. package/src/libs/ui/layout/src/lib/sticky-header/sticky-header.component.ts +3 -0
  735. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
  736. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +84 -0
  737. package/src/libs/ui/map/src/index.ts +1 -0
  738. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  739. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  740. package/src/libs/ui/map/src/lib/components/map-container/map-container.component.ts +2 -2
  741. package/src/libs/ui/map/src/lib/components/map-legend/map-legend.component.ts +1 -1
  742. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  743. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  744. package/src/libs/{feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.ts → ui/map/src/lib/components/spatial-extent/spatial-extent.component.ts} +8 -8
  745. package/src/libs/ui/search/src/index.ts +2 -0
  746. package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.html +4 -1
  747. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  748. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.ts +14 -1
  749. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  750. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
  751. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  752. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  753. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  754. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  755. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
  756. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +18 -15
  757. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  758. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +29 -24
  759. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +49 -17
  760. package/src/libs/ui/search/src/lib/ui-search.module.ts +19 -10
  761. package/src/libs/ui/widgets/src/index.ts +0 -1
  762. package/src/libs/ui/widgets/src/lib/color-scale/color-scale.component.ts +1 -0
  763. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +4 -3
  764. package/src/libs/util/app-config/src/lib/app-config.ts +6 -2
  765. package/src/libs/util/app-config/src/lib/fixtures.ts +2 -0
  766. package/src/libs/util/app-config/src/lib/model.ts +2 -0
  767. package/src/libs/util/i18n/src/index.ts +1 -2
  768. package/src/libs/util/i18n/src/lib/embedded.translate.loader.ts +4 -3
  769. package/src/libs/util/i18n/src/lib/i18n.constants.ts +39 -29
  770. package/src/libs/util/i18n/src/lib/i18n.interceptor.ts +11 -9
  771. package/src/libs/util/i18n/src/lib/i18n.providers.ts +68 -0
  772. package/src/libs/util/i18n/src/lib/language-codes.ts +67 -2
  773. package/src/libs/util/shared/src/index.ts +2 -1
  774. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  775. package/src/libs/util/shared/src/lib/image-fallback.directive.ts +1 -0
  776. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
  777. package/src/libs/util/shared/src/lib/links/link-utils.ts +44 -13
  778. package/src/libs/util/shared/src/lib/record/index.ts +2 -0
  779. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +69 -0
  780. package/src/libs/util/shared/src/lib/record/record.util.ts +114 -0
  781. package/tailwind.base.config.js +3 -0
  782. package/tailwind.base.css +24 -26
  783. package/translations/de.json +98 -24
  784. package/translations/en.json +98 -24
  785. package/translations/es.json +97 -23
  786. package/translations/fr.json +100 -26
  787. package/translations/it.json +97 -24
  788. package/translations/nl.json +97 -23
  789. package/translations/pt.json +97 -23
  790. package/translations/sk.json +97 -23
  791. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  792. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +0 -44
  793. package/esm2022/libs/feature/editor/src/lib/components/wizard/wizard.component.mjs +0 -75
  794. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +0 -160
  795. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +0 -53
  796. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.model.mjs +0 -2
  797. package/esm2022/libs/feature/editor/src/lib/models/wizard-field.type.mjs +0 -8
  798. package/esm2022/libs/feature/editor/src/lib/services/wizard.service.mjs +0 -87
  799. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  800. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  801. package/esm2022/libs/ui/dataviz/src/lib/ui-dataviz.module.mjs +0 -47
  802. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +0 -60
  803. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +0 -46
  804. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +0 -106
  805. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  806. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +0 -161
  807. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +0 -31
  808. package/esm2022/libs/ui/widgets/src/lib/ui-widgets.module.mjs +0 -46
  809. package/esm2022/libs/util/i18n/src/lib/lang.service.mjs +0 -31
  810. package/esm2022/libs/util/i18n/src/lib/util-i18n.module.mjs +0 -37
  811. package/esm2022/libs/util/shared/src/lib/util-shared.module.mjs +0 -18
  812. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  813. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts.map +0 -1
  814. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +0 -14
  815. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +0 -1
  816. package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts +0 -31
  817. package/libs/feature/editor/src/lib/components/wizard/wizard.component.d.ts.map +0 -1
  818. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts +0 -43
  819. package/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.d.ts.map +0 -1
  820. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +0 -17
  821. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +0 -1
  822. package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts +0 -10
  823. package/libs/feature/editor/src/lib/models/wizard-field.model.d.ts.map +0 -1
  824. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts +0 -7
  825. package/libs/feature/editor/src/lib/models/wizard-field.type.d.ts.map +0 -1
  826. package/libs/feature/editor/src/lib/services/wizard.service.d.ts +0 -33
  827. package/libs/feature/editor/src/lib/services/wizard.service.d.ts.map +0 -1
  828. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  829. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  830. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  831. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  832. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts +0 -11
  833. package/libs/ui/dataviz/src/lib/ui-dataviz.module.d.ts.map +0 -1
  834. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +0 -1
  835. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +0 -12
  836. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +0 -1
  837. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +0 -27
  838. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +0 -1
  839. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  840. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  841. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +0 -34
  842. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +0 -1
  843. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +0 -12
  844. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +0 -1
  845. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts +0 -15
  846. package/libs/ui/widgets/src/lib/ui-widgets.module.d.ts.map +0 -1
  847. package/libs/util/i18n/src/lib/lang.service.d.ts +0 -13
  848. package/libs/util/i18n/src/lib/lang.service.d.ts.map +0 -1
  849. package/libs/util/i18n/src/lib/util-i18n.module.d.ts +0 -12
  850. package/libs/util/i18n/src/lib/util-i18n.module.d.ts.map +0 -1
  851. package/libs/util/shared/src/lib/util-shared.module.d.ts +0 -9
  852. package/libs/util/shared/src/lib/util-shared.module.d.ts.map +0 -1
  853. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  854. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.css +0 -5
  855. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.html +0 -22
  856. package/src/libs/feature/editor/src/lib/components/wizard/wizard.component.ts +0 -93
  857. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.css +0 -31
  858. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.html +0 -62
  859. package/src/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.ts +0 -206
  860. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.css +0 -3
  861. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.html +0 -21
  862. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +0 -58
  863. package/src/libs/feature/editor/src/lib/models/wizard-field.model.ts +0 -10
  864. package/src/libs/feature/editor/src/lib/models/wizard-field.type.ts +0 -6
  865. package/src/libs/feature/editor/src/lib/services/wizard.service.ts +0 -105
  866. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  867. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  868. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  869. package/src/libs/ui/dataviz/src/lib/ui-dataviz.module.ts +0 -27
  870. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +0 -30
  871. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +0 -48
  872. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -61
  873. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  874. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  875. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  876. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +0 -96
  877. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -18
  878. package/src/libs/ui/widgets/src/lib/ui-widgets.module.ts +0 -25
  879. package/src/libs/util/i18n/src/lib/lang.service.ts +0 -23
  880. package/src/libs/util/i18n/src/lib/util-i18n.module.ts +0 -26
  881. package/src/libs/util/shared/src/lib/util-shared.module.ts +0 -10
  882. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → metadata-quality-panel/metadata-quality-panel.component.css} +0 -0
  883. /package/src/libs/{ui/elements/src/lib/link-card/link-card.component.css → feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.css} +0 -0
  884. /package/src/libs/{ui/elements/src/lib/related-record-card/related-record-card.component.css → feature/search/src/lib/results-hits/results-hits.container.component.css} +0 -0
@@ -1,44 +1,39 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
2
  import { MetadataQualityItemComponent, } from '../metadata-quality-item/metadata-quality-item.component';
3
3
  import { PopoverComponent, ProgressBarComponent, } from '../../../../../../libs/ui/widgets/src';
4
+ import { getQualityValidators, getAllKeysValidator, } from '../../../../../../libs/util/shared/src';
4
5
  import { CommonModule } from '@angular/common';
5
- import { TranslateModule } from '@ngx-translate/core';
6
- import { NgIcon } from '@ng-icons/core';
6
+ import { TranslateDirective } from '@ngx-translate/core';
7
+ import { NgIcon, provideIcons, provideNgIconsConfig } from '@ng-icons/core';
7
8
  import { matInfoOutline } from '@ng-icons/material-icons/outline';
8
- import { provideIcons, provideNgIconsConfig } from '@ng-icons/core';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/common";
11
- import * as i2 from "@ngx-translate/core";
12
11
  export class MetadataQualityComponent {
13
12
  constructor() {
14
13
  this.smaller = false;
14
+ this.popoverDisplay = true;
15
+ this.forceComputeScore = false; // Instead of returning es' quality score
15
16
  this.items = [];
16
17
  }
17
18
  get qualityScore() {
18
- const qualityScore = this.metadata?.extras?.qualityScore;
19
+ const qualityScore = !this.forceComputeScore
20
+ ? this.metadata?.extras?.qualityScore
21
+ : this.computedQualityScore;
19
22
  return typeof qualityScore === 'number'
20
23
  ? qualityScore
21
- : this.calculatedQualityScore;
24
+ : this.computedQualityScore;
22
25
  }
23
- get calculatedQualityScore() {
26
+ get computedQualityScore() {
24
27
  return Math.round((this.items.filter(({ value }) => value).length * 100) / this.items.length);
25
28
  }
26
- add(name, value) {
27
- if (this.metadataQualityDisplay?.[name] !== false) {
28
- this.items.push({ name, value });
29
- }
29
+ hasGetCapabilities(url) {
30
+ return url.toLowerCase().includes('capabilities');
30
31
  }
31
32
  initialize() {
32
- const contact = this.metadata?.contacts?.[0];
33
- this.items = [];
34
- this.add('title', !!this.metadata?.title);
35
- this.add('description', !!this.metadata?.abstract);
36
- this.add('topic', this.metadata?.topics?.length > 0);
37
- this.add('keywords', this.metadata?.keywords?.length > 0);
38
- this.add('legalConstraints', this.metadata?.legalConstraints?.length > 0);
39
- this.add('organisation', !!contact?.organization);
40
- this.add('contact', !!contact?.email);
41
- this.add('updateFrequency', !!this.metadata?.updateFrequency);
33
+ if (!this.propsToValidate) {
34
+ this.propsToValidate = getAllKeysValidator();
35
+ }
36
+ this.items = getQualityValidators(this.metadata, this.propsToValidate).map(({ name, validator }) => ({ name, value: validator() }));
42
37
  }
43
38
  ngOnChanges(changes) {
44
39
  if (changes['metadata'] || changes['metadataQualityDisplay']) {
@@ -46,7 +41,7 @@ export class MetadataQualityComponent {
46
41
  }
47
42
  }
48
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay" }, providers: [
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityComponent, isStandalone: true, selector: "gn-ui-metadata-quality", inputs: { metadata: "metadata", smaller: "smaller", metadataQualityDisplay: "metadataQualityDisplay", popoverDisplay: "popoverDisplay", propsToValidate: "propsToValidate", forceComputeScore: "forceComputeScore" }, providers: [
50
45
  provideIcons({
51
46
  matInfoOutline,
52
47
  }),
@@ -54,7 +49,7 @@ export class MetadataQualityComponent {
54
49
  size: '1.2em',
55
50
  strokeWidth: '1.5px',
56
51
  }),
57
- ], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'\"\n >\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ ], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: ProgressBarComponent, selector: "gn-ui-progress-bar", inputs: ["value", "type"] }, { kind: "component", type: MetadataQualityItemComponent, selector: "gn-ui-metadata-quality-item", inputs: ["name", "value"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
58
53
  }
59
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityComponent, decorators: [{
60
55
  type: Component,
@@ -63,7 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
63
58
  PopoverComponent,
64
59
  ProgressBarComponent,
65
60
  MetadataQualityItemComponent,
66
- TranslateModule,
61
+ TranslateDirective,
67
62
  NgIcon,
68
63
  ], providers: [
69
64
  provideIcons({
@@ -73,12 +68,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
73
68
  size: '1.2em',
74
69
  strokeWidth: '1.5px',
75
70
  }),
76
- ], template: "<div *ngIf=\"metadataQualityDisplay\" class=\"mb-6 metadata-quality\">\n <div\n class=\"flex items-center\"\n [class]=\"smaller ? 'leading-[8px] min-w-[120px]' : 'min-w-[200px]'\"\n >\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
71
+ ], template: "<div\n *ngIf=\"metadataQualityDisplay\"\n class=\"flex items-center metadata-quality min-w-0\"\n [ngClass]=\"{ 'text-xs leading-[8px] m-h-[120px]': smaller }\"\n>\n <gn-ui-progress-bar\n tabindex=\"0\"\n [value]=\"qualityScore\"\n [type]=\"'light'\"\n class=\"flex-grow\"\n ></gn-ui-progress-bar>\n <gn-ui-popover\n *ngIf=\"popoverDisplay\"\n [content]=\"popoverItems\"\n theme=\"light-border\"\n [class]=\"smaller ? 'ml-2' : 'ml-2 mt-1'\"\n >\n <ng-icon\n name=\"matInfoOutline\"\n class=\"flex-shrink-0 text-gray-600\"\n ></ng-icon>\n </gn-ui-popover>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div class=\"mb-4 font-bold\" translate>record.metadata.quality.details</div>\n <gn-ui-metadata-quality-item\n *ngFor=\"let e of items\"\n [name]=\"e.name\"\n [value]=\"e.value\"\n ></gn-ui-metadata-quality-item>\n </div>\n</ng-template>\n", styles: [":host gn-ui-progress-bar{--progress-bar-font-weight: \"normal\"}\n"] }]
77
72
  }], propDecorators: { metadata: [{
78
73
  type: Input
79
74
  }], smaller: [{
80
75
  type: Input
81
76
  }], metadataQualityDisplay: [{
82
77
  type: Input
78
+ }], popoverDisplay: [{
79
+ type: Input
80
+ }], propsToValidate: [{
81
+ type: Input
82
+ }], forceComputeScore: [{
83
+ type: Input
83
84
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUEwQm5FLE1BQU0sT0FBTyx3QkFBd0I7SUF4QnJDO1FBMEJXLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFHeEIsVUFBSyxHQUEwQixFQUFFLENBQUE7S0F1Q2xDO0lBckNDLElBQUksWUFBWTtRQUNkLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQTtRQUN4RCxPQUFPLE9BQU8sWUFBWSxLQUFLLFFBQVE7WUFD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WUFBWSxDQUFDOzRCQUNYLGNBQWM7eUJBQ2YsQ0FBQzt3QkFDRixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87NEJBQ2IsV0FBVyxFQUFFLE9BQU87eUJBQ3JCLENBQUM7cUJBQ0g7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW0sXG4gIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQsXG59IGZyb20gJy4uL21ldGFkYXRhLXF1YWxpdHktaXRlbS9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0uY29tcG9uZW50J1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIFBvcG92ZXJDb21wb25lbnQsXG4gIFByb2dyZXNzQmFyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nSWNvbiB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0SW5mb091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IHByb3ZpZGVJY29ucywgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTmdJY29uLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0SW5mb091dGxpbmUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMmVtJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAnMS41cHgnLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuICBASW5wdXQoKSBzbWFsbGVyID0gZmFsc2VcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuXG4gIGl0ZW1zOiBNZXRhZGF0YVF1YWxpdHlJdGVtW10gPSBbXVxuXG4gIGdldCBxdWFsaXR5U2NvcmUoKSB7XG4gICAgY29uc3QgcXVhbGl0eVNjb3JlID0gdGhpcy5tZXRhZGF0YT8uZXh0cmFzPy5xdWFsaXR5U2NvcmVcbiAgICByZXR1cm4gdHlwZW9mIHF1YWxpdHlTY29yZSA9PT0gJ251bWJlcidcbiAgICAgID8gcXVhbGl0eVNjb3JlXG4gICAgICA6IHRoaXMuY2FsY3VsYXRlZFF1YWxpdHlTY29yZVxuICB9XG5cbiAgZ2V0IGNhbGN1bGF0ZWRRdWFsaXR5U2NvcmUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgICh0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkubGVuZ3RoICogMTAwKSAvIHRoaXMuaXRlbXMubGVuZ3RoXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGQobmFtZTogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLm1ldGFkYXRhUXVhbGl0eURpc3BsYXk/LltuYW1lXSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaXRlbXMucHVzaCh7IG5hbWUsIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zdCBjb250YWN0ID0gdGhpcy5tZXRhZGF0YT8uY29udGFjdHM/LlswXVxuICAgIHRoaXMuaXRlbXMgPSBbXVxuICAgIHRoaXMuYWRkKCd0aXRsZScsICEhdGhpcy5tZXRhZGF0YT8udGl0bGUpXG4gICAgdGhpcy5hZGQoJ2Rlc2NyaXB0aW9uJywgISF0aGlzLm1ldGFkYXRhPy5hYnN0cmFjdClcbiAgICB0aGlzLmFkZCgndG9waWMnLCB0aGlzLm1ldGFkYXRhPy50b3BpY3M/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2tleXdvcmRzJywgdGhpcy5tZXRhZGF0YT8ua2V5d29yZHM/Lmxlbmd0aCA+IDApXG4gICAgdGhpcy5hZGQoJ2xlZ2FsQ29uc3RyYWludHMnLCB0aGlzLm1ldGFkYXRhPy5sZWdhbENvbnN0cmFpbnRzPy5sZW5ndGggPiAwKVxuICAgIHRoaXMuYWRkKCdvcmdhbmlzYXRpb24nLCAhIWNvbnRhY3Q/Lm9yZ2FuaXphdGlvbilcbiAgICB0aGlzLmFkZCgnY29udGFjdCcsICEhY29udGFjdD8uZW1haWwpXG4gICAgdGhpcy5hZGQoJ3VwZGF0ZUZyZXF1ZW5jeScsICEhdGhpcy5tZXRhZGF0YT8udXBkYXRlRnJlcXVlbmN5KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydtZXRhZGF0YSddIHx8IGNoYW5nZXNbJ21ldGFkYXRhUXVhbGl0eURpc3BsYXknXSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplKClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJtZXRhZGF0YVF1YWxpdHlEaXNwbGF5XCIgY2xhc3M9XCJtYi02IG1ldGFkYXRhLXF1YWxpdHlcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIlxuICAgIFtjbGFzc109XCJzbWFsbGVyID8gJ2xlYWRpbmctWzhweF0gbWluLXctWzEyMHB4XScgOiAnbWluLXctWzIwMHB4XSdcIlxuICA+XG4gICAgPGduLXVpLXByb2dyZXNzLWJhclxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFt2YWx1ZV09XCJxdWFsaXR5U2NvcmVcIlxuICAgICAgW3R5cGVdPVwiJ2xpZ2h0J1wiXG4gICAgICBjbGFzcz1cImZsZXgtZ3Jvd1wiXG4gICAgPjwvZ24tdWktcHJvZ3Jlc3MtYmFyPlxuICAgIDxnbi11aS1wb3BvdmVyXG4gICAgICBbY29udGVudF09XCJwb3BvdmVySXRlbXNcIlxuICAgICAgdGhlbWU9XCJsaWdodC1ib3JkZXJcIlxuICAgICAgW2NsYXNzXT1cInNtYWxsZXIgPyAnbWwtMicgOiAnbWwtMiBtdC0xJ1wiXG4gICAgPlxuICAgICAgPG5nLWljb25cbiAgICAgICAgbmFtZT1cIm1hdEluZm9PdXRsaW5lXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4LXNocmluay0wIHRleHQtZ3JheS02MDBcIlxuICAgICAgPjwvbmctaWNvbj5cbiAgICA8L2duLXVpLXBvcG92ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXJJdGVtcz5cbiAgPGRpdiBjbGFzcz1cInAtMiBweS00XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZm9udC1ib2xkXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRldGFpbHM8L2Rpdj5cbiAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgZSBvZiBpdGVtc1wiXG4gICAgICBbbmFtZV09XCJlLm5hbWVcIlxuICAgICAgW3ZhbHVlXT1cImUudmFsdWVcIlxuICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9saWIvbWV0YWRhdGEtcXVhbGl0eS9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSwwREFBMEQsQ0FBQTtBQUVqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBRXBCLE1BQU0sd0NBQXdDLENBQUE7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFBOzs7QUEwQmpFLE1BQU0sT0FBTyx3QkFBd0I7SUF4QnJDO1FBMEJXLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFFZixtQkFBYyxHQUFHLElBQUksQ0FBQTtRQUVyQixzQkFBaUIsR0FBRyxLQUFLLENBQUEsQ0FBQyx5Q0FBeUM7UUFFNUUsVUFBSyxHQUEwQixFQUFFLENBQUE7S0FxQ2xDO0lBbkNDLElBQUksWUFBWTtRQUNkLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFBO1FBRTdCLE9BQU8sT0FBTyxZQUFZLEtBQUssUUFBUTtZQUNyQyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUE7SUFDL0IsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUMzRSxDQUFBO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixFQUFFLENBQUE7UUFDOUMsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUN4RSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQ3hELENBQUE7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDOytHQTVDVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwyUkFWeEI7WUFDVCxZQUFZLENBQUM7Z0JBQ1gsY0FBYzthQUNmLENBQUM7WUFDRixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsV0FBVyxFQUFFLE9BQU87YUFDckIsQ0FBQztTQUNILCtDQ2hESCx1NkJBaUNBLDJIREFJLFlBQVksOFZBQ1osZ0JBQWdCLHdGQUNoQixvQkFBb0IsMEZBQ3BCLDRCQUE0QixtR0FDNUIsa0JBQWtCLGtIQUNsQixNQUFNOzs0RkFZRyx3QkFBd0I7a0JBeEJwQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3dCQUM1QixrQkFBa0I7d0JBQ2xCLE1BQU07cUJBQ1AsYUFDVTt3QkFDVCxZQUFZLENBQUM7NEJBQ1gsY0FBYzt5QkFDZixDQUFDO3dCQUNGLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsT0FBTzs0QkFDYixXQUFXLEVBQUUsT0FBTzt5QkFDckIsQ0FBQztxQkFDSDs4QkFHUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBNZXRhZGF0YVF1YWxpdHlJdGVtLFxuICBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50LFxufSBmcm9tICcuLi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBQb3BvdmVyQ29tcG9uZW50LFxuICBQcm9ncmVzc0JhckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7XG4gIGdldFF1YWxpdHlWYWxpZGF0b3JzLFxuICBnZXRBbGxLZXlzVmFsaWRhdG9yLFxuICB0eXBlIFZhbGlkYXRvck1hcHBlcktleXMsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zLCBwcm92aWRlTmdJY29uc0NvbmZpZyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0SW5mb091dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRhZGF0YS1xdWFsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgTWV0YWRhdGFRdWFsaXR5SXRlbUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gICAgTmdJY29uLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgbWF0SW5mb091dGxpbmUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMmVtJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAnMS41cHgnLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtZXRhZGF0YTogQ2F0YWxvZ1JlY29yZFxuICBASW5wdXQoKSBzbWFsbGVyID0gZmFsc2VcbiAgQElucHV0KCkgbWV0YWRhdGFRdWFsaXR5RGlzcGxheTogYm9vbGVhblxuICBASW5wdXQoKSBwb3BvdmVyRGlzcGxheSA9IHRydWVcbiAgQElucHV0KCkgcHJvcHNUb1ZhbGlkYXRlPzogVmFsaWRhdG9yTWFwcGVyS2V5c1tdXG4gIEBJbnB1dCgpIGZvcmNlQ29tcHV0ZVNjb3JlID0gZmFsc2UgLy8gSW5zdGVhZCBvZiByZXR1cm5pbmcgZXMnIHF1YWxpdHkgc2NvcmVcblxuICBpdGVtczogTWV0YWRhdGFRdWFsaXR5SXRlbVtdID0gW11cblxuICBnZXQgcXVhbGl0eVNjb3JlKCkge1xuICAgIGNvbnN0IHF1YWxpdHlTY29yZSA9ICF0aGlzLmZvcmNlQ29tcHV0ZVNjb3JlXG4gICAgICA/IHRoaXMubWV0YWRhdGE/LmV4dHJhcz8ucXVhbGl0eVNjb3JlXG4gICAgICA6IHRoaXMuY29tcHV0ZWRRdWFsaXR5U2NvcmVcblxuICAgIHJldHVybiB0eXBlb2YgcXVhbGl0eVNjb3JlID09PSAnbnVtYmVyJ1xuICAgICAgPyBxdWFsaXR5U2NvcmVcbiAgICAgIDogdGhpcy5jb21wdXRlZFF1YWxpdHlTY29yZVxuICB9XG5cbiAgZ2V0IGNvbXB1dGVkUXVhbGl0eVNjb3JlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICAodGhpcy5pdGVtcy5maWx0ZXIoKHsgdmFsdWUgfSkgPT4gdmFsdWUpLmxlbmd0aCAqIDEwMCkgLyB0aGlzLml0ZW1zLmxlbmd0aFxuICAgIClcbiAgfVxuXG4gIGhhc0dldENhcGFiaWxpdGllcyh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1cmwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnY2FwYWJpbGl0aWVzJylcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzVG9WYWxpZGF0ZSkge1xuICAgICAgdGhpcy5wcm9wc1RvVmFsaWRhdGUgPSBnZXRBbGxLZXlzVmFsaWRhdG9yKClcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zID0gZ2V0UXVhbGl0eVZhbGlkYXRvcnModGhpcy5tZXRhZGF0YSwgdGhpcy5wcm9wc1RvVmFsaWRhdGUpLm1hcChcbiAgICAgICh7IG5hbWUsIHZhbGlkYXRvciB9KSA9PiAoeyBuYW1lLCB2YWx1ZTogdmFsaWRhdG9yKCkgfSlcbiAgICApXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ21ldGFkYXRhJ10gfHwgY2hhbmdlc1snbWV0YWRhdGFRdWFsaXR5RGlzcGxheSddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemUoKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cIm1ldGFkYXRhUXVhbGl0eURpc3BsYXlcIlxuICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG1ldGFkYXRhLXF1YWxpdHkgbWluLXctMFwiXG4gIFtuZ0NsYXNzXT1cInsgJ3RleHQteHMgbGVhZGluZy1bOHB4XSBtLWgtWzEyMHB4XSc6IHNtYWxsZXIgfVwiXG4+XG4gIDxnbi11aS1wcm9ncmVzcy1iYXJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIFt2YWx1ZV09XCJxdWFsaXR5U2NvcmVcIlxuICAgIFt0eXBlXT1cIidsaWdodCdcIlxuICAgIGNsYXNzPVwiZmxleC1ncm93XCJcbiAgPjwvZ24tdWktcHJvZ3Jlc3MtYmFyPlxuICA8Z24tdWktcG9wb3ZlclxuICAgICpuZ0lmPVwicG9wb3ZlckRpc3BsYXlcIlxuICAgIFtjb250ZW50XT1cInBvcG92ZXJJdGVtc1wiXG4gICAgdGhlbWU9XCJsaWdodC1ib3JkZXJcIlxuICAgIFtjbGFzc109XCJzbWFsbGVyID8gJ21sLTInIDogJ21sLTIgbXQtMSdcIlxuICA+XG4gICAgPG5nLWljb25cbiAgICAgIG5hbWU9XCJtYXRJbmZvT3V0bGluZVwiXG4gICAgICBjbGFzcz1cImZsZXgtc2hyaW5rLTAgdGV4dC1ncmF5LTYwMFwiXG4gICAgPjwvbmctaWNvbj5cbiAgPC9nbi11aS1wb3BvdmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXJJdGVtcz5cbiAgPGRpdiBjbGFzcz1cInAtMiBweS00XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1iLTQgZm9udC1ib2xkXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRldGFpbHM8L2Rpdj5cbiAgICA8Z24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtXG4gICAgICAqbmdGb3I9XCJsZXQgZSBvZiBpdGVtc1wiXG4gICAgICBbbmFtZV09XCJlLm5hbWVcIlxuICAgICAgW3ZhbHVlXT1cImUudmFsdWVcIlxuICAgID48L2duLXVpLW1ldGFkYXRhLXF1YWxpdHktaXRlbT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,10 +1,9 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
3
3
  import { NgIcon, provideIcons } from '@ng-icons/core';
4
- import { TranslateModule } from '@ngx-translate/core';
4
+ import { TranslatePipe } from '@ngx-translate/core';
5
5
  import { matCheck, matWarningAmber } from '@ng-icons/material-icons/baseline';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@ngx-translate/core";
8
7
  marker('record.metadata.quality.title.success');
9
8
  marker('record.metadata.quality.title.failed');
10
9
  marker('record.metadata.quality.description.success');
@@ -21,6 +20,10 @@ marker('record.metadata.quality.updateFrequency.success');
21
20
  marker('record.metadata.quality.updateFrequency.failed');
22
21
  marker('record.metadata.quality.organisation.success');
23
22
  marker('record.metadata.quality.organisation.failed');
23
+ marker('record.metadata.quality.capabilities.success');
24
+ marker('record.metadata.quality.capabilities.failed');
25
+ marker('record.metadata.quality.source.success');
26
+ marker('record.metadata.quality.source.failed');
24
27
  export class MetadataQualityItemComponent {
25
28
  get icon() {
26
29
  return this.value ? 'matCheck' : 'matWarningAmber';
@@ -29,14 +32,14 @@ export class MetadataQualityItemComponent {
29
32
  return `record.metadata.quality.${this.name}.${this.value ? 'success' : 'failed'}`;
30
33
  }
31
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityItemComponent, isStandalone: true, selector: "gn-ui-metadata-quality-item", inputs: { name: "name", value: "value" }, ngImport: i0, template: "<div class=\"ml-4 flex flex-row\">\n <ng-icon [name]=\"icon\" class=\"min-w-fit\"></ng-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n", dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], viewProviders: [provideIcons({ matCheck, matWarningAmber })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataQualityItemComponent, isStandalone: true, selector: "gn-ui-metadata-quality-item", inputs: { name: "name", value: "value" }, ngImport: i0, template: "<div class=\"ml-4 flex flex-row\">\n <ng-icon [name]=\"icon\" class=\"min-w-fit\"></ng-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n", dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [provideIcons({ matCheck, matWarningAmber })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
36
  }
34
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataQualityItemComponent, decorators: [{
35
38
  type: Component,
36
- args: [{ selector: 'gn-ui-metadata-quality-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIcon, TranslateModule], viewProviders: [provideIcons({ matCheck, matWarningAmber })], template: "<div class=\"ml-4 flex flex-row\">\n <ng-icon [name]=\"icon\" class=\"min-w-fit\"></ng-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n" }]
39
+ args: [{ selector: 'gn-ui-metadata-quality-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIcon, TranslatePipe], viewProviders: [provideIcons({ matCheck, matWarningAmber })], template: "<div class=\"ml-4 flex flex-row\">\n <ng-icon [name]=\"icon\" class=\"min-w-fit\"></ng-icon>\n <p class=\"ml-2 text\">{{ labelKey | translate }}</p>\n</div>\n" }]
37
40
  }], propDecorators: { name: [{
38
41
  type: Input
39
42
  }], value: [{
40
43
  type: Input
41
44
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7QUFFN0UsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFDckQsTUFBTSxDQUFDLDRDQUE0QyxDQUFDLENBQUE7QUFDcEQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUE7QUFDMUQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUE7QUFDdEQsTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7QUFlckQsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUE7SUFDcEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sMkJBQTJCLElBQUksQ0FBQyxJQUFJLElBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFDM0IsRUFBRSxDQUFBO0lBQ0osQ0FBQzsrR0FaVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixpSUNwQ3pDLGtLQUlBLDRDRDZCWSxNQUFNLDRHQUFFLGVBQWUsaUZBQ2xCLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7OzRGQUVqRCw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUV0Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsaUJBQ25CLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7OEJBR25ELElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBOZ0ljb24sIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRpdGxlLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRlc2NyaXB0aW9uLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5kZXNjcmlwdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpYy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudG9waWMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmtleXdvcmRzLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS51cGRhdGVGcmVxdWVuY3kuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnVwZGF0ZUZyZXF1ZW5jeS5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5vcmdhbmlzYXRpb24uc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5Lm9yZ2FuaXNhdGlvbi5mYWlsZWQnKVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUl0ZW0ge1xuICBuYW1lOiBzdHJpbmdcbiAgdmFsdWU6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJY29uLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0Q2hlY2ssIG1hdFdhcm5pbmdBbWJlciB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhUXVhbGl0eUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBNZXRhZGF0YVF1YWxpdHlJdGVtIHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbHVlOiBib29sZWFuXG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPyAnbWF0Q2hlY2snIDogJ21hdFdhcm5pbmdBbWJlcidcbiAgfVxuXG4gIGdldCBsYWJlbEtleSgpIHtcbiAgICByZXR1cm4gYHJlY29yZC5tZXRhZGF0YS5xdWFsaXR5LiR7dGhpcy5uYW1lfS4ke1xuICAgICAgdGhpcy52YWx1ZSA/ICdzdWNjZXNzJyA6ICdmYWlsZWQnXG4gICAgfWBcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1sLTQgZmxleCBmbGV4LXJvd1wiPlxuICA8bmctaWNvbiBbbmFtZV09XCJpY29uXCIgY2xhc3M9XCJtaW4tdy1maXRcIj48L25nLWljb24+XG4gIDxwIGNsYXNzPVwibWwtMiB0ZXh0XCI+e3sgbGFiZWxLZXkgfCB0cmFuc2xhdGUgfX08L3A+XG48L2Rpdj5cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOztBQUU3RSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQTtBQUMxRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQTtBQUN6RCxNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtBQUN4RCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQTtBQUN0RCxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtBQUNyRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQWUvQyxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTywyQkFBMkIsSUFBSSxDQUFDLElBQUksSUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUMzQixFQUFFLENBQUE7SUFDSixDQUFDOytHQVpVLDRCQUE0QjttR0FBNUIsNEJBQTRCLGlJQ3hDekMsa0tBSUEsNENEaUNZLE1BQU0sd0dBQUUsYUFBYSx1Q0FDaEIsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQzs7NEZBRWpELDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxpQkFDakIsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQzs4QkFHbkQsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudGl0bGUuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnRpdGxlLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmRlc2NyaXB0aW9uLnN1Y2Nlc3MnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5kZXNjcmlwdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS50b3BpYy5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkudG9waWMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkua2V5d29yZHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmtleXdvcmRzLmZhaWxlZCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmxlZ2FsQ29uc3RyYWludHMuZmFpbGVkJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5zdWNjZXNzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLnF1YWxpdHkuY29udGFjdC5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS51cGRhdGVGcmVxdWVuY3kuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnVwZGF0ZUZyZXF1ZW5jeS5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5vcmdhbmlzYXRpb24uc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5Lm9yZ2FuaXNhdGlvbi5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5jYXBhYmlsaXRpZXMuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LmNhcGFiaWxpdGllcy5mYWlsZWQnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEucXVhbGl0eS5zb3VyY2Uuc3VjY2VzcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5xdWFsaXR5LnNvdXJjZS5mYWlsZWQnKVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhUXVhbGl0eUl0ZW0ge1xuICBuYW1lOiBzdHJpbmdcbiAgdmFsdWU6IGJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWV0YWRhdGEtcXVhbGl0eS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJY29uLCBUcmFuc2xhdGVQaXBlXSxcbiAgdmlld1Byb3ZpZGVyczogW3Byb3ZpZGVJY29ucyh7IG1hdENoZWNrLCBtYXRXYXJuaW5nQW1iZXIgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVF1YWxpdHlJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgTWV0YWRhdGFRdWFsaXR5SXRlbSB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZ1xuICBASW5wdXQoKSB2YWx1ZTogYm9vbGVhblxuXG4gIGdldCBpY29uKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gJ21hdENoZWNrJyA6ICdtYXRXYXJuaW5nQW1iZXInXG4gIH1cblxuICBnZXQgbGFiZWxLZXkoKSB7XG4gICAgcmV0dXJuIGByZWNvcmQubWV0YWRhdGEucXVhbGl0eS4ke3RoaXMubmFtZX0uJHtcbiAgICAgIHRoaXMudmFsdWUgPyAnc3VjY2VzcycgOiAnZmFpbGVkJ1xuICAgIH1gXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtbC00IGZsZXggZmxleC1yb3dcIj5cbiAgPG5nLWljb24gW25hbWVdPVwiaWNvblwiIGNsYXNzPVwibWluLXctZml0XCI+PC9uZy1pY29uPlxuICA8cCBjbGFzcz1cIm1sLTIgdGV4dFwiPnt7IGxhYmVsS2V5IHwgdHJhbnNsYXRlIH19PC9wPlxuPC9kaXY+XG4iXX0=
@@ -4,10 +4,11 @@ import { mimeTypeToFormat } from '../../../../../../libs/util/shared/src';
4
4
  import { BehaviorSubject, combineLatest, filter, map, switchMap } from 'rxjs';
5
5
  import { CopyTextButtonComponent, DropdownSelectorComponent, TextInputComponent, } from '../../../../../../libs/ui/inputs/src';
6
6
  import { CommonModule } from '@angular/common';
7
- import { TranslateModule } from '@ngx-translate/core';
7
+ import { TranslateDirective } from '@ngx-translate/core';
8
+ import { MatTooltipModule } from '@angular/material/tooltip';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
- import * as i2 from "@ngx-translate/core";
11
+ import * as i2 from "@angular/material/tooltip";
11
12
  const DEFAULT_PARAMS = {
12
13
  OFFSET: '',
13
14
  LIMIT: '-1',
@@ -110,7 +111,7 @@ export class RecordApiFormComponent {
110
111
  maxFeatures: limit !== '-1' ? Number(limit) : undefined,
111
112
  limit: limit !== '-1' ? Number(limit) : -1,
112
113
  offset: offset !== '' ? Number(offset) : undefined,
113
- outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
114
+ outputCrs: format.toLowerCase().indexOf('json') > -1 ? 'EPSG:4326' : undefined,
114
115
  };
115
116
  if (this.endpoint instanceof WfsEndpoint) {
116
117
  delete options.limit;
@@ -118,11 +119,12 @@ export class RecordApiFormComponent {
118
119
  return this.endpoint.getFeatureUrl(this.apiFeatureType, options);
119
120
  }
120
121
  else {
122
+ delete options.outputCrs;
121
123
  return await this.endpoint.getCollectionItemsUrl(this.apiFeatureType, options);
122
124
  }
123
125
  }
124
126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordApiFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecordApiFormComponent, isStandalone: true, selector: "gn-ui-record-api-form", inputs: { apiLink: "apiLink" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n placeholder=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 relative\">\n <p class=\"text-sm\" [class.text-gray-600]=\"!supportOffset\" translate>\n record.metadata.api.form.offset\n </p>\n <div class=\"flex items-center\">\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n [disabled]=\"!supportOffset\"\n (valueChange)=\"supportOffset ? setOffset($event) : null\"\n placeholder=\"\"\n >\n </gn-ui-text-input>\n <div\n *ngIf=\"!supportOffset\"\n class=\"flex items-center gap-2 text-orange-500 z-10 ml-3\"\n >\n <span\n class=\"material-symbols-outlined\"\n matTooltip=\"Not supported on this service\"\n >\n warning\n </span>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button ng-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover ng-icon{color:#d3d3d3!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecordApiFormComponent, isStandalone: true, selector: "gn-ui-record-api-form", inputs: { apiLink: "apiLink" }, ngImport: i0, template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n placeholder=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 relative\">\n <p class=\"text-sm\" [class.text-gray-600]=\"!supportOffset\" translate>\n record.metadata.api.form.offset\n </p>\n <div class=\"flex items-center\">\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n [disabled]=\"!supportOffset\"\n (valueChange)=\"supportOffset ? setOffset($event) : null\"\n placeholder=\"\"\n >\n </gn-ui-text-input>\n <div\n *ngIf=\"!supportOffset\"\n class=\"flex items-center gap-2 text-orange-500 z-10 ml-3\"\n >\n <span\n class=\"material-symbols-outlined\"\n matTooltip=\"Not supported on this service\"\n >\n warning\n </span>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button ng-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover ng-icon{color:#d3d3d3!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
126
128
  }
127
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordApiFormComponent, decorators: [{
128
130
  type: Component,
@@ -131,9 +133,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
131
133
  TextInputComponent,
132
134
  DropdownSelectorComponent,
133
135
  CopyTextButtonComponent,
134
- TranslateModule,
136
+ TranslateDirective,
137
+ MatTooltipModule,
135
138
  ], template: "<div class=\"flex flex-col gap-8\">\n <div class=\"flex flex-col bg-white p-8 ng-star-inserted shadow-xl gap-8\">\n <div class=\"flex flex-row\">\n <div class=\"text-[16px] text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.create\n </div>\n <button\n (click)=\"resetUrl()\"\n class=\"bg-primary-opacity-50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors\"\n >\n <p class=\"text-[13px] uppercase\" translate>\n record.metadata.api.form.reset\n </p>\n </button>\n </div>\n <div class=\"flex flex-row flex-wrap justify-between grow gap-5\">\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-[14px]\" translate>record.metadata.api.form.limit</p>\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-text-input\n class=\"mr-2 w-20\"\n (valueChange)=\"setLimit($event)\"\n [value]=\"displayLimit$ | async\"\n placeholder=\"\"\n >\n </gn-ui-text-input>\n <div class=\"flex items-center\">\n <input\n class=\"mr-2 cursor-pointer\"\n type=\"checkbox\"\n [checked]=\"noLimitChecked$ | async\"\n (change)=\"setLimit('-1')\"\n />\n <span class=\"text-sm\" translate\n >record.metadata.api.form.limit.all</span\n >\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 relative\">\n <p class=\"text-sm\" [class.text-gray-600]=\"!supportOffset\" translate>\n record.metadata.api.form.offset\n </p>\n <div class=\"flex items-center\">\n <gn-ui-text-input\n class=\"w-20\"\n [value]=\"offset$ | async\"\n [disabled]=\"!supportOffset\"\n (valueChange)=\"supportOffset ? setOffset($event) : null\"\n placeholder=\"\"\n >\n </gn-ui-text-input>\n <div\n *ngIf=\"!supportOffset\"\n class=\"flex items-center gap-2 text-orange-500 z-10 ml-3\"\n >\n <span\n class=\"material-symbols-outlined\"\n matTooltip=\"Not supported on this service\"\n >\n warning\n </span>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3\">\n <p class=\"text-sm\" translate>record.metadata.api.form.type</p>\n <gn-ui-dropdown-selector\n #dropdown\n [title]=\"''\"\n extraBtnClass=\"secondary min-w-full !w-40 !text-black\"\n [showTitle]=\"false\"\n class=\"text-black\"\n [choices]=\"outputFormats\"\n (selectValue)=\"setFormat($event)\"\n [selected]=\"format$ | async\"\n ></gn-ui-dropdown-selector>\n </div>\n </div>\n </div>\n <div class=\"flex flex-col gap-3 mb-3\">\n <div class=\"text-sm text-black truncate font-title w-11/12\" translate>\n record.metadata.api.form.customUrl\n </div>\n <div class=\"bg-white rounded-lg\">\n <gn-ui-copy-text-button\n [text]=\"apiQueryUrl$ | async\"\n ></gn-ui-copy-text-button>\n </div>\n </div>\n</div>\n", styles: [":host ::ng-deep input{color:#000;opacity:1}:host ::ng-deep gn-ui-copy-text-button input[type=text]{color:#000;background-color:#fff}:host ::ng-deep gn-ui-copy-text-button button,host ::ng-deep gn-ui-copy-text-button button:hover{background-color:var(--color-secondary)!important}:host ::ng-deep gn-ui-copy-text-button button ng-icon{color:#fff!important;opacity:1!important}:host ::ng-deep gn-ui-copy-text-button button:hover ng-icon{color:#d3d3d3!important}\n"] }]
136
139
  }], propDecorators: { apiLink: [{
137
140
  type: Input
138
141
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBWSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFLOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0UsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ25CLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7OztBQUVyRCxNQUFNLGNBQWMsR0FBRztJQUNyQixNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLGtCQUFrQjtDQUMzQixDQUFBO0FBZ0JELE1BQU0sT0FBTyxzQkFBc0I7SUFkbkM7UUEwQkUsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwRCxXQUFNLEdBQUcsSUFBSSxl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LElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDOUMsSUFBSSxDQUFDLGNBQWMsRUFDbkIsT0FBTyxDQUNSLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E1SVUsc0JBQXNCO21HQUF0QixzQkFBc0IsaUhDckNuQywyekdBMkZBLHFnQkQ3REksWUFBWSx3TEFDWixrQkFBa0IsK0pBQ2xCLHlCQUF5QixxTkFDekIsdUJBQXVCLDBIQUN2QixlQUFlOzs0RkFHTixzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLGVBQWU7cUJBQ2hCOzhCQUdZLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNaW1lVHlwZSwgT2djQXBpRW5kcG9pbnQsIFdmc0VuZHBvaW50IH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7XG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBTZXJ2aWNlUHJvdG9jb2wsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IG1pbWVUeXBlVG9Gb3JtYXQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBDb3B5VGV4dEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25DaG9pY2UsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuY29uc3QgREVGQVVMVF9QQVJBTVMgPSB7XG4gIE9GRlNFVDogJycsXG4gIExJTUlUOiAnLTEnLFxuICBGT1JNQVQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWFwaS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVjb3JkQXBpRm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBhcGlMaW5rKHZhbHVlOiBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbikge1xuICAgIHRoaXMub3V0cHV0Rm9ybWF0cyA9IFt7IHZhbHVlOiAnYXBwbGljYXRpb24vanNvbicsIGxhYmVsOiAnSlNPTicgfV1cbiAgICB0aGlzLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9IHZhbHVlID8gdmFsdWUuYWNjZXNzU2VydmljZVByb3RvY29sIDogdW5kZWZpbmVkXG4gICAgdGhpcy5hcGlGZWF0dXJlVHlwZSA9IHZhbHVlID8gdmFsdWUubmFtZSA6IHVuZGVmaW5lZFxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5hcGlCYXNlVXJsID0gdmFsdWUudXJsLmhyZWZcbiAgICAgIHRoaXMuY3JlYXRlRW5kcG9pbnQoKS50aGVuKCgpID0+IHRoaXMucGFyc2VPdXRwdXRGb3JtYXRzKCkpXG4gICAgfVxuICAgIHRoaXMucmVzZXRVcmwoKVxuICB9XG5cbiAgb2Zmc2V0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoREVGQVVMVF9QQVJBTVMuT0ZGU0VUKVxuICBsaW1pdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KERFRkFVTFRfUEFSQU1TLkxJTUlUKVxuICBmb3JtYXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChERUZBVUxUX1BBUkFNUy5GT1JNQVQpXG4gIGVuZHBvaW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2ZzRW5kcG9pbnQgfCBPZ2NBcGlFbmRwb2ludCB8IHVuZGVmaW5lZD4oXG4gICAgdW5kZWZpbmVkXG4gIClcbiAgYXBpQmFzZVVybDogc3RyaW5nXG4gIGFwaUZlYXR1cmVUeXBlOiBzdHJpbmdcbiAgc3VwcG9ydE9mZnNldCA9IHRydWVcbiAgYWNjZXNzU2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wgfCB1bmRlZmluZWRcbiAgb3V0cHV0Rm9ybWF0czogRHJvcGRvd25DaG9pY2VbXSA9IFtcbiAgICB7IHZhbHVlOiAnYXBwbGljYXRpb24vanNvbicsIGxhYmVsOiAnSlNPTicgfSxcbiAgXVxuICBlbmRwb2ludDogV2ZzRW5kcG9pbnQgfCBPZ2NBcGlFbmRwb2ludCB8IHVuZGVmaW5lZFxuXG4gIGFwaVF1ZXJ5VXJsJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMub2Zmc2V0JCxcbiAgICB0aGlzLmxpbWl0JCxcbiAgICB0aGlzLmZvcm1hdCQsXG4gICAgLy8gb25seSBjb21wdXRlIHRoZSB1cmwgaWYgdGhlIGVuZHBvaW50IHdhcyBjcmVhdGVkXG4gICAgdGhpcy5lbmRwb2ludCQucGlwZShmaWx0ZXIoKGVuZHBvaW50KSA9PiAhIWVuZHBvaW50KSksXG4gIF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbb2Zmc2V0LCBsaW1pdCwgZm9ybWF0XSkgPT5cbiAgICAgIHRoaXMuZ2VuZXJhdGVBcGlRdWVyeVVybChvZmZzZXQsIGxpbWl0LCBmb3JtYXQpXG4gICAgKVxuICApXG5cbiAgbm9MaW1pdENoZWNrZWQkID0gdGhpcy5saW1pdCQucGlwZShcbiAgICBtYXAoKGxpbWl0KSA9PiBsaW1pdCA9PT0gJy0xJyB8fCBsaW1pdCA9PT0gJycpXG4gIClcbiAgZGlzcGxheUxpbWl0JCA9IHRoaXMubGltaXQkLnBpcGUoXG4gICAgbWFwKChsaW1pdCkgPT4gKGxpbWl0ICE9PSAnLTEnID8gbGltaXQgOiAnJykpXG4gIClcblxuICBzZXRPZmZzZXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgc2V0TGltaXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubGltaXQkLm5leHQodmFsdWUgPT09ICcnID8gJy0xJyA6IHZhbHVlKVxuICB9XG5cbiAgc2V0Rm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmtub3duKSB7XG4gICAgdGhpcy5mb3JtYXQkLm5leHQoU3RyaW5nKHZhbHVlKSlcbiAgfVxuXG4gIHJlc2V0VXJsKCkge1xuICAgIHRoaXMub2Zmc2V0JC5uZXh0KERFRkFVTFRfUEFSQU1TLk9GRlNFVClcbiAgICB0aGlzLmxpbWl0JC5uZXh0KERFRkFVTFRfUEFSQU1TLkxJTUlUKVxuICAgIHRoaXMuZm9ybWF0JC5uZXh0KERFRkFVTFRfUEFSQU1TLkZPUk1BVClcbiAgfVxuXG4gIGFzeW5jIHBhcnNlT3V0cHV0Rm9ybWF0cygpIHtcbiAgICBpZiAoIXRoaXMuZW5kcG9pbnQpIHJldHVyblxuICAgIGNvbnN0IG91dHB1dEZvcm1hdHMgPSAoYXdhaXQgdGhpcy5nZXRPdXRwdXRGb3JtYXRzKCkpLm1hcChcbiAgICAgIHRoaXMubWltZVR5cGVUb0Zvcm1hdE5hbWVcbiAgICApXG5cbiAgICB0aGlzLm91dHB1dEZvcm1hdHMgPSB0aGlzLm91dHB1dEZvcm1hdHNcbiAgICAgIC5jb25jYXQob3V0cHV0Rm9ybWF0cy5maWx0ZXIoQm9vbGVhbikpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZm9ybWF0LCBpbmRleCwgc2VsZikgPT5cbiAgICAgICAgICBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKHQpID0+IHQudmFsdWUgPT09IGZvcm1hdC52YWx1ZSlcbiAgICAgIClcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpXG4gIH1cblxuICBtaW1lVHlwZVRvRm9ybWF0TmFtZShtaW1lVHlwZTogTWltZVR5cGUpOiBEcm9wZG93bkNob2ljZSB8IG51bGwge1xuICAgIGNvbnN0IGZvcm1hdE5hbWUgPSBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlKVxuICAgIHJldHVybiBmb3JtYXROYW1lXG4gICAgICA/IHsgbGFiZWw6IGZvcm1hdE5hbWUudG9VcHBlckNhc2UoKSwgdmFsdWU6IG1pbWVUeXBlIH1cbiAgICAgIDogbnVsbFxuICB9XG5cbiAgYXN5bmMgZ2V0T3V0cHV0Rm9ybWF0cygpOiBQcm9taXNlPE1pbWVUeXBlW10+IHtcbiAgICBpZiAoIXRoaXMuZW5kcG9pbnQpIHJldHVybiBbXVxuICAgIGlmICh0aGlzLmVuZHBvaW50IGluc3RhbmNlb2YgV2ZzRW5kcG9pbnQpIHtcbiAgICAgIHRoaXMuc3VwcG9ydE9mZnNldCA9IHRoaXMuZW5kcG9pbnQuc3VwcG9ydHNTdGFydEluZGV4KClcbiAgICAgIHJldHVybiB0aGlzLmVuZHBvaW50LmdldFNlcnZpY2VJbmZvKCkub3V0cHV0Rm9ybWF0c1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZW5kcG9pbnQuZ2V0Q29sbGVjdGlvbkluZm8odGhpcy5hcGlGZWF0dXJlVHlwZSkpXG4gICAgICAgIC5pdGVtRm9ybWF0c1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZUVuZHBvaW50KCkge1xuICAgIGlmICghdGhpcy5hcGlCYXNlVXJsIHx8ICF0aGlzLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCkgcmV0dXJuXG4gICAgaWYgKHRoaXMuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnd2ZzJykge1xuICAgICAgdGhpcy5lbmRwb2ludCA9IG5ldyBXZnNFbmRwb2ludCh0aGlzLmFwaUJhc2VVcmwpXG4gICAgICBhd2FpdCAodGhpcy5lbmRwb2ludCBhcyBXZnNFbmRwb2ludCkuaXNSZWFkeSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBuZXcgT2djQXBpRW5kcG9pbnQodGhpcy5hcGlCYXNlVXJsKVxuICAgICAgY29uc3QgY29sbGVjdGlvbnMgPSBhd2FpdCB0aGlzLmVuZHBvaW50LmFsbENvbGxlY3Rpb25zXG4gICAgICAvLyBpZiB0aGVyZSdzIG9ubHkgb25lIGNvbGxlY3Rpb24sIHVzZSB0aGlzIGluc3RlYWQgb2YgdGhlIG5hbWUgZ2l2ZW4gaW4gdGhlIGxpbmsuXG4gICAgICBpZiAoY29sbGVjdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMuYXBpRmVhdHVyZVR5cGUgPSBjb2xsZWN0aW9uc1swXS5uYW1lXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW5kcG9pbnQkLm5leHQodGhpcy5lbmRwb2ludClcbiAgfVxuXG4gIGFzeW5jIGdlbmVyYXRlQXBpUXVlcnlVcmwoXG4gICAgb2Zmc2V0OiBzdHJpbmcsXG4gICAgbGltaXQ6IHN0cmluZyxcbiAgICBmb3JtYXQ6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5hcGlCYXNlVXJsIHx8ICF0aGlzLmVuZHBvaW50IHx8ICF0aGlzLmFwaUZlYXR1cmVUeXBlKSByZXR1cm4gJydcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBvdXRwdXRGb3JtYXQ6IGZvcm1hdCxcbiAgICAgIHN0YXJ0SW5kZXg6IG9mZnNldCA/IE51bWJlcihvZmZzZXQpIDogdW5kZWZpbmVkLFxuICAgICAgbWF4RmVhdHVyZXM6IGxpbWl0ICE9PSAnLTEnID8gTnVtYmVyKGxpbWl0KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxpbWl0OiBsaW1pdCAhPT0gJy0xJyA/IE51bWJlcihsaW1pdCkgOiAtMSxcbiAgICAgIG9mZnNldDogb2Zmc2V0ICE9PSAnJyA/IE51bWJlcihvZmZzZXQpIDogdW5kZWZpbmVkLFxuICAgICAgb3V0cHV0Q3JzOlxuICAgICAgICBmb3JtYXQgPT09ICgnYXBwbGljYXRpb24vanNvbicgfHwgJ2dlb2pzb24nKSA/ICdFUFNHOjQzMjYnIDogdW5kZWZpbmVkLFxuICAgIH1cblxuICAgIGlmICh0aGlzLmVuZHBvaW50IGluc3RhbmNlb2YgV2ZzRW5kcG9pbnQpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLmxpbWl0XG4gICAgICBvcHRpb25zLm1heEZlYXR1cmVzID0gbGltaXQgIT09ICctMScgPyBOdW1iZXIobGltaXQpIDogdW5kZWZpbmVkXG4gICAgICByZXR1cm4gdGhpcy5lbmRwb2ludC5nZXRGZWF0dXJlVXJsKHRoaXMuYXBpRmVhdHVyZVR5cGUsIG9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmVuZHBvaW50LmdldENvbGxlY3Rpb25JdGVtc1VybChcbiAgICAgICAgdGhpcy5hcGlGZWF0dXJlVHlwZSxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLThcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgYmctd2hpdGUgcC04IG5nLXN0YXItaW5zZXJ0ZWQgc2hhZG93LXhsIGdhcC04XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LVsxNnB4XSB0ZXh0LWJsYWNrIHRydW5jYXRlIGZvbnQtdGl0bGUgdy0xMS8xMlwiIHRyYW5zbGF0ZT5cbiAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmNyZWF0ZVxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJyZXNldFVybCgpXCJcbiAgICAgICAgY2xhc3M9XCJiZy1wcmltYXJ5LW9wYWNpdHktNTAgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTIgcHktMSB0ZXh0LTEzIGZvbnQtbWVkaXVtIGxlYWRpbmctbm9uZSB0ZXh0LXdoaXRlIHJvdW5kZWQgY2FwaXRhbGl6ZSB0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6YmctcHJpbWFyeSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICA+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1bMTNweF0gdXBwZXJjYXNlXCIgdHJhbnNsYXRlPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5yZXNldFxuICAgICAgICA8L3A+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGdyb3cgZ2FwLTVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1bMTRweF1cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmxpbWl0PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJtci0yIHctMjBcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInNldExpbWl0KCRldmVudClcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlMaW1pdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZ24tdWktdGV4dC1pbnB1dD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cIm1yLTIgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJub0xpbWl0Q2hlY2tlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0TGltaXQoJy0xJylcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLmxpbWl0LmFsbDwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTMgcmVsYXRpdmVcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtXCIgW2NsYXNzLnRleHQtZ3JheS02MDBdPVwiIXN1cHBvcnRPZmZzZXRcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgcmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLm9mZnNldFxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxnbi11aS10ZXh0LWlucHV0XG4gICAgICAgICAgICBjbGFzcz1cInctMjBcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIm9mZnNldCQgfCBhc3luY1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXN1cHBvcnRPZmZzZXRcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInN1cHBvcnRPZmZzZXQgPyBzZXRPZmZzZXQoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCIhc3VwcG9ydE9mZnNldFwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtb3JhbmdlLTUwMCB6LTEwIG1sLTNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJOb3Qgc3VwcG9ydGVkIG9uIHRoaXMgc2VydmljZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIHRyYW5zbGF0ZT5yZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0udHlwZTwvcD5cbiAgICAgICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAgICAgI2Ryb3Bkb3duXG4gICAgICAgICAgW3RpdGxlXT1cIicnXCJcbiAgICAgICAgICBleHRyYUJ0bkNsYXNzPVwic2Vjb25kYXJ5IG1pbi13LWZ1bGwgIXctNDAgIXRleHQtYmxhY2tcIlxuICAgICAgICAgIFtzaG93VGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgIGNsYXNzPVwidGV4dC1ibGFja1wiXG4gICAgICAgICAgW2Nob2ljZXNdPVwib3V0cHV0Rm9ybWF0c1wiXG4gICAgICAgICAgKHNlbGVjdFZhbHVlKT1cInNldEZvcm1hdCgkZXZlbnQpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwiZm9ybWF0JCB8IGFzeW5jXCJcbiAgICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIG1iLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSB0ZXh0LWJsYWNrIHRydW5jYXRlIGZvbnQtdGl0bGUgdy0xMS8xMlwiIHRyYW5zbGF0ZT5cbiAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5jdXN0b21VcmxcbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYmctd2hpdGUgcm91bmRlZC1sZ1wiPlxuICAgICAgPGduLXVpLWNvcHktdGV4dC1idXR0b25cbiAgICAgICAgW3RleHRdPVwiYXBpUXVlcnlVcmwkIHwgYXN5bmNcIlxuICAgICAgPjwvZ24tdWktY29weS10ZXh0LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pFLE9BQU8sRUFBWSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFLOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0UsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ25CLE1BQU0sc0NBQXNDLENBQUE7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBOzs7O0FBRTVELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsa0JBQWtCO0NBQzNCLENBQUE7QUFpQkQsTUFBTSxPQUFPLHNCQUFzQjtJQWZuQztRQTJCRSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMs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Q0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7WUFDaEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ2xFLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ3hCLE9BQU8sTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUM5QyxJQUFJLENBQUMsY0FBYyxFQUNuQixPQUFPLENBQ1IsQ0FBQTtRQUNILENBQUM7SUFDSCxDQUFDOytHQTdJVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixpSEN2Q25DLDJ6R0EyRkEscWdCRDVESSxZQUFZLHdMQUNaLGtCQUFrQiwrSkFDbEIseUJBQXlCLHFOQUN6Qix1QkFBdUIsMkhBQ3ZCLGtCQUFrQixpSEFDbEIsZ0JBQWdCOzs0RkFHUCxzQkFBc0I7a0JBZmxDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3FCQUNqQjs4QkFHWSxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWltZVR5cGUsIE9nY0FwaUVuZHBvaW50LCBXZnNFbmRwb2ludCB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQge1xuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBtaW1lVHlwZVRvRm9ybWF0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gIERyb3Bkb3duQ2hvaWNlLFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICBUZXh0SW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCdcblxuY29uc3QgREVGQVVMVF9QQVJBTVMgPSB7XG4gIE9GRlNFVDogJycsXG4gIExJTUlUOiAnLTEnLFxuICBGT1JNQVQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktcmVjb3JkLWFwaS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY29yZC1hcGktZm9ybS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmRBcGlGb3JtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2V0IGFwaUxpbmsodmFsdWU6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uKSB7XG4gICAgdGhpcy5vdXRwdXRGb3JtYXRzID0gW3sgdmFsdWU6ICdhcHBsaWNhdGlvbi9qc29uJywgbGFiZWw6ICdKU09OJyB9XVxuICAgIHRoaXMuYWNjZXNzU2VydmljZVByb3RvY29sID0gdmFsdWUgPyB2YWx1ZS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgOiB1bmRlZmluZWRcbiAgICB0aGlzLmFwaUZlYXR1cmVUeXBlID0gdmFsdWUgPyB2YWx1ZS5uYW1lIDogdW5kZWZpbmVkXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFwaUJhc2VVcmwgPSB2YWx1ZS51cmwuaHJlZlxuICAgICAgdGhpcy5jcmVhdGVFbmRwb2ludCgpLnRoZW4oKCkgPT4gdGhpcy5wYXJzZU91dHB1dEZvcm1hdHMoKSlcbiAgICB9XG4gICAgdGhpcy5yZXNldFVybCgpXG4gIH1cblxuICBvZmZzZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChERUZBVUxUX1BBUkFNUy5PRkZTRVQpXG4gIGxpbWl0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoREVGQVVMVF9QQVJBTVMuTElNSVQpXG4gIGZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KERFRkFVTFRfUEFSQU1TLkZPUk1BVClcbiAgZW5kcG9pbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXZnNFbmRwb2ludCB8IE9nY0FwaUVuZHBvaW50IHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKVxuICBhcGlCYXNlVXJsOiBzdHJpbmdcbiAgYXBpRmVhdHVyZVR5cGU6IHN0cmluZ1xuICBzdXBwb3J0T2Zmc2V0ID0gdHJ1ZVxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbCB8IHVuZGVmaW5lZFxuICBvdXRwdXRGb3JtYXRzOiBEcm9wZG93bkNob2ljZVtdID0gW1xuICAgIHsgdmFsdWU6ICdhcHBsaWNhdGlvbi9qc29uJywgbGFiZWw6ICdKU09OJyB9LFxuICBdXG4gIGVuZHBvaW50OiBXZnNFbmRwb2ludCB8IE9nY0FwaUVuZHBvaW50IHwgdW5kZWZpbmVkXG5cbiAgYXBpUXVlcnlVcmwkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5vZmZzZXQkLFxuICAgIHRoaXMubGltaXQkLFxuICAgIHRoaXMuZm9ybWF0JCxcbiAgICAvLyBvbmx5IGNvbXB1dGUgdGhlIHVybCBpZiB0aGUgZW5kcG9pbnQgd2FzIGNyZWF0ZWRcbiAgICB0aGlzLmVuZHBvaW50JC5waXBlKGZpbHRlcigoZW5kcG9pbnQpID0+ICEhZW5kcG9pbnQpKSxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtvZmZzZXQsIGxpbWl0LCBmb3JtYXRdKSA9PlxuICAgICAgdGhpcy5nZW5lcmF0ZUFwaVF1ZXJ5VXJsKG9mZnNldCwgbGltaXQsIGZvcm1hdClcbiAgICApXG4gIClcblxuICBub0xpbWl0Q2hlY2tlZCQgPSB0aGlzLmxpbWl0JC5waXBlKFxuICAgIG1hcCgobGltaXQpID0+IGxpbWl0ID09PSAnLTEnIHx8IGxpbWl0ID09PSAnJylcbiAgKVxuICBkaXNwbGF5TGltaXQkID0gdGhpcy5saW1pdCQucGlwZShcbiAgICBtYXAoKGxpbWl0KSA9PiAobGltaXQgIT09ICctMScgPyBsaW1pdCA6ICcnKSlcbiAgKVxuXG4gIHNldE9mZnNldCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vZmZzZXQkLm5leHQodmFsdWUpXG4gIH1cblxuICBzZXRMaW1pdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5saW1pdCQubmV4dCh2YWx1ZSA9PT0gJycgPyAnLTEnIDogdmFsdWUpXG4gIH1cblxuICBzZXRGb3JtYXQodmFsdWU6IHN0cmluZyB8IHVua25vd24pIHtcbiAgICB0aGlzLmZvcm1hdCQubmV4dChTdHJpbmcodmFsdWUpKVxuICB9XG5cbiAgcmVzZXRVcmwoKSB7XG4gICAgdGhpcy5vZmZzZXQkLm5leHQoREVGQVVMVF9QQVJBTVMuT0ZGU0VUKVxuICAgIHRoaXMubGltaXQkLm5leHQoREVGQVVMVF9QQVJBTVMuTElNSVQpXG4gICAgdGhpcy5mb3JtYXQkLm5leHQoREVGQVVMVF9QQVJBTVMuRk9STUFUKVxuICB9XG5cbiAgYXN5bmMgcGFyc2VPdXRwdXRGb3JtYXRzKCkge1xuICAgIGlmICghdGhpcy5lbmRwb2ludCkgcmV0dXJuXG4gICAgY29uc3Qgb3V0cHV0Rm9ybWF0cyA9IChhd2FpdCB0aGlzLmdldE91dHB1dEZvcm1hdHMoKSkubWFwKFxuICAgICAgdGhpcy5taW1lVHlwZVRvRm9ybWF0TmFtZVxuICAgIClcblxuICAgIHRoaXMub3V0cHV0Rm9ybWF0cyA9IHRoaXMub3V0cHV0Rm9ybWF0c1xuICAgICAgLmNvbmNhdChvdXRwdXRGb3JtYXRzLmZpbHRlcihCb29sZWFuKSlcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChmb3JtYXQsIGluZGV4LCBzZWxmKSA9PlxuICAgICAgICAgIGluZGV4ID09PSBzZWxmLmZpbmRJbmRleCgodCkgPT4gdC52YWx1ZSA9PT0gZm9ybWF0LnZhbHVlKVxuICAgICAgKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSlcbiAgfVxuXG4gIG1pbWVUeXBlVG9Gb3JtYXROYW1lKG1pbWVUeXBlOiBNaW1lVHlwZSk6IERyb3Bkb3duQ2hvaWNlIHwgbnVsbCB7XG4gICAgY29uc3QgZm9ybWF0TmFtZSA9IG1pbWVUeXBlVG9Gb3JtYXQobWltZVR5cGUpXG4gICAgcmV0dXJuIGZvcm1hdE5hbWVcbiAgICAgID8geyBsYWJlbDogZm9ybWF0TmFtZS50b1VwcGVyQ2FzZSgpLCB2YWx1ZTogbWltZVR5cGUgfVxuICAgICAgOiBudWxsXG4gIH1cblxuICBhc3luYyBnZXRPdXRwdXRGb3JtYXRzKCk6IFByb21pc2U8TWltZVR5cGVbXT4ge1xuICAgIGlmICghdGhpcy5lbmRwb2ludCkgcmV0dXJuIFtdXG4gICAgaWYgKHRoaXMuZW5kcG9pbnQgaW5zdGFuY2VvZiBXZnNFbmRwb2ludCkge1xuICAgICAgdGhpcy5zdXBwb3J0T2Zmc2V0ID0gdGhpcy5lbmRwb2ludC5zdXBwb3J0c1N0YXJ0SW5kZXgoKVxuICAgICAgcmV0dXJuIHRoaXMuZW5kcG9pbnQuZ2V0U2VydmljZUluZm8oKS5vdXRwdXRGb3JtYXRzXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5lbmRwb2ludC5nZXRDb2xsZWN0aW9uSW5mbyh0aGlzLmFwaUZlYXR1cmVUeXBlKSlcbiAgICAgICAgLml0ZW1Gb3JtYXRzXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlRW5kcG9pbnQoKSB7XG4gICAgaWYgKCF0aGlzLmFwaUJhc2VVcmwgfHwgIXRoaXMuYWNjZXNzU2VydmljZVByb3RvY29sKSByZXR1cm5cbiAgICBpZiAodGhpcy5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICB0aGlzLmVuZHBvaW50ID0gbmV3IFdmc0VuZHBvaW50KHRoaXMuYXBpQmFzZVVybClcbiAgICAgIGF3YWl0ICh0aGlzLmVuZHBvaW50IGFzIFdmc0VuZHBvaW50KS5pc1JlYWR5KClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbmRwb2ludCA9IG5ldyBPZ2NBcGlFbmRwb2ludCh0aGlzLmFwaUJhc2VVcmwpXG4gICAgICBjb25zdCBjb2xsZWN0aW9ucyA9IGF3YWl0IHRoaXMuZW5kcG9pbnQuYWxsQ29sbGVjdGlvbnNcbiAgICAgIC8vIGlmIHRoZXJlJ3Mgb25seSBvbmUgY29sbGVjdGlvbiwgdXNlIHRoaXMgaW5zdGVhZCBvZiB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgbGluay5cbiAgICAgIGlmIChjb2xsZWN0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdGhpcy5hcGlGZWF0dXJlVHlwZSA9IGNvbGxlY3Rpb25zWzBdLm5hbWVcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lbmRwb2ludCQubmV4dCh0aGlzLmVuZHBvaW50KVxuICB9XG5cbiAgYXN5bmMgZ2VuZXJhdGVBcGlRdWVyeVVybChcbiAgICBvZmZzZXQ6IHN0cmluZyxcbiAgICBsaW1pdDogc3RyaW5nLFxuICAgIGZvcm1hdDogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKCF0aGlzLmFwaUJhc2VVcmwgfHwgIXRoaXMuZW5kcG9pbnQgfHwgIXRoaXMuYXBpRmVhdHVyZVR5cGUpIHJldHVybiAnJ1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIG91dHB1dEZvcm1hdDogZm9ybWF0LFxuICAgICAgc3RhcnRJbmRleDogb2Zmc2V0ID8gTnVtYmVyKG9mZnNldCkgOiB1bmRlZmluZWQsXG4gICAgICBtYXhGZWF0dXJlczogbGltaXQgIT09ICctMScgPyBOdW1iZXIobGltaXQpIDogdW5kZWZpbmVkLFxuICAgICAgbGltaXQ6IGxpbWl0ICE9PSAnLTEnID8gTnVtYmVyKGxpbWl0KSA6IC0xLFxuICAgICAgb2Zmc2V0OiBvZmZzZXQgIT09ICcnID8gTnVtYmVyKG9mZnNldCkgOiB1bmRlZmluZWQsXG4gICAgICBvdXRwdXRDcnM6XG4gICAgICAgIGZvcm1hdC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2pzb24nKSA+IC0xID8gJ0VQU0c6NDMyNicgOiB1bmRlZmluZWQsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZW5kcG9pbnQgaW5zdGFuY2VvZiBXZnNFbmRwb2ludCkge1xuICAgICAgZGVsZXRlIG9wdGlvbnMubGltaXRcbiAgICAgIG9wdGlvbnMubWF4RmVhdHVyZXMgPSBsaW1pdCAhPT0gJy0xJyA/IE51bWJlcihsaW1pdCkgOiB1bmRlZmluZWRcbiAgICAgIHJldHVybiB0aGlzLmVuZHBvaW50LmdldEZlYXR1cmVVcmwodGhpcy5hcGlGZWF0dXJlVHlwZSwgb3B0aW9ucylcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIG9wdGlvbnMub3V0cHV0Q3JzXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5lbmRwb2ludC5nZXRDb2xsZWN0aW9uSXRlbXNVcmwoXG4gICAgICAgIHRoaXMuYXBpRmVhdHVyZVR5cGUsXG4gICAgICAgIG9wdGlvbnNcbiAgICAgIClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC04XCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGJnLXdoaXRlIHAtOCBuZy1zdGFyLWluc2VydGVkIHNoYWRvdy14bCBnYXAtOFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1bMTZweF0gdGV4dC1ibGFjayB0cnVuY2F0ZSBmb250LXRpdGxlIHctMTEvMTJcIiB0cmFuc2xhdGU+XG4gICAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5jcmVhdGVcbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicmVzZXRVcmwoKVwiXG4gICAgICAgIGNsYXNzPVwiYmctcHJpbWFyeS1vcGFjaXR5LTUwIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC0yIHB5LTEgdGV4dC0xMyBmb250LW1lZGl1bSBsZWFkaW5nLW5vbmUgdGV4dC13aGl0ZSByb3VuZGVkIGNhcGl0YWxpemUgdGV4dC1wcmltYXJ5LWxpZ2h0ZXN0IGhvdmVyOmJnLXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtWzEzcHhdIHVwcGVyY2FzZVwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICByZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0ucmVzZXRcbiAgICAgICAgPC9wPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZmxleC13cmFwIGp1c3RpZnktYmV0d2VlbiBncm93IGdhcC01XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtWzE0cHhdXCIgdHJhbnNsYXRlPnJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5saW1pdDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgPGduLXVpLXRleHQtaW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwibXItMiB3LTIwXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZXRMaW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJkaXNwbGF5TGltaXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJtci0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibm9MaW1pdENoZWNrZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldExpbWl0KCctMScpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPnJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5saW1pdC5hbGw8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zIHJlbGF0aXZlXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1zbVwiIFtjbGFzcy50ZXh0LWdyYXktNjAwXT1cIiFzdXBwb3J0T2Zmc2V0XCIgdHJhbnNsYXRlPlxuICAgICAgICAgIHJlY29yZC5tZXRhZGF0YS5hcGkuZm9ybS5vZmZzZXRcbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJ3LTIwXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvZmZzZXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzdXBwb3J0T2Zmc2V0XCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzdXBwb3J0T2Zmc2V0ID8gc2V0T2Zmc2V0KCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9nbi11aS10ZXh0LWlucHV0PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiIXN1cHBvcnRPZmZzZXRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LW9yYW5nZS01MDAgei0xMCBtbC0zXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIlxuICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTm90IHN1cHBvcnRlZCBvbiB0aGlzIHNlcnZpY2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtc21cIiB0cmFuc2xhdGU+cmVjb3JkLm1ldGFkYXRhLmFwaS5mb3JtLnR5cGU8L3A+XG4gICAgICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgICAgICNkcm9wZG93blxuICAgICAgICAgIFt0aXRsZV09XCInJ1wiXG4gICAgICAgICAgZXh0cmFCdG5DbGFzcz1cInNlY29uZGFyeSBtaW4tdy1mdWxsICF3LTQwICF0ZXh0LWJsYWNrXCJcbiAgICAgICAgICBbc2hvd1RpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQtYmxhY2tcIlxuICAgICAgICAgIFtjaG9pY2VzXT1cIm91dHB1dEZvcm1hdHNcIlxuICAgICAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZXRGb3JtYXQoJGV2ZW50KVwiXG4gICAgICAgICAgW3NlbGVjdGVkXT1cImZvcm1hdCQgfCBhc3luY1wiXG4gICAgICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMyBtYi0zXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1ibGFjayB0cnVuY2F0ZSBmb250LXRpdGxlIHctMTEvMTJcIiB0cmFuc2xhdGU+XG4gICAgICByZWNvcmQubWV0YWRhdGEuYXBpLmZvcm0uY3VzdG9tVXJsXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQtbGdcIj5cbiAgICAgIDxnbi11aS1jb3B5LXRleHQtYnV0dG9uXG4gICAgICAgIFt0ZXh0XT1cImFwaVF1ZXJ5VXJsJCB8IGFzeW5jXCJcbiAgICAgID48L2duLXVpLWNvcHktdGV4dC1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { Component, ElementRef, Input, ViewChild } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TranslatePipe } from '@ngx-translate/core';
4
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
5
+ import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src';
6
+ import { CellPopinComponent, ExpandablePanelComponent, TruncatedTextComponent, } from '../../../../../../../libs/ui/layout/src';
7
+ import { CdkScrollable, ScrollingModule } from '@angular/cdk/scrolling';
8
+ import { NgIconComponent, provideIcons } from '@ng-icons/core';
9
+ import { iconoirList } from '@ng-icons/iconoir';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "@angular/cdk/scrolling";
13
+ marker('feature.catalog.attribute.type');
14
+ marker('feature.catalog.attribute.name');
15
+ marker('feature.catalog.attribute.code');
16
+ marker('feature.catalog.attribute.definition');
17
+ marker('feature.catalog.attribute.values');
18
+ export class FeatureCatalogListComponent {
19
+ constructor() {
20
+ this.COLUMNS_DEFAULT = [
21
+ { key: 'type', width: '25%' },
22
+ { key: 'name', width: '40%' },
23
+ { key: 'definition', width: 'minmax(0px, 1fr)' },
24
+ ];
25
+ this.COLUMN_VALUES = {
26
+ key: 'values',
27
+ width: '73px',
28
+ class: 'text-center',
29
+ };
30
+ }
31
+ getColumnsDefinition(attrs) {
32
+ const hasValues = attrs.some((a) => a.values?.length > 0);
33
+ return [...this.COLUMNS_DEFAULT, ...(hasValues ? [this.COLUMN_VALUES] : [])];
34
+ }
35
+ getGridTemplateColumns(attributes) {
36
+ return this.getColumnsDefinition(attributes)
37
+ .map((col) => col.width)
38
+ .join(' ');
39
+ }
40
+ trackByColumn(_i, col) {
41
+ return col.key;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureCatalogListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FeatureCatalogListComponent, isStandalone: true, selector: "gn-ui-feature-catalog-list", inputs: { filteredFeatureCatalog: "filteredFeatureCatalog" }, providers: [provideIcons({ iconoirList })], viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }, { propertyName: "panelComponent", first: true, predicate: ["expanel"], descendants: true, read: ExpandablePanelComponent, static: true }], ngImport: i0, template: "<div\n cdkScrollable\n class=\"h-[562px] relative overflow-y-auto overflow-hidden\"\n data-cy=\"feat-catalog-scrollable\"\n>\n <div #scrollContainer class=\"flex flex-col gap-2 py-5 px-5\">\n <div\n *ngFor=\"let featureType of filteredFeatureCatalog?.featureTypes\"\n class=\"rounded shadow bg-white\"\n >\n <gn-ui-expandable-panel\n #expanel\n [collapsed]=\"filteredFeatureCatalog?.featureTypes?.length !== 1\"\n iconColor=\"black\"\n >\n <ng-template #titleTemplate>\n <div class=\"px-2\">\n <div class=\"text-lg font-bold\">{{ featureType.name }}</div>\n <div class=\"text-sm\" *ngIf=\"featureType.definition\">\n {{ featureType.definition }}\n </div>\n </div>\n </ng-template>\n <div\n *ngIf=\"expanel && !expanel.collapsed\"\n class=\"grid gap-0\"\n [style.grid-template-columns]=\"\n getGridTemplateColumns(featureType.attributes)\n \"\n data-cy=\"feature-type-content\"\n >\n <div\n class=\"py-1 px-2 text-sm font-bold text-left border-t break-all\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n [ngClass]=\"col.class || ''\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"column-label\"\n >\n {{ 'feature.catalog.attribute.' + col.key | translate }}\n </div>\n <ng-container *ngIf=\"expanel && !expanel.collapsed\">\n <ng-container *ngFor=\"let row of featureType.attributes\">\n <div\n class=\"bg-white text-sm font-normal text-left border-t\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"cell-content\"\n >\n <ng-container\n *ngIf=\"col.key === 'values'; then tplValues; else defaultTpl\"\n ></ng-container>\n\n <ng-template #defaultTpl>\n <gn-ui-truncated-text\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n [text]=\"row[col.key]\"\n ></gn-ui-truncated-text>\n </ng-template>\n\n <ng-template #tplValues>\n <gn-ui-cell-popin\n #popinRef\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n *ngIf=\"row.values?.length > 0\"\n >\n <div cellContent data-cy=\"values-cell-popin-trigger\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"bg-transparent border-none\"\n (buttonClick)=\"popinRef.openOverlay()\"\n >\n <ng-icon name=\"iconoirList\" size=\"24\"></ng-icon>\n </gn-ui-button>\n </div>\n <div\n popinContent\n class=\"max-h-60 overflow-y-auto min-w-64 py-4 px-6\"\n style=\"scrollbar-width: thin\"\n >\n <ul class=\"list-disc list-inside mr-4\">\n <li *ngFor=\"let v of row.values\">\n {{ v.label || v.code }}\n </li>\n </ul>\n </div>\n </gn-ui-cell-popin>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </gn-ui-expandable-panel>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CellPopinComponent, selector: "gn-ui-cell-popin", inputs: ["extraClass", "cdkScrollContainer", "scrollContainer", "activePopin"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "iconColor", "collapsed"] }, { kind: "component", type: TruncatedTextComponent, selector: "gn-ui-truncated-text", inputs: ["text", "extraClass", "scrollContainer", "cdkScrollContainer"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureCatalogListComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'gn-ui-feature-catalog-list', standalone: true, imports: [
49
+ ButtonComponent,
50
+ CellPopinComponent,
51
+ CommonModule,
52
+ TranslatePipe,
53
+ ExpandablePanelComponent,
54
+ TruncatedTextComponent,
55
+ NgIconComponent,
56
+ ScrollingModule,
57
+ ], providers: [provideIcons({ iconoirList })], template: "<div\n cdkScrollable\n class=\"h-[562px] relative overflow-y-auto overflow-hidden\"\n data-cy=\"feat-catalog-scrollable\"\n>\n <div #scrollContainer class=\"flex flex-col gap-2 py-5 px-5\">\n <div\n *ngFor=\"let featureType of filteredFeatureCatalog?.featureTypes\"\n class=\"rounded shadow bg-white\"\n >\n <gn-ui-expandable-panel\n #expanel\n [collapsed]=\"filteredFeatureCatalog?.featureTypes?.length !== 1\"\n iconColor=\"black\"\n >\n <ng-template #titleTemplate>\n <div class=\"px-2\">\n <div class=\"text-lg font-bold\">{{ featureType.name }}</div>\n <div class=\"text-sm\" *ngIf=\"featureType.definition\">\n {{ featureType.definition }}\n </div>\n </div>\n </ng-template>\n <div\n *ngIf=\"expanel && !expanel.collapsed\"\n class=\"grid gap-0\"\n [style.grid-template-columns]=\"\n getGridTemplateColumns(featureType.attributes)\n \"\n data-cy=\"feature-type-content\"\n >\n <div\n class=\"py-1 px-2 text-sm font-bold text-left border-t break-all\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n [ngClass]=\"col.class || ''\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"column-label\"\n >\n {{ 'feature.catalog.attribute.' + col.key | translate }}\n </div>\n <ng-container *ngIf=\"expanel && !expanel.collapsed\">\n <ng-container *ngFor=\"let row of featureType.attributes\">\n <div\n class=\"bg-white text-sm font-normal text-left border-t\"\n [class.border-l]=\"i > 0\"\n [class.border-gray-300]=\"i > 0\"\n *ngFor=\"\n let col of getColumnsDefinition(featureType.attributes);\n trackBy: trackByColumn;\n let i = index\n \"\n data-test=\"cell-content\"\n >\n <ng-container\n *ngIf=\"col.key === 'values'; then tplValues; else defaultTpl\"\n ></ng-container>\n\n <ng-template #defaultTpl>\n <gn-ui-truncated-text\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n [text]=\"row[col.key]\"\n ></gn-ui-truncated-text>\n </ng-template>\n\n <ng-template #tplValues>\n <gn-ui-cell-popin\n #popinRef\n [scrollContainer]=\"scrollContainer\"\n [cdkScrollContainer]=\"scrollable\"\n *ngIf=\"row.values?.length > 0\"\n >\n <div cellContent data-cy=\"values-cell-popin-trigger\">\n <gn-ui-button\n type=\"light\"\n extraClass=\"bg-transparent border-none\"\n (buttonClick)=\"popinRef.openOverlay()\"\n >\n <ng-icon name=\"iconoirList\" size=\"24\"></ng-icon>\n </gn-ui-button>\n </div>\n <div\n popinContent\n class=\"max-h-60 overflow-y-auto min-w-64 py-4 px-6\"\n style=\"scrollbar-width: thin\"\n >\n <ul class=\"list-disc list-inside mr-4\">\n <li *ngFor=\"let v of row.values\">\n {{ v.label || v.code }}\n </li>\n </ul>\n </div>\n </gn-ui-cell-popin>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </gn-ui-expandable-panel>\n </div>\n </div>\n</div>\n" }]
58
+ }], propDecorators: { filteredFeatureCatalog: [{
59
+ type: Input
60
+ }], scrollContainer: [{
61
+ type: ViewChild,
62
+ args: ['scrollContainer']
63
+ }], scrollable: [{
64
+ type: ViewChild,
65
+ args: [CdkScrollable, { static: true }]
66
+ }], panelComponent: [{
67
+ type: ViewChild,
68
+ args: ['expanel', { read: ExpandablePanelComponent, static: true }]
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3JlY29yZC1mZWF0dXJlLWNhdGFsb2cvZmVhdHVyZS1jYXRhbG9nLWxpc3QvZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3JlY29yZC1mZWF0dXJlLWNhdGFsb2cvZmVhdHVyZS1jYXRhbG9nLWxpc3QvZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBS25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDekUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQUUvQyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUN4QyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUN4QyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUN4QyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtBQUM5QyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtBQXlCMUMsTUFBTSxPQUFPLDJCQUEyQjtJQWpCeEM7UUF5Qlcsb0JBQWUsR0FBdUI7WUFDN0MsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDN0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDN0IsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtTQUNqRCxDQUFBO1FBRVEsa0JBQWEsR0FBcUI7WUFDekMsR0FBRyxFQUFFLFFBQVE7WUFDYixLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxhQUFhO1NBQ3JCLENBQUE7S0FnQkY7SUFkQyxvQkFBb0IsQ0FBQyxLQUFnQztRQUNuRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN6RCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxVQUFxQztRQUMxRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUM7YUFDekMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNkLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVSxFQUFFLEdBQW9CO1FBQzVDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQTtJQUNoQixDQUFDOytHQWpDVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix1SUFGM0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLDJLQU0vQixhQUFhLHFJQUNNLHdCQUF3QiwyQ0NwRHhELCtqSUEyR0EsNENEdkVJLGVBQWUsK0hBQ2Ysa0JBQWtCLDRJQUNsQixZQUFZLHlWQUNaLGFBQWEsa0RBQ2Isd0JBQXdCLGdIQUN4QixzQkFBc0IsMElBQ3RCLGVBQWUsNEdBQ2YsZUFBZTs7NEZBSU4sMkJBQTJCO2tCQWpCdkMsU0FBUzsrQkFDRSw0QkFBNEIsY0FHMUIsSUFBSSxXQUNQO3dCQUNQLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIsYUFDVSxDQUFDLFlBQVksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7OEJBR2pDLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFd0IsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ2dCLFVBQVU7c0JBQXJELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFMUMsY0FBYztzQkFEYixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHtcbiAgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGUsXG4gIERhdGFzZXRGZWF0dXJlQ2F0YWxvZyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHtcbiAgQ2VsbFBvcGluQ29tcG9uZW50LFxuICBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQsXG4gIFRydW5jYXRlZFRleHRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IENka1Njcm9sbGFibGUsIFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQsIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgaWNvbm9pckxpc3QgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcblxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLnR5cGUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLm5hbWUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLmNvZGUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLmRlZmluaXRpb24nKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLnZhbHVlcycpXG5cbmludGVyZmFjZSBDb2x1bW5EZWZpbml0aW9uIHtcbiAga2V5OiBzdHJpbmdcbiAgd2lkdGg6IHN0cmluZ1xuICBjbGFzcz86IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mZWF0dXJlLWNhdGFsb2ctbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWNhdGFsb2ctbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2VsbFBvcGluQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIEV4cGFuZGFibGVQYW5lbENvbXBvbmVudCxcbiAgICBUcnVuY2F0ZWRUZXh0Q29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBTY3JvbGxpbmdNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVJY29ucyh7IGljb25vaXJMaXN0IH0pXSxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUNhdGFsb2dMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZyE6IERhdGFzZXRGZWF0dXJlQ2F0YWxvZ1xuXG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbENvbnRhaW5lcicpIHNjcm9sbENvbnRhaW5lciE6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZChDZGtTY3JvbGxhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSBzY3JvbGxhYmxlITogQ2RrU2Nyb2xsYWJsZVxuICBAVmlld0NoaWxkKCdleHBhbmVsJywgeyByZWFkOiBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQsIHN0YXRpYzogdHJ1ZSB9KVxuICBwYW5lbENvbXBvbmVudDogRXhwYW5kYWJsZVBhbmVsQ29tcG9uZW50XG5cbiAgcmVhZG9ubHkgQ09MVU1OU19ERUZBVUxUOiBDb2x1bW5EZWZpbml0aW9uW10gPSBbXG4gICAgeyBrZXk6ICd0eXBlJywgd2lkdGg6ICcyNSUnIH0sXG4gICAgeyBrZXk6ICduYW1lJywgd2lkdGg6ICc0MCUnIH0sXG4gICAgeyBrZXk6ICdkZWZpbml0aW9uJywgd2lkdGg6ICdtaW5tYXgoMHB4LCAxZnIpJyB9LFxuICBdXG5cbiAgcmVhZG9ubHkgQ09MVU1OX1ZBTFVFUzogQ29sdW1uRGVmaW5pdGlvbiA9IHtcbiAgICBrZXk6ICd2YWx1ZXMnLFxuICAgIHdpZHRoOiAnNzNweCcsXG4gICAgY2xhc3M6ICd0ZXh0LWNlbnRlcicsXG4gIH1cblxuICBnZXRDb2x1bW5zRGVmaW5pdGlvbihhdHRyczogRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGVbXSk6IENvbHVtbkRlZmluaXRpb25bXSB7XG4gICAgY29uc3QgaGFzVmFsdWVzID0gYXR0cnMuc29tZSgoYSkgPT4gYS52YWx1ZXM/Lmxlbmd0aCA+IDApXG4gICAgcmV0dXJuIFsuLi50aGlzLkNPTFVNTlNfREVGQVVMVCwgLi4uKGhhc1ZhbHVlcyA/IFt0aGlzLkNPTFVNTl9WQUxVRVNdIDogW10pXVxuICB9XG5cbiAgZ2V0R3JpZFRlbXBsYXRlQ29sdW1ucyhhdHRyaWJ1dGVzOiBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVtdKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uc0RlZmluaXRpb24oYXR0cmlidXRlcylcbiAgICAgIC5tYXAoKGNvbCkgPT4gY29sLndpZHRoKVxuICAgICAgLmpvaW4oJyAnKVxuICB9XG5cbiAgdHJhY2tCeUNvbHVtbihfaTogbnVtYmVyLCBjb2w6IHsga2V5OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiBjb2wua2V5XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2RrU2Nyb2xsYWJsZVxuICBjbGFzcz1cImgtWzU2MnB4XSByZWxhdGl2ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3ctaGlkZGVuXCJcbiAgZGF0YS1jeT1cImZlYXQtY2F0YWxvZy1zY3JvbGxhYmxlXCJcbj5cbiAgPGRpdiAjc2Nyb2xsQ29udGFpbmVyIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiBweS01IHB4LTVcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgZmVhdHVyZVR5cGUgb2YgZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzXCJcbiAgICAgIGNsYXNzPVwicm91bmRlZCBzaGFkb3cgYmctd2hpdGVcIlxuICAgID5cbiAgICAgIDxnbi11aS1leHBhbmRhYmxlLXBhbmVsXG4gICAgICAgICNleHBhbmVsXG4gICAgICAgIFtjb2xsYXBzZWRdPVwiZmlsdGVyZWRGZWF0dXJlQ2F0YWxvZz8uZmVhdHVyZVR5cGVzPy5sZW5ndGggIT09IDFcIlxuICAgICAgICBpY29uQ29sb3I9XCJibGFja1wiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGl0bGVUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1ib2xkXCI+e3sgZmVhdHVyZVR5cGUubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc21cIiAqbmdJZj1cImZlYXR1cmVUeXBlLmRlZmluaXRpb25cIj5cbiAgICAgICAgICAgICAge3sgZmVhdHVyZVR5cGUuZGVmaW5pdGlvbiB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cImV4cGFuZWwgJiYgIWV4cGFuZWwuY29sbGFwc2VkXCJcbiAgICAgICAgICBjbGFzcz1cImdyaWQgZ2FwLTBcIlxuICAgICAgICAgIFtzdHlsZS5ncmlkLXRlbXBsYXRlLWNvbHVtbnNdPVwiXG4gICAgICAgICAgICBnZXRHcmlkVGVtcGxhdGVDb2x1bW5zKGZlYXR1cmVUeXBlLmF0dHJpYnV0ZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBkYXRhLWN5PVwiZmVhdHVyZS10eXBlLWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJweS0xIHB4LTIgdGV4dC1zbSBmb250LWJvbGQgdGV4dC1sZWZ0IGJvcmRlci10IGJyZWFrLWFsbFwiXG4gICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWxdPVwiaSA+IDBcIlxuICAgICAgICAgICAgW2NsYXNzLmJvcmRlci1ncmF5LTMwMF09XCJpID4gMFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjb2wuY2xhc3MgfHwgJydcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBjb2wgb2YgZ2V0Q29sdW1uc0RlZmluaXRpb24oZmVhdHVyZVR5cGUuYXR0cmlidXRlcyk7XG4gICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlDb2x1bW47XG4gICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBkYXRhLXRlc3Q9XCJjb2x1bW4tbGFiZWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLicgKyBjb2wua2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZWwgJiYgIWV4cGFuZWwuY29sbGFwc2VkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgZmVhdHVyZVR5cGUuYXR0cmlidXRlc1wiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiZy13aGl0ZSB0ZXh0LXNtIGZvbnQtbm9ybWFsIHRleHQtbGVmdCBib3JkZXItdFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmJvcmRlci1sXT1cImkgPiAwXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWdyYXktMzAwXT1cImkgPiAwXCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgIGxldCBjb2wgb2YgZ2V0Q29sdW1uc0RlZmluaXRpb24oZmVhdHVyZVR5cGUuYXR0cmlidXRlcyk7XG4gICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Q29sdW1uO1xuICAgICAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0PVwiY2VsbC1jb250ZW50XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sLmtleSA9PT0gJ3ZhbHVlcyc7IHRoZW4gdHBsVmFsdWVzOyBlbHNlIGRlZmF1bHRUcGxcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRwbD5cbiAgICAgICAgICAgICAgICAgIDxnbi11aS10cnVuY2F0ZWQtdGV4dFxuICAgICAgICAgICAgICAgICAgICBbc2Nyb2xsQ29udGFpbmVyXT1cInNjcm9sbENvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgIFtjZGtTY3JvbGxDb250YWluZXJdPVwic2Nyb2xsYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cInJvd1tjb2wua2V5XVwiXG4gICAgICAgICAgICAgICAgICA+PC9nbi11aS10cnVuY2F0ZWQtdGV4dD5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0cGxWYWx1ZXM+XG4gICAgICAgICAgICAgICAgICA8Z24tdWktY2VsbC1wb3BpblxuICAgICAgICAgICAgICAgICAgICAjcG9waW5SZWZcbiAgICAgICAgICAgICAgICAgICAgW3Njcm9sbENvbnRhaW5lcl09XCJzY3JvbGxDb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2RrU2Nyb2xsQ29udGFpbmVyXT1cInNjcm9sbGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJvdy52YWx1ZXM/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNlbGxDb250ZW50IGRhdGEtY3k9XCJ2YWx1ZXMtY2VsbC1wb3Bpbi10cmlnZ2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3M9XCJiZy10cmFuc3BhcmVudCBib3JkZXItbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwicG9waW5SZWYub3Blbk92ZXJsYXkoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJMaXN0XCIgc2l6ZT1cIjI0XCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIHBvcGluQ29udGVudFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF4LWgtNjAgb3ZlcmZsb3cteS1hdXRvIG1pbi13LTY0IHB5LTQgcHgtNlwiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJzY3JvbGxiYXItd2lkdGg6IHRoaW5cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC1kaXNjIGxpc3QtaW5zaWRlIG1yLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdiBvZiByb3cudmFsdWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHYubGFiZWwgfHwgdi5jb2RlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9nbi11aS1jZWxsLXBvcGluPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9nbi11aS1leHBhbmRhYmxlLXBhbmVsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19