geonetwork-ui 2.6.0-dev.7be6567ef → 2.6.0-dev.86c0fa7b5

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 (521) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +1 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/common/resource-types.mjs +17 -15
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +47 -6
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +8 -4
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +5 -2
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +6 -6
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
  11. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +5 -2
  12. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +5 -13
  13. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +79 -16
  14. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -1
  15. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +7 -1
  16. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +2 -1
  17. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  18. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  19. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +49 -9
  20. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +2 -2
  21. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +35 -3
  22. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +29 -6
  23. package/esm2022/libs/feature/editor/src/index.mjs +2 -1
  24. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +273 -0
  25. package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +2 -3
  26. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +1 -1
  27. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -5
  28. package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-from-catalog.component.mjs +1 -1
  29. package/esm2022/libs/feature/record/src/index.mjs +2 -4
  30. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +17 -16
  31. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +5 -9
  32. package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
  33. package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +7 -11
  34. package/esm2022/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.mjs +6 -3
  35. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +98 -19
  36. package/esm2022/libs/feature/record/src/lib/record-meta/record-meta.component.mjs +1 -1
  37. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +3 -1
  38. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +14 -5
  39. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +13 -15
  40. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +7 -1
  41. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +3 -1
  42. package/esm2022/libs/feature/router/src/lib/default/constants.mjs +3 -1
  43. package/esm2022/libs/feature/router/src/lib/default/router.config.mjs +1 -1
  44. package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +10 -2
  45. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +9 -3
  46. package/esm2022/libs/feature/search/src/index.mjs +2 -2
  47. package/esm2022/libs/feature/search/src/lib/constants.mjs +4 -2
  48. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +8 -7
  49. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +13 -19
  50. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +5 -3
  51. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -2
  52. package/esm2022/libs/feature/search/src/lib/results-hits/results-hits.container.component.mjs +41 -0
  53. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +30 -10
  54. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +13 -10
  55. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +70 -1
  56. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +4 -3
  57. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  58. package/esm2022/libs/ui/dataviz/src/lib/chart/chart.component.mjs +5 -3
  59. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +11 -6
  60. package/esm2022/libs/ui/elements/src/index.mjs +6 -2
  61. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  62. package/esm2022/libs/ui/elements/src/lib/download-item/download-item.component.mjs +3 -3
  63. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +18 -7
  64. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +55 -0
  65. package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +3 -3
  66. package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +122 -0
  67. package/esm2022/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.mjs +59 -0
  68. package/esm2022/libs/ui/elements/src/lib/kind-badge/kind-badge.component.mjs +68 -0
  69. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +3 -3
  70. package/esm2022/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.mjs +3 -3
  71. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  72. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +8 -5
  73. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +37 -12
  74. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +5 -1
  75. package/esm2022/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.mjs +72 -0
  76. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +169 -0
  77. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +32 -4
  78. package/esm2022/libs/ui/inputs/src/index.mjs +3 -2
  79. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  80. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
  81. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  82. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  83. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.mjs +42 -0
  84. package/esm2022/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.mjs +2 -0
  85. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +68 -0
  86. package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +4 -3
  87. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -9
  88. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  89. package/esm2022/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.mjs +43 -3
  90. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +48 -11
  91. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  92. package/esm2022/libs/ui/layout/src/lib/cell-popin/cell-popin.component.mjs +110 -0
  93. package/esm2022/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.mjs +34 -13
  94. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +25 -3
  95. package/esm2022/libs/ui/layout/src/lib/max-lines/max-lines.component.mjs +3 -3
  96. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +6 -6
  97. package/esm2022/libs/ui/layout/src/lib/truncated-text/truncated-text.component.mjs +73 -0
  98. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +4 -12
  99. package/esm2022/libs/ui/map/src/index.mjs +2 -1
  100. package/esm2022/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.mjs +29 -4
  101. package/esm2022/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.mjs +80 -0
  102. package/esm2022/libs/ui/search/src/index.mjs +3 -1
  103. package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +4 -8
  104. package/esm2022/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.mjs +3 -3
  105. package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +53 -0
  106. package/esm2022/libs/ui/search/src/lib/results-list/results-layout.config.mjs +2 -2
  107. package/esm2022/libs/ui/search/src/lib/results-list/results-list.component.mjs +3 -3
  108. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +21 -12
  109. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +39 -17
  110. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +19 -5
  111. package/esm2022/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.mjs +3 -3
  112. package/esm2022/libs/util/app-config/src/lib/app-config.mjs +2 -1
  113. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -1
  114. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +42 -1
  115. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +24 -2
  116. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  117. package/esm2022/libs/util/shared/src/lib/gn-ui-version.mjs +6 -0
  118. package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
  119. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +16 -6
  120. package/esm2022/translations/de.json +84 -9
  121. package/esm2022/translations/en.json +84 -9
  122. package/esm2022/translations/es.json +83 -8
  123. package/esm2022/translations/fr.json +85 -10
  124. package/esm2022/translations/it.json +83 -8
  125. package/esm2022/translations/nl.json +83 -8
  126. package/esm2022/translations/pt.json +83 -8
  127. package/fesm2022/geonetwork-ui.mjs +3788 -1429
  128. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  129. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  130. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  131. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -1
  132. package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
  133. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts +21 -0
  134. package/libs/api/metadata-converter/src/lib/common/resource-types.d.ts.map +1 -1
  135. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  136. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +0 -1
  137. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  138. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +1 -0
  139. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -1
  140. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -1
  141. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  142. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  143. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  144. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
  145. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  146. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +13 -2
  147. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  148. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  149. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
  150. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  151. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +1 -0
  152. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  153. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +26 -17
  154. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  155. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +6 -0
  156. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  157. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +12 -8
  158. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  159. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +1 -0
  160. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  161. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +6 -3
  162. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  163. package/libs/feature/editor/src/index.d.ts +1 -0
  164. package/libs/feature/editor/src/index.d.ts.map +1 -1
  165. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts +52 -0
  166. package/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.d.ts.map +1 -0
  167. package/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.d.ts.map +1 -1
  168. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +6 -6
  169. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  170. 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
  171. package/libs/feature/record/src/index.d.ts +1 -3
  172. package/libs/feature/record/src/index.d.ts.map +1 -1
  173. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +15 -4
  174. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  175. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +2 -3
  176. package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
  177. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +1 -2
  178. package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
  179. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts +2 -1
  180. package/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.d.ts.map +1 -1
  181. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +13 -6
  182. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  183. package/libs/feature/record/src/lib/record-meta/record-meta.component.d.ts +2 -2
  184. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +10 -0
  185. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  186. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +9 -1
  187. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  188. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -21
  189. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  190. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +2 -0
  191. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  192. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  193. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  194. package/libs/feature/router/src/lib/default/constants.d.ts +2 -0
  195. package/libs/feature/router/src/lib/default/constants.d.ts.map +1 -1
  196. package/libs/feature/router/src/lib/default/router.config.d.ts +2 -0
  197. package/libs/feature/router/src/lib/default/router.config.d.ts.map +1 -1
  198. package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
  199. package/libs/feature/router/src/lib/default/state/router.facade.d.ts +5 -0
  200. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  201. package/libs/feature/search/src/index.d.ts +1 -1
  202. package/libs/feature/search/src/index.d.ts.map +1 -1
  203. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  204. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  205. package/libs/feature/search/src/lib/feature-search.module.d.ts +4 -2
  206. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  207. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +2 -1
  208. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  209. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -1
  210. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -1
  211. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts +21 -0
  212. package/libs/feature/search/src/lib/results-hits/results-hits.container.component.d.ts.map +1 -0
  213. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts +5 -3
  214. package/libs/feature/search/src/lib/results-list/results-list.container.component.d.ts.map +1 -1
  215. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +6 -5
  216. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  217. package/libs/feature/search/src/lib/utils/service/fields.d.ts +21 -0
  218. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  219. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  220. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +2 -1
  221. package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts.map +1 -1
  222. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +6 -1
  223. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
  224. package/libs/ui/elements/src/index.d.ts +5 -1
  225. package/libs/ui/elements/src/index.d.ts.map +1 -1
  226. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts +1 -1
  227. package/libs/ui/elements/src/lib/download-item/download-item.component.d.ts.map +1 -1
  228. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +7 -1
  229. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  230. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +15 -0
  231. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -0
  232. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts +36 -0
  233. package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -0
  234. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts +14 -0
  235. package/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.d.ts.map +1 -0
  236. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts +13 -0
  237. package/libs/ui/elements/src/lib/kind-badge/kind-badge.component.d.ts.map +1 -0
  238. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +1 -1
  239. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  240. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -2
  241. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  242. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +3 -0
  243. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  244. package/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.d.ts.map +1 -1
  245. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts +27 -0
  246. package/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.d.ts.map +1 -0
  247. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts +31 -0
  248. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -0
  249. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +6 -1
  250. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  251. package/libs/ui/inputs/src/index.d.ts +2 -1
  252. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  253. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  254. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  255. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts +14 -0
  256. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.d.ts.map +1 -0
  257. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts +6 -0
  258. package/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.d.ts.map +1 -0
  259. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +17 -0
  260. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -0
  261. package/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.d.ts.map +1 -1
  262. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +25 -24
  263. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  264. package/libs/ui/layout/src/index.d.ts +2 -0
  265. package/libs/ui/layout/src/index.d.ts.map +1 -1
  266. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts +10 -3
  267. package/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.d.ts.map +1 -1
  268. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +9 -2
  269. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -1
  270. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts +28 -0
  271. package/libs/ui/layout/src/lib/cell-popin/cell-popin.component.d.ts.map +1 -0
  272. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts +15 -8
  273. package/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.d.ts.map +1 -1
  274. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +5 -1
  275. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -1
  276. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts +22 -0
  277. package/libs/ui/layout/src/lib/truncated-text/truncated-text.component.d.ts.map +1 -0
  278. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  279. package/libs/ui/map/src/index.d.ts +1 -0
  280. package/libs/ui/map/src/index.d.ts.map +1 -1
  281. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts +6 -2
  282. package/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.d.ts.map +1 -1
  283. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts +15 -0
  284. package/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.d.ts.map +1 -0
  285. package/libs/ui/search/src/index.d.ts +2 -0
  286. package/libs/ui/search/src/index.d.ts.map +1 -1
  287. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts +17 -0
  288. package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -0
  289. package/libs/ui/search/src/lib/results-list/results-list.component.d.ts.map +1 -1
  290. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +4 -3
  291. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -1
  292. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +10 -4
  293. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  294. package/libs/ui/search/src/lib/ui-search.module.d.ts +22 -19
  295. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  296. package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
  297. package/libs/util/app-config/src/lib/fixtures.d.ts.map +1 -1
  298. package/libs/util/i18n/src/lib/i18n.constants.d.ts +1 -0
  299. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  300. package/libs/util/i18n/src/lib/language-codes.d.ts +23 -1
  301. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  302. package/libs/util/shared/src/index.d.ts +1 -0
  303. package/libs/util/shared/src/index.d.ts.map +1 -1
  304. package/libs/util/shared/src/lib/gn-ui-version.d.ts +3 -0
  305. package/libs/util/shared/src/lib/gn-ui-version.d.ts.map +1 -0
  306. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts +3 -3
  307. package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
  308. package/libs/util/shared/src/lib/links/link-utils.d.ts +14 -7
  309. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  310. package/package.json +2 -2
  311. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  312. package/src/libs/api/metadata-converter/src/lib/base.converter.ts +1 -4
  313. package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
  314. package/src/libs/api/metadata-converter/src/lib/common/resource-types.ts +29 -15
  315. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +2 -2
  316. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +3 -3
  317. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
  318. package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +2 -2
  319. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +70 -6
  320. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +0 -1
  321. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -3
  322. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +5 -1
  323. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +10 -6
  324. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +7 -4
  325. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +4 -1
  326. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +4 -12
  327. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +118 -16
  328. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +6 -0
  329. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +11 -0
  330. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -0
  331. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +27 -11
  332. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +6 -0
  333. package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +36 -26
  334. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +16 -2
  335. package/src/libs/common/fixtures/src/lib/record-link.fixtures.ts +5 -5
  336. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +62 -1
  337. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +12 -9
  338. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +58 -10
  339. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +40 -1
  340. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +1 -0
  341. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +31 -1
  342. package/src/libs/feature/editor/src/index.ts +1 -0
  343. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +120 -0
  344. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.ts +325 -0
  345. package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +1 -2
  346. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +2 -2
  347. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +2 -2
  348. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -2
  349. package/src/libs/feature/record/src/index.ts +1 -3
  350. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +17 -11
  351. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +17 -15
  352. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +2 -3
  353. package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
  354. package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +4 -5
  355. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.html +2 -2
  356. package/src/libs/feature/record/src/lib/external-viewer-button/external-viewer-button.component.ts +1 -0
  357. package/src/libs/feature/record/src/lib/map-view/map-view.component.html +38 -11
  358. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +133 -19
  359. package/src/libs/feature/record/src/lib/record-meta/record-meta.component.ts +2 -2
  360. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +10 -0
  361. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +27 -3
  362. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +21 -17
  363. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +12 -0
  364. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +9 -0
  365. package/src/libs/feature/router/src/lib/default/constants.ts +2 -0
  366. package/src/libs/feature/router/src/lib/default/router.config.ts +2 -0
  367. package/src/libs/feature/router/src/lib/default/router.service.ts +10 -0
  368. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +10 -1
  369. package/src/libs/feature/search/src/index.ts +1 -1
  370. package/src/libs/feature/search/src/lib/constants.ts +3 -1
  371. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +1 -7
  372. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +16 -8
  373. package/src/libs/feature/search/src/lib/feature-search.module.ts +9 -10
  374. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
  375. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +1 -0
  376. package/src/libs/feature/search/src/lib/record-url.token.ts +10 -1
  377. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.html +16 -0
  378. package/src/libs/feature/search/src/lib/results-hits/results-hits.container.component.ts +59 -0
  379. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.css +6 -0
  380. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.html +1 -0
  381. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +26 -5
  382. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  383. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +13 -3
  384. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +4 -5
  385. package/src/libs/feature/search/src/lib/utils/service/fields.ts +99 -0
  386. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  387. package/src/libs/ui/dataviz/src/lib/chart/chart.component.ts +2 -1
  388. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +6 -3
  389. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +5 -4
  390. package/src/libs/ui/elements/src/index.ts +5 -1
  391. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -4
  392. package/src/libs/ui/elements/src/lib/download-item/download-item.component.html +8 -5
  393. package/src/libs/ui/elements/src/lib/download-item/download-item.component.ts +2 -2
  394. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +38 -7
  395. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +29 -2
  396. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.css +4 -0
  397. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +13 -0
  398. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +54 -0
  399. package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +1 -1
  400. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.css +0 -0
  401. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +83 -0
  402. package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +131 -0
  403. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.html +69 -0
  404. package/src/libs/ui/elements/src/lib/internal-link-card-contact/internal-link-card-contact.component.ts +61 -0
  405. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.css +6 -0
  406. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.html +11 -0
  407. package/src/libs/ui/elements/src/lib/kind-badge/kind-badge.component.ts +70 -0
  408. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +5 -2
  409. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +3 -7
  410. package/src/libs/ui/elements/src/lib/metadata-catalog/metadata-catalog.component.html +3 -5
  411. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +12 -9
  412. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +9 -0
  413. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +24 -7
  414. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -4
  415. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +3 -2
  416. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +48 -9
  417. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +4 -0
  418. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.html +107 -0
  419. package/src/libs/ui/elements/src/lib/record-feature-catalog/feature-catalog-list/feature-catalog-list.component.ts +83 -0
  420. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.css +0 -0
  421. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +110 -0
  422. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +191 -0
  423. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +14 -1
  424. package/src/libs/ui/inputs/src/index.ts +2 -1
  425. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  426. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -2
  427. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  428. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -1
  429. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.html +23 -0
  430. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.component.ts +44 -0
  431. package/src/libs/ui/inputs/src/lib/inline-filter/inline-filter.model.ts +5 -0
  432. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.css +0 -0
  433. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +43 -0
  434. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +77 -0
  435. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +7 -8
  436. package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -1
  437. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -3
  438. package/src/libs/ui/layout/src/index.ts +2 -0
  439. package/src/libs/ui/layout/src/lib/anchor-link/anchor-link.directive.ts +46 -2
  440. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +22 -0
  441. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +2 -2
  442. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +43 -5
  443. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +0 -1
  444. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -1
  445. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.html +40 -0
  446. package/src/libs/ui/layout/src/lib/cell-popin/cell-popin.component.ts +141 -0
  447. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.html +24 -8
  448. package/src/libs/ui/layout/src/lib/expandable-panel/expandable-panel.component.ts +36 -10
  449. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +4 -7
  450. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +20 -0
  451. package/src/libs/ui/layout/src/lib/max-lines/max-lines.component.html +1 -1
  452. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +17 -5
  453. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +3 -3
  454. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.html +27 -0
  455. package/src/libs/ui/layout/src/lib/truncated-text/truncated-text.component.ts +91 -0
  456. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +2 -6
  457. package/src/libs/ui/map/src/index.ts +1 -0
  458. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.html +3 -3
  459. package/src/libs/ui/map/src/lib/components/feature-detail/feature-detail.component.ts +27 -3
  460. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.css +0 -0
  461. package/src/libs/ui/map/src/lib/components/spatial-extent/spatial-extent.component.html +4 -0
  462. 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
  463. package/src/libs/ui/search/src/index.ts +2 -0
  464. package/src/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.html +9 -81
  465. package/src/libs/ui/search/src/lib/results-hits-number/results-hits-number.component.html +1 -1
  466. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +25 -0
  467. package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +53 -0
  468. package/src/libs/ui/search/src/lib/results-list/results-layout.config.ts +2 -2
  469. package/src/libs/ui/search/src/lib/results-list/results-list.component.html +1 -0
  470. package/src/libs/ui/search/src/lib/results-list/results-list.component.ts +0 -1
  471. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +16 -6
  472. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +15 -11
  473. package/src/libs/ui/search/src/lib/results-table/results-table.component.css +4 -0
  474. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +31 -24
  475. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +33 -14
  476. package/src/libs/ui/search/src/lib/ui-search.module.ts +8 -0
  477. package/src/libs/ui/widgets/src/lib/progress-bar/progress-bar.component.html +4 -3
  478. package/src/libs/util/app-config/src/lib/app-config.ts +1 -0
  479. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
  480. package/src/libs/util/i18n/src/lib/i18n.constants.ts +42 -0
  481. package/src/libs/util/i18n/src/lib/language-codes.ts +23 -1
  482. package/src/libs/util/shared/src/index.ts +1 -0
  483. package/src/libs/util/shared/src/lib/gn-ui-version.ts +8 -0
  484. package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +15 -3
  485. package/src/libs/util/shared/src/lib/links/link-utils.ts +33 -12
  486. package/tailwind.base.config.js +3 -0
  487. package/tailwind.base.css +19 -26
  488. package/translations/de.json +84 -9
  489. package/translations/en.json +84 -9
  490. package/translations/es.json +83 -8
  491. package/translations/fr.json +85 -10
  492. package/translations/it.json +83 -8
  493. package/translations/nl.json +83 -8
  494. package/translations/pt.json +83 -8
  495. package/translations/sk.json +83 -8
  496. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.mjs +0 -79
  497. package/esm2022/libs/feature/record/src/lib/gn-ui-version.token.mjs +0 -3
  498. package/esm2022/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.mjs +0 -18
  499. package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +0 -46
  500. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +0 -16
  501. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.d.ts +0 -15
  502. 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
  503. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts +0 -3
  504. package/libs/feature/record/src/lib/gn-ui-version.token.d.ts.map +0 -1
  505. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts +0 -9
  506. package/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.d.ts.map +0 -1
  507. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts +0 -12
  508. package/libs/ui/elements/src/lib/related-record-card/related-record-card.component.d.ts.map +0 -1
  509. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts +0 -8
  510. package/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.d.ts.map +0 -1
  511. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-map-container/form-field-map-container.component.html +0 -1
  512. package/src/libs/feature/record/src/lib/gn-ui-version.token.ts +0 -3
  513. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.html +0 -4
  514. package/src/libs/feature/search/src/lib/results-hits-number/results-hits.container.component.ts +0 -10
  515. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +0 -30
  516. package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.ts +0 -48
  517. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +0 -3
  518. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +0 -9
  519. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.ts +0 -15
  520. /package/src/libs/feature/editor/src/lib/components/{record-form/form-field/form-field-map-container/form-field-map-container.component.css → multilingual-panel/multilingual-panel.component.css} +0 -0
  521. /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
@@ -0,0 +1,72 @@
1
+ import { Component, ElementRef, Input, ViewChild } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TranslateModule } 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 { provideIcons, NgIconComponent } 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 "@ngx-translate/core";
13
+ import * as i3 from "@angular/cdk/scrolling";
14
+ marker('feature.catalog.attribute.type');
15
+ marker('feature.catalog.attribute.name');
16
+ marker('feature.catalog.attribute.code');
17
+ marker('feature.catalog.attribute.definition');
18
+ marker('feature.catalog.attribute.values');
19
+ export class FeatureCatalogListComponent {
20
+ constructor() {
21
+ this.COLUMNS_DEFAULT = [
22
+ { key: 'type', width: '17%' },
23
+ { key: 'name', width: '32%' },
24
+ { key: 'code', width: '17%' },
25
+ { key: 'definition', width: 'minmax(0px, 1fr)' },
26
+ ];
27
+ this.COLUMN_VALUES = {
28
+ key: 'values',
29
+ width: '73px',
30
+ class: 'text-center',
31
+ };
32
+ }
33
+ getColumnsDefinition(attrs) {
34
+ const hasValues = attrs.some((a) => a.values?.length > 0);
35
+ return [...this.COLUMNS_DEFAULT, ...(hasValues ? [this.COLUMN_VALUES] : [])];
36
+ }
37
+ getGridTemplateColumns(attributes) {
38
+ return this.getColumnsDefinition(attributes)
39
+ .map((col) => col.width)
40
+ .join(' ');
41
+ }
42
+ trackByColumn(_i, col) {
43
+ return col.key;
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureCatalogListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ 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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.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: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }] }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureCatalogListComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'gn-ui-feature-catalog-list', standalone: true, imports: [
51
+ ButtonComponent,
52
+ CellPopinComponent,
53
+ CommonModule,
54
+ TranslateModule,
55
+ ExpandablePanelComponent,
56
+ TruncatedTextComponent,
57
+ NgIconComponent,
58
+ ScrollingModule,
59
+ ], 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" }]
60
+ }], propDecorators: { filteredFeatureCatalog: [{
61
+ type: Input
62
+ }], scrollContainer: [{
63
+ type: ViewChild,
64
+ args: ['scrollContainer']
65
+ }], scrollable: [{
66
+ type: ViewChild,
67
+ args: [CdkScrollable, { static: true }]
68
+ }], panelComponent: [{
69
+ type: ViewChild,
70
+ args: ['expanel', { read: ExpandablePanelComponent, static: true }]
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3JlY29yZC1mZWF0dXJlLWNhdGFsb2cvZmVhdHVyZS1jYXRhbG9nLWxpc3QvZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3JlY29yZC1mZWF0dXJlLWNhdGFsb2cvZmVhdHVyZS1jYXRhbG9nLWxpc3QvZmVhdHVyZS1jYXRhbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUtoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDekUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLE1BQU0seUNBQXlDLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7Ozs7QUFFL0MsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUE7QUF5QjFDLE1BQU0sT0FBTywyQkFBMkI7SUFqQnhDO1FBeUJXLG9CQUFlLEdBQXVCO1lBQzdDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzdCLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7U0FDakQsQ0FBQTtRQUVRLGtCQUFhLEdBQXFCO1lBQ3pDLEdBQUcsRUFBRSxRQUFRO1lBQ2IsS0FBSyxFQUFFLE1BQU07WUFDYixLQUFLLEVBQUUsYUFBYTtTQUNyQixDQUFBO0tBZ0JGO0lBZEMsb0JBQW9CLENBQUMsS0FBZ0M7UUFDbkQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDekQsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBRUQsc0JBQXNCLENBQUMsVUFBcUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVUsRUFBRSxHQUFvQjtRQUM1QyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUE7SUFDaEIsQ0FBQzsrR0FsQ1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsdUlBRjNCLENBQUMsWUFBWSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQywyS0FNL0IsYUFBYSxxSUFDTSx3QkFBd0IsMkNDcER4RCwraklBMkdBLDRDRHZFSSxlQUFlLCtIQUNmLGtCQUFrQiw0SUFDbEIsWUFBWSw2VkFDWixlQUFlLDRGQUNmLHdCQUF3QixnSEFDeEIsc0JBQXNCLDBJQUN0QixlQUFlLDRHQUNmLGVBQWU7OzRGQUlOLDJCQUEyQjtrQkFqQnZDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBRzFCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCLGFBQ1UsQ0FBQyxZQUFZLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDOzhCQUdqQyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRXdCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNnQixVQUFVO3NCQUFyRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRTFDLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGUsXG4gIERhdGFzZXRGZWF0dXJlQ2F0YWxvZyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHtcbiAgQ2VsbFBvcGluQ29tcG9uZW50LFxuICBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnQsXG4gIFRydW5jYXRlZFRleHRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IENka1Njcm9sbGFibGUsIFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnXG5pbXBvcnQgeyBwcm92aWRlSWNvbnMsIE5nSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgaWNvbm9pckxpc3QgfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcblxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLnR5cGUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLm5hbWUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLmNvZGUnKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLmRlZmluaXRpb24nKVxubWFya2VyKCdmZWF0dXJlLmNhdGFsb2cuYXR0cmlidXRlLnZhbHVlcycpXG5cbmludGVyZmFjZSBDb2x1bW5EZWZpbml0aW9uIHtcbiAga2V5OiBzdHJpbmdcbiAgd2lkdGg6IHN0cmluZ1xuICBjbGFzcz86IHN0cmluZ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1mZWF0dXJlLWNhdGFsb2ctbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWNhdGFsb2ctbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2VsbFBvcGluQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRXhwYW5kYWJsZVBhbmVsQ29tcG9uZW50LFxuICAgIFRydW5jYXRlZFRleHRDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgaWNvbm9pckxpc3QgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlQ2F0YWxvZ0xpc3RDb21wb25lbnQge1xuICBASW5wdXQoKSBmaWx0ZXJlZEZlYXR1cmVDYXRhbG9nITogRGF0YXNldEZlYXR1cmVDYXRhbG9nXG5cbiAgQFZpZXdDaGlsZCgnc2Nyb2xsQ29udGFpbmVyJykgc2Nyb2xsQ29udGFpbmVyITogRWxlbWVudFJlZlxuICBAVmlld0NoaWxkKENka1Njcm9sbGFibGUsIHsgc3RhdGljOiB0cnVlIH0pIHNjcm9sbGFibGUhOiBDZGtTY3JvbGxhYmxlXG4gIEBWaWV3Q2hpbGQoJ2V4cGFuZWwnLCB7IHJlYWQ6IEV4cGFuZGFibGVQYW5lbENvbXBvbmVudCwgc3RhdGljOiB0cnVlIH0pXG4gIHBhbmVsQ29tcG9uZW50OiBFeHBhbmRhYmxlUGFuZWxDb21wb25lbnRcblxuICByZWFkb25seSBDT0xVTU5TX0RFRkFVTFQ6IENvbHVtbkRlZmluaXRpb25bXSA9IFtcbiAgICB7IGtleTogJ3R5cGUnLCB3aWR0aDogJzE3JScgfSxcbiAgICB7IGtleTogJ25hbWUnLCB3aWR0aDogJzMyJScgfSxcbiAgICB7IGtleTogJ2NvZGUnLCB3aWR0aDogJzE3JScgfSxcbiAgICB7IGtleTogJ2RlZmluaXRpb24nLCB3aWR0aDogJ21pbm1heCgwcHgsIDFmciknIH0sXG4gIF1cblxuICByZWFkb25seSBDT0xVTU5fVkFMVUVTOiBDb2x1bW5EZWZpbml0aW9uID0ge1xuICAgIGtleTogJ3ZhbHVlcycsXG4gICAgd2lkdGg6ICc3M3B4JyxcbiAgICBjbGFzczogJ3RleHQtY2VudGVyJyxcbiAgfVxuXG4gIGdldENvbHVtbnNEZWZpbml0aW9uKGF0dHJzOiBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVtdKTogQ29sdW1uRGVmaW5pdGlvbltdIHtcbiAgICBjb25zdCBoYXNWYWx1ZXMgPSBhdHRycy5zb21lKChhKSA9PiBhLnZhbHVlcz8ubGVuZ3RoID4gMClcbiAgICByZXR1cm4gWy4uLnRoaXMuQ09MVU1OU19ERUZBVUxULCAuLi4oaGFzVmFsdWVzID8gW3RoaXMuQ09MVU1OX1ZBTFVFU10gOiBbXSldXG4gIH1cblxuICBnZXRHcmlkVGVtcGxhdGVDb2x1bW5zKGF0dHJpYnV0ZXM6IERhdGFzZXRGZWF0dXJlQXR0cmlidXRlW10pIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5zRGVmaW5pdGlvbihhdHRyaWJ1dGVzKVxuICAgICAgLm1hcCgoY29sKSA9PiBjb2wud2lkdGgpXG4gICAgICAuam9pbignICcpXG4gIH1cblxuICB0cmFja0J5Q29sdW1uKF9pOiBudW1iZXIsIGNvbDogeyBrZXk6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIGNvbC5rZXlcbiAgfVxufVxuIiwiPGRpdlxuICBjZGtTY3JvbGxhYmxlXG4gIGNsYXNzPVwiaC1bNTYycHhdIHJlbGF0aXZlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy1oaWRkZW5cIlxuICBkYXRhLWN5PVwiZmVhdC1jYXRhbG9nLXNjcm9sbGFibGVcIlxuPlxuICA8ZGl2ICNzY3JvbGxDb250YWluZXIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIHB5LTUgcHgtNVwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBmZWF0dXJlVHlwZSBvZiBmaWx0ZXJlZEZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXNcIlxuICAgICAgY2xhc3M9XCJyb3VuZGVkIHNoYWRvdyBiZy13aGl0ZVwiXG4gICAgPlxuICAgICAgPGduLXVpLWV4cGFuZGFibGUtcGFuZWxcbiAgICAgICAgI2V4cGFuZWxcbiAgICAgICAgW2NvbGxhcHNlZF09XCJmaWx0ZXJlZEZlYXR1cmVDYXRhbG9nPy5mZWF0dXJlVHlwZXM/Lmxlbmd0aCAhPT0gMVwiXG4gICAgICAgIGljb25Db2xvcj1cImJsYWNrXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0aXRsZVRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGRcIj57eyBmZWF0dXJlVHlwZS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbVwiICpuZ0lmPVwiZmVhdHVyZVR5cGUuZGVmaW5pdGlvblwiPlxuICAgICAgICAgICAgICB7eyBmZWF0dXJlVHlwZS5kZWZpbml0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiZXhwYW5lbCAmJiAhZXhwYW5lbC5jb2xsYXBzZWRcIlxuICAgICAgICAgIGNsYXNzPVwiZ3JpZCBnYXAtMFwiXG4gICAgICAgICAgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJcbiAgICAgICAgICAgIGdldEdyaWRUZW1wbGF0ZUNvbHVtbnMoZmVhdHVyZVR5cGUuYXR0cmlidXRlcylcbiAgICAgICAgICBcIlxuICAgICAgICAgIGRhdGEtY3k9XCJmZWF0dXJlLXR5cGUtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInB5LTEgcHgtMiB0ZXh0LXNtIGZvbnQtYm9sZCB0ZXh0LWxlZnQgYm9yZGVyLXQgYnJlYWstYWxsXCJcbiAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItbF09XCJpID4gMFwiXG4gICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWdyYXktMzAwXT1cImkgPiAwXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbC5jbGFzcyB8fCAnJ1wiXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IGNvbCBvZiBnZXRDb2x1bW5zRGVmaW5pdGlvbihmZWF0dXJlVHlwZS5hdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUNvbHVtbjtcbiAgICAgICAgICAgICAgbGV0IGkgPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdD1cImNvbHVtbi1sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ2ZlYXR1cmUuY2F0YWxvZy5hdHRyaWJ1dGUuJyArIGNvbC5rZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXhwYW5lbCAmJiAhZXhwYW5lbC5jb2xsYXBzZWRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBmZWF0dXJlVHlwZS5hdHRyaWJ1dGVzXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJnLXdoaXRlIHRleHQtc20gZm9udC1ub3JtYWwgdGV4dC1sZWZ0IGJvcmRlci10XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYm9yZGVyLWxdPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItZ3JheS0zMDBdPVwiaSA+IDBcIlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgbGV0IGNvbCBvZiBnZXRDb2x1bW5zRGVmaW5pdGlvbihmZWF0dXJlVHlwZS5hdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlDb2x1bW47XG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3Q9XCJjZWxsLWNvbnRlbnRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wua2V5ID09PSAndmFsdWVzJzsgdGhlbiB0cGxWYWx1ZXM7IGVsc2UgZGVmYXVsdFRwbFwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VHBsPlxuICAgICAgICAgICAgICAgICAgPGduLXVpLXRydW5jYXRlZC10ZXh0XG4gICAgICAgICAgICAgICAgICAgIFtzY3JvbGxDb250YWluZXJdPVwic2Nyb2xsQ29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2Nka1Njcm9sbENvbnRhaW5lcl09XCJzY3JvbGxhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwicm93W2NvbC5rZXldXCJcbiAgICAgICAgICAgICAgICAgID48L2duLXVpLXRydW5jYXRlZC10ZXh0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RwbFZhbHVlcz5cbiAgICAgICAgICAgICAgICAgIDxnbi11aS1jZWxsLXBvcGluXG4gICAgICAgICAgICAgICAgICAgICNwb3BpblJlZlxuICAgICAgICAgICAgICAgICAgICBbc2Nyb2xsQ29udGFpbmVyXT1cInNjcm9sbENvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgIFtjZGtTY3JvbGxDb250YWluZXJdPVwic2Nyb2xsYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LnZhbHVlcz8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2VsbENvbnRlbnQgZGF0YS1jeT1cInZhbHVlcy1jZWxsLXBvcGluLXRyaWdnZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzcz1cImJnLXRyYW5zcGFyZW50IGJvcmRlci1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJwb3BpblJlZi5vcGVuT3ZlcmxheSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwiaWNvbm9pckxpc3RcIiBzaXplPVwiMjRcIj48L25nLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgcG9waW5Db250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXgtaC02MCBvdmVyZmxvdy15LWF1dG8gbWluLXctNjQgcHktNCBweC02XCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInNjcm9sbGJhci13aWR0aDogdGhpblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LWRpc2MgbGlzdC1pbnNpZGUgbXItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB2IG9mIHJvdy52YWx1ZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdi5sYWJlbCB8fCB2LmNvZGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2duLXVpLWNlbGwtcG9waW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2duLXVpLWV4cGFuZGFibGUtcGFuZWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,169 @@
1
+ import { ChangeDetectorRef, Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
4
+ import { getLayers } from '../../../../../../libs/util/shared/src';
5
+ import { ButtonComponent, TextInputComponent } from '../../../../../../libs/ui/inputs/src';
6
+ import { NgIcon, provideIcons } from '@ng-icons/core';
7
+ import { iconoirSearch } from '@ng-icons/iconoir';
8
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
9
+ import { matInfoOutline } from '@ng-icons/material-icons/outline';
10
+ import { PopoverComponent, SpinningLoaderComponent, } from '../../../../../../libs/ui/widgets/src';
11
+ import { matClose } from '@ng-icons/material-icons/baseline';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@ngx-translate/core";
14
+ import * as i2 from "@angular/common";
15
+ marker(`service.metadata.search`);
16
+ marker(`service.metadata.capabilities.title`);
17
+ marker(`service.metadata.capabilities.abstract`);
18
+ marker(`service.metadata.capabilities.name`);
19
+ marker(`service.metadata.capabilities.defaultCrs`);
20
+ marker(`service.metadata.capabilities.availableCrs`);
21
+ marker(`service.metadata.capabilities.otherCrs`);
22
+ marker(`service.metadata.capabilities.objectCount`);
23
+ marker(`service.metadata.capabilities.geometryName`);
24
+ marker(`service.metadata.capabilities.geometryType`);
25
+ marker(`service.metadata.capabilities.keywords`);
26
+ marker(`service.metadata.capabilities.outputFormats`);
27
+ marker(`service.metadata.capabilities.resourceLinks`);
28
+ marker(`service.metadata.capabilities.attribution`);
29
+ export class ServiceCapabilitiesComponent {
30
+ constructor(cdr, translateService) {
31
+ this.cdr = cdr;
32
+ this.translateService = translateService;
33
+ this.apiLinks = [];
34
+ this.availableLayers = [];
35
+ this.filteredLayers = [];
36
+ this.selectedLayer = null;
37
+ this.layerInformation = [];
38
+ this.searchQuery = '';
39
+ this.loading = false;
40
+ this.capabilitiesKeys = [
41
+ 'title',
42
+ 'abstract',
43
+ 'name',
44
+ 'defaultCrs',
45
+ 'availableCrs',
46
+ 'otherCrs',
47
+ 'objectCount',
48
+ 'geometryName',
49
+ 'geometryType',
50
+ 'keywords',
51
+ 'outputFormats',
52
+ 'resourceLinks',
53
+ 'attribution',
54
+ ];
55
+ }
56
+ ngOnInit() {
57
+ this.loadLayers();
58
+ }
59
+ onSearchChange(event) {
60
+ const input = event.target;
61
+ this.searchQuery = input.value;
62
+ if (!input.value) {
63
+ this.searchActive = false;
64
+ this.filteredLayers = this.availableLayers;
65
+ }
66
+ }
67
+ onSearchEnter(event) {
68
+ if (event.key === 'Enter') {
69
+ this.searchActive = true;
70
+ this.searchLayers();
71
+ }
72
+ }
73
+ clearSearch() {
74
+ this.searchActive = false;
75
+ this.searchQuery = '';
76
+ this.filteredLayers = this.availableLayers;
77
+ }
78
+ async loadLayers() {
79
+ if (this.apiLinks.length > 0 &&
80
+ this.apiLinks[0].accessServiceProtocol !== 'ogcFeatures') {
81
+ this.loading = true;
82
+ this.availableLayers = await getLayers(this.apiLinks[0].url.href, this.apiLinks[0].accessServiceProtocol);
83
+ this.loading = false;
84
+ this.cdr.detectChanges();
85
+ this.filteredLayers = this.availableLayers;
86
+ }
87
+ else {
88
+ this.availableLayers = [];
89
+ }
90
+ }
91
+ selectLayer(layer) {
92
+ if (layer === this.selectedLayer) {
93
+ this.selectedLayer = null;
94
+ this.layerInformation = [];
95
+ return;
96
+ }
97
+ this.selectedLayer = layer;
98
+ const filteredInfo = [];
99
+ Object.keys(layer).map((key) => {
100
+ if (this.capabilitiesKeys.includes(key)) {
101
+ const displayName = this.translateService.instant(`service.metadata.capabilities.${key}`);
102
+ if (key in layer && layer[key]?.length) {
103
+ filteredInfo.push({ displayName, value: layer[key] });
104
+ }
105
+ }
106
+ });
107
+ this.layerInformation = filteredInfo;
108
+ }
109
+ isList(value) {
110
+ return Array.isArray(value);
111
+ }
112
+ getExtraInputClass() {
113
+ if (this.searchActive) {
114
+ return 'h-14 border rounded-lg border-primary text-primary focus:border-primary hover:border-primary';
115
+ }
116
+ return 'h-14 border rounded-lg';
117
+ }
118
+ searchLayers() {
119
+ this.searchActive = true;
120
+ this.filteredLayers = this.availableLayers.filter((layer) => {
121
+ const query = this.searchQuery.toLowerCase();
122
+ if (layer.title) {
123
+ return (layer.title.toLowerCase().includes(query) ||
124
+ layer.abstract?.toLowerCase().includes(query));
125
+ }
126
+ else {
127
+ return layer.name.toLowerCase().includes(query);
128
+ }
129
+ });
130
+ if (!this.filteredLayers.includes(this.selectedLayer)) {
131
+ this.selectedLayer = null;
132
+ this.layerInformation = [];
133
+ }
134
+ }
135
+ getExtraClass(layerItem) {
136
+ return layerItem === this.selectedLayer
137
+ ? `h-8 rounded-lg bg-primary-darker text-white hover:text-primary-darker hover:bg-white`
138
+ : `h-8 rounded-lg`;
139
+ }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceCapabilitiesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ServiceCapabilitiesComponent, isStandalone: true, selector: "gn-ui-service-capabilities", inputs: { apiLinks: "apiLinks" }, ngImport: i0, template: "<div style=\"height: 652px\" id=\"preview\" *ngIf=\"apiLinks.length > 0\">\n <div class=\"bg-primary-opacity-10 overflow-visible\" style=\"height: 420px\">\n <div class=\"container-lg px-4 lg:mx-auto\">\n <div>\n <div class=\"gn-ui-section-title mb-6\" translate>\n service.metadata.capabilities\n </div>\n <div\n *ngIf=\"loading\"\n class=\"flex justify-center w-full h-[200px] items-center\"\n >\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n <div *ngIf=\"!loading\">\n <div class=\"flex flex-row gap-5\">\n <div class=\"h-14 md:w-2/5 w-full mb-4 flex flex-row relative\">\n <gn-ui-text-input\n class=\"w-full\"\n [(value)]=\"searchQuery\"\n [extraClass]=\"getExtraInputClass()\"\n [placeholder]=\"'service.metadata.search' | translate\"\n (input)=\"onSearchChange($event)\"\n (keydown.enter)=\"onSearchEnter($event)\"\n >\n </gn-ui-text-input>\n <div\n class=\"absolute right-14 h-14 w-14 flex items-center justify-center\"\n >\n <button\n #inputBtn\n *ngIf=\"searchQuery\"\n [aria-label]=\"'service.metadata.search.clear' | translate\"\n (click)=\"clearSearch()\"\n class=\"h-12 w-12 border-0 flex items-center justify-center\"\n >\n <ng-icon name=\"matClose\"></ng-icon>\n </button>\n </div>\n <div class=\"border-l absolute border-gray-200 right-0 h-14 w-14\">\n <gn-ui-button\n #inputBtn\n type=\"outline\"\n extraClass=\"h-12 w-12 border-0 absolute right-1 top-1 bg-white\"\n (buttonClick)=\"searchLayers()\"\n >\n <ng-icon name=\"iconoirSearch\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light\"\n class=\"w-14 h-14 border border-gray-300 rounded-lg flex justify-center items-center\"\n >\n <ng-icon name=\"matInfoOutline\" class=\"w-6 h-6 pt-0.5\"></ng-icon>\n </gn-ui-popover>\n </div>\n <div\n style=\"height: 500px\"\n class=\"bg-white shadow-xl rounded p-0 flex md:flex-row flex-col\"\n >\n <div\n class=\"flex flex-col gap-2 bg-gray-100 md:w-1/2 md:h-full w-full h-1/2 rounded-l overflow-y-auto py-5 pr-1 pl-3\"\n data-test=\"layer-list\"\n >\n <gn-ui-button\n *ngFor=\"let layerItem of filteredLayers\"\n type=\"outline\"\n [extraClass]=\"getExtraClass(layerItem)\"\n (buttonClick)=\"selectLayer(layerItem)\"\n >\n {{ layerItem.title || layerItem.name }}\n </gn-ui-button>\n <span *ngIf=\"filteredLayers.length === 0\" class=\"text-gray-800\">\n {{ 'service.metadata.filter.noLayers' | translate }}\n </span>\n </div>\n <div\n data-test=\"layer-information\"\n class=\"flex flex-col gap-4 md:h-full md:w-1/2 w-full h-1/2 py-5 px-10 overflow-y-auto\"\n >\n <div\n *ngFor=\"let item of layerInformation\"\n class=\"flex flex-row gap-4 border-b border-gray-200\"\n >\n <span class=\"font-semibold w-24\">{{ item.displayName }}</span>\n <div *ngIf=\"isList(item.value)\">\n <div\n *ngFor=\"let subItem of item.value\"\n class=\"flex flex-row break-words max-w-72\"\n >\n {{ subItem }}\n </div>\n </div>\n <div class=\"break-words max-w-72\" *ngIf=\"!isList(item.value)\">\n {{ item.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div translate>service.metadata.filter</div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: PopoverComponent, selector: "gn-ui-popover", inputs: ["content", "theme"] }, { kind: "component", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader" }], viewProviders: [
142
+ provideIcons({
143
+ iconoirSearch,
144
+ matInfoOutline,
145
+ matClose,
146
+ }),
147
+ ] }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceCapabilitiesComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ selector: 'gn-ui-service-capabilities', standalone: true, imports: [
152
+ CommonModule,
153
+ TranslateModule,
154
+ ButtonComponent,
155
+ TextInputComponent,
156
+ NgIcon,
157
+ PopoverComponent,
158
+ SpinningLoaderComponent,
159
+ ], viewProviders: [
160
+ provideIcons({
161
+ iconoirSearch,
162
+ matInfoOutline,
163
+ matClose,
164
+ }),
165
+ ], template: "<div style=\"height: 652px\" id=\"preview\" *ngIf=\"apiLinks.length > 0\">\n <div class=\"bg-primary-opacity-10 overflow-visible\" style=\"height: 420px\">\n <div class=\"container-lg px-4 lg:mx-auto\">\n <div>\n <div class=\"gn-ui-section-title mb-6\" translate>\n service.metadata.capabilities\n </div>\n <div\n *ngIf=\"loading\"\n class=\"flex justify-center w-full h-[200px] items-center\"\n >\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n <div *ngIf=\"!loading\">\n <div class=\"flex flex-row gap-5\">\n <div class=\"h-14 md:w-2/5 w-full mb-4 flex flex-row relative\">\n <gn-ui-text-input\n class=\"w-full\"\n [(value)]=\"searchQuery\"\n [extraClass]=\"getExtraInputClass()\"\n [placeholder]=\"'service.metadata.search' | translate\"\n (input)=\"onSearchChange($event)\"\n (keydown.enter)=\"onSearchEnter($event)\"\n >\n </gn-ui-text-input>\n <div\n class=\"absolute right-14 h-14 w-14 flex items-center justify-center\"\n >\n <button\n #inputBtn\n *ngIf=\"searchQuery\"\n [aria-label]=\"'service.metadata.search.clear' | translate\"\n (click)=\"clearSearch()\"\n class=\"h-12 w-12 border-0 flex items-center justify-center\"\n >\n <ng-icon name=\"matClose\"></ng-icon>\n </button>\n </div>\n <div class=\"border-l absolute border-gray-200 right-0 h-14 w-14\">\n <gn-ui-button\n #inputBtn\n type=\"outline\"\n extraClass=\"h-12 w-12 border-0 absolute right-1 top-1 bg-white\"\n (buttonClick)=\"searchLayers()\"\n >\n <ng-icon name=\"iconoirSearch\"></ng-icon>\n </gn-ui-button>\n </div>\n </div>\n <gn-ui-popover\n [content]=\"popoverItems\"\n theme=\"light\"\n class=\"w-14 h-14 border border-gray-300 rounded-lg flex justify-center items-center\"\n >\n <ng-icon name=\"matInfoOutline\" class=\"w-6 h-6 pt-0.5\"></ng-icon>\n </gn-ui-popover>\n </div>\n <div\n style=\"height: 500px\"\n class=\"bg-white shadow-xl rounded p-0 flex md:flex-row flex-col\"\n >\n <div\n class=\"flex flex-col gap-2 bg-gray-100 md:w-1/2 md:h-full w-full h-1/2 rounded-l overflow-y-auto py-5 pr-1 pl-3\"\n data-test=\"layer-list\"\n >\n <gn-ui-button\n *ngFor=\"let layerItem of filteredLayers\"\n type=\"outline\"\n [extraClass]=\"getExtraClass(layerItem)\"\n (buttonClick)=\"selectLayer(layerItem)\"\n >\n {{ layerItem.title || layerItem.name }}\n </gn-ui-button>\n <span *ngIf=\"filteredLayers.length === 0\" class=\"text-gray-800\">\n {{ 'service.metadata.filter.noLayers' | translate }}\n </span>\n </div>\n <div\n data-test=\"layer-information\"\n class=\"flex flex-col gap-4 md:h-full md:w-1/2 w-full h-1/2 py-5 px-10 overflow-y-auto\"\n >\n <div\n *ngFor=\"let item of layerInformation\"\n class=\"flex flex-row gap-4 border-b border-gray-200\"\n >\n <span class=\"font-semibold w-24\">{{ item.displayName }}</span>\n <div *ngIf=\"isList(item.value)\">\n <div\n *ngFor=\"let subItem of item.value\"\n class=\"flex flex-row break-words max-w-72\"\n >\n {{ subItem }}\n </div>\n </div>\n <div class=\"break-words max-w-72\" *ngIf=\"!isList(item.value)\">\n {{ item.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ng-template #popoverItems>\n <div class=\"p-2 py-4\">\n <div translate>service.metadata.filter</div>\n </div>\n</ng-template>\n" }]
166
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { apiLinks: [{
167
+ type: Input
168
+ }] } });
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3NlcnZpY2UtY2FwYWJpbGl0aWVzL3NlcnZpY2UtY2FwYWJpbGl0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9zZXJ2aWNlLWNhcGFiaWxpdGllcy9zZXJ2aWNlLWNhcGFiaWxpdGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDMUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLHVDQUF1QyxDQUFBO0FBTTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTs7OztBQUU1RCxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtB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QyxhQUFhO1lBQ3JDLENBQUMsQ0FBQyxzRkFBc0Y7WUFDeEYsQ0FBQyxDQUFDLGdCQUFnQixDQUFBO0lBQ3RCLENBQUM7K0dBcElVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHdIQ3pEekMsbTVJQThHQSx5RER2RUksWUFBWSwrUEFDWixlQUFlLG1PQUNmLGVBQWUsK0hBQ2Ysa0JBQWtCLCtKQUNsQixNQUFNLDZHQUNOLGdCQUFnQix3RkFDaEIsdUJBQXVCLHVEQUVWO1lBQ2IsWUFBWSxDQUFDO2dCQUNYLGFBQWE7Z0JBQ2IsY0FBYztnQkFDZCxRQUFRO2FBQ1QsQ0FBQztTQUNIOzs0RkFJVSw0QkFBNEI7a0JBdEJ4QyxTQUFTOytCQUNFLDRCQUE0QixjQUMxQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixNQUFNO3dCQUNOLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3FCQUN4QixpQkFDYzt3QkFDYixZQUFZLENBQUM7NEJBQ1gsYUFBYTs0QkFDYixjQUFjOzRCQUNkLFFBQVE7eUJBQ1QsQ0FBQztxQkFDSDtxSEFLUSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGF5ZXJzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQsIFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE5nSWNvbiwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBpY29ub2lyU2VhcmNoIH0gZnJvbSAnQG5nLWljb25zL2ljb25vaXInXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBtYXRJbmZvT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHtcbiAgUG9wb3ZlckNvbXBvbmVudCxcbiAgU3Bpbm5pbmdMb2FkZXJDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQge1xuICBXZnNGZWF0dXJlVHlwZUZ1bGwsXG4gIFdtc0xheWVyRnVsbCxcbiAgV210c0xheWVyLFxufSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgbWF0Q2xvc2UgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5cbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5zZWFyY2hgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy50aXRsZWApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLmFic3RyYWN0YClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMubmFtZWApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLmRlZmF1bHRDcnNgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy5hdmFpbGFibGVDcnNgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy5vdGhlckNyc2ApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLm9iamVjdENvdW50YClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMuZ2VvbWV0cnlOYW1lYClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMuZ2VvbWV0cnlUeXBlYClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMua2V5d29yZHNgKVxubWFya2VyKGBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllcy5vdXRwdXRGb3JtYXRzYClcbm1hcmtlcihgc2VydmljZS5tZXRhZGF0YS5jYXBhYmlsaXRpZXMucmVzb3VyY2VMaW5rc2ApXG5tYXJrZXIoYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLmF0dHJpYnV0aW9uYClcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc2VydmljZS1jYXBhYmlsaXRpZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIE5nSWNvbixcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFNwaW5uaW5nTG9hZGVyQ29tcG9uZW50LFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJTZWFyY2gsXG4gICAgICBtYXRJbmZvT3V0bGluZSxcbiAgICAgIG1hdENsb3NlLFxuICAgIH0pLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VydmljZS1jYXBhYmlsaXRpZXMuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VDYXBhYmlsaXRpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhcGlMaW5rcyA9IFtdXG4gIGF2YWlsYWJsZUxheWVycyA9IFtdXG4gIGZpbHRlcmVkTGF5ZXJzID0gW11cbiAgc2VsZWN0ZWRMYXllciA9IG51bGxcbiAgbGF5ZXJJbmZvcm1hdGlvbiA9IFtdXG4gIHNlYXJjaFF1ZXJ5ID0gJydcbiAgbG9hZGluZyA9IGZhbHNlXG4gIHNlYXJjaEFjdGl2ZVxuXG4gIGNhcGFiaWxpdGllc0tleXMgPSBbXG4gICAgJ3RpdGxlJyxcbiAgICAnYWJzdHJhY3QnLFxuICAgICduYW1lJyxcbiAgICAnZGVmYXVsdENycycsXG4gICAgJ2F2YWlsYWJsZUNycycsXG4gICAgJ290aGVyQ3JzJyxcbiAgICAnb2JqZWN0Q291bnQnLFxuICAgICdnZW9tZXRyeU5hbWUnLFxuICAgICdnZW9tZXRyeVR5cGUnLFxuICAgICdrZXl3b3JkcycsXG4gICAgJ291dHB1dEZvcm1hdHMnLFxuICAgICdyZXNvdXJjZUxpbmtzJyxcbiAgICAnYXR0cmlidXRpb24nLFxuICBdXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkTGF5ZXJzKClcbiAgfVxuXG4gIG9uU2VhcmNoQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnRcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gaW5wdXQudmFsdWVcbiAgICBpZiAoIWlucHV0LnZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaEFjdGl2ZSA9IGZhbHNlXG4gICAgICB0aGlzLmZpbHRlcmVkTGF5ZXJzID0gdGhpcy5hdmFpbGFibGVMYXllcnNcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaEVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy5zZWFyY2hBY3RpdmUgPSB0cnVlXG4gICAgICB0aGlzLnNlYXJjaExheWVycygpXG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hBY3RpdmUgPSBmYWxzZVxuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSAnJ1xuICAgIHRoaXMuZmlsdGVyZWRMYXllcnMgPSB0aGlzLmF2YWlsYWJsZUxheWVyc1xuICB9XG5cbiAgYXN5bmMgbG9hZExheWVycygpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmFwaUxpbmtzLmxlbmd0aCA+IDAgJiZcbiAgICAgIHRoaXMuYXBpTGlua3NbMF0uYWNjZXNzU2VydmljZVByb3RvY29sICE9PSAnb2djRmVhdHVyZXMnXG4gICAgKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICB0aGlzLmF2YWlsYWJsZUxheWVycyA9IGF3YWl0IGdldExheWVycyhcbiAgICAgICAgdGhpcy5hcGlMaW5rc1swXS51cmwuaHJlZixcbiAgICAgICAgdGhpcy5hcGlMaW5rc1swXS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2xcbiAgICAgIClcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICAgIHRoaXMuZmlsdGVyZWRMYXllcnMgPSB0aGlzLmF2YWlsYWJsZUxheWVyc1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZUxheWVycyA9IFtdXG4gICAgfVxuICB9XG5cbiAgc2VsZWN0TGF5ZXIobGF5ZXI6IFdmc0ZlYXR1cmVUeXBlRnVsbCB8IFdtc0xheWVyRnVsbCB8IFdtdHNMYXllcikge1xuICAgIGlmIChsYXllciA9PT0gdGhpcy5zZWxlY3RlZExheWVyKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGF5ZXIgPSBudWxsXG4gICAgICB0aGlzLmxheWVySW5mb3JtYXRpb24gPSBbXVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZExheWVyID0gbGF5ZXJcbiAgICBjb25zdCBmaWx0ZXJlZEluZm8gPSBbXVxuICAgIE9iamVjdC5rZXlzKGxheWVyKS5tYXAoKGtleSkgPT4ge1xuICAgICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzS2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgYHNlcnZpY2UubWV0YWRhdGEuY2FwYWJpbGl0aWVzLiR7a2V5fWBcbiAgICAgICAgKVxuICAgICAgICBpZiAoa2V5IGluIGxheWVyICYmIGxheWVyW2tleV0/Lmxlbmd0aCkge1xuICAgICAgICAgIGZpbHRlcmVkSW5mby5wdXNoKHsgZGlzcGxheU5hbWUsIHZhbHVlOiBsYXllcltrZXldIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5sYXllckluZm9ybWF0aW9uID0gZmlsdGVyZWRJbmZvXG4gIH1cblxuICBpc0xpc3QodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gIH1cblxuICBnZXRFeHRyYUlucHV0Q2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoQWN0aXZlKSB7XG4gICAgICByZXR1cm4gJ2gtMTQgYm9yZGVyIHJvdW5kZWQtbGcgYm9yZGVyLXByaW1hcnkgdGV4dC1wcmltYXJ5IGZvY3VzOmJvcmRlci1wcmltYXJ5IGhvdmVyOmJvcmRlci1wcmltYXJ5J1xuICAgIH1cbiAgICByZXR1cm4gJ2gtMTQgYm9yZGVyIHJvdW5kZWQtbGcnXG4gIH1cblxuICBzZWFyY2hMYXllcnMoKSB7XG4gICAgdGhpcy5zZWFyY2hBY3RpdmUgPSB0cnVlXG4gICAgdGhpcy5maWx0ZXJlZExheWVycyA9IHRoaXMuYXZhaWxhYmxlTGF5ZXJzLmZpbHRlcigobGF5ZXIpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpXG4gICAgICBpZiAobGF5ZXIudGl0bGUpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBsYXllci50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSB8fFxuICAgICAgICAgIGxheWVyLmFic3RyYWN0Py50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbGF5ZXIubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKCF0aGlzLmZpbHRlcmVkTGF5ZXJzLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRMYXllcikpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYXllciA9IG51bGxcbiAgICAgIHRoaXMubGF5ZXJJbmZvcm1hdGlvbiA9IFtdXG4gICAgfVxuICB9XG5cbiAgZ2V0RXh0cmFDbGFzcyhsYXllckl0ZW0pIHtcbiAgICByZXR1cm4gbGF5ZXJJdGVtID09PSB0aGlzLnNlbGVjdGVkTGF5ZXJcbiAgICAgID8gYGgtOCByb3VuZGVkLWxnIGJnLXByaW1hcnktZGFya2VyIHRleHQtd2hpdGUgaG92ZXI6dGV4dC1wcmltYXJ5LWRhcmtlciBob3ZlcjpiZy13aGl0ZWBcbiAgICAgIDogYGgtOCByb3VuZGVkLWxnYFxuICB9XG59XG4iLCI8ZGl2IHN0eWxlPVwiaGVpZ2h0OiA2NTJweFwiIGlkPVwicHJldmlld1wiICpuZ0lmPVwiYXBpTGlua3MubGVuZ3RoID4gMFwiPlxuICA8ZGl2IGNsYXNzPVwiYmctcHJpbWFyeS1vcGFjaXR5LTEwIG92ZXJmbG93LXZpc2libGVcIiBzdHlsZT1cImhlaWdodDogNDIwcHhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxnIHB4LTQgbGc6bXgtYXV0b1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImduLXVpLXNlY3Rpb24tdGl0bGUgbWItNlwiIHRyYW5zbGF0ZT5cbiAgICAgICAgICBzZXJ2aWNlLm1ldGFkYXRhLmNhcGFiaWxpdGllc1xuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIHctZnVsbCBoLVsyMDBweF0gaXRlbXMtY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnbi11aS1zcGlubmluZy1sb2FkZXI+PC9nbi11aS1zcGlubmluZy1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTQgbWQ6dy0yLzUgdy1mdWxsIG1iLTQgZmxleCBmbGV4LXJvdyByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJzZWFyY2hRdWVyeVwiXG4gICAgICAgICAgICAgICAgW2V4dHJhQ2xhc3NdPVwiZ2V0RXh0cmFJbnB1dENsYXNzKClcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VydmljZS5tZXRhZGF0YS5zZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwib25TZWFyY2hDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZWFyY2hFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHJpZ2h0LTE0IGgtMTQgdy0xNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAjaW5wdXRCdG5cbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUXVlcnlcIlxuICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwiJ3NlcnZpY2UubWV0YWRhdGEuc2VhcmNoLmNsZWFyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImgtMTIgdy0xMiBib3JkZXItMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdENsb3NlXCI+PC9uZy1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1sIGFic29sdXRlIGJvcmRlci1ncmF5LTIwMCByaWdodC0wIGgtMTQgdy0xNFwiPlxuICAgICAgICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICNpbnB1dEJ0blxuICAgICAgICAgICAgICAgICAgdHlwZT1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzcz1cImgtMTIgdy0xMiBib3JkZXItMCBhYnNvbHV0ZSByaWdodC0xIHRvcC0xIGJnLXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJzZWFyY2hMYXllcnMoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJTZWFyY2hcIj48L25nLWljb24+XG4gICAgICAgICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Z24tdWktcG9wb3ZlclxuICAgICAgICAgICAgICBbY29udGVudF09XCJwb3BvdmVySXRlbXNcIlxuICAgICAgICAgICAgICB0aGVtZT1cImxpZ2h0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIGZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdEluZm9PdXRsaW5lXCIgY2xhc3M9XCJ3LTYgaC02IHB0LTAuNVwiPjwvbmctaWNvbj5cbiAgICAgICAgICAgIDwvZ24tdWktcG9wb3Zlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTAwcHhcIlxuICAgICAgICAgICAgY2xhc3M9XCJiZy13aGl0ZSBzaGFkb3cteGwgcm91bmRlZCBwLTAgZmxleCBtZDpmbGV4LXJvdyBmbGV4LWNvbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgYmctZ3JheS0xMDAgbWQ6dy0xLzIgbWQ6aC1mdWxsIHctZnVsbCBoLTEvMiByb3VuZGVkLWwgb3ZlcmZsb3cteS1hdXRvIHB5LTUgcHItMSBwbC0zXCJcbiAgICAgICAgICAgICAgZGF0YS10ZXN0PVwibGF5ZXItbGlzdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGF5ZXJJdGVtIG9mIGZpbHRlcmVkTGF5ZXJzXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgW2V4dHJhQ2xhc3NdPVwiZ2V0RXh0cmFDbGFzcyhsYXllckl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwic2VsZWN0TGF5ZXIobGF5ZXJJdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBsYXllckl0ZW0udGl0bGUgfHwgbGF5ZXJJdGVtLm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZmlsdGVyZWRMYXllcnMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJ0ZXh0LWdyYXktODAwXCI+XG4gICAgICAgICAgICAgICAge3sgJ3NlcnZpY2UubWV0YWRhdGEuZmlsdGVyLm5vTGF5ZXJzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10ZXN0PVwibGF5ZXItaW5mb3JtYXRpb25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQgbWQ6aC1mdWxsIG1kOnctMS8yIHctZnVsbCBoLTEvMiBweS01IHB4LTEwIG92ZXJmbG93LXktYXV0b1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXllckluZm9ybWF0aW9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTQgYm9yZGVyLWIgYm9yZGVyLWdyYXktMjAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB3LTI0XCI+e3sgaXRlbS5kaXNwbGF5TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNMaXN0KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIGl0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYnJlYWstd29yZHMgbWF4LXctNzJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJJdGVtIH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnJlYWstd29yZHMgbWF4LXctNzJcIiAqbmdJZj1cIiFpc0xpc3QoaXRlbS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlckl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwicC0yIHB5LTRcIj5cbiAgICA8ZGl2IHRyYW5zbGF0ZT5zZXJ2aWNlLm1ldGFkYXRhLmZpbHRlcjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -11,11 +11,16 @@ import { provideNgIconsConfig } from '@ng-icons/core';
11
11
  import { TranslateModule } from '@ngx-translate/core';
12
12
  import { AvatarComponent } from './avatar/avatar.component';
13
13
  import { ImageInputComponent } from './image-input/image-input.component';
14
+ import { GeoDataBadgeComponent } from './geo-data-badge/geo-data-badge.component';
14
15
  import { MarkdownParserComponent } from './markdown-parser/markdown-parser.component';
16
+ import { KindBadgeComponent } from './kind-badge/kind-badge.component';
15
17
  import { ThumbnailComponent } from './thumbnail/thumbnail.component';
16
18
  import { TimeSincePipe } from './user-feedback-item/time-since.pipe';
17
19
  import { UserPreviewComponent } from './user-preview/user-preview.component';
18
20
  import { ApplicationBannerComponent } from './application-banner/application-banner.component';
21
+ import { InternalLinkCardComponent } from './internal-link-card/internal-link-card.component';
22
+ import { ServiceCapabilitiesComponent } from './service-capabilities/service-capabilities.component';
23
+ import { ScrollingModule } from '@angular/cdk/scrolling';
19
24
  import * as i0 from "@angular/core";
20
25
  import * as i1 from "@ngx-translate/core";
21
26
  export class UiElementsModule {
@@ -36,12 +41,21 @@ export class UiElementsModule {
36
41
  MaxLinesComponent,
37
42
  TextInputComponent,
38
43
  ImageInputComponent,
39
- ApplicationBannerComponent], exports: [ThumbnailComponent,
44
+ ApplicationBannerComponent,
45
+ InternalLinkCardComponent,
46
+ ServiceCapabilitiesComponent,
47
+ KindBadgeComponent,
48
+ GeoDataBadgeComponent,
49
+ ScrollingModule], exports: [ThumbnailComponent,
40
50
  AvatarComponent,
41
51
  UserPreviewComponent,
42
52
  MarkdownParserComponent,
43
53
  ImageInputComponent,
44
- ApplicationBannerComponent] }); }
54
+ ApplicationBannerComponent,
55
+ InternalLinkCardComponent,
56
+ ServiceCapabilitiesComponent,
57
+ KindBadgeComponent,
58
+ GeoDataBadgeComponent] }); }
45
59
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
46
60
  provideNgIconsConfig({
47
61
  size: '1.5em',
@@ -61,7 +75,12 @@ export class UiElementsModule {
61
75
  MaxLinesComponent,
62
76
  TextInputComponent,
63
77
  ImageInputComponent,
64
- ApplicationBannerComponent] }); }
78
+ ApplicationBannerComponent,
79
+ InternalLinkCardComponent,
80
+ ServiceCapabilitiesComponent,
81
+ KindBadgeComponent,
82
+ GeoDataBadgeComponent,
83
+ ScrollingModule] }); }
65
84
  }
66
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
67
86
  type: NgModule,
@@ -86,6 +105,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
86
105
  TextInputComponent,
87
106
  ImageInputComponent,
88
107
  ApplicationBannerComponent,
108
+ InternalLinkCardComponent,
109
+ ServiceCapabilitiesComponent,
110
+ KindBadgeComponent,
111
+ GeoDataBadgeComponent,
112
+ ScrollingModule,
89
113
  ],
90
114
  providers: [
91
115
  provideNgIconsConfig({
@@ -100,7 +124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100
124
  MarkdownParserComponent,
101
125
  ImageInputComponent,
102
126
  ApplicationBannerComponent,
127
+ InternalLinkCardComponent,
128
+ ServiceCapabilitiesComponent,
129
+ KindBadgeComponent,
130
+ GeoDataBadgeComponent,
103
131
  ],
104
132
  }]
105
133
  }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VpLWVsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixNQUFNLG1DQUFtQyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUE7OztBQXVDOUYsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBVlosZUFBZSxFQUFFLG9CQUFvQixhQXpCbEQsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYyxzQkFFZCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsMEJBQTBCLGFBUzFCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFDbkIsMEJBQTBCO2dIQUdqQixnQkFBZ0IsYUFmaEI7WUFDVCxvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDO1NBQ0gsWUF4QkMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYztZQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixjQUFjO1lBQ2QsV0FBVztZQUVYLGdCQUFnQjtZQUVoQixrQkFBa0I7WUFFbEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLDBCQUEwQjs7NEZBaUJqQixnQkFBZ0I7a0JBckM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3FCQUMzQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Qsb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7b0JBQ0QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLG9CQUFvQixDQUFDO29CQUNyRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQge1xuICBCYWRnZUNvbXBvbmVudCxcbiAgVGV4dElucHV0Q29tcG9uZW50LFxuICBVaUlucHV0c01vZHVsZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgTWF4TGluZXNDb21wb25lbnQsIFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCwgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IHByb3ZpZGVOZ0ljb25zQ29uZmlnIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCdcbmltcG9ydCB7IEltYWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBUaW1lU2luY2VQaXBlIH0gZnJvbSAnLi91c2VyLWZlZWRiYWNrLWl0ZW0vdGltZS1zaW5jZS5waXBlJ1xuaW1wb3J0IHsgVXNlclByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VzZXItcHJldmlldy91c2VyLXByZXZpZXcuY29tcG9uZW50J1xuaW1wb3J0IHsgQXBwbGljYXRpb25CYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWJhbm5lci9hcHBsaWNhdGlvbi1iYW5uZXIuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIFVpTGF5b3V0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICBNYXJrZG93blBhcnNlckNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgVGltZVNpbmNlUGlwZSxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBNYXhMaW5lc0NvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgSW1hZ2VJbnB1dENvbXBvbmVudCxcbiAgICBBcHBsaWNhdGlvbkJhbm5lckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuNWVtJyxcbiAgICB9KSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbQXZhdGFyQ29tcG9uZW50LCBVc2VyUHJldmlld0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIFVzZXJQcmV2aWV3Q29tcG9uZW50LFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIEltYWdlSW5wdXRDb21wb25lbnQsXG4gICAgQXBwbGljYXRpb25CYW5uZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpRWxlbWVudHNNb2R1bGUge31cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VpLWVsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixNQUFNLG1DQUFtQyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUNqRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsa0JBQWtC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Q3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHtcbiAgQmFkZ2VDb21wb25lbnQsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVWlJbnB1dHNNb2R1bGUsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IE1heExpbmVzQ29tcG9uZW50LCBVaUxheW91dE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQsIFVpV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBwcm92aWRlTmdJY29uc0NvbmZpZyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnXG5pbXBvcnQgeyBJbWFnZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBHZW9EYXRhQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuL2dlby1kYXRhLWJhZGdlL2dlby1kYXRhLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IEtpbmRCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4va2luZC1iYWRnZS9raW5kLWJhZGdlLmNvbXBvbmVudCdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBUaW1lU2luY2VQaXBlIH0gZnJvbSAnLi91c2VyLWZlZWRiYWNrLWl0ZW0vdGltZS1zaW5jZS5waXBlJ1xuaW1wb3J0IHsgVXNlclByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VzZXItcHJldmlldy91c2VyLXByZXZpZXcuY29tcG9uZW50J1xuaW1wb3J0IHsgQXBwbGljYXRpb25CYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2FwcGxpY2F0aW9uLWJhbm5lci9hcHBsaWNhdGlvbi1iYW5uZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgSW50ZXJuYWxMaW5rQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJuYWwtbGluay1jYXJkL2ludGVybmFsLWxpbmstY2FyZC5jb21wb25lbnQnXG5pbXBvcnQgeyBTZXJ2aWNlQ2FwYWJpbGl0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9zZXJ2aWNlLWNhcGFiaWxpdGllcy9zZXJ2aWNlLWNhcGFiaWxpdGllcy5jb21wb25lbnQnXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJ1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIFRpbWVTaW5jZVBpcGUsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgTWF4TGluZXNDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIEltYWdlSW5wdXRDb21wb25lbnQsXG4gICAgQXBwbGljYXRpb25CYW5uZXJDb21wb25lbnQsXG4gICAgSW50ZXJuYWxMaW5rQ2FyZENvbXBvbmVudCxcbiAgICBTZXJ2aWNlQ2FwYWJpbGl0aWVzQ29tcG9uZW50LFxuICAgIEtpbmRCYWRnZUNvbXBvbmVudCxcbiAgICBHZW9EYXRhQmFkZ2VDb21wb25lbnQsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtBdmF0YXJDb21wb25lbnQsIFVzZXJQcmV2aWV3Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgVXNlclByZXZpZXdDb21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gICAgSW1hZ2VJbnB1dENvbXBvbmVudCxcbiAgICBBcHBsaWNhdGlvbkJhbm5lckNvbXBvbmVudCxcbiAgICBJbnRlcm5hbExpbmtDYXJkQ29tcG9uZW50LFxuICAgIFNlcnZpY2VDYXBhYmlsaXRpZXNDb21wb25lbnQsXG4gICAgS2luZEJhZGdlQ29tcG9uZW50LFxuICAgIEdlb0RhdGFCYWRnZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlFbGVtZW50c01vZHVsZSB7fVxuIl19
@@ -15,7 +15,7 @@ export * from './lib/dropdown-selector/dropdown-selector.model';
15
15
  export * from './lib/editable-label/editable-label.directive';
16
16
  export * from './lib/file-input/file-input.component';
17
17
  export * from './lib/files-drop/files-drop.directive';
18
- export * from './lib/navigation-button/navigation-button.component';
18
+ export * from './lib/inline-filter/inline-filter.component';
19
19
  export * from './lib/search-input/search-input.component';
20
20
  export * from './lib/star-toggle/star-toggle.component';
21
21
  export * from './lib/switch-toggle/switch-toggle.component';
@@ -24,4 +24,5 @@ export * from './lib/text-input/text-input.component';
24
24
  export * from './lib/ui-inputs.module';
25
25
  export * from './lib/url-input/url-input.component';
26
26
  export * from './lib/viewport-intersector/viewport-intersector.component';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLDJEQUEyRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrLXRvZ2dsZS9jaGVjay10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29weS10ZXh0LWJ1dHRvbi9jb3B5LXRleHQtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcmFuZ2UtZHJvcGRvd24vZGF0ZS1yYW5nZS1kcm9wZG93bi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tc2VsZWN0b3IvZHJvcGRvd24tc2VsZWN0b3IubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZXMtZHJvcC9maWxlcy1kcm9wLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Rhci10b2dnbGUvc3Rhci10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpdGNoLXRvZ2dsZS9zd2l0Y2gtdG9nZ2xlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWlucHV0cy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91cmwtaW5wdXQvdXJsLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdwb3J0LWludGVyc2VjdG9yL3ZpZXdwb3J0LWludGVyc2VjdG9yLmNvbXBvbmVudCdcbiJdfQ==
27
+ export * from './lib/search-feature-catalog/search-feature-catalog.component';
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLDJEQUEyRCxDQUFBO0FBQ3pFLGNBQWMsK0RBQStELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2stdG9nZ2xlL2NoZWNrLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3B5LXRleHQtYnV0dG9uL2NvcHktdGV4dC1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1yYW5nZS1kcm9wZG93bi9kYXRlLXJhbmdlLWRyb3Bkb3duLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYWctYW5kLWRyb3AtZmlsZS1pbnB1dC9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkaXRhYmxlLWxhYmVsL2VkaXRhYmxlLWxhYmVsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlcy1kcm9wL2ZpbGVzLWRyb3AuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5saW5lLWZpbHRlci9pbmxpbmUtZmlsdGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Rhci10b2dnbGUvc3Rhci10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpdGNoLXRvZ2dsZS9zd2l0Y2gtdG9nZ2xlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWlucHV0cy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91cmwtaW5wdXQvdXJsLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdwb3J0LWludGVyc2VjdG9yL3ZpZXdwb3J0LWludGVyc2VjdG9yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1mZWF0dXJlLWNhdGFsb2cvc2VhcmNoLWZlYXR1cmUtY2F0YWxvZy5jb21wb25lbnQnXG4iXX0=